日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习笔记 时间序列预测(最基本的方法【benchmark】)

發布時間:2025/4/5 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习笔记 时间序列预测(最基本的方法【benchmark】) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 最基本的方法

這些方法將作為這個系列的benchmark

有時,這些簡單方法中的一種將是可用的最佳預測方法; 但在許多情況下,這些方法將作為基準而不是選擇方法。 也就是說,我們開發的任何預測方法都將與這些簡單的方法進行比較,以確保新方法優于這些簡單的替代方法。 如果沒有,新方法不值得考慮。

1.1 平均法

所有未來值的預測都等于歷史數據的平均值(或“平均值”)。

?1.1.1 R語言實現

library(forecast)y<-ts(c(5,3,3.1,3.2,3.3,3.4,3.5,3.3,3.2,4,4.1,4.2,6,4,4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8,4.9,5,10,9,8,8.5,8.4,8.5,8.6,8.7,8.8,8.9,9,9.5),start = 2020,frequency = 12)meanf(y,5) Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 Jan 2023 5.686111 2.571311 8.800911 0.8451045 10.52712 Feb 2023 5.686111 2.571311 8.800911 0.8451045 10.52712 Mar 2023 5.686111 2.571311 8.800911 0.8451045 10.52712 Apr 2023 5.686111 2.571311 8.800911 0.8451045 10.52712 May 2023 5.686111 2.571311 8.800911 0.8451045 10.52712

1.2 簡單復制

????????對于簡單的預測,我們只需將所有預測設置為最后一次觀察的值。

????????

naive(y,5)Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 Jan 2023 9.5 8.135627 10.86437 7.413371 11.58663 Feb 2023 9.5 7.570485 11.42952 6.549061 12.45094 Mar 2023 9.5 7.136836 11.86316 5.885853 13.11415 Apr 2023 9.5 6.771254 12.22875 5.326743 13.67326 May 2023 9.5 6.449169 12.55083 4.834156 14.16584

1.3 季節性復制

????????類似的方法對于高度季節性的數據很有用。

???????? 在這種情況下,我們將每個預測設置為同一季節(例如,上一年的同一個月)的最后一個觀測值。 形式上,時間 T+h 的預測寫為

????????

? ? ? ? 其中m表示周期,k是的整數部分(即,時間 T+h 之前預測期內的完整周期數)。

? ?1.3.1 R語言實現

snaive(y,15)Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 Jan 2023 10.0 6.071882 13.92812 3.9924626 16.00754 Feb 2023 9.0 5.071882 12.92812 2.9924626 15.00754 Mar 2023 8.0 4.071882 11.92812 1.9924626 14.00754 Apr 2023 8.5 4.571882 12.42812 2.4924626 14.50754 May 2023 8.4 4.471882 12.32812 2.3924626 14.40754 Jun 2023 8.5 4.571882 12.42812 2.4924626 14.50754 Jul 2023 8.6 4.671882 12.52812 2.5924626 14.60754 Aug 2023 8.7 4.771882 12.62812 2.6924626 14.70754 Sep 2023 8.8 4.871882 12.72812 2.7924626 14.80754 Oct 2023 8.9 4.971882 12.82812 2.8924626 14.90754 Nov 2023 9.0 5.071882 12.92812 2.9924626 15.00754 Dec 2023 9.5 5.571882 13.42812 3.4924626 15.50754 Jan 2024 10.0 4.444803 15.55520 1.5040591 18.49594 Feb 2024 9.0 3.444803 14.55520 0.5040591 17.49594 Mar 2024 8.0 2.444803 13.55520 -0.4959409 16.49594

·????????我們在創建時間序列的時候,聲明了周期為12(frequency),所以我們這里也是令m=12

1.4??Drift method 漂移法

????????另一種變體是允許預測隨時間增加或減少,其中隨時間的變化量(稱為漂移)設置為歷史數據中看到的平均變化。

???????? 因此,時間 T + h 的預測為?

1.4.1 R語言實現

rwf(y,5,drift=TRUE)Point Forecast Lo 80 Hi 80 Lo 95 Hi 95 Jan 2023 9.628571 8.254411 11.00273 7.526975 11.73017 Feb 2023 9.757143 7.786220 11.72807 6.742876 12.77141 Mar 2023 9.885714 7.438540 12.33289 6.143084 13.62834 Apr 2023 10.014286 7.150601 12.87797 5.634658 14.39391 May 2023 10.142857 6.899307 13.38641 5.182275 15.10344

如果不加’drift=TRUE‘的話,rwf(y,5)和naive(y,5)效果是一樣的

1.5 四者對比(可視化)

library(forecast) library(ggplot2)y<-ts(c(5,3,3.1,3.2,3.3,3.4,3.5,3.3,3.2,4,4.1,4.2,6,4,4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8,4.9,5,10,9,8,8.5,8.4,8.5,8.6,8.7,8.8,8.9,9,9.5),start = 2020,frequency = 12)y_pre=window(y,start=2020,end=c(2022,2)) y_pre # Jan Feb Mar Apr May Jun Jul Aug #2020 5.0 3.0 3.1 3.2 3.3 3.4 3.5 3.3 #2021 6.0 4.0 4.1 4.2 4.3 4.4 4.5 4.6 #2022 10.0 9.0 # Sep Oct Nov Dec #2020 3.2 4.0 4.1 4.2 #2021 4.7 4.8 4.9 5.0 #2022 y_naive=naive(y_pre,h=10) y_mean=meanf(y_pre,h=10) y_snaive=snaive(y_pre,h=10) y_drift=rwf(y_pre,h=10,drift=TRUE) autoplot(y)+autolayer(y_mean,series='mean',PI=FALSE)+autolayer(y_naive,series='naive',PI=FALSE)+autolayer(y_snaive,series='snaive',PI=FALSE)+autolayer(y_drift,series'drift',PI=FALSE)

?1.5.1 不同評價函數下的對比

accuracy(y_mean,y_test) # ME RMSE MAE #Training set 1.025822e-16 1.608336 1.017160 #Test set 4.159231e+00 4.176614 4.159231 # MPE MAPE MASE #Training set -8.620051 21.37827 0.6717093 #Test set 47.763243 47.76324 2.7466618 # ACF1 Theil's U #Training set 0.5666206 NA #Test set 0.4126294 16.59598

總結

以上是生活随笔為你收集整理的机器学习笔记 时间序列预测(最基本的方法【benchmark】)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。