我有一個數據集,其中有許多預測變量,我想對它們進行二階階乘(即所有可能的相互作用)。通常,如果我使用“擬合模型”,我只需選擇所有預測變量,將階乘設為 2,然後選擇“階乘到程度”。但是,對於其他平台,不支援此階乘/互動功能。因此,我需要合併 14 列,即 14^2 = 近 200 個要建立的新列。現在,我可以使用“Cols”功能表下的“組合列”功能 200 次,但我懷疑可能有一種方法可以以更簡單的方式執行此操作(甚至可能不需要 JSL)。
我嘗試簡單地從擬合模型的“構造模型效果”框中複製二階階乘並將其粘貼到神經平台中,但這不起作用。我開始認為問題只是某些(如果不是全部)預測建模平台不接受交互效應。這就是為什麼我認為我需要手動製作交互列。有什麼想法嗎?
抱歉,我想把我對 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”)。
您還有一些其他驗證選項,例如交叉驗證、列驗證等...
完成模型比較後,您可以打開任何測試模型的特定建模面板。
希望對你有幫助,