[英]Predictive curve fitting matlab
我對曲線擬合有疑問,我有很多曲線,如圖片中的曲線。
X軸:時間Y軸:溫度
每個樣本每30s出現一次。
目標:預測瞬變結束時的值
在這個情況下,你會怎么做? 我正在做的是:對於每個新樣本,我都會開始一個新的擬合(因此每個擬合都獨立於先前的擬合),並在開始后2小時(我在2h之前設置的所有曲線)中檢查擬合曲線的值測量的 如果對於后續擬合的數量(比如說5個),將來的值大致保持相同(+ -0.2°C),那么我認為估算是正確的。
在我看來,這種方法太簡單了,我認為我沒有利用所有信息。 例如,我准時做出的錯誤信息(例如,我預測的第4:00分鍾,而我在4:30看到我正在執行錯誤)。
在圖片中,曲線的紅色部分被排除了(但是將來的真實數據會通過它)。 估計是藍色的。 您會發現在這種情況下,我的預測並不理想...一般來說,我的曲線也更平坦。
根據以上評論,我試圖提出一個答案,因為沒有其他人可以提供一些意見 。
我認為您正在使用良好的基本程序。 通過使用更合適的擬合曲線可以獲得更好的結果,該擬合曲線包括所有主要動態,但避免了數據的過度擬合 。 根據您的數據,我能想到的最簡單的形式是:
s + a(1-e^(-t/tau))
帶有參數s
(初始溫度), a
(振幅=穩態值)和tau
(主要時間常數)。 正如您自己提到的那樣,限制參數的允許范圍可以避免過度擬合並提高估計質量。
像您現在正在使用的那樣,使用隨機的高階函數可能會提供良好的插值結果,但由於可能會在擬合區域之外發生奇怪的影響,因此使用插值法很危險。
備擇方案
使用該錯誤 (例如,校正外推錯誤)是可能的,但是很棘手,並且可能不會總是給出良好的結果。
訓練神經網絡來執行估計可能會過大,但是如果正確應用,可能會得到更好的結果。 請注意,您需要大量的訓練數據,這些數據將代表以后將使用神經網絡的數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.