時系列解析 Exponential smoothing 指数平滑

tmax<-1000
t<-1:tmax
d<-rep(sort(runif(100)),10)*20000+rep(sort(runif(200)),5)*300000+t*3+(t-500)^2*1+rnorm(tmax)*50000
tsd<-ts(d,freq=12)
plot(tsd)
m<-HoltWinters(tsd)
lines(fitted(m)[,1],col=2)
  • Weighted averageは、ある時点の値として、前後(もしくは前)のいくつかのデータの平均をとる方法で、どの範囲を取るか、それらに重みをつけるかつけないかというオプションが考えられる
  • 範囲だけ決めて、その範囲を均等重みにすることもできれば、より近い値を重くすることが、適当と考えてそのようにすることができる
  • 重みづけを変えるとすると、それをどうするのがよいのかが悩みどころになる
  • exponential smoothingでは、近い値と遠い値の重みを「●倍」で加減する方法
  • ここで、重みづけの選び方は、「●」の値の選び方のみに限定される。こうなれば、「●」として最適なものは何かを探すことは、簡単になる(1パラメタの最適値を得ることは、複数パラメタの場合に比べて大いに単純だから)
  • スムージングでうまくあてはまっていると、先を予測することができる
plot(tsd)
lines(predict(m,n.ahead=100),col=2)