為了研究酯化反應中一種非預期副產物的生成,我們設計了一個實驗方案。該方案利用四個混合物組成因素和一個製程因素,建構了一個包含26個實驗運行的空間填充實驗矩陣,專門用於自驗證整合模型(SVEM)分析。相較於傳統的混合設計(通常用於多項式Scheffe模型),我們選擇了這種方法。最終得到的預測模型與實驗數據擬合良好,清楚地揭示了每個因素對副產物生成量的影響。這些資訊有助於加速動力學模型的開發並擴大製程規模。
大家好,我是安德魯‧菲什,莊信萬豐公司的高級首席研究員。我擁有化學背景,自2016年以來一直在莊信萬豐公司工作。我今天展示的海報是關於酯化反應的混合:製程實驗設計和SVEM分析。
簡單介紹一下,在莊信萬豐的催化劑技術業務部門,我們銷售用於各種不同技術的催化劑和催化劑底板,這非常適合進行實驗設計和高級數據分析。我們開發催化劑配方,並優化化學反應的製程條件。我們的工作是在實驗室進行小規模研究,然後將研究成果轉換到商業規模的反應器。
本次海報的重點是魚油酯化反應的應用。我不想過多贅述化學原理,因為這並非這次海報的重點。簡單來說,此反應是在酸催化劑的作用下,使酸與醇反應生成酯類產物和水。這是一個可逆反應,也就是說反應可以雙向進行。如果反應條件不合適,就無法得到最大量的酯類產物。
這裡更複雜的是存在一個副反應。這就是反應2,醇可以與相同的酸催化劑反應生成醚。這個反應是不可逆反應,這意味著一旦生成醚,我們就無法再得到醇。反應物已經消耗殆盡,這意味著反應效率遠低於預期。
我們在這個過程中努力的目標是最大限度地減少副產品乙醚的生成量,並儘可能增加在這些條件下形成的灶神星的生成量。
為了實現這一目標,我們採用了實驗設計。通常情況下,我們會使用包含一個製程因素的通用混合設計。但在這裡,我們將採用一種略微新穎的方法,即空間混合設計。概括來說,我們有一個連續因素,就是溫度。接著是四個傳統的混合組分,分別是醇的量、酸催化劑的量、水的量。最後一個組分是原始酸,但我們將它的量固定為混合物的25%,這意味著其餘四個混合組分的總和必須為75%。
接下來我們要測量的是乙醚的生成量,並且盡量減少其生成量。這是一個均相平衡反應,所以所有組分都會同時存在。我們將反應加熱到設定溫度,然後在30分鐘後測量產生的乙醚量。
接下來我們要做的,是在一個正常的傳統設置中,我剛從 JMP 中出來,在一個正常的混合設計中,這是我之前準備好的,我只需重新加載它。
在傳統設計中,我們會將溫度作為連續因子引入。我們會將四種混合物組分作為混合物組分引入。然後,我們會使用一個類似 Chef 三次函數的模型,因此我們需要新增所有項來實作該模型。這意味著我們需要大約 40 次實驗才能創建足夠大的資料集並進行分析。
如果我們看一下它在傳統的三元圖中的樣子,我們可以看到這裡不同混合因子的因子組合,以及我們將對這 40 個因子進行的實驗,你可以看到它很好地探索了空間。
我們面臨的潛在問題是,在溫度方面,我們實際上只關注了高溫和低溫,而且混合因子設定也處於極端值。因此,我們接下來將採用空間填充設計來設計這個實驗,並使用SVEM來分析結果。
為了建造空間填充設計,我將進入實驗設計(DoE)的“特殊用途”和“空間填充設計”模組。我將加載之前準備好的因子。我還會載入響應變數。好的,我的反應變數是乙醚,我試圖最小化它。溫度是一個連續因子。這裡的差異在於,我不再將這四個混合組分作為混合因子引入,而是將它們保留為連續變數。我仍然會指定它們的取值範圍。這次我要做的是指定一些約束條件,所以我將載入這些約束條件。
這意味著四種混合物組分的總和必須小於 75% 或摩爾分數 0.75。我還要加上一個等效的負約束,以確保後台計算能夠正常運作。完成之後,我就可以…在設計空間及其執行方式方面,我不再受限於多項式模型。我可以指定所需的運行次數。
在這種情況下,我只有足夠的時間進行 25 次運行。我將選擇 25 次運行,然後我們來設計實驗方案。我們這裡有一個 25 次運行的設計方案,精確到小數點後很多位,這在實際操作中是不可能的,但我們將以此為目標進行實驗。
如果我們比較一下這次的結果和之前在三元圖中的結果,會發現非常相似。我們涵蓋了很大一部分空間,但更多的是集中在中間區域,而不是邊緣區域。同樣,在多元圖中,我們可以看到,與傳統的混合謝費三次插值設計相比,我們現在更多地覆蓋了空間的中間區域,而不是邊緣區域,而且我們只用了15次運行就完成了這項工作。
這樣做的目的是,一旦我們收集到這些數據,就可以應用機器學習類型的神經網路演算法,而不是傳統的多項式模型,從而提高分辨率,並加深我們對這個系統的理解。我這就回去看海報。
我之前已經說過,實驗一共要做25個。實際上我們做了26個,所以包含了一次重複實驗。你現在在這些圖中看到的紅點就是重複實驗的結果,這只是為了確保我們對乙醚的測量具有良好的可重複性。
正如我之前所說,混合物的組成因子被視為連續變數。混合物的總和為75%。我們將在微型反應釜中進行這些實驗。我們將把它們放置30分鐘……我們將把它們升溫,放置30分鐘,然後使用一種叫做氣相色譜法的分析技術來測量30分鐘後乙醚的含量,這將是我們這26個實驗的反應值。
我們繼續進行實驗,沒花太久。之後我們對資料集做了一些細微的修改。之前我一直用百分比來描述這些因素。如果將其轉換為摩爾分數,後續處理起來會更方便。實際上,我只是將百分比除以了100,這樣得到的數值就變成了0.75,而不是75%。
第二個問題是,我得再次強調,我的結果顯示,這些是我們的組成成分,在某些情況下,總和大於1或大於0.75,甚至大於1(假設酸的濃度是固定的)。這是因為這些因素在實驗中被測量過。我們無法完全達到預期的結果。
在這種情況下,我做了一些手動調整。我選取了混合物中含量最高的成分(恰好是酯類),並對其進行了調整,您可以在這裡看到。我調整了 0.01,使所有值總和為 1,這有助於後台的計算。對於資料集中的 26 個實驗,這並非什麼大問題。
經過一些微調,我們也確認了重複實驗所得的乙醚濃度結果在實驗誤差範圍內。一切就緒,可以繼續下一步。接下來,我們開始研究資料集的建模。
正如我之前提到的,我們使用 Spaceful 和設計而不是傳統的 Scheffe 三次多項式的原因是,測試中可能出現的結果較少,我們可以應用更多的神經網絡,並有望提高分辨率,而不會受到二次或三次項的限制,因為這些項是非常有限的函數。
我們可以這樣做,因為這些神經網路通常更適用於非常大的資料集。你需要大量的數據。你不能真正將它們應用於小型的實驗設計(DoE)類型的資料集。這是因為DoE中的每一次運行都很重要。你不能因為某些運行被當作驗證集或測試集就忽略它們,因為DoE中的每一次運行都至關重要,否則你會破壞設計結構。而如果你使用SVEM(很遺憾我沒有時間深入講解SVEM的背景知識,我只會示範如何應用它)。
但需要一些背景知識的是,它採用的是自驗證整合建模(SVEM)。自驗證部分通常是指在訓練神經網路時,將資料劃分為訓練集、驗證集和測試集,也就是對資料進行分區。
在自驗證過程中,我們將複製資料集,並使用稱為配對分數加權自助法(paired fractionally weighted bootstrap)的方法,該方法採用伽瑪分佈。實際上,我們會得到每個資料點的反相關配對,一個權重較高,一個權重較低,一個用於訓練集,一個用於驗證集,然後使用這些資料點建立神經網路。
整合建模的關鍵在於,它使用不同的權重在伽馬分佈中建立多個模型,然後對最終模型取平均值。這實際上就是SVEM的工作原理。理論上,它能提供比傳統多項式擬合更高解析度的優質模型。它尤其適用於混合設計。我們正是這樣做的。
這是我們最終得到的 SVEM 模型。它是一個神經網路演算法。我使用了 50 個經過自助抽樣法得到的模型,並取它們的平均值。這是一個非常簡單的神經網絡,只有一層,包含三個雙曲正切函數。接下來,我將結束演示,直接打開 JMP 軟體,向大家演示它的工作原理。
所有這些操作,包括 SVEM,都是透過一家名為 Predictum 的公司開發的插件完成的。這是一個授權插件。我們將建構一個神經網路。首先,我要選擇我的因子,包括溫度、酸催化劑、醇、水和酯,為了使所有因子總和相等,我將它們的值調整了 0.01。我將選擇醚作為反應變數。點擊「運行」按鈕,就會跳出對話框來啟動 SVEM。
我可以選擇要取平均值的模型數量,以及要使用的 Bootstrap 模型數量。我這裡就設為 50。我打算保持簡單,只用三個 10 年齡層……第一層用三個 10 年齡函數。
您可以根據需要隨意修改這些參數,並引入線性函數和高斯函數。我這裡就先維持現狀。程式會繼續執行 SVEM,每次運行結果都會不同,因為每次的分數自舉法都不同。我們應該會得到類似我之前得到的結果。
這是我的實際預測圖,其中這是我的乙醚響應的實際值,這是 SVEM 的預測值。可以看到,我的 R² 值非常高,達到了 0.99,而且誤差也很低。接下來,我會將這些列儲存到表格中,我已經完成了這一步驟。這裡只是為了向您展示這個公式與標準公式的差異。
實際上,醚濃度或反應值是這些tan h函數乘以係數,再乘以不同的混合物和製程因子後的結果。這是第一個模型,這是第二個模型,這是第三個模型,依此類推。總共有50個模型,然後將所有這些模型取平均值,就得到了我們的預測公式。這就是SVEM的工作原理,它能給出非常精確的預測結果。
我又回到了海報上的內容。為了進行比較,雖然它並非專門為此設計的,但我還是建立了一個最小二乘迴歸模型,該模型使用了 Scheffe 三次項,並使用逐步參數選擇法來縮小模型中的項的範圍。建立好該模型後,我將其與 SVEM 模型進行了直接比較。
這裡可以看到模型對比,SVEM 的預測結果以紅色表示,最小平方法迴歸的預測結果以藍色表示。 SVEM 模型的 R² 值較高,誤差也較低。此外,在殘差圖中,同樣以紅色表示,最小平方法迴歸模型在某些資料點上的殘差要大得多。 SVEM 僅使用 25 次運行的資料集就有效地產生了更好的模型。通常情況下,將神經網路應用於實驗設計 (DoE) 是非常困難的。我還是回去吧。
讓我們來看看這會對這項工作的總體目標(即最大限度地減少醚的生成)產生什麼影響,而這可以透過查看預測分析器來實現。我剛剛將預測公式匯出到預測分析器。再次強調,我正在比較 SVEM 模型和最小平方法迴歸模型,SVEM 模型在頂部以紅色標示。
您可以看到兩者之間存在差異。 SVEM 模型的解析度要高得多,而最小平方法迴歸則受限於多項式曲線。本質上,為了減少醚類副產物的生成,我們需要低溫反應、低酸催化劑用量、中等醇含量、高水含量和低酯含量。
我們從中得到了一些意料之外的結果,但在查看了實際的生物預測圖後,我們相當有信心,我們已經很好地模擬了該系統,而且您可以看到兩個模型之間的差異。例如,在這裡,酸催化劑在最小平方法迴歸模型中並未被識別為重要因素,酯類化合物的趨勢方向也完全不同。這解釋了R²值和最小平方法迴歸預測結果的差異。
你還可以看到一些不錯的特徵,例如,在酒精含量方面,我們在中間有一個下降,而標準多項式在最小二乘回歸中並沒有很好地捕捉到這一點。
總而言之,我們沒有採用傳統的混合型設計,而是使用了空間填充實驗設計。我們將混合物成分或混合因子視為具有內建約束的連續因子,這就是我們計算混合物總和的方法。
我們應用支援向量機方程式(SVEM)作為建模技術,以最大限度地利用從極小資料集中獲取的資訊。與傳統的多項式模型相比,我們提高了預測的分辨率,這極大地幫助我們了解在該化學反應中最大限度地減少醚生成的條件。此外,它也加快了我們建構整個系統動力學模型的速度。
就未來的工作而言,我們也擁有這些實驗的時間序列資料。除了30分鐘的數據點之外,我們還有5分鐘、10分鐘、15分鐘和20分鐘的數據點。我們可以進行更深入的處理,嘗試將這些數據整合起來,從而計算實際的化學反應速率,並建立一個更完善的動力學模型。這將是我們未來工作的重點。
此外,也要特別感謝莊嚴技術團隊中眾多為這項工作做出貢獻的科學家和工程師。最後,感謝Predictum公司,他們提供了SVEM使用的培訓,並授權我們使用該外掛程式。感謝各位聆聽本次海報展示。