地層を剥がす

声を失った人間の発声練習です

Pythonでグレンジャー因果推定をする

必要に迫られて、グレンジャー因果推定のコードをPythonで書いています。

 

調べてみると、以前はPandasにグレンジャー因果推定の関数が含まれていたようなのですが、現在はなくなってしまったらしい。うーん。代替手段はないのかな。日本語では十分な情報が出てこないため、「Python Granger causality」でググったところ、「Statsmodels」というパッケージが使えるようだとわかりました。

www.statsmodels.org

「Statsmodelsなんて一度も聞いたことないぞ、信頼していいのかな」と思って来歴を調べたところ、同サイトに以下のような記述がありました。

The models module of scipy.stats was originally written by Jonathan Taylor. For some time it was part of scipy but was later removed. During the Google Summer of Code 2009, statsmodels was corrected, tested, improved and released as a new package. Since then, the statsmodels development team has continued to add new models, plotting tools, and statistical methods.

About Statsmodels — statsmodels v0.10.0 documentationより

 

おお、何やら安心できそうな感じ。Jonathan Taylorさんはスタンフォードの方みたいです。

statweb.stanford.edu

というわけで、Statsmodelsをインストールし、グレンジャー因果推定をしてみました。参考にしたのは、stackoverflowに載っていた以下の質問です。

stackoverflow.com

質問者の方と同じデータを用意し、正しく動くコードを少しだけ書き換えたところ、難なく結果が出ました。しかし何と情けないことでしょう、結果がきちんと読み解けない。「統計の勉強に力を入れないとなあ」と決意を新たにしたのでした。

 

なお、今年度の目標は「統計検定2級に合格する」です。そのためにスタディサプリで高校数学も勉強中。何としても頑張ります!