<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我們許多人都知道 k 折交叉驗證逐步迴歸對於小樣本可能具有的變異性。 通常建議重複此過程 50-100 次,以提高輸出的可靠性。
我想知道 JMP 中是否有辦法重複此過程? 這將節省我大量的時間!
謝謝
下面是一個範例腳本,它在同一逐步模型上重複 k 倍交叉驗證 10 次。 腳本的第一部分複製自 JMP 腳本索引,執行逐步迴歸模型,然後執行 5 倍的 k 倍交叉驗證。 第二部分將包含步驟歷史記錄和最佳模型統計資料的錶框放入每次迭代的資料表中,並將所有資料表連接在一起形成一個 K-Fold 結果表。 當然,您可以選擇將不同的結果錶框製作為輸出表,或者根本不製作。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Fitness.jmp" );
For( i = 1, i <= 10, i++,
obj = dt << Fit Model( Y( :Oxy ), Effects( :Runtime, :Weight, :RunPulse, :RstPulse, :MaxPulse ), Personality( Stepwise ), Run );
obj << Name( "K-Fold Crossvalidation" )(5);
obj << Finish;
kfold = obj << report;
tablebox = kfold[Table Box( 3 )];
output = tablebox << Make Into Data Table( "K-Fold Results" );
If( i != 1,
Data Table( "K-Fold Results" ) << Concatenate( Data Table( "K-Fold Results " || Char( i ) ), Append to first table );
);
);