如何理解R的polr函数的输出(有序逻辑回归)?


26

我是R的新手,有序逻辑回归,和polr

polr帮助页面底部的“示例”部分(使逻辑或概率回归模型适合有序因子响应)显示

options(contrasts = c("contr.treatment", "contr.poly"))
house.plr <- polr(Sat ~ Infl + Type + Cont, weights = Freq, data = housing)
pr <- profile(house.plr)
plot(pr)
pairs(pr)
  • pr包含哪些信息?配置文件上的帮助页面是通用的,不提供有关polr的指导。

  • 什么是plot(pr)展示?我看到六个图。每个标签都有一个X轴,尽管标签是一个指示符变量(看起来像一个输入变量,它是一个序数值的指示符)。那么Y轴是“ tau”,这是无法解释的。

  • 什么是pairs(pr)展示?它看起来像是每对输入变量的图,但是我再也看不到X或Y轴的解释。

  • 如何理解该模型是否合适? summary(house.plr)显示残差3479.149和AIC(Akaike信息准则?)3495.149。这样好吗 在那些仅用作相对度量(即与另一个模型拟合进行比较)的情况下,什么是好的绝对度量?剩余偏差是否近似卡方分布?能否对原始数据使用“正确预测的百分比”或进行一些交叉验证?最简单的方法是什么?

  • 如何应用和解释anova这一模型?文档说:“有一些用于标准模型拟合功能的方法,包括预测,汇总,vcov,方差分析。” 但是,运行anova(house.plr)结果anova is not implemented for a single "polr" object

  • 如何解释每个系数的t值?与某些模型拟合不同,此处没有P值。

我意识到这是一个很多问题,但是对我来说,作为一个整体问(“我如何使用此东西?”)而不是7个不同的问题是有意义的。任何信息表示赞赏。


3
@dfrankow对您的前两个问题有些粗略的帮助,但肯定会提供部分帮助,但是methods("profile")会为您提供与R profile对象关联的(在这种情况下为S3)方法,然后您会看到有一个专用的polr结果方法,您可以浏览通过getAnywhere("profile.polr")在R提示符下键入在线。
chl

1
谢谢!源代码很好。解释会更好。:)
dfrankow

1
有人指出我是Venables和Ripley撰写的“带S的现代应用统计”。7.3节提供了“四路频率表示例”,该示例广泛涵盖了该房屋模型。阅读..
dfrankow 2011年

实际上,该部分是“比例赔率模型”
dfrankow 2011年

Answers:


17

我建议您阅读有关分类数据分析的书籍(请参阅Alan Agresti的Categorical Data Analysis,2002年),以更好地解释和理解有序逻辑回归。这些书中的几章基本上回答了您提出的所有问题。如果你只关心R相关的例子,扩展线性模型中的R朱利安遥远(CRC出版社,2008)是一个很好的参考。

在我回答您的问题之前,有序逻辑回归是一种按类别排序的多项式logit模型。假设我们有排序类别,而对于单个,具有序数响应,对于, 。通过有序的响应,通常更容易使用累积概率。累积概率在增加,并且对于合并相邻类别而言是不变的。此外,,因此我们仅需要模型概率。ÿ p Ĵ = P ÿ = Ĵ Ĵ = 1 Ĵ γ Ĵ = P ÿ Ĵ γ Ĵ = 1JiYipij=P(Yi=j)j=1,...,Jγij=P(Yij)γiJ=1J1

现在我们想将链接到协变量。在你的情况下,有3个排序的级别:,,。将它们视为有序而不是无序是更有意义的。其余变量是您的协变量。您正在考虑的特定模型是比例赔率模型,并且在数学上等效于:γijxSatlowmediumhigh

logit γj(xi)=θjβTxi,j=1J1
where γj(xi)=P(Yij|xi)

之所以这样称呼,是因为比较和的相对几率是:Yjx1x2

(γj(x1)1γj(x1))/(γj(x2)1γj(x2))=exp(βT(x1x2))

注意,以上表达式不依赖于。当然,对于给定的数据集,确实需要检查比例赔率的假设。j

现在,我将回答一些(1、2、4)个问题。

如何理解该模型是否合适?摘要(house.plr)显示残差3479.149和AIC(赤池信息准则?)3495.149。这样好吗 在那些仅用作相对度量(即与另一个模型拟合进行比较)的情况下,什么是好的绝对度量?剩余偏差是否近似卡方分布?能否对原始数据使用“正确预测的百分比”或进行一些交叉验证?最简单的方法是什么?

适合的模型polr是特殊的glm,因此glm这里适用于所有传统假设的所有假设。如果妥善处理参数,则可以找出分布。具体来说,要测试模型是否良好,您可能需要进行拟合优度测试,该测试将测试以下null(注意这很微妙,大多数情况下您想拒绝null,但在这里您不想拒绝以使其非常适合):

Ho: current model is good enough 

您将为此使用卡方检验。p值为:

1-pchisq(deviance(house.plr),df.residual(house.plr))

大多数时候,您希望获得一个大于0.05的p值,以免您不拒绝该null来得出该模型很好的结论(此处忽略了哲学上的正确性)。

在您不希望拥有大量参数的同时,AIC应该很高以达到良好的匹配度。stepAIC是检查此问题的好方法。

是的,您绝对可以使用交叉验证来查看预测是否成立。参见predict功能(选件:type = "probs")的?polr。您需要照顾的只是协变量。

pr包含哪些信息?配置文件上的帮助页面是通用的,不提供有关polr的指导

如@chl等指出的,pr包含获取CI所需的所有信息以及的其他与可能性相关的信息polr fitglm使用对数似然的迭代加权最小二乘估计方法对所有s进行拟合。在此优化中,您将获得大量信息(请参阅参考资料),这些信息将用于计算方差协方差矩阵,CI,t值等。它包括所有这些信息。

如何解释每个系数的t值?与某些模型>拟合不同,此处没有P值。

与正常线性模型(特殊glm)不同,其他glms的回归系数没有很好的t分布。因此,您可以使用最大似然理论获得参数估计及其渐近方差协方差矩阵。因此:

Variance(β^)=(XTWX)1ϕ^

估计值除以其标准误差就是BDR和WV所谓的t值(我在MASS这里假设是常规的)。它等效于正态线性回归的t值,但不遵循t分布。使用CLT,它渐近正态分布。但是他们宁愿不使用这个近似值(我想),因此没有p值。(我希望我没有错,如果我错了,我希望BDR不在这个论坛上。我进一步希望,如果我错了,有人会纠正我。)


我会添加更多。
suncoolsu'3

1
谢谢你 我已经读过好几次了。仍然存在很多问题。1.在R中,如何测试比例赔率假设?2.您确定卡方检验正确吗?在此示例中,它返回0,表示.. app脚?但是某些t值相当高(InflHigh 10.1,InflMedium 5.4,ContHigh 3.7)。3.显示哪些图或对?
dfrankow 2011年

感谢您广泛的回答suncoolsu。我处于类似情况,并有几个问题。1.使用您的chi-sq测试方程式,每个模型我也得到0。2. AIC上的Wikipedia页面上说:“首选模型是AIC值最小的模型。”但您说过:“ AIC应该高才是合适的。” 我正在尝试对帐。
山姆·斯威夫特

@dfrankow和@Sam Swift。对不起,忙着写一些论文。好的-如果p值= 0,则表示该模型不适合,因为拟合优度测试失败。关于AIC的问题,维基百科和我为此使用了不同的约定。我正在使用BDR和WV使用的一种。(请参见Julian Faraway博士在R中扩展线性模型)
suncoolsu 2011年

有0/1为P值和AIC解释你可能会发现有用的一些专门的问题: stats.stackexchange.com/questions/15223/... stats.stackexchange.com/questions/81427/...
斯科特

3

我非常喜欢这里的对话,但是我觉得答案不能正确解决您提出的问题的所有(非常好)组成部分。示例页面的后半部分polr全部与分析有关。Venerables和Ripley在这里讨论概要分析及其作用是一个很好的技术参考。当您完全有可能超出拟合指数族模型的舒适范围(常规GLM)时,这是一项关键技术。

这里的关键偏离是使用绝对阈值。您会注意到POLR不会估计通常的拦截项。相反,有令人讨厌的参数:阈值,拟合风险倾向于在可能类别的某个累积值中下降。由于从未联合估计这些阈值,因此它们与模型参数的协方差是未知的。与GLM不同,我们不能“干扰”一定数量的系数,也不能确定它可能会如何影响其他估计。我们使用概要分析来解决令人讨厌的阈值。谱是一个巨大的问题,但基本上目标是鲁棒地测量回归系数的协方差模型时最大化不规则可能性,像,,,和k1klmernlspolrglm.nb

的帮助页面?profile.glm应有一定用途,因为polr对象本质上是GLM(加上分类阈值)。最后,您可以使用实际使用任何源代码getS3method('profile', 'polr')。我getS3method经常使用此函数,是因为尽管R似乎坚持认为应该隐藏许多方法,但是通过回顾代码,人们可以惊人地了解实现和方法。

•公关包含哪些信息?配置文件上的帮助页面是通用的,不提供有关polr的指导。

pr是一个profile.polr, profile对象(继承的类profile)。每个协变量都有一个条目。探查器遍历每个协变量,重新计算最优模型拟合,并将该协变量固定为稍微不同的数量。输出显示协变量的固定值,该定值是与其估计值的比例“ z分数”差异,以及其他协变量中的固定结果。例如,如果您查看pr$InflMedium,您会注意到,当“ z”为0时,其他固定效果与原始拟合中的效果相同。

•plot(pr)显示什么?我看到六个图。每个标签都有一个X轴,尽管标签是一个指示符变量(看起来像一个输入变量,它是一个序数值的指示符)。那么Y轴是“ tau”,这是无法解释的。

再次?plot.profile给出说明。该图粗略地显示了回归系数如何变化。tau是标度差异,即z得分,因此它的0值给出了最佳的拟合系数,并用勾号表示。您不会知道这种拟合的行为如此出色,但是这些“线”实际上是样条线。如果以最佳拟合非常不规则地表现出这种可能性,则您会在图中观察到奇怪且不可预测的行为。您应该使用更可靠的错误估计(引导程序/折刀)来估计输出,使用来计算CI method='profile',重新编码变量或执行其他诊断。

•pairs(pr)显示什么?它看起来像是每对输入变量的图,但是我再也看不到X或Y轴的解释。

帮助文件说:“成对方法针对每对参数x和y显示两条以最大似然估计相交的曲线,这些曲线给出了与二元轮廓似然的轮廓的切线变为垂直的点的轨迹在正态变量恰好是二变量的情况下,这两条曲线将是给出y | x和x | y的条件均值的直线,而轮廓将恰好是椭圆形。” 基本上,它们再次帮助您可视化置信椭圆。非正交轴表示高度协变量的量度,例如InfMedium和InfHigh在直觉上非常相关。同样,不规则的可能性将导致图像在这里令人困惑。

•如何理解模型是否合适?摘要(house.plr)显示残差3479.149和AIC(赤池信息准则?)3495.149。这样好吗 在那些仅用作相对度量(即与另一个模型拟合进行比较)的情况下,什么是好的绝对度量?剩余偏差是否近似卡方分布?能否对原始数据使用“正确预测的百分比”或进行一些交叉验证?最简单的方法是什么?

可以评估的一个假设是比例赔率假设。这在整体测试中有所反映(该测试根据饱和的对数线性模型评估polr)。这里的限制是,对于大数据,全局测试始终会失败。因此,使用图形并检查对数线性模型和polr拟合的估计(beta)和精度(SE)是一个好主意。如果他们完全不同意,则可能是错误的。

有了有序的结果,很难定义一致性百分比。您将如何基于模型选择分类器;如果这样做,将如何从不良分类器中获得不良效果。mode是一个不好的选择。如果我有10个类别的logit,而我的预测始终只是一个类别,那也许不是一件坏事。此外,我的模型可以正确预测0响应的机会为40%,但也可以正确预测8、9、10的机会为20%。因此,如果我观察到9是好是坏?如果必须测量一致性,请使用加权的Kappa甚至MSE。对数线性模型将始终产生最佳一致性。那不是POLR所做的。

•如何在此模型上应用和解释方差分析?文档说:“有一些用于标准模型拟合功能的方法,包括预测,汇总,vcov,方差分析。” 但是,运行anova(house.plr)会导致没有为单个“ polr”对象实现anova

您可以使用R 中的waldtest和来测试嵌套模型。这等效于ANOVA。解释与GLM完全相同。lrtestlmtest

•如何解释每个系数的t值?与某些模型拟合不同,此处没有P值。

再次,与线性模型不同,POLR模型能够以不规则的可能性发生问题,因此基于Hessian的推断可能非常不稳定。它类似于拟合混合模型,例如confint.merMod,有关lme4软件包的帮助文件,请参见。在此,通过剖析进行的评估表明协方差表现良好。程序员在默认情况下会执行此操作,只不过分析可能在计算上非常密集,因此他们将其交给了您。如果必须查看基于Wald的推断,请coeftest(house.plr)lrtest包中使用。


2

要“测试”(即评估)R中的比例几率假设,可以在Frank Harrell Jr.的Design软件包中使用residuals.lrm()。如果键入?residuals.lrm,那么可以快速复制一个示例,该示例说明Frank Harrell如何建议评估比例赔率假设(即,从视觉上而不是通过按钮测试)。设计使用lrm()估计有序逻辑回归,您可以用它代替MASS中的polr()。

有关如何以可视方式测试R中的比例赔率假设的更正式的示例,请参见:论文:生态学中的序数响应回归模型作者:Antoine Guisan和Frank E. Harrell来源:《植被科学》,第1卷。11,No.5(2000年10月),第617-626页


3
衷心感谢您的答复。但是,StackExchange的目的是提供答案,而不是引用。统计人员似乎特别倾向于参考问题。您可以添加有关如何使用残渣.lrm的任何详细信息吗?例如,示例命令和解释house.plr示例的图形的示例?
dfrankow 2011年

1
作者网站上的更新:“现在已不再使用Design软件包。R用户必须改用rms软件包”。马克,您的回应对我很有帮助。
Tal Galili 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.