頻度を24と定義したので、1サイクルあたり24時間(毎日)で作業していると仮定します。したがって、履歴データセットには約2サイクルあります。一般的に、これは時系列予測を開始するための限られたサンプルデータです。もう少しデータを取得することをお勧めします。そうすれば、予測モデルを再度実行できます。データが多ければ多いほど、季節性をより正確に把握できるため、将来の値を予測できます。auto.arimaのような限られた利用可能な自動アルゴリズムでは、多くの場合、移動平均に似たものがデフォルトになります。サイクルには季節性があるため、データセットは移動平均よりも優れたものに値します。フォワードカーブの形状を改善するのに役立つ予測アルゴリズムがいくつかあります。Holt-Wintersやその他の指数平滑法のようなものが役立つかもしれません。ただし、自動。
より多くのデータを取得し、同じルーチンを実行すると、グラフが改善されます。個人的に、私はforecast
以上の使用を好みpredict
ます; データは、信頼区間を示しているため、グラフと同様に少し良くなっているようです。コードでは、2つのピリオドをコピーしてデータセットを少し拡張したので、4つのピリオドを取得しました。以下の結果を参照してください。
library(forecast)
value <- c(1.2,1.7,1.6, 1.2, 1.6, 1.3, 1.5, 1.9, 5.4, 4.2, 5.5, 6.0, 5.6, 6.2, 6.8, 7.1, 7.1, 5.8, 0.0, 5.2, 4.6, 3.6, 3.0, 3.8, 3.1, 3.4, 2.0, 3.1, 3.2, 1.6, 0.6, 3.3, 4.9, 6.5, 5.3, 3.5, 5.3, 7.2, 7.4, 7.3, 7.2, 4.0, 6.1, 4.3, 4.0, 2.4, 0.4, 2.4, 1.2,1.7,1.6, 1.2, 1.6, 1.3, 1.5, 1.9, 5.4, 4.2, 5.5, 6.0, 5.6, 6.2, 6.8, 7.1, 7.1, 5.8, 0.0, 5.2, 4.6, 3.6, 3.0, 3.8, 3.1, 3.4, 2.0, 3.1, 3.2, 1.6, 0.6, 3.3, 4.9, 6.5, 5.3, 3.5, 5.3, 7.2, 7.4, 7.3, 7.2, 4.0, 6.1, 4.3, 4.0, 2.4, 0.4, 2.4)
sensor <- ts(value,frequency=24) # consider adding a start so you get nicer labelling on your chart.
fit <- auto.arima(sensor)
fcast <- forecast(fit)
plot(fcast)
grid()
fcast
Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
3.000000 2.867879 0.8348814 4.900877 -0.2413226 5.977081
3.041667 3.179447 0.7369338 5.621961 -0.5560547 6.914950
3.083333 3.386926 0.7833486 5.990503 -0.5949021 7.368754
3.125000 3.525089 0.8531946 6.196984 -0.5612211 7.611400
3.166667 3.617095 0.9154577 6.318732 -0.5147025 7.748892