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