11.13.2 步進迴歸stepwisefit
步進迴歸可以依自進變數之顯著性進行,篩選其指令為stepwisefit,語法如下:
b = stepwisefit(X, y)
[b,se,pval,inmodel,stats,nextstep,history] = stepwisefit(...)
[...] = stepwisefit(X, y, 'Param1',value1,'Param2',value2,...)
stepwise(X, y)
stepwise(X, y, inmodel, penter, premove)
步進迴歸stepwise是一個交談式之迴歸方式而stepwisefit則是直接迴歸曲線,並得到係數值。步進迴歸旨在利用設計之X參數矩陣預測Y向量值,以此獲得迴歸係數b 。在交談式迴歸中,沒有指定之輸出參數,但等到交談過程中得到滿意的結果後,即可將相關係數輸出。在stepwisefit指令之輸入項中,其相關參數說明如下:
- b為計算得到之係數向量,se為其標準差。
- pval為P值向量,檢驗是否 b=0?
- inmodel為邏輯向量,其長度與X之行數相同,旨在說明留在模式之預測子。例如在j處之值為1表丕第j個預測值留在模式內;若為0時則否。
- stats為其他統計資訊。
- nextstep為建議下一步做法,說明那一個預測值要加入或移出。若結果為0時表示沒有意見。
- history為記錄每一步驟資訊結構。
在輸入項中,有'Param1',value1之輸入項,其內容包括如下:
參數名稱 參數值
'inmodel' 邏輯向量,說明那一個預測子在最初迴歸時納入。若全為零,表示沒有預測子。
'penter' 加入新預測子之最大P值,預設值為0.05。
'premove' 移去預測子之最小P值,預設值為0.01。
'display' 步驟顯示關關:'on'為顯示資訊;'off'不顯示。
'maxiter' 步驟最高次數(預設值為無最大值)
'keep' 邏輯向量,說明那一個預測子在最初迴歸時要保留。若全為零,表示沒有預測子。
'scale' 'on' 在迴歸前就X中各行以標準差進行分格;'off'不不格。
例:就工具箱hald.mat之資料進行迴歸分析
load hald
stepwisefit(ingredients, heat, 'penter', .08)
Initial columns included: none
Step 1, added column 4, p=0.000576232
Step 2, added column 1, p=1.10528e-006
Step 3, added column 2, p=0.0516873
Step 4, removed column 4, p=0.205395
Final columns included: 1 2
ans =
'Coeff' 'Std.Err.' 'Status' 'P'
[ 1.4683] [ 0.1213] 'In' [2.6922e-007]
[ 0.6623] [ 0.0459] 'In' [5.0290e-008]
[ 0.2500] [ 0.1847] 'Out' [ 0.2089]
[-0.2365] [ 0.1733] 'Out' [ 0.2054]
ans =
1.4683
0.6623
0.2500
-0.2365
使用stepwise之交談式分析畫面:
沒有留言:
張貼留言