JMP > 從大數據集中辨識預測特徵 > 明顯過度擬合的問題JMP 社群您好,
我有一個大型資料集,其中包含參加臨床試驗的患者的約 4,000 個基線生物標記測量值。我需要在這些數據中確定哪些生物標記組合可以預測 12 週後的臨床結果。
我使用了相當幼稚的方法,似乎會產生嚴重過度擬合的輸出:
- 透過篩選 > 反應篩選運行所有 4,000 個生物標記物,其中反應是第 12 週的二元臨床輸出
- 選擇前 10 - 20 個生物標記(基於 FDR)
- 在「擬合模型」>「逐步」平台上使用選定的生物標記(作為模型效應),其中 Y 是第 12 週的二元臨床輸出;標準 = 最小化 BIC
- 生成模型
雖然這種方法對第12 週的臨床反應產生了極好的「預測因子」(ROC AUC > 0.940),但當使用隨機產生的「虛擬」變數進行測試時,它也產生了高ROC AUC (ROC AUC ~0.870)。後者向我表明,由於過度擬合,我的方法非常不合適。
我探索了與發現和驗證患者亞群(佔總人口的 50%)合作的可行性,但它並沒有解決我的過度擬合問題。
除了使用JMP Pro提供的高階建模平台之外,JMP中是否有更好的技術來解決這個問題?
感謝您的協助。
最好的,
TS
數據探索和視覺化回复:JMP > 從大數據集中識別預測簽名 > 明顯過度擬合的問題謝謝你的例子。 讓我們從幾個角度仔細看看。 他們應該得出相同的結論:數據中沒有黃金。
第一個角度,將數據拆分為訓練和驗證,不應嘗試根據腳本的結果使用擬合模型。
第二個視角,只擬合沒有train/val splitting的good and old logistic regression,看看有沒有警告標誌。
第一個警告標誌:整個模型測試,表明該模型很可能並不比隨機猜測好。

第二個警告標誌:效果測試和參數意義。 這裡是效果測試。 只有兩個紅色。 如果那兩個是金子,其餘的都是瓦礫。 瓦礫讓我們認為它們是金子。 刪除它們,好嗎?

好了,現在從閘箱的另一端出來的就是下面的Whole Tests和Effect Tests。 並註意這些 p 值。 它們在 0.05 和 0.10 左右。 在柵欄上,通過通常的方式。 我們應該保留它們嗎? 如果我們刪除它們,我們就會得到隨機猜測。 讓我們假裝我們真的想保留它們,看看結果如何。


ROC 和 AUC 怎麼樣?

所以 AUC 是 0.59。 金子? 我猜它也以通常的方式在柵欄上,因為模型擬合說模型在柵欄上,所以應該是從它派生的一切。 需要證明嗎? 是的,我們可以有證據。 如果您有 JMP Pro,我們可以引導 AUC 值。 右鍵單擊 AUC 值,然後選擇 Bootstrap。 我給了它 10000 次抽獎。 而 0.5 在 bootstrap 樣本的範圍內。 所以這真的歸結為人們願意相信剩下的兩個因素是黃金的程度。

我所做的是在 AUC 周圍設置一個自舉置信區間。 我們也可以圍繞 ROC 設置置信區間,因此我們可能會發現漂亮的半殼根本沒有那麼令人印象深刻。 不過,這樣做需要付出很多努力。 讓我們只看一個點 ROC:對應於 0.5 截止閾值的點。 這是步驟。
首先,打開混淆矩陣。

查看突出顯示的數字,它們是對應於 0.5 截止閾值的真陽性率和假陽性率。
我們可以在 ROC 上找到這個點,如下面的十字截圖所示。

現在引導那些突出顯示的數字。 我得到了這張表,其中“0”列是自舉的誤報率,“1”列是自舉的真陽性率。

繪製列“1”與列“0”,並覆蓋在 ROC 上。 這就是我得到的。 我還放了一條對角線作為參考。

bootstrap 樣本表示 ROC 上概率為 0.5 的閾值點在對角線上方的機會很大,但在對角線下方的機會不可忽略。 如果我們應該已經從模型中得出結論,它就在柵欄上。
所以我想從這個例子中得出的結論是,我們應該在得出模型過擬合結論之前真正確定模型。 在這種情況下,包括隨機噪聲作為效果會過度擬合。
回复:JMP > 從大數據集中識別預測簽名 > 明顯過度擬合的問題為了增加神秘感,我附上了我所做的模擬。這次我使用了驗證列。值得注意的事情:邏輯回歸(保存在文件中的腳本)顯示訓練數據的 AUC 約為 .71,而驗證數據的 AUC 低得多(小於 .5)。這是過度擬合的明顯證據。但是,我還運行了模型篩選——所有方法(包括邏輯回歸)都顯示訓練數據的 AUC 約為 0.5,而驗證數據的 AUC 更低——這對我來說似乎是合理的。此外,邏輯回歸模型並不顯著(只有 1 或 2 個因素顯著,大約是您對 20 個隨機因素的預期)。我不明白的是為什麼模型篩選平台中的邏輯回歸平台和邏輯回歸會給出如此不同的結果。我知道(或相信)模型篩選不像單個建模平台那樣找到調諧超參數,但訓練數據上 0.7 和 0.5 之間的差異對我來說似乎太大了。
回复:JMP > 從大數據集中識別預測簽名 > 明顯過度擬合的問題我不知道答案,但我可以確認你的發現。我創建了一個二元響應變量(隨機)和 20 個隨機正態因子以及 200 個觀測值。我得到 AUC=.71!我覺得這確實很令人驚訝。我懷疑這與作為性能衡量標準的 AUC 的限制有關,但正如我所說,我並不真正理解這種行為。就我而言,它當然不應該過度擬合。我很想知道其他人對此有何評論。
回复:JMP > 從大數據集中識別預測簽名 > 明顯過度擬合的問題嗨,戴爾,
感謝您跟進這個相對開放的問題。 我使用以下公式創建了隨機變量:
random uniform (0,1) > 0.5;
值得注意的是,我在虛擬變量的八個不同版本(即重新計算公式)上運行了上述“方法”,得到的 ROC AUC 值範圍為 0.770 到 0.870。
我從未遇到過這種行為,但我從未使用過超過 1,200 個生物標記變量。
謝謝你的幫助。
最好的,
TS
回复:JMP > 從大數據集中識別預測簽名 > 明顯過度擬合的問題您能否提供有關隨機生成的響應變量的更多詳細信息?你究竟是如何創造它的?