時系列データ予測で検出された外れ値を修正するにはどうすればよいですか?


10

時系列データで異常値を見つけて検出したら、異常値を修正する方法を見つけようとしています。Rのnnetarのようないくつかのメソッドは、大きな/大きな外れ値を持つ時系列にいくつかのエラーを与えます。私はすでに欠損値を修正することができましたが、外れ値は私の予測にまだ悪影響を及ぼしています...


「修正」とはどういう意味ですか?
rbatt 2013

置換または置換...または単に減算する必要があります...?
ミラ2013

3
外れ値は「本物」ですか?つまり、異常値は、モデルが極端なイベントやショックを予測できないことに起因するのでしょうか。または、データ入力の問題などの「エラー」ですか?
確率

回答:


9

現在、Rの予測パッケージには、外れ値を識別して再現するための機能があります。(欠落している値も処理します。)すでに予測パッケージをすでに使用しているため、これは便利な解決策になる場合があります。例えば:

fit <- nnetar(tsclean(x))

このtsclean()関数は、レス(非季節性シリーズの場合)を使用したロバストトレンド、またはSTL(季節性シリーズの場合)を使用したロバストトレンドと季節性コンポーネントに適合します。残差が計算され、次の境界が計算されます。

U=q0.9+2(q0.9q0.1)L=q0.12(q0.9q0.1)
q0.1q0.9

UL

非季節性の時系列の場合、外れ値は線形補間に置き換えられます。季節性時系列の場合、STLフィットから季節性コンポーネントが削除され、季節調整された系列が線形補間されて外れ値が置き換えられてから、結果が再季節化されます。


1
ここでの詳細な説明も役に立ちます:stats.stackexchange.com/questions/1142/…(tscleanはtsoutliersを呼び出します)

4

ARIMAモデルを識別するときは、パルス/レベルシフト/季節パルスおよび/またはローカルタイムトレンドを同時に識別する必要があります。http://www.ebay.com/ctg/Time-Series-Analysis-Univariate-and-Multivariate-Methods-David-P-Reilly-and-William-Wei-1999にある介入検出手順に関する資料を入手でき ます。 -/ 85697およびhttp://www.unc.edu/~jbhill/tsay.pdf。SAS / SPSS / AUTOBOXのような商用ソフトウェアを追求しなければならないかもしれません。ちなみに、私はこの分野での主要な技術改善をオートボックスに提供しています。

編集:

さらに優れたアプローチは、厳密なARIMAメソッドと介入検出手順を使用して外れ値を特定し、堅牢なARIMAパラメータと適切な予測に導くことです。ここで、パルス効果のない再サンプリングされた残差を組み込んだシミュレーション予測の開発を検討してください。このようにして、両方の世界のベストを得ることができます。つまり、予測されたモデルパラメーターが母集団の値であるとは想定しない、予測に対するより現実的な不確実性ステートメントです。


1

@Aksakalに同意します。外れ値を削除する代わりに、より良いアプローチは、外れ値に対処するために、ある種の統計手順を使用することです。データをウィンソライズすることをお勧めします。適切に実装されている場合、Winsorizationは外れ値に対して比較的堅牢です。このページ:http : //www.r-bloggers.com/winsorization/には、Winsorizationを実装するためのRコードがあります。データのウィンザライズを検討する場合は、分布のテールについて慎重に検討する必要があります。外れ値は極端に低いと予想されるのか、それとも極端に高くなると予想されるのか、あるいはその両方かもしれません。これは、たとえば5%または10%、および/または95%または99%レベルでwinsoriseに影響を与えます。


1
ウィンザリゼーションは、全体の平均を推定するために、データに傾向や季節的な要素がない場合にある程度意味をなすかもしれませんが、重要な情報を破壊する恐れがあります。
whuber

0

予測のコンテキストでは、外れ値を削除することは非常に危険です。たとえば、食料品店の売上を予測しているとします。隣の建物でガス爆発があり、数日間店を閉めたとしましょう。10年ぶりに閉店したのはこの時だけ。したがって、時系列を取得し、外れ値を検出して削除し、予測します。あなたは黙って、このようなことは将来起こらないと思いました。実際的な意味では、観測された分散を圧縮すると、係数の分散は縮小しました。したがって、予測の信頼帯を表示すると、外れ値を削除しなかった場合よりも狭くなります。

もちろん、外れ値を保持して通常どおり続行することもできますが、これも良い方法ではありません。その理由は、この外れ値が係数を歪めるためです。

この場合のより良いアプローチは、ファットテールのエラー分布、おそらく安定した分布を可能にすることだと思います。この場合、外れ値が係数を大きく歪めません。それらは、外れ値が削除された係数に近くなります。ただし、外れ値はエラー分布、エラー分散に表示されます。基本的に、予測信頼帯が広くなります。

信頼帯は非常に重要な情報を伝えます。今月の売り上げが1,000,000 ドルになると予測しているが、5%の確率で10,000ドルになる可能性がある場合、これは支出や現金管理などの決定に影響します。


-1

外れ値が削除されたモデルを使用して(または使用せずに)予測を実行することは、将来外れ値が発生する確率と、実際に発生した場合に予測されるその効果の分布に依存します。これを明らかにするのにトレーニングデータは十分ですか?ベイジアンアプローチが役立つはずです...


1
これは誤りです。外れ値を調整しない場合、特に外れ値が系列の最後にある場合、予測は不正確になる可能性があります。
予報士
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.