模型預測你好
我正在開發一個包含大約 3000 筆記錄和大約 100 個預測變數的資料庫。響應是具有良好高斯分佈的電參數。這個資料庫是一個多變量時間序列,因為反應和預測變數都與時間相關。預測變數是在生產線上的特定製程步驟中收集的,而電氣參數則在大約兩週後測量。這裡的想法是透過使用機器在線數據(預測器)來預測電氣測量。
作為第一個模型,我使用了隨機森林。 R2 和誤差對於訓練組和測試組來說都非常好。無論如何,當我嘗試在生產環境中使用以前從未見過的資料部署模型時,模型效能非常糟糕。我能夠用隨機森林的弱點來解釋這種行為並進行推論。然後排除基於模型樹的唯一選擇仍然是多項式擬合和神經網路。第一個在 R2 和誤差方面不可接受,而具有 2 層和 3 個激活函數的神經網路能夠在訓練和測試資料上返回良好的 R2 和誤差。然後,一旦我建立了模型,我就將其部署在從未見過的資料的生產中(圖形生成器中的星號)。儘管趨勢預測是正確的,但單一值卻不是。特別是從未見過的數據上的神經網路顯示出非常高的變異性。因此,在本文的最後,我在 JMP 中沒有其他模型可供測試。至少我是這麼認為的。有人可以給我一些技巧或建議來解決這個問題嗎?
所附ppt中所有情節。
謝謝菲利斯
數據探索和視覺化回复:模型預測感謝所有回复我帖子的人。 好的觀察。 我試圖做一些簡單的實驗來更好地理解這個問題。
在附上的ppt中我的結論和結果。歡迎任何意見和建議。
幸福
回复:模型預測正如您所說,您不會將觀察結果隨機分配給訓練、驗證和測試。 我沒有看到有人說是隨機分配的,但如果是這樣,就不應該這樣做。 您根據時間進行分配。 訓練集是最舊的,驗證是下一組,測試是最後一組。 這種方式很好地表明了預測能力。
訓練、驗證和測試集需要代表穩定過程。 如果你很好地適應訓練和驗證,而不是測試,那自然會讓人相信發生了什麼事情改變了測試集。 無論它發生/改變了什麼,都應該是模型中的另一個預測因素。
回复:模型預測我尊重這裡的其他評論,因為那些人對這些事情的了解比我多。但有一個問題他們沒有提到,我想我會提出來。既然是多元時間序列數據,那麼使用隨機驗證和測試數據集有什麼意義呢?這不是忽略了數據中的時間結構嗎?當然,您可以使用神經網絡、隨機森林等,但我不希望在新數據上表現很好,因為這些模型忽略了數據中的時間結構。對於時間序列數據,我會認為測試數據應該是一個連續的觀察範圍,所以可以對時間結構進行建模和測試。那麼,將這些方法與隨機驗證和測試數據集一起用於您擁有的時間序列數據是否合適?
回复:模型預測我同意一切@Dan_Obermiller和@statman推薦或說明。
另一個想法……由於您似乎正在處理偶然的歷史生產過程和數據,您是否有能力運行設計的實驗? 我走這條路的原因是,如果你的基於歷史信息的模型不能特別擴展到未來的觀察,那麼很可能還有其他重要的因果變量進入系統,而歷史數據沒有從效果建模的角度考慮這些變量觀點...但您可以將其中一些納入以 DOE 為中心的調查。
你正在大海撈針,我知道沒有比 DOE 更有效的方法了。 例如,也許在生產中存在原材料變化,您沒有用歷史過程數據來解釋,但在 DOE 類型的調查中,您有多種選擇來處理這種事情,例如阻塞。 或者如果作為@statman建議如果存在效應稀缺,也許最終篩選設計可以工作?
這裡的想法是利用您過去的建模工作和您學到的知識,以及您的過程知識,並使用 DOE 的力量來幫助您找到“有用的模型”。
在我從事工業工作期間,一位與我共事的聰明工程師說過一句話:“在我們可以隨意打開和關閉故障模式之前,我們不了解這個過程。” DOE 是讓我們“……理解過程”的唯一最有效的方法。
回复:模型預測還有幾點需要考慮:在您嘗試過的模型上有多個選項需要考慮,這可能會提高擬合度。 對於隨機森林:你用了多少棵樹? 你有沒有嘗試更多? 每棵樹有多大? 你試過把它們變大嗎? 是什麼讓您認為具有 3 個節點的神經網絡就足夠了? 你嘗試過多次旅行嗎? 您是否嘗試過使用增強型神經網絡? 如果是這樣,您是否嘗試過更改學習率? 如果您發現驗證集和測試集性能之間確實存在很大差異,是否發生了某些改變會使測試集變得如此不同? 它還可能會質疑您如何在訓練、驗證和測試之間拆分數據。
但是,如果您對訓練、驗證和測試集的創建感到滿意並相信它們都具有代表性,那麼還有改進模型的選項和方法。 給定足夠的節點和搜索迭代,神經網絡可以提供完美的擬合,因為它是一個通用逼近器。 但這是不可取的,因為它只適合該數據,而不適合未來的數據(見@statman的評論)。 所以請記住,期待一個“完美”的預測是不現實的。 兩個都@P_Bartell和@statman指出要考慮的事情。 你真的不應該期望比你的測量系統誤差做得更好。 這使您可以為預測誤差設置一個現實的目標。
回复:模型預測不幸的是,在預測方面開發良好的模型並非易事。 R^2 是枚舉統計量。 它僅適用於手頭的數據。 模型的 RMSE 是枚舉統計量,僅適用於手頭的數據集。 模型的外推不是枚舉問題(參見戴明:枚舉與分析問題),而是獲取代表未來條件的數據的練習。 顯然,您用來對現有數據建模的數據集並不代表未來的情況。 在這裡沒有任何統計方法可以幫助您。 您的測量系統可能存在問題,因為@P_Bartell建議或許多其他原因說明您的數據集不代表未來的情況。 該過程是否穩定(根據 Shewhart)? 也許您應該在嘗試對其建模之前進行定向採樣以了解該過程。 我懷疑所有 100 個預測變量對相關響應變量都具有相同的影響(參見效果稀缺性原則)。
回复:模型預測這裡有幾個想法給你:
1. 你對你的測量系統變異了解多少? 如果接近“無”……我會繞過您對因果/預測建模的研究,以包括測量系統變異性研究。 生產數據收集和響應測量之間的兩週滯後導致從訓練/驗證到外推到未來預測和結果的漂移或高度可變的測量系統。
2. 您有 JMP Pro 嗎...時間序列功能數據探索和分析是 JMP Pro 的標誌性功能之一,您的研究是為功能數據探索量身定制的。 有關詳細信息,我建議觀看此點播網絡研討會:功能數據瀏覽器