厳密に肯定的な予測を達成する方法は?


15

私は値が厳密に正である時系列に取り組んでいます。AR、MA、ARMAなどのさまざまなモデルを使用して、厳密に肯定的な予測を達成する簡単な方法を見つけることができませんでした。

私は予測を行うためにRを使用していますが、見つけることができるのは、以下に説明されている正のパラメーターを持つpredict.hts {hts}だけです。

階層的またはグループ化された時系列、パッケージhtsを予測する

## S3 method for class 'gts':
forecast((object, h,
  method = c("comb", "bu", "mo", "tdgsf", "tdgsa", "tdfp", "all"),
  fmethod = c("ets", "rw", "arima"), level, positive = FALSE,
    xreg = NULL, newxreg = NULL, ...))

positive
    If TRUE, forecasts are forced to be strictly positive

http://www.inside-r.org/packages/cran/hts/docs/forecast.gts

非階層的時系列に関する提案はありますか?最小、最大などのような他の制約の使用に関する一般化についてはどうですか?

Rで実装されていなくても、記事、モデル、または有用な一般的な変数変換に関する提案を歓迎します。


3
そのような場合に行うべき最も簡単な、しかし常に正しいことの1つは、単に変数のログを予測することです。
mpiktas

4
@mpiktasを部分的にエコーする方法の1つは、ログスケールで作業することです。実際には、これによりモデルのいくつかの側面が一度に改善されることがよくあります。予測間隔は元に戻りますが、平均予測には注意する必要があります(ログの正規性が妥当な場合、サンプルサイズが大きい場合は通常妥当な対数正規の平均の推定値を取得できます)。いくつかの単純な時系列モデルで時々機能する代替手段は、ガンマモデルを使用することです。
Glen_b-モニカを復活させる

回答:


13

forecastR のパッケージではlambda=0、モデルを近似するときに設定するだけです。例えば:

fit <- auto.arima(x, lambda=0)
forecast(fit)

パッケージ内の多くの関数はlambda引数を許可します。ときにlambda引数が指定され、ボックス・コックス変換が使用されています。値は、ログ変換を指定します。したがって、設定とは、ログに記録されたデータがモデル化され、予測が作成されると、元のスペースに逆変換されることを意味します。λ=0lambda=0

詳細については、http://www.otexts.org/fpp/2/4を参照してください


Hyndman教授にご協力いただきありがとうございます。その章を真剣に読み直すべきだと思います!2-4章でこれに言及することは役立つと思いますか?私はそう思う!:-)私にはいくつかの質問が残っています:可能な最小値(または最大値)に何らかの変換を使用できますか?ログベースの関数を使用してこれを実行しようとしていますが、結局、結果の信頼区間は数学的に正しいですか?
Ho1

1
最小/最大の質問は別途お問い合わせください。はい、逆変換時に予測間隔は正しいです。
ロブハインドマン

1
NELSONによる経営予測のための@ Ho1応用時系列分析; 多様な意見で詳細にホールデン・デイは、1973 pp162-165議論し、これを...
IrishStat

残念ながら、方法を変更したため、予想どおりに機能しませんでした。予測の良いy変動の代わりに、平均の周りにフラットラインを作成しました
Diego Duarte
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.