0

数年にわたる気温の定期的な時系列があり、その将来の値を予測できるようにしたいと考えています。

年間の各時間の値の利用可能な年の平均を計算しましたが、これは問題なく機能しますが、4 年間のデータしかないため、明らかにノイズが多くなっています。

  • 前進する 1 つの方法は、ガウス平滑化を行うことですが、より良いオプションは、それにスプラインを適合させることです。
  • lm.circular実行可能な解決策の候補のように見えるを検索して見つけました。
    • 式を指定する方法がないため、スプラインに適合するように要求する方法はありません。
    • 1 次多項式を使用してみlm.circularましたが、現実的な問題が発生しました: メモリが不足しました。標準lmはほぼ瞬間的であり、同じデータに対して目立ったメモリを使用しないことに注意してください
    • また、Von Mises (type='cl') に適合するように依頼しようとしましたが、'init' パラメーターを要求されました。
  • 法線を使用するlmと、期間のいずれかの終わりにひどい結果が生じるため、実際にはオプションではありません。
  • 別の可能性は、時系列の頻度が 1 年の時間数に等しい ets/HoltWinters を使用することだと思いますか?

どちらが最善の方法かはよくわかりませんが、これはかなり一般的な問題であり、おそらく非常に標準的な対処方法があるのではないでしょうか?

4

2 に答える 2

1

わかりました、最後に超簡単な方法を見つけました。派手なパッケージは必要ありません。標準lmを使用して、コサインとサインをタイムラインに適用するだけです。

model <- lm( y ~ I(sin(x/periodlength*2*pi) * I(cos(x/periodlength*2*pi)), trainingdata )

... .その後、この式を思いのままに微調整できます。

(編集:そうそう、それは超高速で、メモリをあまり使用しません)。

于 2012-10-28T07:08:28.417 に答える
0

将来の価値を予測するためにARIMAを使用しました

こんな感じです

fit <- auto.arima(values)//for getting order of ARIMA
//here values-> time series data

future.values<-predict(fit,n.ahead=24)//used for predicting future values
//n.ahead-> u can give the maximum number of values you want to predict

次のリンクは、詳細を理解するのに役立ちます

http://www.jstatsoft.org/v27/i03/paper

注: 「値」は時系列データである必要があります。そうでない場合は、values.ts<-ts(values,frequency= ) のような時系列データに変換できます。

于 2012-10-29T05:55:41.567 に答える