[英]Machine Learning to predict time-series multi-class signal changes
我想預測時間相關信號的切換行為。 目前該信號有 3 個狀態(1、2、3),但未來可能會發生變化。 然而,就目前而言,假設三種狀態是絕對可以的。
我可以對這些狀態做出以下假設(見圖):
我有以下問題:
到目前為止,我已經測試了 ML.NET 工具箱中的 TimeSeriesPredictor,因為它似乎適合我。 但是,在我看來,這種算法要求您始終只傳遞一個信號的數據。 這意味着假設 5 不包括在預測中,這可能是次優的。 此外,在這種情況下,我遇到了預測沒有改變的問題,當我查詢多個預測時,這實際上應該隨時間發生。 這種行為讓我相信只有輸入 model 的值的順序,而不是相關的時間戳。 如果我正確理解了所有內容,那么這個時間戳就是我最重要的“特征”......到目前為止,我沒有對基於回歸的方法(例如 FastTree)進行任何測試,因為我的數據不是線性的,而是不斷變化的狀態. 也許這個假設是無效的,基於回歸的方法也可能是合適的?
我也不知道是否需要多分類器,因為我知道 TimeSeriesPredictor 也適用於此,因為它適用於單一數據類型。 預測是 1.3 還是正好 1.0 對我來說都很好。
總結一下:我正在尋找一種能夠根據丟失和廣泛樣本識別切換模式的算法。 可以定義邊界,例如信號 1 的 state 持續時間 3 永遠不會超過 30 秒,或者信號 3 的 state 持續時間 1 永遠不會持續超過 60 秒。 然后,在算法獲得開關行為的近似 model 之后,我想請求對某個信號 state 進行一段時間的預測。
我可以使用哪些方法來獲得最佳預測,最好使用 ML.NET 工具箱或基於 matlab?
不確定這是否正是您正在尋找的,但如果您正在尋找使用信號檢測尖峰和變化,請查看 ML.NET 中的異常檢測算法。 這里有兩個教程展示了如何使用它們。
解決這個問題的一種方法是首先獨立地確定每個信號的周期性。 這可以通過僅查看每個信號的 state 2 測量之間的時間差的頻率分布來完成。
這將給出多項分布。 最短的時間差將是切換事件的持續時間(在丟棄小於 state 2 的最大持續時間的時間差之后)。 第二個最短的峰值將是一個開關事件結束和下一個開關事件開始之間的持續時間。
當您有 3 種周期性計算時,您可以簡單地計算它們之間的差異。 鑒於您有每個信號的 state 2 測量的時間戳,您應該能夠計算所有其他信號的切換時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.