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


R step 在逐步算法中通過 AIC 選擇模型


R語言 step 位於 stats 包(package)。

說明

選擇 AIC 基於公式的模型。

用法

step(object, scope, scale = 0,
     direction = c("both", "backward", "forward"),
     trace = 1, keep = NULL, steps = 1000, k = 2, ...)

參數

object

表示適當類模型的對象(主要是 "lm""glm" )。這用作逐步搜索中的初始模型。

scope

定義逐步搜索中檢查的模型範圍。這應該是單個公式,或者是包含組件 upperlower (這兩個公式)的列表。請參閱有關如何指定公式及其使用方法的詳細信息。

scale

用於定義選擇模型的 AIC 統計量,目前僅適用於 lmaovglm 模型。默認值 0 表示應估計比例:請參閱 extractAIC

direction

逐步搜索的模式,可以是 "both""backward""forward" 之一,默認為 "both" 。如果缺少 scope 參數,則 direction 的默認值為 "backward" 。值可以縮寫。

trace

如果為正,則在 step 運行期間打印信息。較大的值可能會提供更詳細的信息。

keep

一個過濾函數,其輸入是擬合模型對象和關聯的 AIC 統計量,其輸出是任意的。通常keep 將選擇對象組件的子集並返回它們。默認情況下不保留任何內容。

steps

要考慮的最大步驟數。默認值為 1000(本質上是需要的數量)。它通常用於提前停止該過程。

k

用於懲罰的自由度數的倍數。隻有k = 2 提供真正的AIC:k = log(n) 有時稱為BIC 或SBC。

...

extractAIC 的任何其他參數。

細節

step重複使用add1drop1;它將適用於它們適用的任何方法,這取決於 extractAIC 的有效方法。當可以選擇加法常數以使 AIC 等於 Mallows 的 時,即可完成此操作並適當地標記表格。

搜索的模型集由 scope 參數確定。其lower 組件的右側始終包含在模型中,模型的右側包含在upper 組件中。如果scope 是單個公式,則它指定upper 組件,並且lower 模型為空。如果scope 缺失,則初始模型將用作upper 模型。

scope 指定的模型可以作為更新 object 的模板,如 update.formula 使用的那樣。因此,在 scope 公式中使用 . 意味著“已經存在的內容”,而 .^2 表示現有項的所有交互。

使用 glm 與變量 scale 配合存在潛在問題,因為在這種情況下,偏差不僅僅與最大化對數似然相關。函數 extractAIC"glm" 方法對 gaussian 係列進行了適當的調整,但可能需要針對其他情況進行修改。 (binomialpoisson 係列默認修複了 scale,並且不對應於變量 scale 的特定 maximum-likelihood 問題。)

返回逐步選擇的模型,最多帶有兩個附加組件。有一個 "anova" 組件對應於搜索中采取的步驟,如果在調用中提供了 keep= 參數,則還有一個 "keep" 組件。偏差表分析的 "Resid. Dev" 列是指一個常數減去兩倍最大對數似然:僅在明確定義飽和模型的情況下才會出現偏差(因此不包括 lmaovsurvreg )。

警告

模型擬合必須將模型應用到同一數據集。如果存在缺失值,這可能會出現問題R的默認值是na.action = na.omit用來。我們建議您先刪除缺失值。

調用函數 nobs 用於檢查擬合過程中涉及的觀測值數量是否保持不變。

注意

該函數與 S 中的函數有很大不同,S 中的函數使用許多近似值並且通常不計算正確的 AIC。

這是一個最小的實現。使用 MASS 包中的stepAIC 來實現更廣泛的對象類。

例子


## following on from example(lm)

step(lm.D9)

summary(lm1 <- lm(Fertility ~ ., data = swiss))
slm1 <- step(lm1)
summary(slm1)
slm1$anova

作者

B. D. Ripley: step is a slightly simplified version of stepAIC in package MASS (Venables & Ripley, 2002 and earlier editions).

The idea of a step function follows that described in Hastie & Pregibon (1992); but the implementation in R is more general.

參考

Hastie, T. J. and Pregibon, D. (1992) Generalized linear models. Chapter 6 of Statistical Models in S eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. New York: Springer (4th ed).

也可以看看

MASS add1drop1 中的stepAIC

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Choose a model by AIC in a Stepwise Algorithm。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。