PLS平台未經驗證即可改裝+如何使用引導程序?你好
1)我正在做PLS,我有42個觀察結果。 可能的預測變量的數量從24到79到240不等,具體取決於我預選了多少變量。 我的Y是2或3。 運行平台啟動後,我進入NIPALS / SIMPLS部分,無論我使用哪種類型的驗證(Kfold,kave,e holdout)或選擇多少因素-我總是會收到錯誤-“最佳模型具有0個因素,未經驗證即進行改裝”。有什麼建議我可以解決嗎? 我真的很想使用PLS,但是沒有任何驗證的建模就太適合了...
2)一旦獲得結果,我就有了預測公式。 引導程序將如何進行? 關於引導結果的過程,我有很多不確定性。我希望JMP已經將引導程序引入了驗證過程。 我假設我需要對自舉係數進行平均,但要重新啟動該表,整個模型公司。 k折驗證(如果可行)? 如果是這樣,我應該使用居中和按比例縮放的數據還是原始係數? 我必須手動將結果作為公式輸入,所以我假設我應該引導原始係數,但是會使用居中的縮放數據運行模型並提供原始係數,還是使用原始係數運行模型? 從過程的角度來看,整個過程對我來說還很不清楚,即為了達到我想要的結果,一步一步發生了什麼。任何幫助/見解將不勝感激!
謝謝,
烏里爾
分析工具回复:PLS平台未經驗證即可進行改裝+如何使用引導程序?你好@utkcito ,
首先,PLS可能不是用於數據的最佳平台。 最好將其作為GenReg或Stepwise來運行,以查看哪些預測變量在模型中實際上很重要。 我確實很奇怪,您的預測變量的數量範圍是24至240。 相對於可能的預測變量數量而言,觀察值很少,因此您實際上應該進行一些預測變量篩選,以確保模型中沒有添加過多不必要的因素。 PLS可以解決這個問題,但是預測變量也需要與響應保持一致,否則會出現錯誤-這意味著預測變量沒有線性組合可以解釋響應的變化。 但是,如果必須使用PLS並且沒有其他選擇,則可能需要考慮將響應從分類(2或3)更改為順序(2或3)。 它可能能夠找到更好的數值解。 我也強烈建議您調查並使用自動驗證檢查大量預測變量的方法。
其次,當JMP執行任何擬合時,我相信在後台它總是使用居中和縮放的數據來獲得更好的估計值,然後回算實際估計值。 因此,最終引導程序並不重要,但是解釋實際的估計引導程序而不是集中和按比例縮放的數據可能更有意義或更容易。 是的,引導估計值將使用您正在執行的任何驗證重新運行擬合。
最後,要引導估算,請右鍵單擊JMP報告中的列估算,然後選擇引導程序。 如果速度很快,則輸入5000,但如果速度緩慢,則將其保持為2500。 確保選中“分數重量”框。 它將重新運行擬合多次,然後為預測變量的每個係數分配一個值(只需在輸出數據表中運行“ distribution”腳本)即可。 然後,隨著顯示的分佈和統計信息,您可以右鍵單擊摘要統計信息,然後選擇“製作為合併數據表”。 確保還自定義匯總統計信息以顯示非零比例。
合併的數據表將包含估計值的平均值和非零比例。 在那裡您可以看到平均值(典型值)以及該估算值非零的頻率(百分比)-如果該數字很小,則估算值通常為零。 如果很大,那麼大多數時候它都不為零。 這是確定模型中需要或不需要的術語的好方法。
希望這可以幫助,
DS
回复:PLS平台未經驗證即可進行改裝+如何使用引導程序?DS,您好!
1)之所以有24到237個變量,是因為它取決於我選擇多少變量。 24是自舉法則,然後我可以做* 2階乘。 237是整套細胞因子。
2)預測變量也需要與響應保持一致,否則會出現錯誤-這意味著預測變量沒有線性組合可以解釋響應的變化。”您能解釋的還不止於此嗎? 我認為協方差是相互之間的,即它們是多重共線性的,並且PLS通過創建作為協方差基礎的因子來使用變量之間的協方差。 當您說他們必須與響應。 我很難想到,在24、79或237個細胞因子變量中(它們實際上是縱向測量值的平均值,中位數和IQR),它們之間沒有線性組合可以解釋反應的任何變化(ICU中的嚴重疾病);實際上已經建立了他們在其他設置中進行的設置,因此我不明白為什麼JMP會這樣做。
3)感謝您對如何實現引導的解釋,這更加有意義,我嘗試了一下,並且可以工作。 我總是感到驚訝的是,JMP的正式文檔幾乎無濟於事,關於它如何工作以及如何使其工作的細節很少,並且論壇,教程等實際上沒有多少幫助。
非常感謝!
烏里爾
回复:PLS平台未經驗證即可進行改裝+如何使用引導程序?你好@utkcito ,
現在,我了解了“ bootstrap”的最初含義-運行bootstrap平台是一種不錯的方法,但是您還希望使用神經網絡,GenReg,boosted樹運行預測模型,甚至獲得XGBoost附加功能-在驗證測試集上比較不同的預測公式。 這樣做時,您需要確定並調整設置,以便獲得最佳配合-默認配合併不總是那麼好。
但是,關於樹方法的一個好處是,它是一種聚合方法,它使用許多不同的決策樹來提出模型。 如果這些因素對它們的貢獻不是很重要,則它們將自動被推低,並且不會顯示出對整個模型的巨大貢獻。 儘管如此,由於隨機啟動和決策過程,引導林和增強樹方法並不是特別穩定-當您運行相同的設置數百次時,您會發現實際上得到的答案和公式略有不同。 這就是為什麼最好在輸出報告中引導“ SS”或“部分”(例如在引導林中)以更好地估計該因素在模型中的強弱程度的原因。
話雖如此,您將需要確保使用交叉驗證方法以確保您不會過擬合。 而且,由於數據表相對較短(沒有很多測量值),如果不使用留一法,很難做到這一點,除非您使用我在上一個答復中提到的自動驗證方法。 K折交叉驗證對您來說也可能是一個好方法。
我不確定您的輸入數據是什麼樣子,但是聽起來幾乎就像JMP所說的“功能數據”一樣,例如光譜或其他規則間隔的數據,其中每個波長(或x值)都與其鄰居相關。 您可能想研究使用功能數據瀏覽器來生成更好的預測變量子集。 或者,PCA也是減少預測變量的維數並使用較小的一組正交向量來建模數據的好方法。
關於您的觀點:
1)是否有理論上(生物學上,化學上,物理上)的理由包含與* 2階乘方法這麼多不同的交叉項? 如果您沒有理論上的理由將它們包括在內,那麼它就沒有太大意義,您可能會引入錯誤的預測器。
2)在PLS平台中,同樣重要的是,還要在報告的“解釋的變化百分比”下查看累積Y響應。 如果您的預測變量的線性組合不能解釋Y的大部分響應,那麼您解釋的百分比變化將非常低,這表明您的預測變量在解釋Y的變化的線性組合方面沒有做得特別出色,而平台可能會更好地工作。 由於響應測量值很少,因此嘗試擬合如此大量的預測變量可能會導致擬合過度,因為您沒有足夠的自由度。 與PLS一起,您可能要考慮在Multivariate Analysis下查看因子分析平台。 我認為您的細胞因子變量可能太多,您失去了自由度。 想像一下,有兩個點並擬合一條線,或者三個點並擬合拋物線,您將得到完美的擬合,因為這恰好是擬合這些多項式所需的最小點數,但是,您失去了任何自由度,並且無法再估計誤差或合適的質量。 我認為這就是PLS平台中正在發生的事情。
3)社區頁面是最好的。 我一直在檢查它們,尤其是在JMP中編寫JSL腳本時。 幾乎總是有別人解決的一小段代碼,這正是我工作所需的。 我也很樂於解答所有問題,並能幫助我,尤其是當我學習新知識時。
祝你好運!,
DS