我有一个数据集,其中有许多预测因子,我想对它们全部(即所有可能的交互作用)进行二阶阶乘。通常,如果我使用“拟合模型”,我只需选择所有预测因子,将阶乘设置为 2,然后选择“阶乘到度”。但是,对于其他平台,不支持此阶乘/交互作用功能。因此,我需要合并 14 列,即 14^2 = 几乎要创建 200 个新列。现在,我可以使用“Cols”菜单下的“合并列”功能 200 次,但我怀疑可能有一种方法可以以更简单的方式(甚至可能不需要 JSL)做到这一点。
我尝试简单地从 Fit Model 的“构建模型效应”框中复制二阶因子并将其粘贴到神经平台中,但这样做不起作用。我开始认为问题只是某些(如果不是全部)预测建模平台不接受交互效应。这就是为什么我认为我需要手动制作交互列。有什么想法吗?
抱歉,我想把我对 Georg 的回复告诉你们。 这是利用模型筛选进行二阶交互的一个重要点(尤其是当平台本身不支持此类交互时)。 知道这一点,以及一些方法实际上固有地考虑交互的事实,我想我可以完成大部分我需要做的事情!
乔治,谢谢,这是一个很好的观点,我在发帖后想得更多(并显示出我的天真)。 我绝对认为神经网络天生就考虑了交互。 我确实知道在模型筛选中,您可以选中该框以考虑二次甚至二阶效应......即使是在平台本身不考虑它们的建模时间(例如,神经)。 而且,我完全忘记了交互分析器,它对我想做的事情非常有帮助,所以再次非常感谢您的意见和建议!
亲爱的@abmayfield ,我认为没有必要指定二阶效应,因为像神经树和提升树这样的模型可以自然地对它们建模,因为它们足够复杂。 您可以尝试下面的示例,例如,在探查器中,您可以指定查看没有为神经指定它们的交互。 需要高阶效应来指定,特别是对于回归模型,因为没有后面的公式将不允许二次效应或交互作用。
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = dt << Profiler(
Y(
:Pred Formula ABRASION, :Pred Formula MODULUS, :Pred Formula ELONG,
:Pred Formula HARDNESS
)
);
obj << Interaction Profiler( 1 );
Neural(
Y( :ABRASION, :MODULUS, :ELONG, :HARDNESS ),
X( :SILICA, :SILANE, :SULFUR ),
Informative Missing( 0 ),
Validation Method( "Holdback", 0.3333 ),
Fit(
NTanH( 3 ),
Profiler(
1,
Desirability Functions( 1 ),
Interaction Profiler( 1 ),
Term Value(
SILICA( 1.2, Lock( 0 ), Show( 1 ) ),
SILANE( 50, Lock( 0 ), Show( 1 ) ),
SULFUR( 2.3, Lock( 0 ), Show( 1 ) )
)
)
)
);
你好@abmayfield ,
如果您通过“模型筛选”平台(在“分析”、“预测建模”和“模型筛选”中)构建模型(JMP Pro 中的任何类型的机器学习模型、神经网络等),您可以指定交互作用和二次效应在许多不同的模型中,包括神经网络(参见屏幕截图“Model_screening_options”)。
您还有一些其他验证选项,例如交叉验证、列验证等...
完成模型比较后,您可以打开任何测试模型的特定建模面板。
希望对你有帮助,