<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我们中的许多人都知道 k 折交叉验证的逐步回归对于小样本可能具有的可变性。 通常建议重复此过程 50-100 次以增加输出的真实性。
我想知道 JMP 中是否有重复此过程的方法? 它将为我节省大量时间!
谢谢
下面是一个示例脚本,它在同一个逐步模型上重复 k 折交叉验证 10 次。 从 JMP 脚本索引复制而来,该脚本的第一部分运行逐步回归模型,然后执行 5 折的 k 折交叉验证。 第二部分将包含步数历史和最佳模型统计信息的表格框在每次迭代中制作成一张数据表,并将所有数据表拼接成一张K-Fold Results表。 您当然可以选择将不同的结果表框放入输出表中,或者根本没有。
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 );
);
);