| 揚聲器 |
抄本 |
| 喬丹希勒 |
出去。 |
| 菲爾·凱 |
好的,謝謝大家的參與。我是 Phil Kay,JMP 的學習經理。我將以一個 SVEM(自驗證整合建模)的互動式範例開始本次演講。 |
| |
我將講解 SVEM 是什麼以及它的工作原理,然後 Pete 和 Trent 會分享一些例子, |
| |
案例研究和模擬,這些都真正解釋了你為什麼要這麼做。我打算在一個 |
| |
非常簡單的案例研究,所以最初可能看起來不清楚為什麼......你可能不清楚為什麼要這樣做,但希望在我解釋完之後你能理解這個機制。 |
| |
好的,我現在要停止我的視頻,只專注於這裡的軟體演示。 |
| |
我們這裡有一個 JMP 期刊與您分享,您可以從 Community.JMP.com 上的 JMP 社區帖子中訪問它。 |
| |
我們將使用一個經典的DOE範例。這是反彈數據,您可以從JMP的幫助文件中獲取。 |
| |
所以它有三個因素,15次運行。這是一個Box-Behnken設計,我們得到了一個回應,它具有延展性,所以非常簡單,標準, |
| |
傳統老式的 DOE。 |
| |
對這些數據進行建模並沒有真正的挑戰,我們看看是否適合響應曲面模型,這種曲線行為、二次效應以及因素之間的相互作用也很重要。 |
| |
那麼讓我們看看如何使用 SVEM 方法對此進行建模。 |
| |
如果我們要使用 SVEM 建模,你首先會注意到我們有 30 行數據,所以我們實際上複製了每一行數據,這看起來可能有點瘋狂,像是在作弊。這是 SVEM 方法論中的一個關鍵技巧。 |
| |
你會看到我們這裡有一些額外的列,其中最關鍵的一列是驗證權重。我們把它畫出來,這樣你就能明白它的意義了。 |
| |
所以您可以看到,對於我們的每一行資料、每一次運行,我們實際上都有成對的運行,所以第一次運行,您可以在這裡看到。 |
| |
我們實際上會把每一次運行的權重分配到訓練集(權重為 0)或驗證集(權重為 1)。你可以看到,對於每一對 |
| |
這些權重是成反比的。例如,這裡的第七次運行,你可以看到它在訓練集中的權重很大,驗證集的權重為零,而它在驗證集中的權重則相對較低。 |
| |
現在這些已經被隨機分配了,我們可以...... |
| |
點擊這裡,我們可以重新繪製這些行,這樣我們就可以重新分配權重。同樣,如果某一行在訓練集中的權重很高,例如,這裡的第六行在訓練集中的權重很高,那麼它在驗證集中的權重就會相應很低。 |
| |
因此我們在這裡將資料行數加倍。 |
| |
我們將用它來進行自我驗證。所以我們實際上可以做的是,我們可以在保留驗證中使用一個變體,其中 |
| |
我們不會將整行資料保留到驗證集中,而是保留每行資料的一部分,這樣每行實際上都可以位於訓練集和驗證集中,而且重要的是,我們可以重新分配這些權重 |
| |
反覆進行,這在進行整合建模時就可以了。 |
| |
好的,總結一下,我們基本上複製了每一行數據,並為這些數據分配權重,這樣某些行在訓練集中會佔更多,而某些行在驗證集中會佔更多。 |
| |
所以現在我們可以使用驗證來擬合模型。 |
| |
所以我們在這裡使用 GenReg,您可以看到我們正在使用驗證集(並且忽略那裡的錯誤訊息)。 |
| |
我們使用了 Lasso,並使用驗證集作為模型選擇。在本例中,它實際上並沒有選擇模型中的任何有效效應。因此,它擬合了一個響應曲面模型,我們使用了驗證集作為選擇方法,使用了 Lasso。 |
| |
並且我們已經確定實際上沒有任何影響是活躍的,所以我們有一個實際上沒有活躍影響的模型。 |
| |
然後我們可以做的是重新繪製這些權重,以便我們可以重新加權我們的列。 |
| |
我們可以看到,這次我們得到了一個不同的模型。實際上,現在一些效應變得活躍起來,例如二氧化矽在二氧化矽和硫的相互作用中起著活性作用。 |
| |
讓我們保存該模型。 |
| |
所以現在,有了我們的 |
| |
數據表,您可以看到我們在那裡有一個保存的模型公式列。 |
| |
我們重新繪製一下這些權重。我們再次重新繪製它們,這樣有些行在訓練中佔比更大,有些行在驗證中佔比更大。 |
| |
我們又得到了一個不同的模型,現在我們來保存它。所以我們現在有 |
| |
兩行...兩列,保存了預測公式。 |
| |
我們可以再做一次。所以我要重新繪製權重並保存預測公式。我剛好有一個腳本可以幫我們完成這些。然後實際上創建了這個模型平均值,所以我們實際上已經對三個已儲存的模型進行了平均。 |
| |
因此每個單獨的模型都使用不同的驗證權重。 |
| |
每個模型都不同,有些比其他模型更好。關鍵在於,當我們把這些模型平均起來時, |
| |
這些平均值就是目前為止最好的模型。所以你可以看到,這實際上與我們用標準方法在標準上擬合的原始模型非常接近… |
| |
原始資料集。 |
| |
我們可以重複這個步驟。我們可以重複10次,所以我們要重複這個步驟。你可以看到我們重新繪製了權重;每次我們得到的模型都會略有不同。 |
| |
我們可以保存每個不同的模型。 |
| |
最終得到的平均值可能是最好的模型。 |
| |
事實上,如果我們將其與從該數據的標準分析中看到的原始模型進行比較, |
| |
您可以看到這兩個模型實際上非常接近一致。 |
| |
因此,在這種情況下,使用這種自我驗證的整合模型實際上已經達到了與使用標準模型相同的模型 |
| |
線性迴歸。 |
| |
所以我想回顧一下你們剛才看到的要點。正如我之前所說,接下來我們請Pete和Trent來解釋他們想要使用這種新穎建模技術的動機。 |
| |
我們所做的就是複製原始資料行。 |
| |
那麼這意味著,我們可以應用隨機權重來表示每行對中有多少是用於訓練,有多少是用於驗證。 |
| |
這使我們能夠使用驗證。對於如此小的資料集,我們無法使用它。保留一行資料是沒有意義的,但我們能用這個重複的資料集做什麼呢? |
| |
就是進行加權驗證。因此,在本例中,我們使用套索選擇來擬合模型,並且套索選擇利用了這個加權驗證列。 |
| |
然後我們重新繪製這些權重。我們再次為這些行對隨機分配不同的權重,並重新擬合模型。在我們的例子中,我們重複了 10-15 次,但實際上,為了獲得一個良好的自驗證整合模型,我們需要重複這個過程 100 次或更多。 |
| |
每個模型都是其本身...迭代過程每一步中的每個單獨模型都不是特別有用,但模型平均值或集合卻是有用的,正如我們在最終模型中看到的那樣,它是所有這些迭代的平均值。 |
| |
所以,現在我想把它交給 Pete,他現在將透過一個案例研究來講述,這實際上說明了為什麼你會想要使用這種不尋常的方法來建模這樣的數據。 |
| 彼得·赫什 |
非常感謝,菲爾。我要在這裡分享我的螢幕了。 |
| |
讓我們來看一個例子,看看我們什麼時候可以 |
| |
使用這個方法。所以我在這裡 |
| |
首先看結果,所以我們正在看幾個非常小的 DOE 設計,即六次運行、八次運行和十次運行的 DOE,有三個因素。 |
| |
這些是響應曲面設計,本質上是超飽和到飽和的,它們都是最優設計,所以這些運行次數非常少 |
| |
來實現我們的目標。這就是我們要去的地方。那麼,我們先回顧一下設計,以及我們是如何實現這一目標的。 |
| |
所以。 |
| |
這是一個案例研究,我們試圖透過調整不同的營養組合來最大化微生物的生長速度。正如我之前提到的,我們採用了超飽和最優設計,並調整了運行次數。 |
| |
這是模擬數據,其中所有主效應都處於活躍狀態,所有二次效應也都處於活躍狀態。 |
| |
所以我們是如何設定的,從三個因子開始。我設計了我的模型。如果你以前沒有在 JMP 中設計過飽和或超飽和設計, |
| |
這樣做的方法是盡可能地處理那些非主效應,這樣就可以減少運行次數,或保持與模型效應相同的運行次數。然後我就在那裡生成了我的設計。 |
| |
並經歷了 Phil 如此精彩地描述的這個過程,即重新採樣數據,獲得那些反轉......反比權重,這是這個過程的關鍵。 |
| |
我們已經進行了幾次談話,我有這些談話的二維碼。 |
| |
這項技術是由 Chris Gotwalt 和 Phil Ramsey 開發的,他們在之前的幾次演講中介紹過這項技術。最後這個 |
| |
在舊版 JMP 中,二維碼是用於設定此驗證列的插件。從 JMP 16 開始,您可以在軟體中原生執行此操作,但如果您使用的是 JMP 15,則需要使用此外掛程式進行設定。 |
| |
就像菲爾說的, |
| |
單一模型可能無法很好地擬合數據,有些模型可以擬合,有些則沒有任何條件。 |
| |
這只是個例子,你可以看到每個模型。有些模型只是截距,有些模型適配度很差,偶爾也有一些模型適配度很好。 |
| |
正如菲爾所描述的,每個變數都有不同的重新計算權重。因此,我們會得到一個略有不同的模型,然後繼續保存它們。這是第一步。 |
| |
下一步是對這些模型進行平均。正如你所看到的,隨著對這些模型進行平均,模型數量越來越多,模型適配度也越來越好。雖然單一模型可能不是很好,但整體平均模型的適合度還是不錯的。 |
| |
最後我想說的是,這些模型天生就帶有偏差。正如菲爾建立的第一個模型所示,它沒有主動效應。所以 |
| |
當您對模型執行某些模型或變數選擇技術時,您偶爾會得到一個特定變數未進入的模型。 |
| |
所以,如果我們看這些分佈,你會看到 |
| |
所有這些都是主動效應,它們的分佈約為 5,這是效應大小,但它們也在此處有 0 這個條。 |
| |
因此,我們不會像得到 0 那樣經常高估效果,以平衡這一點,因此這將偏向較低的值,所以我們會做一個 |
| |
消除這些模型偏見的小技巧,我們 |
| |
將此模型視為最小二乘模型中的預測器,這將消除這些偏差,我將逐步介紹這個過程,向您展示如何做到這一點。 |
| |
但最終,我們只用很少的運行次數就得到了我之前分享的非常好的結果。所以,使用 SVEM 的動機之一就是它能夠預測並建立一個不錯的模型,而不用這項技術則無法做到這一點。 |
| |
好的,讓我們跳到 JMP |
| |
和 |
| |
完成該過程。 |
| |
好的,這是我之前展示的那個例子的六次運行實驗設計(DOE),其中有三個因子和增長率。這是在我們建立模型之後。 |
| |
它看起來就是這樣,我們現在已經運行過了。所以我們進行了六次運行,得到了六個結果。下一步是建立驗證列,在 JMP 中執行此操作,我們將分析預測模型, |
| |
製作驗證列,然後我們將製作一個自動驗證表,而不是驗證列。 |
| |
好的,這就是我的做法。我已經做過類似的操作了,就不再重複了。 |
| |
但這裡有經過重採樣的數據,以及負相關的權重,就像菲爾示範的那樣。你有一個高權重,加上重複運行的低權重。完成這些之後,我們就可以開始建立模型了。 |
| |
在本例中,我使用了 GenReg 模型,你需要選擇其中一種變數選擇技術。如果我繼續運行這個模型,我需要執行類似正向選擇 Lasso 的操作。 |
| |
或其中一種選擇技術。特倫特會更詳細地講解這些選擇技術,以及他們研究過哪些技術。 |
| |
在我運行模型之後,你會看到 JMP 已經篩選了一些活躍的效應。它捕獲了一些,但你可以在這裡看到 |
| |
我們看到的偏差,這兩個主效應都應該起作用,但它們顯示為 0。所以當我將其保存到數據表時, |
| |
我會像 Phil 演示的那樣創建一個新列,然後重新計算權重,並一遍又一遍地重複。這裡有一個簡單的腳本,可以執行 100 次,並且 |
| |
我們很樂意分享這一點。這非常簡單,只需將您的腳本和模型腳本複製並貼上到這裡,就能重現我們先前的操作。 |
| |
好的,這就是最終結果,我們已經完成了 DOE 的測試,我們的結果如下 |
| |
我保存的 100 個模型 |
| |
並隱藏在這裡。然後是最終的模型, |
| |
這 100 個模型的平均值。我們要做的最後一步是去偏差步驟。所以我們要做的就是處理這個 |
| |
平均模型作為成長率的預測指標。 |
| |
在這裡,你可以看到我們擁有的原始模型 |
| |
斜率更陡,所以 R 平方也不錯,但不如我們期望的那麼好。我的意思是,即使運行了六次,這…六次運行也相當擬合,但是 |
| |
如果我們能消除這種偏差,也許可以做得更好。所以設定很簡單。我們只需取成長率。我們的響應就是 Y。我們加上 |
| |
這裡是集成模型,對所有這些進行平均 |
| |
各個模型作為我們的預測器。我們運行它並得到結果,你可以看到它的實際值與預測值之間的差異要好得多。如果我們進行對比,你會發現消除這種偏差會帶來很大的正面影響。 |
| |
好的,在我把它還給特倫特之前,我想再展示一個 |
| |
這張投影片基本上只是 |
| |
我們……(我的任務欄不見了)……我們強烈建議你們使用 |
| |
看看這個技巧,但它並不是一個萬能的魔法,在任何情況下都能奏效。但當你在篩選設計之類的東西中驗證它時,它可能是一個非常好的技巧, |
| |
幫助你完成那些你可能無法用標準建模技術完成的事情。接下來,我要把它交給特倫特,他 |
| |
關於如何做到這一點的更多細節以及 |
| |
那裡有資訊。特倫特,你想把它拿走嗎? |
| 崔恩特·萊姆庫斯 |
是的,謝謝你,彼得。我很感激。 |
| |
所以 |
| |
我正在分享我的 |
| |
PDF。我只是想確保這確實是共享的,並且每個人都可以看到。 |
| 彼得·赫什 |
是的。 |
| 崔恩特·萊姆庫斯 |
好的,太棒了。那麼 |
| |
正如 Phil 和 Peter 所展示的,他們展示了案例研究,我認為這些非凡的軼事展示了 SVEM 的強大功能以及何時以及為何使用 SVEM。 |
| |
我們目前正在同行評審的論文,我們進行了大量的模擬研究,以驗證…SVEM 在預測環境中的表現。所以 |
| |
接下來……我要展示一系列投影片。我知道這可能看起來有點枯燥乏味,但我認為有必要討論細節。 |
| |
在我講一些更有趣的東西之前,這是我們如何使用的一個例子... |
| |
我們如何使用 JMP、JSL 以及我如何運行模擬作為範例,並向您展示一些輸出以及結果。 |
| |
因此,首先,我們的模擬研究的概要和目標主要是 |
| |
我們希望創造真實世界的模擬架構。因此,我們希望我們的模擬能夠盡可能地模擬真實世界的工業實驗設計 (DOE)。 |
| |
其次,我們想看看當代模型建構或當代模型選擇技術以及 SVEM 在主要關注純預測時的表現如何, |
| |
簡單明了。所以我們想看看,當我們用一個模型來擬合一個設計時,它是如何預測真實數據或保留數據集(請原諒我的口音,數據)的。 |
| |
由此,如果我們能夠盡可能地模擬這些獨特的運行,在計算上是可行的,我們希望做出盡可能接近現實世界的推斷......我們希望做出盡可能接近現實世界的推斷結果,以便我們能夠 |
| |
規定設定以及在何處和如何使用 SVEM,因為 SVEM 還處於起步階段。 |
| |
那麼,首先,我們在模擬中採用了什麼設計呢?我們採用了確定性篩選設計 |
| |
我們使用了 Box-Behnken 設計,其中底層的真實生成模型是完全二次模型,或更通俗地稱為二階模型。我們選擇這些設計的原因是:A)對於確定性篩選設計, |
| |
主效應越多,模型就越飽和,最終變得超飽和,這意味著主效應越高,自由度就越小。而對於我們先前使用的包含主效應的 Box-Behnken 設計, |
| |
你不會遇到這種情況。所以我們有一個……我們並列兩種情況,一方面我們有 |
| |
在應用模型選擇技術時,我們的 Box-Behnken 設計有足夠的自由度來估計我們的係數,並且在最終篩選設計案例中,我們幾乎 |
| |
在大多數情況下,我們的設計過於飽和,自由度不足。換句話說, |
| |
我們無法估計使用當代模型建立技術時的所有影響,例如前向選擇器、Lassos 選擇器、Dantzig 選擇器等等, |
| |
這引出了我們在模擬中使用的實際模型演算法。對於 SVEM 模型,請記住,如果您… |
| |
如果您不太了解 SVEM 是什麼,那麼回顧 Peter 提到的一些先前的演示就非常重要。 |
| |
但是我們必須將 SVEM 與底層模型建構技術一起使用,例如前向選擇、前向剪枝和 Lasso,這些都是我們在模擬研究中所使用的。 |
| |
在非 SVEM 模型案例中,我們使用相同的模型來建立演算法,但我們也加入了在 DOE 中非常流行的 Dantzig 選擇器, |
| |
以及適合確定性篩選設計,該設計僅與確定性篩選相關;它不用於其他設計。 |
| |
此外,我們使用一種稱為 AICc 或校正 AIC 的資訊標準,這在 DOE 中非常常見,實際上因選擇非常簡約的模型而臭名昭著。 |
| |
所以,正如你所看到的,我們正在嘗試融入工業 DOE 使用中非常流行的現代技術,它堅持核心……我在第一張幻燈片中展示的核心點,即 |
| |
我們希望透過模擬研究盡可能接近地模擬現實世界,這樣我們就可以使這些經驗... |
| |
因此,我們可以實證評估這些不同的模型建構演算法的預測效能。希望我們能夠實證證明 SVEM 的表現優於競爭對手。 |
| |
因此,對於實際的模擬結構,我們對每個模型建構演算法進行了 1000 次模擬。例如,如果我們用 AICc 來擬合正向模型, |
| |
在每一次運行中,我們都會產生一個真實模型,即事實,然後我們會在其中添加雜訊。 |
| |
高斯噪聲(在學術界和研究中非常常見), |
| |
由此創建一個訓練集和一個真實集,這樣,一旦我們擬合了一個模型,就能看到該模型的預測結果與真實值如何。我們會隨機地重新運行並產生這些資料集1000次。 |
| |
SVEM 超參數,我不會詳細介紹它是什麼,我們使用了 200 的 nBoot。簡而言之,我們基本上擬合了 200 個模型,並對這些模型進行平均以得出最終的 SVEM 模型。 |
| |
這些設計也針對多個特徵進行了迭代。因此,主效應的數量 |
| |
對於確定性篩選設計,我們有四個主效果和八個主效果。對於 Box-Behnken 設計,我們有 |
| |
三個主效應和五個主效應。舉個例子,對於我們的DSD,如果K為8,則有八個主效果。如果有一個完全二次模型, |