時系列予測を自動化することは可能ですか?


18

任意の時系列を分析し、分析された時系列データに最適な従来/統計予測方法(およびそのパラメーター)を「自動的に」選択できるアルゴリズムを構築したいと思います。

このようなことをすることは可能でしょうか?はいの場合、これにどのようにアプローチできるかについてのヒントを教えてください。


3
いいえ、これを合理的に達成することはできません。多くの場合、2つの合理的なモデルを区別するのに十分なデータがありません。考えられるすべてのモデルを気にしないでください。最良のモデルを実現するには、物理​​学を絶対的な用語で知る必要があり、非常に頻繁にモデリングの仮定が分からない、および/またはテストされていない/テストできない。
カール

3
いいえ。どのモデルが最適かを判断する方法はありません。この議論ではPythonは関係ありません。それにもかかわらず、良い結果の試みがあります。たとえば、github.com / facebook / prophetプロジェクト。Pythonバインディングもあります。
カグダスオズゲンク

3
答えが「いいえ」であっても、それは合理的な質問だと思うので、私は開いたままにしておくことに投票しています。pythonをタイトルから削除することをお勧めします。これは関連性がないか、特にここではトピックに関係しないためです。
mkt-モニカの復活

1
提案されたとおり、タイトルからpythonを削除しました。ご回答ありがとうございます。
StatsNewbie123

2
「無料ランチなし」の定理を参照してください。
AdamO

回答:


20

最初に、IrishStatで概説されているアプローチは、一般的なモデルセットではなく、ARIMAモデルに固有のものであることに注意する必要があります。

「時系列予測を自動化することは可能ですか?」という主な質問に答えるには:

はい、そうです。私の需要予測の分野では、ほとんどの商用予測パッケージがそうしています。いくつかのオープンソースパッケージも同様です。最も顕著なのは、Rのオープンソース予測パッケージのRob Hyndmanのauto.arima()(自動ARIMA予測)およびETS()(自動指数平滑化予測)関数です。これら2つの関数の詳細については、こちらを参照してくださいPyramidと呼ばれるauto.arimaのPython実装もありますが、私の経験ではRパッケージほど成熟していません。

私が言及した商用製品と私が言及したオープンソースパッケージは両方とも、情報基準を使用して最良の予測を選択するという考えに基づいて機能します。など...(通常、これはサンプル検証の代わりに行われます)。

ただし、大きな警告があります。これらの方法はすべて、単一のモデルファミリで機能します。ARIMAモデルのセットの中から可能な限り最良のモデルを選択するか、指数平滑化モデルのセットの中から可能な限り最良のモデルを選択します。

モデルのさまざまなファミリから選択する場合、たとえば、ARIMA、指数平滑法、シータ法から最適なモデルを選択する場合、これを行うのははるかに困難です。理論的には、単一のモデルファミリ内で行うのと同じ方法で、つまり情報基準を使用して、これを行うことができます。ただし、実際には、考慮されるすべてのモデルに対してまったく同じ方法でAICまたはBICを計算する必要があり、これは大きな課題です。時系列の相互検証を使用するか、情報基準の代わりにサンプル検証を使用する方が良いかもしれませんが、それははるかに計算集約的です(そしてコードに手間がかかります)。

FacebookのProphetパッケージは、一般的な加算モデルに基づいた予測生成も自動化します。詳細については、こちらをご覧ください。ただし、多くのパラメータを持つ非常に柔軟なモデルであるにもかかわらず、Prophetは1つのモデルのみに適合します。預言者の暗黙の仮定は、GAMは「すべてを支配する1つのモデル」であり、理論的には正当化されないかもしれませんが、実際のシナリオでは非常に実用的で便利です。

上記のすべての方法に適用される別の警告:手動で分析するには多すぎるため、複数の時系列を予測する必要があるため、おそらく自動化された時系列予測を実行する必要があります。それ以外の場合は、独自の実験を行い、自分で最適なモデルを見つけることができます。自動化された予測アプローチでは、時系列ごとに最適なモデルが見つかることは決してないことに注意する必要があります-すべての時系列で平均してかなり良いモデルを提供しますが、これらの時系列のうち、自動化された方法で選択されたものよりも優れたモデルがあります。この投稿を見るこの例については。簡単に言えば、自動予測を使用する場合は、各時系列の可能な限り最良の予測ではなく、「十分な」予測を許容する必要があります。


そのような洞察に満ちた答えをありがとう。正直なところ、この質問をするときの私の最初のアイデアは、モデルの異なるファミリーから選択できるようにすることでした。
StatsNewbie123

アルゴリズムをビジネス予測などのより具体的なドメインに適用する場合(生産計画や在庫管理など)。より良い結果が得られると思いますか?
StatsNewbie123

2
@JoanaClaudinoはい、それは簡単です-それが商業需要予測パッケージが行うことの要点です。ただし、通常は、特定のビジネスドメインに制限する場合、特定のモデルファミリに制限できるため(同じビジネスドメインからの時系列には、季節性、データ密度などの点で同様の特性があります...)そのため、1つの家族がすべての家族に適していると想定するのは安全です)
スカンダーH.-復帰モニカ

さて、私は今それを得る。このような大きな助けをありがとうございます。
StatsNewbie123

11

私の提案するアプローチには、時間とともに変化する季節ダミー、複数のレベル、複数の傾向、時間とともに変化する可能性のあるパラメーター、さらに時間とともに変化する可能性のある誤差の可能性が含まれているため、ARIMAよりもはるかに一般的なモデルが含まれます。このファミリはより正確にはARMAXモデルと呼ばれますが、完全な透明性のために、乗法構造を持つ(まれな)バリアントは除外されます。

あなたはヒントを求めましたが、これはあなたが始めるのに良いものであると信じています。

このフローチャート/ワークフローに従う/エミュレートするコードを書くことをお勧めします。「最適なモデル」は、指定した基準を評価することで見つけることができます。それは、近似データのMSE / AICか、保留データのMAPE / SMAPEまたは任意の基準です。

時系列分析の特定の要件/目的/制約に気付いていない場合、これらの各ステップの詳細は非常に簡単になりますが、より深い理解/完全な時系列分析に存在する複雑性/機会の学習/評価。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

時系列モデリング(または一般的なモデリング)を自動化する方法について、さらなる指示を求められました/stats//search?q=peeling+an+onionには、 「玉ねぎの皮むき」および関連タスク。

AUTOBOXは、実際に有用なモデルを形成し、この点で有用な教師になる可能性があるため、中間ステップを詳細に示します。全体的な科学的アイデアは、「必要と思われるものを追加」し、「有用ではないように見えるものを削除する」ことです。これは、BoxとBaconが以前に提案した反復プロセスです。

モデルは十分に複雑(空想的)である必要がありますが、複雑すぎない(空想的)必要があります。単純な方法が複雑な問題で機能すると仮定すると、ロジャーベーコンとベー​​コンの信者のトンに続く科学的方法と一致しません。ロジャー・ベーコンがかつて言ったように、私はしばしば言い換えました:科学をすることは、繰り返されるパターンを探すことです。異常を検出することは、繰り返されるパターンに従わない値を識別することです。自然の方法を知っている人は彼女の逸脱に簡単に気付くでしょう。一方、彼女の逸脱を知っている人は彼女の方法をより正確に説明します。現在のルールがいつ失敗するかを観察することにより、ルールを学習します。現在特定されている「最良のモデル/理論」が不適切であるかどうかを識別することにより、Bacon spirt pfでは、「より良い表現」

私の言葉では、「Tukeyは、データが示唆する明らかなモデルの欠陥に基づいてモデルの改良のスキームを提案する探索的データ分析(EDA)を提案しました」。これがAUTOBOXと科学の中心です。EDAは、正式なモデリングや仮説テストのタスクを超えて、データが何を教えてくれるかを見るためのものです。

自動モデリングプログラムのリトマステストは非常に簡単です。オーバーフィッティングなしで信号とノイズを分離しますか?経験的証拠は、これが実行可能であり、実行されたことを示唆しています。未来は過去の責任を負わず、結果を選択する起源に応じて変化する可能性があるため、予測の精度はしばしば誤解を招く可能性があります。


どうもありがとうございます。あなたの答えは非常に役立ちます!
StatsNewbie123

IrishStat、ありがとうございます。これは洞察に富んでいます。パラメーターが統計的に有意ではないにもかかわらず、「パラメーターの削除」ではなくパラメーターを保持することを正当化することはありますか?
ColorStatistics

1
はい。もっと「楽しい答え」が得られるなら。0.0と変わらない勾配係数は、より現実的な(統計的に有意ではない場合)予測を提供する場合があります。必要性と十分性のテストを盲目的に/単純に処理できない著者の中には、BoxとJenkins(および他のすべての人!)がモデルを必要なだけ複雑にするが、過度に複雑ではない間、モデルの識別は1ステップのプロセスであると仮定しています。この詳細については、Albert E.、JW Tukeyなど。
IrishStat

3
「この提案された自動予測アプローチは、モデルの形式を調整すること、つまりカスタマイズされたスーツのようにカスタマイズすることにより、時系列ごとに最適なモデルを見つけます。」それは非常に強力な声明です-正確であれば、このアプローチはM3、M4の競争に勝つことを意味します。ありますか?
スカンダーH.-モニカの復活

1
@ joana-claudino私はあなたのISEGプロジェクトに特に興味があります。私の提案する手順のPythonバージョンを進化させることに興味があるからです。もちろん、これはSEのオフサイトになります。
IrishStat
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.