在沃特世,我們一直在與生物製程實驗室的科學家和工程師交流,他們表達了對使用高級分析技術來獲取生物製程開發洞察的興趣。他們向我們提出的主要障礙是獲取數據和從這些高級分析技術中獲取洞察所需的時間。當我們談論生物工藝時,我們真正關注的是上游生物工藝,並且理解許多聽眾對該領域了解不多。我想用一些照片來展示我們討論的實驗室類型以及產生樣品的活動。
實驗室類型包括上游生物製程開發實驗室和克隆篩選實驗室,它們通常使用左上角圖片中所示的自動化生物反應器或桌上型生物反應器,容量可能有幾公升,有時甚至只有5公升。負責這些實驗的生物製程工程師的日常生活就是實驗執行的過程。通常實驗持續時間約為兩週左右,每天早上他們都會來,從這些生物反應器中取樣,正如您在圖片中看到的那樣,然後對這些生物反應器進行分析。
現在,對於常規分析,例如pH值、金屬離子之類的基本化學分析,生物製程工程師會立即自行完成。但高階分析通常會送到核心分析實驗室。這樣一來,他們就會延遲數週才能拿到結果和數據。這顯然不符合設計新實驗的節奏。
沃特世公司正在努力改變這種現狀,讓製程工程師能夠自行進行高階分析,最好是在細胞培養過程中,這樣他們就可以利用這些數據提供的洞見來設計下一個實驗,並從中獲益。沃特世公司一直在開發新的LCMS系統,供非分析人員(例如工程師、化學家等)使用。我們認為最適合生物製程實驗室的是這款BioAccord LC-MS系統,它可由非分析人員操作。
現在,如果他們在生物過程實驗室中進行這些實驗,那麼他們的優勢在於,他們將能夠更全面地了解實驗過程中發生的情況。除了進行常規化學反應和細胞測量之外,他們還能獲得更多關於細胞和生物反應器內部情況的信息,例如哪些物質消耗較多,哪些物質消耗較少,產生了哪些代謝物和副產品,以及更多關於細胞培養過程中產品和產品質量的信息。
他們能夠獲得大量額外的數據,我們認為這些數據非常有價值。但缺點是,他們使用的工具越多,方法越多,他們需要清理和匯總的資料就越多,才能從這些資料中獲得洞見。我把這份工作交給了在CSL的同事。
大家好,我是 Lalit,是 CSL Seqirus 的一員,在上游團隊擔任科學家。作為 BioAccord 的用戶,我想分享一下我的經驗。在 CSL,我們採用數據驅動方法(或 DoE 驅動方法)進行實驗。我們主要使用 Amber 15 和 Amber 250 這兩款高通量儀器。 Amber 15 擁有 48 個生物反應器,工作體積為 15 毫升。 Amber 250 擁有 24 個生物反應器,工作體積為 200 毫升。透過 DoE 設計,我們產生了大量數據,這些數據會透過 BioAccord LC-MS 進行傳輸。它在組分識別和定量方面非常方便,因為它能夠從其庫中檢測 200 多種組分。這使得我們更容易避免使用其他儀器。
同時,使用 BioAccord LC-MS 獲得的數據量可能相當大,這也很有挑戰性。這很有用,您可以查看所有數據,但很難根據這些數據做出推論。這時,Waters JMP 外掛就派上用場了。您可以透過插件來擬合數據,並且它能夠根據代謝途徑分離代謝物。這使得查看每個組分並將其與 DoE 製程參數連結變得更加容易,這些參數可用於進一步改進或最佳化製程。總的來說,就 BioAccord LC-MS 和 JMP Waters 插件的價值而言,它們對上游科學家來說非常有用。
JMP 的同事將向您演示的數據視覺化和分析,是在我們之前概述過的一項實驗中產生的。細胞培養實驗是在 Amber 250 系統上進行的,我之前給您看過它的圖片。這是一個八通系統,所以我們有八個不同的生物反應器,這是一項為期 14 天的研究,每天早上從每個生物反應器採集樣本,並在 Nova BioProfile FLEX2 系統和 BioAccord LC-MS 系統上進行分析。
實驗設計非常簡單。它改變了氣體通氣速率、空氣覆蓋速率和緩衝液濃度。每個生物反應器的進料結構相同,只是通氣覆蓋速率和緩衝液的參數有所變化。 Amber 250系統內建感測器,用於線上監測溫度、氣體和pH值。 FLEX2系統則利用這些感測器來測量細胞計數、細胞活力、氨、pH值等指標。 BioAccord系統則用於測量滴度,其黃金標準方法是使用蛋白A色譜法。聚集體是指高分子量雜質和低分子量雜質。
醣譜,也就是我們觀察細胞培養實驗中所產生的醣型。我應該說的是,這是一個經過基因工程改造以表達單株抗體的CHO細胞系。此抗體會有不同的糖型,這是非常重要的品質屬性。然後是耗竭培養基,也就是圍繞細胞的培養基,其中包含營養物質和細胞排出的代謝物。我們會在其中測量胺基酸、維生素、TCA代謝物(也就是三羧酸循環代謝物),以及其他代謝途徑的代謝物。 JMP的同事會向您展示這些數據的分析和視覺化。
為了方便數據分析和數據視覺化,在 JMP 同事的幫助下,我們為 JMP 編寫了一個生物過程監測插件,該插件現已在市場上銷售。使用該插件,您可以匯入來自不同分析儀的數據文件,它會自動添加元數據、清理數據,並將所有數據匯總到一個表格中,然後用於建立視覺效果。
該插件可以創建視覺化效果,幫助您入門,例如條形圖和線序列圖。此外,為了幫助您進行多元變數分析,它最後還會建立多變量變異數分析 (MVA) 表,該表經過重新設計,每個分析物佔一列,更適合多變量變異數分析。好的,現在我將把時間交給 JMP 的同事。
謝謝,Pat。我叫Greg Flexman,是JMP的系統工程師,我將開始研究如何驅動JMP。 Waters生物壓製程監測器可以在JMP市場購買,它提供了一整套PDF文檔,其中包含如何匯入資料以及如何建立文件的說明。 Pat製作了一個非常實用的視頻,但我打算從中途開始學習。
導入所有數據後,您將獲得一系列報告。您可以選擇長條圖或折線圖格式,兩種格式皆可。 BioAccord 能夠測量的廣泛分析物正是從這裡開始展現的,因為我們這裡有一個包含八個生物反應器的實驗設計 (DoE)。我們不僅可以看到所有時間點的滴度,還能看到所有影響細胞生產力的因素。
我們可以看到碎片、聚集體以及主要細胞。我們可以看到所有這些不同的循環、DNA合成和糖基化。瀏覽您的數據非常有價值。接下來,您將看到一個高資料格式。我們快速瀏覽一下。它有12,000行,列數少得多,看起來就像一個LIMS資料庫。它測量了各種各樣的分析物,並將其值顯示在一張高表格中。
該外掛程式還會產生一個稱為多變量分析的寬表。腳本開箱即用,最終會以此表結束。它提供了繪製散點圖的選項,例如,我們可以查看代謝壓力引起的滴度變化,並開始瀏覽數據中存在的一些關係。這也是進一步分析的絕佳起點。
我先從這張寬表開始,我之前對它做了一些擴展,並添加了一些公式列。我們可以開始繪製圖表。我們可以觀察滴度隨時間的變化。同樣,這也是我們試圖理解這些關係的地方。我計算了滴度增量。這是逐日增長的部分,所以我們看到有些滴度增長到了 80%,而在以後的日子裡,我們只增長了大約 10%,每天 1.1 滴。
我確實在第七天注意到了這個大問題。為了好玩,我要定義一下早期和晚期階段。我還要計算每個時間段的相對滴度增量,我會把所有時間點的滴度平均值取平均值。我們可以看看,例如,我們表現最差的生物反應器在早期階段的滴度比其他生物反應器低得多,在晚期階段的滴度也很低。
我們最好的表現,我們可以看到它在早期表現得相當不錯,這就是它真正展現出來的地方。然後,它在後期稍微接近了隊伍的中間位置,但這個V7相當有趣。它早期表現非常強勁,後來就下降了。我想知道,如果當時有合適的條件讓這些細胞繼續生產,它的潛力會有多大。
JMP 為我們提供了一系列工具來理解這些不同的製程條件。我們可以用軸擬合 Y 值,但參數實在太多了。我們將應用一個篩選工具,稱為回應篩選。我先向大家展示它的原理,然後我們將呼叫該分析平台。如果我們要用軸擬合 Y 值,這裡只有兩個雙變量,一個是早期,一個是晚期。我們可以看到異檸檬酸,早期的 R 平方非常強,顯著性很高,但後期就不那麼明顯了。
我們也可以看看另一種菸鹼醯胺,它在後期非常有效,在後期具有很強的統計意義,但在早期則不那麼顯著。 r 平方和 p 值可以告訴我們很多關於 r(關係強度)的資訊。如果我們真的只是想了解這些參數的槓桿作用,這將非常有幫助。我現在要運行這個反應篩選平台,我們將看到其中許多參數的 r 平方和 p 值。現在,當我們進行如此多的比較時,我們預計會出現一些誤報。
有一種調整叫做錯誤發現率。我們有錯誤發現率的p值。由於這些p值在如此小的數值下很難觀察,所以查看對數值會比較方便。所以,取對數很容易看出。 0.05轉換為2。我們可以看到最顯著值之間的界限。這是早期的等檸檬酸,我們也可以看看晚期的。你會注意到早期和晚期的排名是不同的。我現在要做的是,準備一個平行圖。我會用腳本來做,但給你一個提示,我確實創建了一個合併資料表,然後做了一個拆分操作。好了,這就是我們得到的妙語。我們將在腳本中重新執行此操作。這將會得到一個平行圖。然後,我從摘要中對表格進行了更新,將分析物類別納入其中。
這會進行下去。現在我們可以看到,對於早期和晚期階段,相對於顯著差異的兩個對數值,早期TCA循環的統計顯著性最高。其中最強的參數是異檸檬酸。我們可以看到,在晚期階段,這些關係發生了很大變化。在晚期階段,情況就完全不同了。菸鹼醯胺和其他一些不那麼重要的維生素也參與其中。這只是一些可以進行圖形分析的範例。
現在我想介紹另一個概念,我將透過 JMP 切換到另一個資料表。這不是來自 BioAccord,而是要快速運行一個 JMP Pro 功能(稱為「功能資料探索」)的教學範例。假設我們有一個非常簡單的生物反應器,其中有 20 個不同的運行,我們只觀察濁度隨時間的變化。我們想了解其中一些變數是如何變化的,也許我們已經針對 pH 值和溫度進行了實驗設計。我們在不同的製程條件下進行了這些運作。您可以看到突出顯示的行在跳動,這就是 DoE 的證據。我將調用功能數據探索器,這真的很酷。它會查看所有這些曲線,並使用小波模型來嘗試描述大量的變異性。
我把這個縮短到三個,但你可以讓 JMP 確定它應該在哪個位置。 JMP Pro 會決定主成分,並為你提供一個刻畫器,顯示這些主成分如何影響過程的形狀。接下來是精彩的點睛之筆。現在我們可以看到這些補充變數如何影響形狀。這有點像是函數資料探索器的介紹,我們可以在其中看到補充變數如何影響形狀。我在這裡暫停一下,交給我的朋友 Ben,他做了一些非常精彩的總結。
我叫 Ben Barroso-Ingham。我是 JMP 的系統工程師,我參與這個專案是因為我在生物過程方面有相當豐富的經驗。我重點關注的是,透過 Waters 的這個插件,我們可以將大量的分析物以良好的結構化格式呈現在我們面前。我們經常使用 DoE 來改變這些因素和條件。我們想看看這些分析物是否發生了變化,以及它們是如何變化的?
這樣做的挑戰在於,以從設備中出來的眾多分析物為例,我們可能需要分析 70 多種分析物。如果我們想要採用一個完全手動的流程,例如取我們的一個 DoE 因子,我們可以觀察當這些因子的設定從低到高變化時會發生什麼,看看我的分析物的形狀是否會隨著時間的推移而改變?
對於那些沒有改變的基因,我們可能不會認為它們重要。而那些確實發生變化的基因,其變化是由人類因素所造成的。也許它具有重要的生物學意義。也許它與更大規模的重要生產特徵有著內在的聯繫,值得我們關注。
用肉眼觀察非常冗長。如果我們要處理 70 多個分析物,我們得花上數週時間才能搞定。我看到這個資料集後,立刻開始思考 JMP 的行功能和函數式資料探索功能。這本質上是一種非常快速的方法,可以查看形狀、找到列表,並最終縮小到過程中最重要的變化。
我要達成的是最終目標。如果我有這麼多分析物,我實際上需要兩種工具。第一個工具是,我需要一個精簡的列表,列出當某個因素改變時發生變化的分析物;第二個工具是,我們只需要觀察這些分析物以及它們的形狀是如何變化的。當我們在這個過程中改變這些因素的設定時,會發生什麼事?
使用 JMP Up,我們可以得到類似這樣的結果,底部列出了所有 DoE 因子。在本例中,包括面積疊加速率、緩衝液濃度、這些效應之間的交互作用,以及受這些因子顯著影響的分析物。總共有 70 多種分析物。您可以在這裡看到一個縮小的列表,其中顯示了形狀在過程中發生了多大的變化。
例如,我可以做的是觀察這裡的葡萄糖。當空氣覆蓋率改變時,形狀也會改變。我們可以懸停在上面,看看形狀在這個過程中改變了。也許我們可以看看異檸檬酸。我們可以看到它實際上受到緩衝液濃度和空氣覆蓋率的影響。
使用 FDE 的一個好處是,我們可以獲得類似於標準最小二乘法中的對數值圖的分析和視覺化效果,從而找出哪些因素至關重要。在本例中,哪些澱粉樣蛋白發生了變化。此外,我們也可以使用函數式實驗設計 (DoE)。我們可能對分析器工具非常熟悉。實際上,我們可以用分析器來觀察形狀以及某些事物隨時間的變化。
在這種情況下,你知道,我的分析物是二羥基戊二酸,它在設定條件下的形狀會隨時間變化。當我改變覆蓋率或緩衝液濃度時,它會是什麼樣子?它會對曲線產生什麼影響?我可以將它與我在這裡製作的可視化圖表很好地結合起來,這樣我就可以看到,我的葡萄糖因為覆蓋率的變化而發生了變化。
我可以篩選所有分析物的列表,並將其顯示在這裡。現在我正在檢查葡萄糖。我可以看到我的空氣覆蓋率對這個過程有什麼影響。我還可以看到哪些影響沒有影響。當我改變緩衝液濃度時,它不會在這個過程中對我的葡萄糖產生任何影響。
它的工作原理與我之前描述的非常相似,我們透過視覺觀察來判斷形狀是否有變化。 JMP Pro 使用 FPC 分數,這是一種定量測量形狀變化程度的方法。如果 FPC 分數為 0,突然變成 10,則表示該過程中的形狀發生了變化。我們可以利用 JMP 及其計算分數的功能,快速獲得形狀變化列表,並在需要分析大量分析物時了解哪些因素受到了影響。
流程如下:對於每種分析物,例如加入的水,我們都使用函數資料瀏覽器 (FPC) 來擬合形狀。我們得到這些分數,即形狀分數的基數。然後,我們會像使用標準 DoE 一樣,檢查我們使用的 DoE 術語是否與 FPC 分數相關? FPC 分數會改變這些術語嗎?這會產生顯著影響嗎?
舉個簡單的例子,我剛剛選擇了該生物反應器中研究過的一種分析物,我將向大家展示FDE的最終目標是,我們將該分析物與製程流程中的每個生物反應器進行對比,並在此添加一條擬合線。每個生物反應器都盡可能地與該製程流程得出的數據進行擬合。
然後,這些數據會被轉換成FPC分數。每個生物反應器的值,其中某個生物反應器的形狀分數為0,過程的形狀分數為100,或其他任何分數。我們可以查看功能摘要,發現第一個生物反應器的FPC分數為-6000。另一個生物反應器2的FPC分數為13000。形狀上存在差異。
然後,我們使用 DoE 將其關聯起來,看看這個形狀是否由我們正在使用的因素造成?實際上,我們可以預設運行功能性 DoE,測試該項目是否對 FPC 產生顯著影響。當我查看此指標中的 FPC 1 並運行模型(功能性 DoE)時,它告訴我,是的,確實存在顯著影響。空氣覆蓋率正在改變該分數。這不僅僅是形狀發生了變化,而是實際變化是由我們的某個 DoE 因素引起的。
這基本上就是我在流程開始時所做的。整個表格是我每次都這樣做的,收集該流程中所有活躍項的信息,然後將其可視化,並表示它存在,如果那裡有一個項,那麼它在該流程中就具有重要意義。然後,我們也會自動得到一個預測公式,我們可以從中查看每個因素對每個分析物形狀的影響,正如我之前所展示的。
所有這些資訊基本上都是針對該過程中每個分析物收集的,以便整合到最終展示的工具中,同時查看可視化效果和工具的配置文件。最終,這可以快速篩選出這些分析物變化的位置,並使您能夠縮小範圍,找到這些因素的變化導致分析物發生改變,從而可能對生產過程產生影響的位置。
也許我們正在觀察分析物關係中意想不到的變化。也許某個關鍵因素改變了我們的某個分析物,也改變了我們的生產流程。我們可以用這個工具來徹底分析這些變化。日誌,我這麼說,但這可能很酷。如果你有興趣的話,可以查閱日誌,了解這個過程是如何進行的,還會添加一些額外的細節。
非常感謝!這組數據對我來說太豐富了,有很多有趣的內容,我還想把更多內容加入我們的工作流程。到目前為止,我們已經了解如何透過添加Waters來整合儀器數據,並將其轉換為便於分析和JMP使用的良好格式。然後,我們已經了解了一些創建精美圖形的基本方法,這些圖形可以用來講述故事,探索正在發生的事情以及變數之間的不同關係。
然後,Ben 還深入探討了一種基於函數曲線的方法,我希望更深入地了解這種方法的潛在關係,尤其是 DoE 因素和我們測量的其他所有因素之間的關係。最後,我想進一步介紹一些我認為 JMP 框架中非常強大的功能,它們對於了解系統運作情況以及實際做出關鍵決策(例如更改某些因素或進行預測,甚至可能在流程中的某些關鍵點上做出不可行的決策)都非常有價值。
讓我們從這裡開始…這是來自 Waters 插件的表格。我想提一下的一件大事,也是我的第一個主要話題,注意到這個表格裡有 120 行。但請注意,我們有一個分組變量,即生物反應器。我剛才突出顯示的前 15 行全部來自第一個生物反應器,這在統計學術語中被稱為裂區設計,因為 DoE 因子(此處指空氣覆蓋率、高於濃度的鼓泡速率)是影響濃度的因素。
它們在整個生物反應器中是恆定的。它們在整個持續時間內都是固定的,15個點對應15天。這也可以從時間序列的角度來看。這就是Ben用曲線表達的意思。但僅從純粹的實驗設計角度來看。我們在進行統計建模時必須謹慎設計結構。
尤其是JMP,它非常強大,而且在SAS,我們多年來一直使用所謂的混合模型。這是一個包含所謂的固定效應和隨機效應的模型。今天我們沒有時間深入探討混合模型理論,但基本要點是,生物反應器是我們的混合模型,隨機效應,也就是我們所謂的裂區場景中的整區,在我們的DoE平台中也被稱為難以改變的因子。
其概念是,如果我們想得出結論,例如說關於這些DoE因素的因果推斷,那麼使用混合模型設定至關重要,以確保統計結論能夠正確反映實驗設計。這很簡單。但這裡很容易掉進一個陷阱。假設你忽略了這一點,只是開始對DoE因素與更嚴格的結果或任何你可能感興趣的結果進行簡單的變異數分析,你只是做了一個簡單的單因子變異數分析,或者說是因素分析。
從統計學角度來看,由此得出的推論實際上是有偏差的,因為你沒有考慮到所有這些測量值組都是相關的或聚集的,因為它們都發生在同一生物反應器內。正確處理這個問題的方法是使用混合模型。同樣,這是一個比較深奧的話題,但今天我們只討論一個非常簡單的話題。
我們提供了一些參考資料,如果您真的想深入了解混合模型,我推薦您閱讀一本名為《JMP》的優秀書籍。這本書非常實用,一旦您開始了解它,混合模型就會隨處可見,因為數據和實驗往往不僅僅是統計學入門課程中假設的經典獨立觀察。通常,生物反應器中會存在某種聚集因素。
設定方法:我們先來簡單介紹一下,先建立一個混合模型和 JMP。實際上,你可以在 JMP 或 JMP Pro 中使用它。我們先用 JMP Pro。 Pro 平台還有一些其他功能,讓我們來試試。首先,你需要擬合模型。然後,我們再建立更緊密的反應模型,這樣我們就能得到想要作為固定效應的因子。接下來,我們再加入一些因子項。我們會計算所有主效應,然後計算所有雙向交互作用。
接下來是關鍵部分。要切換到混合模型模式,你需要選擇混合模型個性。然後注意,這會觸發這些額外的選項卡。混合模型有兩種,一種是我們今天要使用的,它使用隨機效應;還有一種,我們使用不同的結構進行重複測量。我們今天不會講解後一種類型,但你可以看到,這正是一些複雜性的來源。
不過,現在我們先做一個可以說是最簡單的混合模型,它適合像這樣的裂區設定。我們將以生物反應器為例,注意,我已經將它設定為名義變量,而不是連續變量,並將其作為隨機效應添加進去。我們得到了三個固定效應或DoE因子,以及它們的交互作用,然後是這個隨機效應。對於任何類似數據的統計建模,這都是你想要使用的設定。
我們繼續運行這個程式。它運行得很快。為了讓你大致了解你將看到的內容,現在你可以開始把它當作方差分析來處理,但你會注意到有一些額外的輸出。例如,這裡我們得到了生物反應器的變異數分量估計值,在本例中恰好為負值。這有點不尋常,但這實際上表明每個生物反應器內部存在某種競爭情況。
這可能是有道理的,因為營養物質會被消耗,如果一種營養物質增加,另一種營養素就可能減少。這是一個固定封閉的場景,所以這可能是有道理的。通常情況下,如果測量值呈正相關,則該值會為正。這是一種測量生物反應器內相關性的方法。通常情況下,主要關注的是DoE因素。正如我們在這裡開始研究測試一樣,在這種情況下,我們沒有看到更緊密的模型有任何顯著差異,只是在這個簡單的模型中。
但這只是一個起點。你可能想要加入額外的協變量,並擬合一個更完整的模型來解釋整個系統。但今天,我只想強調一下,對於像這種設置了裂區或在某些區組機制下進行了重複測量的情況,應該使用混合模型。
這就是我要展示的第一個分析。現在讓我們轉向更偏向預測建模的概念。如果你注意到的話,我們討論的每個小部分都在解決不同的問題。這就是 JMP 的強大功能和靈活性,這是一個非常棒的資料集,我們可以提出許多不同的問題。
我們現在要把問題從能源部因素轉移到更具預測性的想法上,並在此提出一個基本概念。假設我們嘗試預測會發生什麼?假設我們正在進行這項實驗,剛完成第13天,我們想預測明天第14天會發生什麼,但我們只有截至今天的數據。我們應該如何設定這樣的預測問題?
在 JMP 中,我們首先要進行一些資料操作,也就是所謂的資料拆分。我們現在考慮的是每個生物反應器內的時間序列,透過運行表格來實現拆分。現在您可以建立一個表格,也就是所謂的寬表,如下所示,其中只有八行,每個生物反應器一行,所有測量值現在都被排列到不同的列中。
您可以看到,這裡是更緊湊的表格,每天一列,我們測量的所有其他變數也都是類似的。在時間序列術語中,這些被稱為滯後變數。現在我們有了這個所謂的寬表,它適合預測建模問題。由於只有八行,我們必須非常小心。像這樣的數據很容易過度擬合。
通常在實踐中,你可能會擁有比這裡多得多的數據,但為了方便說明,我們先快速瀏覽幾個方面,向你展示我推薦的預測建模方法。有很多不同的方法可以做到這一點,從經典的時間序列資料到JMP等其他預測平台。我想展示我認為可能是最現代、最強大的預測方法。對我來說,這種方法源自於我多年參加Kaggle比賽的經驗,這些比賽本質上都與預測有關,你會在所有這些比賽中學到一些東西。
今天我要向大家展示的內容,我認為即使不是完全正確,也接近預測的最佳實踐。通常,你要做的第一件事是設定一些折疊,而現在我們要做的是所謂的 K 折交叉驗證,也就是從表中取出一小部分行並將它們放在一邊。然後,我們會在一部分資料上訓練一個模型,然後在另一組資料上進行測試。
大家知道,JMP,我們多年來一直使用這種技術,儘管我們傳統上使用所謂的三向分割和訓練驗證測試。在這裡,我們將進行一系列雙向分割,我們稱之為訓練和驗證。你必須小心所謂的洩漏,無論你保留什麼,都不要讓演算法在訓練期間查看它,因為這可能會導致結果偏差。
現在 K 折的想法是,我們取一個變量,叫做 A 折。我們只有八行。這行恰好設定為五折,我們隨機分配 1 到 5 的數字,但因為只有八行,所以這樣做,有幾個地方只保留一行,其他三行保留兩行。
對於這種情況,可能也有意義……更清晰的做法是進行四重訓練,即每次保留兩行,然後循環這些行,對模型進行四次擬合。這是我推薦的基本訓練方案,即使對於像這樣的小數據集也是如此,尤其因為我們必須非常謹慎和嚴格地防止數據過度擬合,尤其是因為我們將使用我認為最強大的兩種方法:XGBoost 插件中實現的提升樹,然後我們將使用 Torch 深度學習插件擬合現代深度神經網路。這兩個插件都可以在 JMP 市場上找到。
讓我們先來了解 XGBoost,以及安裝插件後如何設置,然後它就會變成選單上的選項。你可以使用「建立 K 個折疊列」來建立折疊。我已經這樣做了,所以我們直接進入平台吧。
這裡的設定和之前類似,但現在我們再次考慮預測。我們想要做的是,我這裡有一些分組變量,所以讓我們擴展它們。假設我們要預測滴度14,我這裡得到的是Y值,現在我們有很多輸入選項。當然,我們把DoE因子放進去,然後我們採用一個非常基本的滯後模型,只需取先前的滴度值(我們有13個),並將它們作為X值。現在,這裡實際上有超過1000個潛在的預測因子,但同樣,為了方便說明,我們盡量簡化。
如果您有更多數據,當然希望將其納入。您可以將這些數據納入模型。但這裡只有八行,如果我們開始過度誇大,那就只會自找麻煩。通常,這些滯後變數往往是非常強大的預測因子,正如您可能猜到的那樣。如果您知道……如果您知道今天發生了什麼,那麼結果可能會類似。如果您查看先前的軌跡,這些通常會成為非常好的預測因子。我們確實想看看它們與我們的 DoE 因子相比如何。然後,讓我們加入一些交叉驗證變數。我們可以使用…讓我們在那裡使用折疊 A 變數。我們將進行五次折疊。同樣,您可能希望進行四次折疊。這無關緊要。
處理這種小數據需要小心一點,但我們不必太糾結。接下來是 XGBoost 的基本設定器。有很多超參數可以調整。今天我們沒時間調整。我們先運行預設模型。通常情況下,預設模型會表現得很好,然後看看會發生什麼。這個模型實際上只運行了五次。
看看這裡發生了什麼事。這就是所謂的訓練損失。注意它先是下降,然後又回升,這是一個警告訊號,表示我們在第五或第六次迭代後開始對資料進行過擬合。你肯定不想在實務上使用這個模型。你會想說要嘛停止,要嘛繼續。我們可以再做一次。我們繼續,直到第五次迭代後停止。這是最簡單的做法之一。
如果你想做得更好,另一個想法是,你可以稍微正規化模型,或做一些其他的調整來讓它變得更好。但現在我們的核心還是預測。我們的目標是預測第14天。請注意,對於訓練數據,我們實際上完全擬合了數據,但這也許並不奇怪。只有幾行數據,但對於驗證集,這些就是所謂的「不完全預測」。
這些指標預示著模型在未來數據上的表現。你可以看到,模型已經開始接近目標了。當然,它遠非完美,只有在0.3的平方下,也就是本例中相關性為0.65。我想說,模型正在獲得一些提升,而且我認為透過一些調整,你可以做得更好一些。但同樣,由於只有八行數據,所以必須非常小心。我只是為了說明一下。通常情況下,你需要更多數據才能真正獲得一個以後想要使用的好模型。
然後,XGBoost 附帶一些非常好的額外功能,例如,幫助你解釋這些變數的重要性。我們可以看到,空氣覆蓋率幾乎是我們最好的預測因子之一,甚至超過了滴度本身的滯後值。這很有意思,所以我們實際上可以開始對我們的 DoE 因子進行一些間接推斷。但再次強調,我們這裡的重點是預測,而不是直接的統計推論。
現在,作為一種替代模型,讓我們使用 Torch 插件來建立一個神經網路。設定方式完全相同,所以您需要…您需要安裝插件,然後啟動平台,實際上,我們將在每個時段使用完全相同的變數。我們想要預測第 14 天,使用我們的 DoE 因子和滯後滴度以及倍數 A。同樣,我們將進行五倍。我們直接運行預設設定。多層感知器模型是一個兩層模型。我們可以看到,這個模型其實表現得併不好。事實上,它的 R 方為負。我想說,開箱即用的 XGBoost 表現會好一點。
但我發現,只要稍微調整一下,它們往往會……它們通常表現相似,而且往往能很好地互補。如果你真的想要絕對最佳的預測,一個技巧就是將兩個模型整合在一起,只需保存完整的預測並取平均值即可。這是一個經典的技巧。幾乎在每場 Kaggle 比賽中都能看到。人們通常這樣做是為了真正發揮最佳表現。
無論如何,對我來說,JMP Pro 提供了一種非常強大且靈活的方法。您可以新增更多預測因子。您可以快速擬合這些模型,這確實有助於回答一些非常實際的問題,例如,也許您快要完成一個批次了,想決定是否要改天再做?為什麼不快速運行一下,看看第二天的預測結果如何,然後據此做出決定,而不是只是等待或使用老式的規則。我認為這些現代預測模型的強大功能和靈活性非常引人注目。
非常感謝您的聆聽,希望您能從中受益匪淺。我們非常享受這次合作。我們每個人的背景都略有不同。這是一個非常有趣的項目,我們看到了巨大的潛力,可以在未來做更多的事情。如果您對我們今天展示的任何內容有任何疑問,請隨時與我們聯繫,我們很樂意與您進一步交流。