当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R polr 有序逻辑回归或概率回归


R语言 polr 位于 MASS 包(package)。

说明

将逻辑回归或概率回归模型拟合到有序因子响应。默认的逻辑情况是比例赔率逻辑回归,函数以此命名。

用法

polr(formula, data, weights, start, ..., subset, na.action,
     contrasts = NULL, Hess = FALSE, model = TRUE,
     method = c("logistic", "probit", "loglog", "cloglog", "cauchit"))

参数

formula

回归模型的公式表达式,格式为 response ~ predictors 。响应应该是一个因子(最好是有序因子),它将被解释为有序响应,其级别按因子中的顺序排序。该模型必须具有拦截:尝试删除拦截将导致警告并被忽略。可以使用偏移量。有关其他详细信息,请参阅formula 的文档。

data

一个可选的 DataFrame 、列表或环境,用于解释 formula 中出现的变量。

weights

配件中可选择 shell 重量。默认为 1。

start

参数的初始值。其格式为c(coefficients, zeta):请参阅值部分。

...

要传递给 optim 的其他参数,最常见的是 control 参数。

subset

表达式说明在拟合中应使用数据行的哪个子集。默认情况下包括所有观察结果。

na.action

过滤缺失数据的函数。

contrasts

用于模型公式中作为变量出现的部分或全部因子的对比列表。

Hess

是否应返回 Hessian(观察到的信息矩阵)的逻辑。如果您打算在拟合时调用 summaryvcov,请使用此选项。

model

是否应返回模型矩阵的逻辑。

method

Logistic 或 Probit 或(互补)log-log 或 cauchit (对应于柯西潜变量)。

细节

该模型就是 Agresti (2002) 所说的累积链接模型。基本解释是潜在变量 的粗化版本,它具有逻辑分布、正态分布、极值分布或柯西分布,尺度参数为 1,均值为线性模型。观察到的有序因子是带有断点的 bin 落入哪个 bin

这导致模型

对于正常潜变量,用 probit 替换 logit, 是线性预测变量,是解释变量的线性函数(无截距)。请注意,其他软件对 使用相反的符号(因此系数 beta )是很常见的。

在逻辑情况下,最后显示的左侧是类别 或更小的对数赔率,并且由于这些对数赔率仅因不同 的常数而不同,因此赔率成比例。因此,术语“比例优势逻辑回归”。

log-log 和互补的 log-log 链接是递增函数 ;有些人将第一个称为“负面log-log”链接。这些分别对应于具有最大值和最小值的极值分布的潜在变量。

可以通过使用互补的 log-log 链接(按时间递增顺序进行分组)来获得分组生存时间的比例风险模型。

predictsummaryvcovanovamodel.frameextractAIC 方法与 stepAIC (和 step )一起使用。还有profileconfint 方法。

"polr" 的对象。这个有组件

coefficients

线性预测器的系数,没有截距。

zeta

类边界的截距。

deviance

残余偏差。

fitted.values

一个矩阵,每个响应级别都有一列。

lev

响应级别的名称。

terms

说明模型的 terms 结构。

df.residual

使用权重计算的剩余自由度数。

edf

模型使用的(有效)自由度数

n , nobs

使用权重计算的(有效)观测值数量。 ( nobsstepAIC 使用。

call

匹配的调用。

method

使用的匹配方法。

convergence

optim 返回的收敛代码。

niter

optim 使用的函数和梯度评估的数量。

lp

线性预测器(包括任何偏移)。

Hessian

(如果Hess为真)。请注意,这是从优化过程中得出的数值近似值。

model

(如果model为真)。

注意

vcov 方法使用近似 Hessian:为了获得可靠的结果,模型矩阵应合理缩放,所有列的范围均为 1。

在版本 7.3-32 之前,method = "cloglog" 混淆地给出了 log-log 链接,隐含地假设第一个响应级别是 ‘best’。

例子

options(contrasts = c("contr.treatment", "contr.poly"))
house.plr <- polr(Sat ~ Infl + Type + Cont, weights = Freq, data = housing)
house.plr
summary(house.plr, digits = 3)
## slightly worse fit from
summary(update(house.plr, method = "probit", Hess = TRUE), digits = 3)
## although it is not really appropriate, can fit
summary(update(house.plr, method = "loglog", Hess = TRUE), digits = 3)
summary(update(house.plr, method = "cloglog", Hess = TRUE), digits = 3)

predict(house.plr, housing, type = "p")
addterm(house.plr, ~.^2, test = "Chisq")
house.plr2 <- stepAIC(house.plr, ~.^2)
house.plr2$anova
anova(house.plr, house.plr2)

house.plr <- update(house.plr, Hess=TRUE)
pr <- profile(house.plr)
confint(pr)
plot(pr)
pairs(pr)

参考

Agresti, A. (2002) Categorical Data. Second edition. Wiley.

Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth edition. Springer.

也可以看看

optimglmmultinom

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Ordered Logistic or Probit Regression。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。