見出し画像

過去のデータを使って将来を予測する。分析前にやるべきこと(ディッキー・フラー検定)


将来の売り上げを予想するにあたっては、過去5年間の売上や株価を利用するなど、多くのケースで時系列データを利用しています。
そこで注意しなくてはならないのは、使用する時系列データが変なトレンド(非定常性)を持っていないかを確認することです。

例えば、アイスクリーム屋であれば、季節や気温によって売上が左右されることは想像に難くありません。「1年間のうち、夏の間だけ売上が高い」といったトレンドを持っている時系列データは分析に使うことができません。

ここでは、分析前に時系列データが分析に影響を与える変なトレンドを持っていないかを確認する検定を紹介します。





拡張ディッキー・フラー検定(Extended Dickey-Fuller test)

時間系列データの単位根(非定常性)の存在を検定する統計的な手法。ディッキー・フラー検定は、データが非定常過程であるかどうかを確認するために一般的に使用されますが、拡張ディッキー・フラー検定は、より複雑な非定常性のパターンを検出するために開発されました。

拡張ディッキー・フラー検定では、単位根過程に対して自己回帰モデルを適用し、その係数の統計的有意性を評価します。もし係数が統計的に有意であれば、非定常性が存在すると結論されます。一方、係数が統計的に有意ではない場合、非定常性の存在を否定し、データが定常過程であると結論されます。

拡張ディッキー・フラー検定は、金融市場や経済データなどの時間系列データの分析に広く使用されています。非定常性の存在は、データの予測やモデリングの精度に影響を与える可能性があります。したがって、データの分析や予測モデルの構築において、非定常性を検定することは重要な手法の一つです。

[MATLABコード]
% 時系列データの作成
data = [10, 12, 14, 16, 18];

% 拡張ディッキー・フラー検定の実行
[h, pValue] = adftest(data);
disp(['ADFテスト結果: ', num2str(h)]);
disp(['p値: ', num2str(pValue)]);

*他のプログラミングのコードはchatGPTで生成してください。


定常性(Stationarity)

時間系列データの特性の一つであり、データの統計的性質が時間によって変化しないことを指します。定常性が満たされているということは、データの平均や分散、自己相関などの統計的性質が時間の推移によって一定であり、時間の依存性がないことを示します。(夏だけ売り上げが大きいといった偏りがないこと)

定常性が重要な理由は、データの予測やモデリングにおいて、時間の変動パターンを一定に仮定することで、より信頼性の高い結果を得ることができるからです。非定常なデータは、トレンド(上昇または下降)や季節変動などの時間の変動を含んでおり、これらの変動パターンは将来の予測においても継続する可能性があります。しかし、定常なデータでは、過去の統計的性質が将来にも適用可能であるため、より安定した予測ができるとされます。

定常性を確認するためには、統計的な手法や検定が使用されます。代表的な手法には、単位根検定(unit root test)やディッキー・フラー検定(Dickey-Fuller test)。

定常性が確認されたデータは、統計的モデル(例:ARIMAモデル)や機械学習アルゴリズムなどを適用して予測や分析が行われる場合があります。

例として、以下の2つの時間系列データを考えてみます:

データセットA: [10, 12, 14, 16, 18] (等差数列)
データセットB: [10, 20, 40, 80, 160] (等比数列)

データセットAは、等差数列であり、時間の経過に伴って一定の増加パターンを持っています。一方、データセットBは、等比数列であり、時間の経過に伴って増加率が一定です。

これらのデータセットの定常性を検証してみましょう。

まず、データセットAについて考えます。データセットAは等差数列であり、増加パターンが一定です。そのため、平均や分散、自己相関などの統計的性質は時間によって変化しません。この場合、データセットAは定常性を持っていると言えます。

次に、データセットBについて考えます。データセットBは等比数列であり、増加率が一定ですが、時間の経過に伴って数値が増加しています。このようなデータはトレンド(上昇)を持ち、定常性を満たしていません。なぜなら、統計的性質(平均や分散)が時間の推移とともに変化しているためです。

定常性が満たされているデータは、過去の統計的性質が将来にも適用可能であるため、安定した予測が可能です。一方、非定常性が存在するデータは、時間の変動パターンが持続する可能性があり、予測やモデリングの精度に影響を与える可能性があります。



単位根(Unit Root)

次に単位根という概念も紹介しておきます。
経済学や時間系列分析において使用される概念で、非定常性(non-stationarity)を表します。単位根過程は、時間の推移とともに平均値が変化する非定常な過程を指します。

単位根の存在は、データの分析やモデリングにおいて重要です。なぜなら、非定常なデータでは統計的性質(平均や分散)が時間の経過とともに変化するため、安定した予測や推測が困難になるからです。

単位根検定(Unit Root Test)は、データが単位根を持つかどうかを判断するための統計的な手法です。この検定では、データの自己回帰モデルを使用して、係数の統計的有意性を評価します。もし係数が統計的に有意であれば、単位根が存在し、データは非定常であると結論されます。

単位根過程が存在する場合、データの差分を取ることで定常性を回復させることができます。差分を取ることで、データの変化の速度(増加率)やトレンドが一定化され、より安定したデータが得られます。差分を取ることで定常性が確認されたデータは、統計的モデルや予測モデルの構築に使用されることがあります。

このように、非定常性を持つ時系列データでも後処理をしてあげれば、分析に利用することができるのです。

単位根検定は、金融市場や経済データなどの時間系列データの分析において広く使用されており、非定常性の存在は、データの統計的性質やパターンの変化を理解する上で重要な要素です。

分析を行う際に、ネット上で拾ってきたデータをそのまま分析するのではなく、そのデータが分析するに値するデータであるか事前に確認することがとても重要です。




この度なんと、コースを首席で卒業できることとなりました。
Outstanding performanceだとして賞状と少しばかりの賞金が贈られる予定です。努力が報われて嬉しいですね。

今後も継続して正しい努力をしていきたいものです。



この記事が参加している募集

仕事について話そう

この記事が気に入ったらサポートをしてみませんか?