スピーカー
|
トランスクリプト
|
| |
こんにちは、これをご覧いただきありがとうございます。 私の名前はジェイコブ・ラインです。 私はJMPのソフトウェアテスターです。 今日は、JMPの時系列プラットフォームでARIMAモデルまたは状態空間平滑化モデルのどちらかを選択するのに役立つ、私が作成したアドインを紹介します。 |
| |
そこで、時系列プラットフォームにARIMAモデルと状態空間平滑化モデルを適合させる方法の概要から始めます。 |
| |
これら2つのモデルクラスから選択するのに役立つアドインの必要性を紹介します。 また、アドインのメインツールである時系列交差検定の概要を説明します。 次に、JMP16.1を使用したアドインのデモで終了します。 |
| |
JMPの時系列プラットフォームを使用すると、ユーザーはさまざまな時系列モデルに適合させることができます。 このプレゼンテーションでは、ARIMAモデルと状態空間平滑化モデルに焦点を当てます。このSteel Shipmentsサンプルデータを使用して、これらの両方を適合させる方法を示します。 |
| |
Steel Shipmentsのサンプルデータには、1984年から1991年までの米国の鉄鋼出荷の月間合計が含まれています。 そして、SpecializedModelingメニューのTimeSeriesプラットフォームでこれを探求します。 |
| |
SteelShipments列は私の時系列です。 日付列は私の時間IDです。 今後2年間の鉄鋼出荷の予測に興味があるとしましょう。 したがって、これは月次データであるため、24の予測期間が必要です。 次に、[OK]をクリックして、時系列レポートを起動します。 |
| |
時系列に、シリーズのいくつかの基本的な統計と、いくつかの基本的な時系列診断のプロットがあることがわかります。 |
| |
このシリーズにARIMAモデルを適合させたいのですが、ARIMAモデルを適合させるときに決定する必要がある場合、何らかの変換または差分を取る必要がありますか。 そこで、時系列メニューの[差異]オプションを使用してこれを調べます。 |
| |
注文1の非季節的差異から始めて、見積もりをクリックします。 |
| |
これで、差分級数のプロットができました。 静止しているという点では見栄えが良いですが、ここにはまだ季節性があります。 そして、私は診断を見ることによってこれを知ることができます。 ラグ番号12に行きます。 |
| |
ラグ12では、自己相関値が高く、偏自己相関も少し高いことがわかります。 したがって、これは、季節的および季節的差異のある季節的ARIMAモデルを適合させる必要があることを示唆しています。 |
| |
レポートをクリーンに保つために、この差異レポートを閉じます。 そして、ARIMAモデルグループオプションを使用して、いくつかの異なるARIMAモデルを適合させる方法を検討します。 |
| |
そこで、季節性のARIMAモデルを非季節性の差分次数が1、季節性の差分次数が1に適合させたいと考えました。 ただし、自己回帰移動平均注文の場合は、ゼロまたは1のいずれかにします。 |
| |
したがって、[見積もり]をクリックすると、JMPはこれらの16の異なる季節のARIMAモデルに適合します。 モデル比較ウィンドウまで下にスクロールして、これらのモデルを表示できます。 モデルはAICの降順で並べ替えられているため、AICを最小化するモデルを選択します。 |
| |
下にスクロールして、モデルとレポートを確認できます。 安定していて反転可能であることがわかります。 パラメータ推定値の表を確認できました。 予測と予測間隔を見てください。 |
| |
これらの診断をすべて調べて、予測の検討対象としてこの季節のARIMAモデルに満足しているとしましょう。 |
| |
そこで、これらの他の季節ARIMAモデルをレポートから削除します。 |
| |
また、状態空間平滑化モデルを使用して予測を作成することも検討したいと思います。これは、時系列メニューの状態空間平滑化オプションを使用して行うことができます。 |
| |
これは月次データであるため、期間は12であると言う必要があります。この時系列で推奨されるすべての状態空間平滑化モデルに適合します。 |
| |
したがって、[OK]をクリックして実行します。モデル比較レポートまで下にスクロールすると、JMPが推奨されるすべての状態空間平滑化モデルに適合していることがわかります。 それらは再びAICによって降順でソートされます。 |
| |
したがって、AICを最小化したモデルは、傾向や乗法的な季節性のない乗法的なエラーモデルでした。 だから、このモデルを選びます |
| |
モデル比較の概要で、下にスクロールしてモデルの適合を確認します。 |
| |
したがって、モデルの要約を確認して、パラメーター推定値の表を確認できます。 |
| |
予測と予測間隔を表示できます。 これらの診断をすべて調べたとしましょう。予測の検討対象として、この状態空間平滑化モデルに満足しています。 |
| |
したがって、他の状態空間スマッシングモデルをモデルとモデル比較ウィンドウから削除します。 |
| |
さて、問題は、私が検討しているこのARIMAモデルと、予測のために検討している状態空間平滑化モデルのどちらを選択するかです。 |
| |
可能性に基づく基準が異なるモデルクラス間で比較できないことを示すこのテキストを読んだ警告があることがわかります。 |
| |
これが意味するのは、単純にスクロールしてAICを表示することはできず、AICが低いため、ARIMAモデルの場合は予測に使用するということです。 |
| |
それは有効な決定ではありません。 だから、私は何をしますか? さて、JMPで利用可能なオプションがすでにあります。 データが十分に長い場合。 |
| |
ホールドバックを設定するには、時系列プラットフォームを起動するときにホールドバックの予測オプションを使用できます。 |
| |
そして、これが行うことは、トレーニングセットに使用したすべての時系列モデルに適合することです。 また、モデル比較ウィンドウでは、モデルをAICで並べ替える代わりに、 |
| |
モデルは、ホールドバックセットの二乗平均平方根誤差またはRMSEで並べ替えられ、ホールドバックセットのRMSEを最小化するモデルを選択します。 |
| |
ただし、データがホールドバックセットを使用するのに十分な長さでない場合、ホールドバックの予測オプションを使用できません。ARIMAモデルまたは状態空間平滑化モデルのどちらかを選択するのに役立つ別の方法が必要です。 |
| |
そしてこれを行うには。 |
| |
これが私がアドインを作った理由です。 したがって、このアドインは、時系列交差検定と呼ばれるものを使用して選択するのに役立ちます。 |
| |
時系列の相互検証は、基本的に、時系列を複数のトレーニングセットとテストセットに分割します。連続するグループでは、トレーニングセットを1行拡張します。 |
| |
時系列交差検定の詳細な例をすぐに説明しますが、私はこの方法を発明しなかったことを指摘したいと思います。 それについてもっと知りたい場合は、 |
| |
この講演を見た後、これはロブ・ハインドマン博士による予測の原則と実践をお勧めするリソースです。 |
| |
しかし、時系列の交差検定の例を見てみましょう。 |
| |
私は映画ファンなので、2021年1月から7月までの北米の興行成績のデータがあるとしましょう。 |
| |
そして、ARIMAモデルまたは状態空間平滑化モデルのいずれかを使用して、興行収入で次の6週間を予測したいと思います。 そして、どの予測を使用するかを決定するために、時系列交差検定を使用したいと思います。 |
| |
時系列の相互検証で述べたように、データをトレーニングセットとテストセットのグループにサブセット化し、トレーニングセットを1行ずつ拡張します。 |
| |
したがって、最初のトレーニングセットで必要な行数を決定する必要があります。 |
| |
デフォルトでは、私のアドインにより、6つの時系列交差検定グループが作成されます。 これにより、最初のトレーニングセットで使用するデフォルトの行の推奨数がわかりますが、必要に応じて変更することもできます。 |
| |
この例のトレーニングセットでは、デフォルトの17の初期行を維持します。 |
| |
時系列相互検証アドインを起動すると、標準の時系列レポートが提供されます。 ただし、レポートの下部に時系列交差検定コントロールのアウトラインボックスも追加されます。 |
| |
したがって、ここでは、最初の行数を指定する必要があります。これは、最初のトレーニングセットの行数、関心のある予測の長さ、および季節モデルに適合させる場合の期間です。 |
| |
したがって、トレーニングセットのデフォルトの17行を維持し、6つの異なる時系列交差検定グループを使用できるようにします。 |
| |
興行収入で次の6週間を予測したいので、予測の長さは6にします。 そして、ここでは、この特定のデータの季節モデルに適合させないため、期間を欠落に等しく保つつもりです。 |
| |
それでは、最初の時系列交差検定グループを調べてみましょう。 |
| |
最初のトレーニングセットに17行あり、次の6行がテストセットであることがわかります。 |
| |
私のアドインが行うことは、トレーニングセットに要求したARIMAモデルに適合することです。 そして、推奨される状態空間平滑化モデルをトレーニングセットに適合させます。 |
| |
AICによって各クラスの最適なモデルを選択し、選択したモデルの予測をテストセットに取り込んで、予測誤差を評価します。 |
| |
2番目の時系列交差検定グループはトレーニングセットを1行拡張するため、トレーニングセットは次のようになります。 |
| |
行1から18で構成され、次の6行が私のテストセットです。 次に、最初の時系列交差検定グループで行ったプロセスを繰り返します。 |
| |
ユーザーから要求されたARIMAモデルをすべて適合させ、推奨される状態空間平滑化モデルを適合させます。 AIC予測によって最適なモデルをテストセットに選択し、予測誤差を保存します。 |
| |
そして、すべてのデータを使い切るまでこれを続けます。 したがって、この例の最後の時系列交差検定グループは、トレーニングセットに1行目から22行目を使用し、残りのデータ、最後の6行をテストセットとして使用します。 |
| |
そのため、時系列交差検定グループごとに予測誤差を保存していると述べました。 |
| |
アドインが行うことは、2つのモデルクラスの全体的なRMSE、MAE、およびMAPEを報告し、すべての時系列交差検定グループのRMSEのプロットを提供することです。 |
| |
また、このテーブルとこのプロットを使用して、すべてのモデルを予測または状態空間平滑化モデルの予測に適合させる必要があるかどうかを判断するのに役立てることができます。 |
| |
このデータを使用して動作しているアドインを見てみましょう。 |
| |
そこで、興行収入のmojoから取得した興行収入のデータを開き、このスクリプトを実行して、このデータの時系列プラットフォームを起動します。時系列を確認したいだけだからです。 |
| |
私が予測しているのは、興行収入の週ごとの平均グロスです。週が分散し、平均グロスが大きくなるにつれて、ログ変換を行いたいことがわかります。 |
| |
平均グロスに。 平均グロスのログ式列を作成することでそれを行うことができますが |
| |
必須ではありません。アドインを使用すると、標準の時系列プラットフォームと同じように、BoxCox変換を実行できます。 だから、私は私のアドインを起動し、免責事項を過ぎてクリックします。 次の6週間の週ごとの興行収入の平均を予測したいと思います。 |
| |
対数変換を平均グロスにしたいので、ラムダがゼロに等しいボックスコックス変換を使用します。 |
| |
そして、[OK]をクリックします。 |
| |
したがって、これにより、BoxCox変換された応答の標準時系列レポートが起動します。 あらゆる種類の時系列モデルに適合させることができました。この赤い三角形のメニューを使用して、JMPで利用できるようにしたかったのです。 |
| |
ただし、代わりに、レポートの最後に移動し、時系列交差検定を使用して、ARIMAモデルと状態空間平滑化モデルのどちらを適合させるべきかについての推奨事項を取得します。 |
| |
最初の行を17のままにします。これにより、前の例で示した6つの時系列交差検定グループが得られます。 |
| |
興行収入で次の6週間を予測したいので、予測の長さを6に保ちます。この例では、期間を欠落と同じに保ちます。 |
| |
そこで、[実行]をクリックします。次に、すべての時系列交差検定グループにどのARIMAモデルを適合させたいかを指定する必要があります。 したがって、1つの非季節的差分を使用することにしましたが、自己回帰および移動平均次数を0または1にします。 |
| |
したがって、[推定]をクリックすると、時系列の交差検定グループごとに、これら4つのARIMAモデルと推奨される状態空間平滑化モデルに適合します。 |
| |
見積もりをクリックします。アドインが実行しているのは、このデータセットを6つの時系列交差検定グループに拡張し、要求されたモデルをテストセットのトレーニングセット予測に適合させ、予測誤差を保存することです。 |
| |
下にスクロールして結果を表示します。 表から、ARIMAモデル全体で、状態空間平滑化モデルよりも低いRMSE、MAE、およびMAPEが生成されたことがわかります。 そして、私がプロットを見れば |
| |
ARIMAモデルは、時系列交差検定グループごとに低いRMSEを生成したことがわかります。 |
| |
したがって、このアドインは、状態空間スマッシングモデルの代わりに、ARIMAモデルを使用してこのデータの予測を作成することをお勧めします。 したがって、赤い三角形のメニューに移動して、ARIMAモデルをARIMAモデルグループオプションに適合させることができます。 |
| |
アドインの別の例を見てみましょう。この次の例を実行するために、MC3Quarterlyサンプルデータのサブセットを使用します。 |
| |
MC3四半期サンプルデータには、MC3モデリングコンペティションからの100を少し超える時系列のデータが含まれています。 シリーズはすべて四半期ごとです。 |
| |
非常に多くの異なる時系列が含まれているという理由だけで、これは興味深いデータセットだと思います。 ただし、この講演では時間の理由から、シリーズの3つのランダムなサブセットをテーブルから取り出しました。 |
| |
そこで、アドインを起動します。 |
| |
そして、ランチャーを設定します。私のY列は私の時系列であり、時間は時間IDです。 また、複数のシリーズのデータがあるため、シリーズ列のbyオプションを使用する必要があります。 次の2年間を予測したいので、8つの予測期間を入力して、[OK]をクリックします。 |
| |
これにより、予想どおり、テーブル内のさまざまなシリーズごとの時系列レポートが表示されました。 また、テーブル内の各シリーズの時系列交差検定コントロールもあります。 |
| |
したがって、これらの各系列の時系列交差検定を使用して、ARIMAモデルまたは状態空間平滑化モデルを予測に使用するための推奨事項を取得できます。 |
| |
時間の都合上、最初のシリーズでのみ行います。 このシリーズの季節モデルに合わせたいので、4つの期間を使用します。 [実行]をクリックします。 |
| |
したがって、1の非季節差分次数を使用しますが、他のすべての自己回帰移動平均次数と季節差分次数は、0または1の範囲にします。 |
| |
繰り返しになりますが、これは四半期ごとのデータであるため、観測期間を4に設定します。 したがって、見積もりをクリックすると、これらの32個のARIMAモデルに適合します。 |
| |
時系列交差検定グループのそれぞれで。 したがって、アドインはシリーズがN691である場所に移動します。 |
| |
それを6つの異なる時系列交差検定グループに拡張しています。 リクエストしたARIMAモデルをトレーニングセットに適合させています。 トレーニングセットに推奨される状態空間平滑化モデル。 |
| |
AICによる最適なモデルの選択。 テストセットに予測し、予測エラーを保存します。 |
| |
少し待って終了します。 |
| |
どうぞ。 |
| |
そして、スクロールして結果を表示できます。 したがって、表からわかるように、ARIMAモデルは、状態空間平滑化モデルよりも低いRMSE、MAE、およびMAPEを生成しました。 |
| |
そして、プロットから、前回の時系列交差検定グループを除くすべてのグループで、ARIMAモデルのRMSEが低いことがわかります。 |
| |
状態空間平滑化モデルよりも、前のグループとほとんど同じでした。 |
| |
したがって、これも時系列の交差検定であり、ARIMAモデルを使用してシリーズN691の予測を作成することをお勧めします。 また、他の別のシリーズに移動してプロセスを繰り返すことができます。それらの場合は、状態空間平滑化モデルをお勧めします。 |
| |
したがって、アドインの別の機能が実際には時系列の相互検証に関連していないことを示して、デモを終了します。 |
| |
また、テストセットを使用してアドインを使用して予測を評価する機能も提供しました。これについては、SteelShipmentsのサンプルデータを使用して再度示します。 そこで、アドインを起動します。 さて、私は日付によって鋼の出荷を予測したいと思います。 |
| |
次の2年間を予測したいとします。したがって、24の予測期間を取ります。前述したように、シリーズが十分に長い場合は、ホールドバックセットに対して、ホールドバックの予測オプションを使用できます。 |
| |
モデルを選択します。 したがって、私はそれを行っているので、時系列の交差検定を実際に使用する必要はありません。 だから、私はトレーニングテストセットオプションを使用することができます |
| |
選択したモデルを評価するための独立したテストセットを用意します。 テストセットの長さを12にすることにします。 |
| |
これが意味するのは、データの最後の12行を取得し、それを分析から完全に除外することです。これを使用して、予測のパフォーマンスを評価できます。 だから私は大丈夫をクリックします。 |
| |
そして、何が起こったのかは、テーブルに別の列を追加したことがわかります。 これは、テストセットの単なるインジケーター列であり、行がテストセットに含まれている場合は1に等しく、含まれていない場合は0になります。 |
| |
そして、これらの時系列モデルを、テストセットがゼロに等しい行にのみ適合させます。 これにより、テストセットの独立性を維持できます。 |
| |
それでは、いくつかのARIMAモデルをこのデータに適合させましょう。 私はこの話の始めに行ったのと同じコントロールを使用し、季節的および非季節的な差異の順序を1にしますが、1つおきの順序を0から1の範囲にします。 |
| |
したがって、推定をクリックして、これらの16の異なる季節ARIMAモデルを実行し、推奨される状態の空間平滑化モデルにも適合させます。 |
| |
したがって、モデル比較ウィンドウまでスクロールダウンすると、ホールドバックセットの二乗平均平方根誤差を最小化するモデルは、加法誤差のない状態空間平滑化モデルであり、加法季節性の傾向がないことがわかります。 |
| |
テストセットで最高のパフォーマンスを発揮するARIMAモデルがどのように機能するかにも興味があるとしましょう。 私も選択できます。 |
| |
そして、予測を検討しなくなった他のモデルを削除します。 |
| |
したがって、ここでもホールドバックの予測オプションを使用したので、この状態空間平滑化モデルを選択して予測に使用しますが、ARIMAモデルがテストセットでどのように機能するのか興味があります。 |
| |
したがって、テストセット分析ボックスまでスクロールダウンできます。 そして、これが何をするのか、私はホールドバックの予測オプションを使用したので、これらの選択されたモデルの両方をトレーニングとホールドバックの組み合わせデータに再適合させて、更新されたパラメーターを取得します。 |
| |
次に、テストセットを予測し、実際のテストセットデータと比較して予測がどのように実行されたかを評価します。 |
| |
そこで、[実行]をクリックして分析を実行します。 また、テストセットRMSE、MAE、およびMAPEのテーブルと、予測と比較したテストセットのプロットがあることがわかります。 |
| |
状態空間平滑化モデルは、ホールドバックセットでパフォーマンスが向上しただけでなく、テストセットでもパフォーマンスが向上したことがわかります。 したがって、このテストセット分析オプションは、モデルの適合がどのように実行されたかを評価するためのツールを提供するだけです。 |
| |
つまり、要約すると。 アドインを使用すると、時系列の相互検証を実行できます。 |
| |
このアドインは、JMPにあるホールドバックの予測オプションを使用するのに十分な長さではない時系列データがあるが、それでも異なるモデルクラスの使用を検討したい場合に役立つと思います。 |
| |
アドインを使用すると、テストセットを使用して予測を評価することもできます。 また、免責事項と同様に、時系列データのすべてのモデル選択指標と同様に、アドインはより正確な予測を保証するものではありません。 |
| |
どうもありがとうございました。 アドインを試してみてください。また、Discoveryの残りの部分を楽しんでいただければ幸いです。 どうもありがとうございます。 |