Rのts.arima関数を使ってみる
今回の目的は、Rの使い方に慣れる・Rの使い方思い出すこと。
従って、適切なモデリングかどうかといったことは気にしない。
1.CSVからデータを読み込む
2.時系列データへ変換する
3.とりあえず、ts.arimaを使用してみる
4.とりあえず、ts.arimaで推定された最適モデルをforecast関数で予測してみる
5.forecastによる予測をプロットしてみる
1.CSVからデータを読み込む
tdata<-read.csv("tdata.csv")
2.時系列データへ変換する
tdata.close<-tdata[,5]
tdata.close.ts<-as.ts(as.numeric(tdata.close))
3.とりあえず、ts.arimaを使用してみる
tdata.close.ts.arima<-auto.arima(tdata.close.ts,max.p=100,stepwise=T,trace=T) ARIMA(2,1,2) with drift : 2351.92 ARIMA(0,1,0) with drift : 2360.76 ARIMA(1,1,0) with drift : 2350.63 ARIMA(0,1,1) with drift : 2349.009 ARIMA(0,1,0) : 2358.813 ARIMA(1,1,1) with drift : 2352.039 ARIMA(0,1,2) with drift : 2351.01 ARIMA(1,1,2) with drift : 2353.963 ARIMA(0,1,1) : 2347.139 ARIMA(1,1,1) : 2350.147 ARIMA(0,1,2) : 2349.122 ARIMA(1,1,2) : 2352.03 Best model: ARIMA(0,1,1)
4.とりあえず、ts.arimaで推定された最適モデルをforecast関数で予測してみる
forecast(auto.arima(tdata.close.ts,max.p=100,stepwise=T,trace=T),level=c(10,50,90),h=100) ARIMA(2,1,2) with drift : 2351.92 ARIMA(0,1,0) with drift : 2360.76 ARIMA(1,1,0) with drift : 2350.63 ARIMA(0,1,1) with drift : 2349.009 ARIMA(0,1,0) : 2358.813 ARIMA(1,1,1) with drift : 2352.039 ARIMA(0,1,2) with drift : 2351.01 ARIMA(1,1,2) with drift : 2353.963 ARIMA(0,1,1) : 2347.139 ARIMA(1,1,1) : 2350.147 ARIMA(0,1,2) : 2349.122 ARIMA(1,1,2) : 2352.03 Best model: ARIMA(0,1,1) Point Forecast Lo 10 Hi 10 Lo 50 Hi 50 Lo 90 Hi 90 341 19686.24 19685.27 19687.21 19681.03 19691.44 19673.55 19698.92 342 19686.24 19685.00 19687.47 19679.59 19692.88 19670.03 19702.44 343 19686.24 19684.78 19687.69 19678.41 19694.06 19667.15 19705.33 344 19686.24 19684.59 19687.89 19677.38 19695.09 19664.65 19707.83 345 19686.24 19684.42 19688.06 19676.46 19696.01 19662.41 19710.07 346 19686.24 19684.26 19688.21 19675.62 19696.85 19660.36 19712.11 347 19686.24 19684.11 19688.36 19674.85 19697.62 19658.46 19714.01 348 19686.24 19683.98 19688.49 19674.12 19698.35 19656.69 19715.78 349 19686.24 19683.85 19688.62 19673.43 19699.04 19655.01 19717.46 350 19686.24 19683.73 19688.74 19672.78 19699.69 19653.42 19719.05 351 19686.24 19683.61 19688.86 19672.16 19700.31 19651.91 19720.56 352 19686.24 19683.50 19688.97 19671.56 19700.91 19650.46 19722.01 353 19686.24 19683.40 19689.08 19670.99 19701.48 19649.06 19723.41 354 19686.24 19683.29 19689.18 19670.44 19702.03 19647.72 19724.75 355 19686.24 19683.19 19689.28 19669.91 19702.56 19646.42 19726.05 356 19686.24 19683.10 19689.37 19669.39 19703.08 19645.16 19727.31 357 19686.24 19683.01 19689.47 19668.89 19703.58 19643.94 19728.53 358 19686.24 19682.91 19689.56 19668.41 19704.07 19642.76 19729.72 359 19686.24 19682.83 19689.65 19667.93 19704.54 19641.60 19730.87
5.forecastによる予測をプロットしてみる
plot(forecast(auto.arima(tdata.close.ts,max.p=100,stepwise=T,trace=T),level=c(10,50,90),h=100))
まぁ、使い方はわかるけど、モデルとしては全然駄目駄目ですなw。