當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。