如何通過 PCA 選擇自變量?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
為了開發預測模型,我需要準確過濾要使用的變量。 具體來說,我想使用不相關的變量。 一種有效的方法是應用 PCA 並選擇特徵值 > 1.0 的變量。 如果我將此示例應用於 JMP 示例(主成分報告),那麼我將只選擇 1 個變量。 在我的數據中,特徵值 > 1.0 的變量數為 9。 因此,我毫無疑問地知道我想要多少變量。 我不清楚的是如何確認JMP 報告中的這些變量。 如果我再次使用 JMP 示例(主成分報告),我如何識別提供 4.7850 的 Egeinvalue 的變量(在六個變量中)?
謝謝,
大衛
Re: 如何通過 PCA 選擇自變量?是的你是對的。
我在想我能夠在原始屬性中選擇一組屬性,而使用 PCA 我可以創建新屬性(通過使用原始屬性)。
話題已關閉。 非常感謝您的支持!
戴維德
Re: 如何通過 PCA 選擇自變量?大衛,
你在尋找特徵向量嗎?它們在 JMP 中可用(在紅色三角形下方)。請記住,PCA 是一種“降維”技術,每個 PC 都是所有變量的組合。
彼得確實對使用替代方法進行變量選擇提出了很好的觀點。
凱倫
Re: 如何通過 PCA 選擇自變量?您可能會從這種方法中丟失大量信息,但這應該能夠提取出彼此之間“相關性最低”的 3 種材料。它們肯定不會是正交的。為了得到你想要的答案,可能有更好的方法來構建這個(就像彼得所說的那樣)。
*警告,這純粹是編造的,我不知道它有多好。在我的腦海中,它可以滿足我認為你的要求是有道理的”
dt =打開( "$Sample_DATA\溶解度.jmp" );
//對所有化學品進行多元分析
mv =多變量(
Y(
:姓名( “1-辛醇” ),
:醚,
:氯仿,
:苯,
:四氯化碳,
:己烷
),
估計方法( “逐行” ),
矩陣格式( “正方形” ),
散點圖矩陣(
密度橢圓( 1 ),
陰影橢圓( 0 ),
橢圓顏色( 3 )
)
);
mv_r = mv <<報告;
//將相關性製作成數據表
dt_corr = mv_r [矩陣盒( 1 )]<<製作成數據表();
//總結所有相關性
dt_corr <<新列( “總相關” , 公式(
和(
:姓名( “1-辛醇” ),
:醚,
:氯仿,
:苯,
:四氯化碳,
:己烷
)
));
//最低的三個是彼此“最不相關”的
材料=:行<<獲取值;
墊=:總相關<<獲取值;
頂部 =升序(墊)[ 3 ]; //選擇第三低的值
what_you_want_maybe = 材料[位置(墊<=頂部)] //獲取總相關性最低的 3 種化學物質
回報:
{“1-辛醇”、“乙醚”、“氯仿”}
Re: 如何通過 PCA 選擇自變量?嗨,彼得,
您的方法假定使用特定的預測模型。 我的方法是通過 PCA 過濾要使用的變量,然後使用大量的預測模型。 因此,過濾(即PCA)應該獨立於使用的預測模型。
從您的回答中,我可以告訴您您是這裡的專家。 因為您無法直接回答我的問題,所以我將推斷 JMP 無法報告“鏈接”到特徵值的變量列表。
不管怎麼說,還是要謝謝你,
大衛
Re: 如何通過 PCA 選擇自變量?大衛:
由於您的重點是最終建立一個預測模型,而不是在自變量上使用 PCA 作為查找不相關自變量的變量選擇工具,那麼我假設您將專注於使用普通最小二乘法,可能是逐步的引入的方法,您是否考慮過使用更直接的預測建模方法,該方法利用自變量之間的相關/協方差結構為您提供有用的模型?
我擔心的是,如果您只使用不相關的變量,您可能會在不知道的情況下將一些預測能力扔出窗外。 偏最小二乘法,如果您有 JMP Pro,擬合模型 -> 廣義回歸特性中的懲罰回歸過程是為預測建模場景量身定制的,其中自變量之間的相關性是可疑或明顯的。 Lasso 和 Elastic Net 這兩種技術的使用具有可變的選擇方面。 以下是這兩個平台的 JMP 在線文檔的幾個鏈接:
偏最小二乘模型
廣義回歸模型
Re: 如何通過 PCA 選擇自變量?不幸的是,這不是我要找的。 假設在示例中,我需要在 6 個變量中識別出 3 個最小(交叉)相關變量。 他們是誰? 氯仿、苯和己烷?
Re: 如何通過 PCA 選擇自變量?如果您使用熱鍵,您應該能夠將“主成分”保存到數據表中。然後它們將被命名為 Prin1、Prin2、Prin3 等......
該值並不真正對應於六個變量中的 1 個。這是一個看起來像這樣的公式:

.
我不確定這正是您要問的,但我希望它有所幫助。