簡體   English   中英

ML.NET 中的 ForecastBySsa 算法中的參數 seriesLength 有什么作用?

[英]What does the parameter seriesLength do in the ForecastBySsa-algorithm in ML.NET?

我目前正在嘗試根據溫度傳感器的數據預測溫度。 我在 ML.NET 中使用ForecastBySSa算法。 該算法有一個名為seriesLength的參數,但我無法弄清楚該參數的作用。

在互聯網上搜索了這個問題的多個相互矛盾的答案,例如:

  • “此參數指定執行預測時使用的數據點數。” 來源
  • “forecastingPipeline 為第一年 [ trainSize = 365] 獲取 365 個數據點,並按照seriesLength參數指定的方式將時間序列數據集采樣或拆分為 30 天(每月)間隔。這些樣本中的每一個都通過每周或一次進行分析7 天窗口。[ windowSize = 7]"( 來源
  • 並且文檔本身指出參數seriesLength是:“保存在緩沖區中用於建模的系列長度(參數 N)。” 來源

我已經嘗試了幾件事來弄清楚這個參數的作用:

  1. 我嘗試在修復其他參數的同時改變 seriesLength。 但這在進行預測時並沒有改變任何東西。 我還嘗試改變seriesLength同時改變一個參數: trainSizewindowSize ,但這也沒有做出任何改變。
  2. 我已經嘗試在整個算法中跟蹤seriesLength ,它確實顯示為某個緩沖區的大小。 但是在進行預測時,算法僅使用緩沖區的最后 L 個元素進行預測(其中 L 是windowSize ,其設計必須小於seriesLength )。 那么緩沖區中的其余元素似乎根本不重要?

所以我最好的結論是seriesLength根本不做任何事情 但這沒有意義,因為它不是可選參數。

另一個結論可能是seriesLength尚未完全實現,因為例如參數isAdaptive就是這種情況,它以評論結尾:“審查:將在基於https://hal 中的 FAPI 算法的下一個版本中實現-institut-mines-telecom.archives-ouvertes.fr/hal-00479772/file/twocolumns.pdf 。”

這個參數seriesLength實際上有什么作用?

官方文檔對 seriesLength 有以下說明:

為建模而保存在緩沖區中的系列長度(參數 N)。

查看 ML.NET 的源代碼,我可以看到 ForecastBySSA 算法使用下一個類:AdaptiveSingularSpectrumSequenceModeler。 也許查看課程內部會解釋更多有關參數的信息。 此外,找到答案的一個好方法是谷歌搜索自適應奇異譜序列。 ML.NET 傾向於為其算法使用與常用名稱不同的名稱,如 Python 庫。

我的最后一點建議是查看 ML.NET 在其 Github 上提供的示例: https : //github.com/dotnet/machinelearning-samples/tree/main/samples/csharp/end-to-end-apps/Forecasting-銷售量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM