廣義回歸中的嶺懲罰函數問題我們的客戶對廣義回歸有一些疑問,根據他們之前的經驗,他們想使用“Ridge”作為懲罰函數來構建模型,因為他們不想錯過任何變量的影響,“Elastic Net”或“ Lasso”懲罰函數不適合這種情況。
但是,客戶通常分析的光譜數據有很多變量(有些數據包含 4500 個變量,65 行),當使用“Ridge”作為懲罰函數時,耗時較長,無法得到結果。
我已將問題反饋給 JMP 支持,他們嘗試了我提供的樣本(作為附件,大約 2400 個變量和 65 個觀察值) Windows 10 機器,具有 16GB RAM 和 4 核。JMP 在第一個小時進入“無響應”模式,但隨後產生了一個進度條。 得到山脊結果花了很長時間(4.5小時),甚至將網格點更改為50。
與 Elastic net 或 Lasso 方法相比,運行時間約為 2~3 分鐘,Elastic net/Lasso 和 Ridge 的時間花費差異很大
此外,客戶還提到Python可以更快地執行以“Ridge”作為懲罰函數的廣義回歸。
是否可以加快模型擬合過程? 像讓 CPU 滿載之類的東西?或者其他合適的功能/平台可以幫助客戶更有效地獲得估計結果?
我也附上了樣本數據。 謝謝
回复:廣義回歸中的嶺懲罰函數問題你好@clay_barker ,感謝您的回复,我有一些問題需要與您這樣的 GR 專家聯繫。 我們的客戶想知道您對“避免”使用 Ridge 作為懲罰方法有什麼建議,在分析數據時涉及多少個變量或觀察值?此外,只是好奇您是否建議他們通過 FDE 分析這些頻譜數據? 謝謝你。
回复:廣義回歸中的嶺懲罰函數問題謝謝你的時間和幫助,伊恩。
回复:廣義回歸中的嶺懲罰函數問題謝謝,埃里克。 我運行了您的“山脊測試”腳本,耗時 35,000 秒(大約 9.5 小時!)。 我懷疑你提到的機器有更高的時鐘速度:

它太差了,我沒有費心去進一步研究細節(我通常將一半的 RAM 用於磁盤,我也沒有費心去改變它)。
回复:廣義回歸中的嶺懲罰函數問題謝謝, @Bill_Worley和@clay_barker ,你的建議和解釋很有幫助。 我將嘗試說服我的客戶首先針對這種情況嘗試 Elastic Net 或 PLS 方法。
回复:廣義回歸中的嶺懲罰函數問題謝謝, @nick_shelton ,你是對的,我嘗試了一些不同尺度的變量數據,我發現一旦我在運行 ridge 之前對它們進行標準化,它可以節省一些時間來獲得結果(在我的測試用例中,它可以節省 60% 的時間花費)。 雖然它仍然比 Elastic net 和 Lasso 需要更長的時間,但我認為它可以為那些具有不同值範圍的變量節省一些時間。
回复:廣義回歸中的嶺懲罰函數問題嗨,埃里克,
讓您的客戶嘗試的另一個建議是偏最小二乘,在這種情況下是 PLS-DA。該平台允許選擇變量,但在建模過程的第一遍中使用所有變量。 它的速度非常快,對於模型比較以查看哪個建模平台提供最佳整體擬合可能很有用。

那就是關於 PLS,我和 Clay 一起討論這個問題。我使用 Gen Reg 分析了幾個光譜數據集,而 Elastic Net 在使用如此廣泛的數據集構建良好的預測模型方面排名靠前。
此致,
賬單
回复:廣義回歸中的嶺懲罰函數問題謝謝,Ian,我在它的腳本區域用腳本修改並重新附加了示例數據,命名為“Ridge test”,您可以運行腳本進行測試。
回复:廣義回歸中的嶺懲罰函數問題這聽起來像是我們應該使用彈性網的情況。在這種情況下,預測變量遠多於觀察變量,在進行變量選擇時最大的擔憂是共線性和冗餘會導致我們錯過真正重要的預測變量。 如果 X1 和 X2 高度相關,則前向選擇之類的東西可能只會選擇其中一個。 彈性網絡的優勢在於它將選擇相關預測變量組,因此在這種情況下為 X1 和 X2。 我的猜測是,在這種情況下,“不想錯過任何變量的影響”實際上意味著他們不想錯過任何可能產生實際影響的影響。 彈性網絡就是為這個確切的場景而構建的。
那麼為什麼在這裡套索和彈性比嶺回歸快得多呢? 因為他們進行變量選擇,彈性網絡和套索計算只涉及少數預測變量,而嶺回歸對指定的所有 2400 個變量進行優化。 同樣重要的是要注意,lasso 和彈性網絡在擬合質量和解釋方面都傾向於主導嶺回歸,因此我們努力改善 lasso 和彈性網絡擬合器的計算時間。 我們無法優先考慮嶺回歸的類似改進。
回复:廣義回歸中的嶺懲罰函數問題@ian_jmp ,這是技術支持跟踪, 7613489182 . 你可能會在那裡找到你要找的東西。
抄送: @亞當莫里斯, @clay_barker
回复:廣義回歸中的嶺懲罰函數問題@Eric_Wang Python 中嶺回歸的一些實現需要對輸入變量進行標準化。 標準化變量可以加快求解係數的時間。 我不確定 JMP 的例程是否會自動對輸入執行某種標準化,但您可以試驗一下,標準化約 4500 個輸入變量是否允許更快的計算時間。
回复:廣義回歸中的嶺懲罰函數問題FWIW,我有一個 32 核和 128GB 內存的 Windows 10 盒子。 我不確定 JMP 會利用什麼,但如果有幫助,我很樂意嘗試獲得另一個基準。 但細節很重要(特別是如果跑步需要五個小時......)。那麼你能發布腳本來做嶺回歸嗎? 我沒有在表中看到它。