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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

时间序列预测之一:指数平滑法(二)R语言——代码实现

發布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 时间序列预测之一:指数平滑法(二)R语言——代码实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 參考:https://www.cnblogs.com/fengzzi/p/10044426.html

指數模型是用來預測時序未來值的最常用模型。這類模型相對比較簡單,但是實踐證明它們的短期預測能力較好。不同指數模型建模時選用的因子可能不同。比如

  • 單指數模型(simple/single exponential model)擬合的是只有常數水平項和時間點i處隨機項的時間序列,這時認為時間序列不存在趨勢項和季節效應
  • 雙指數模型(double exponential model;也叫Holt指數平滑,Holt exponential smoothing)擬合的是有水平項和趨勢項的時序;
  • 三指數模型(triple exponential model;也叫Holt-Winters指數平滑,Holt-Winters exponential smoothing)擬合的是有水平項、趨勢項以及季節效應的時序。

R中自帶的HoltWinters()函數或者forecast包中的ets()函數可以擬合指數模型。ets()函數的備選參數更多,因此更實用。

1. HoltWinters()函數

R語言與數據分析之七:時間序列簡單指數平滑

R語言與數據分析之八:時間序列--霍爾特指數平滑法

R語言與數據分析之九:時間內序列--HoltWinters指數平滑法

2. forecast包中的ets()函數

平滑參數(α,β,γ)=(水平,趨勢,季節)

2.1 最簡單參數

? ? ? ? ets(ts, model="zzz")

? ? ? ?model="ZZZ",依次含義為錯誤類型、趨勢類型、季節類型。 "A"=additive, "M"=multiplicative and "Z"=automatically

? ? ? ?其中ts是要分析的時序,限定模型的字母有三個。第一個字母代表誤差項,第二個字母代表趨勢項,第三個字母則代表季節項。可選的字母包括:相加模型(A)、相乘模型(M)、無(N)、自動選擇(Z)

? ? ? ?"A"=additive, "M"=multiplicative and "Z"=automatically

2.2 所有參數

ets(y, model="ZZZ", damped=NULL, alpha=NULL, beta=NULL, gamma=NULL,?phi=NULL, additive.only=FALSE, lambda=NULL,??lower=c(rep(0.0001,3), 0.8), upper=c(rep(0.9999,3),0.98),?opt.crit=c("lik","amse","mse","sigma","mae"), nmse=3,?bounds=c("both","usual","admissible"), ic=c("aic","aicc","bic"),restrict=TRUE)

y:一個數值向量或時間系列

model="ZZZ":依次含義為錯誤類型、趨勢類型、季節類型。 "A"=additive, "M"=multiplicative and "Z"=automatically

(additive,為加法;multiplicative,乘法;damped,阻尼;Null,無)

damped=NULL,一個的阻尼趨勢

lower=c(rep(0.0001,3), 0.8), upper=c(rep(0.9999,3),0.98), 參數(α,β,γ,φ)的上下界

opt.crit=c("lik","amse","mse","sigma","mae"):優化標準, “MSE”(均方誤差),“AMSE”((Average MSE over first nmse forecast horizons),“sigma”(標準偏差殘差),“mae”(殘差絕對值的平均值),或“lik”(對數似然,默認值)

nmse=3, 平均多級MSE(1 <=nmse<= 10)的步數。

bounds=c("both","usual","admissible"): 收斂參數空間類型,"usual" 表示所有參數都必須指定上限和下限之間,“"admissible"表示參數必須位于允許的空間,”"both"(默認)的交叉點這些區域。

ic=c("aic","aicc","bic"):在模型選擇要使用的信息準則。

restrict=TRUE:如果是TRUE,無限方差模型將不會被允許

3. 預測準確性度量

  • 平均誤差和平均百分比誤差:一般來說,平均誤差和平均百分比誤差用處不大,因為正向和負向的誤差會抵消掉。
  • RMSE:給出了平均誤差平方和的平方根,本例中即1.13°F。
  • 平均絕對百分誤差:給出了誤差在真實值中的占比,它沒有單位,因此可以用于比較不同時序間的預測準確性;但它同時假定測量尺度中存在一個真實為零的點(比如每天的游客數量),但華氏溫度中并沒有一個真實為零(即不存在分子運動動能)的點,因此這里不能用這個統計量。
  • 平均絕對標準化誤差:是最新的一種準確度測量,通常用于比較不同尺度的時序間的預測準確性。這幾種預測準確性度量中,并不存在某種最優度量,不過RMSE相對最有名、最常用。

總結

以上是生活随笔為你收集整理的时间序列预测之一:指数平滑法(二)R语言——代码实现的全部內容,希望文章能夠幫你解決所遇到的問題。

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