R 有序多项式回归中的残差和图

R 有序多项式回归中的残差和图,r,plot,regression,ordinal,R,Plot,Regression,Ordinal,我需要绘制一个包含拟合值和有序多标称logit回归的残差值的组合残差图 使用polr时如何提取残差?是否有其他运行ord multinominal logit的函数可以提取残差 这是我使用的代码 options(contrasts = c("contr.treatment", "contr.poly")) mod1 <- polr(as.ordered(y) ~ x1 + x2 + x3, data, method='logistic') fit <- mod1$fitted.va

我需要绘制一个包含拟合值和有序多标称logit回归的残差值的组合残差图

使用polr时如何提取残差?是否有其他运行ord multinominal logit的函数可以提取残差

这是我使用的代码

options(contrasts = c("contr.treatment", "contr.poly"))
mod1 <- polr(as.ordered(y) ~ x1 + x2 + x3, data, method='logistic')

fit <- mod1$fitted.values
res <- residuals(mod1)
binnedplot(fit, res)
选项(对比度=c(“对照疗法”、“对照疗法”))

mod1首先,你能告诉我们对于一个有分类反应的模型,原则上如何定义残差吗<代码>拟合。值
是概率矩阵。您可以根据正确的预测定义残差(将最有可能的结果定义为预测,如
predict
对象的默认
polr
方法中所述)——或者您可以计算真值和预测值的n×n表。或者,您可以将顺序数据缩减回整数范围,并计算平均结果作为预测。。。但是我看不出有什么独特的方法可以首先定义残差。

在polr()中,没有返回残差的函数。您应该使用它的定义手动计算它。

实际上有很多方法可以从序数probit/logit中获取残差。尽管
polr
不提供任何残差,
vglm
提供了一些残差。请参见
VGAM
软件包中的
?剩余vglm
(另请参见下文)

注:然而,对于控制函数/2SRI方法,Wooldridge(2014)建议使用Vella(1993)中描述的广义残差。据我所知,目前在
R
中没有这些数据,但它们在Stata中(使用
predict gr,score

VLGM中的残差

polr的替代残差 您可以使用包
sure
()计算带有
resids
的代理残差。该方案基于《美国统计协会杂志》上的一篇文章

library(sure) # for residual function and sample data sets
library(MASS) # for polr function

df1 <- df1
df1$x1 <- df1$x
df1$x <- NULL
df1$y <- df2$y
df1$x2 <- df2$x
df1$x3 <- df3$x

options(contrasts = c("contr.treatment", "contr.poly"))
mod1 <- polr(as.ordered(y) ~ x1 + x2 + x3, data=df1, method='probit')

fit <- mod1$fitted.values
res <- resids(mod1)
library(sure)#用于残差函数和样本数据集
库(质量)#用于polr功能

我能看一下数据吗?(我无法回答,因为我不太了解R,但我想复制来学习)thanks@moldovean,用于
polr
函数的
MASS
程序包帮助页中确实有一些示例数据集。Gelman&Hill提供了一种计算顺序逻辑回归残差的方法。他们根据切点计算每种情况的加权平均值,计算残差,然后将这些残差进行装箱以进行图形显示。我知道这是一个非常古老的答案,但我看到您仍然在堆栈上活动。。所以我想试试看。我想在第一阶段使用控制函数(CF)/两阶段剩余包含(2SRI)和
polr
。我想知道您关于如何计算
polr
残差的不同建议是否适用于此目的(2SLS方法将包括
polr
的拟合值,但在模拟2SLS时结果会不一致,而且我不知道有任何软件直接执行顺序-2SLS)。我就我对交叉验证的评论提出了一个问题: