はじめに
Metaが開発した時系列データの統計予測モデルであるProphetですが、Windowsに関してはインストールに難があるという報告があります。
Prophetのインストール方法(Windows) - インドネギヤ王国情報技術開発局
が、今回情報を集めてWindowsでもインストールできる方法を発見したので挑戦してみます。具体的には、
- Windowsで
- anacondaの仮想環境を使って
- VSCode上のjupyter notebookを使って
- prophetをimportできる
方法を述べています。
環境
- Windows 10 Pro 64 bit
- anaconda 22.9.0
手順
anacondaで仮想環境を構築
Anacondaで仮想環境を構築する方法 | sakizo blogを参考にconda環境を構築します。
myenvという名前のConda環境を構築します。このとき、PyEphem、Plotly、Cython、PyStanなどProphetが依存しているパッケージなども一緒にインストールします。これはProphetインストール手順を参考にしました。
conda create -n myenv python==3.8 ephem plotly cython pyStan==2.19.1.1 holidays==0.24 prophet==1.1.2 pandas numpy matplotlib jupyterlab
pythonはバージョン3.8必須です。元記事ですと、holidays
がなかったのですが、これがないとTypeError: This is a python-holidays entity loader class.
エラーが発生します。また、holidays
とprophet
のバージョンを固定にしておくのもポイントです。
参考:Cannot import prophet · Issue #2432 · facebook/prophet
ここで、base環境(最初の状態で既にある環境)と、作成した環境を確認します。
conda info -e
以下の様に出力されます。今使っている環境には*が付きます。
# conda environments:
#
base * E:\****\anaconda3
myenv E:\****\anaconda3\envs\myenv
このとき、私はpowershellで実行していて*がつかなかったのですが、conda init powershell
を実行してpowershellを再起動したところ正常に*が出ました。
次のコマンドで作成したconda環境に移動します。
conda activate myenv
もう一度conda info -e
を実行すると、作成したmyenv
に*が移っていることがわかります。
# conda environments:
#
base E:\usr\anaconda3
myenv * E:\usr\anaconda3\envs\myenv
VSCodeでjupyter notebookを起動する
myenv環境に移動したディレクトリでVSCodeを開き、jupyter notebookのファイル(*.ipynb)を作成します。そのファイルを開き、右上にある"base(python 3.9.13)"をクリックします。すると、画面上部中央に小窓が表示されますので、"Select another kernel..."をクリックします。順次、"Python environments...", "myenv Python(3.8.0)"とクリックします。すると、作成した仮想環境が設定されます。ここでjupyter notebookを作成して、import prophet
すると、正常にインポートできます。
おわりに
Windowsでprophetを使う方法について述べました。強力な時系列データの解析アルゴリズムなので是非使ってみましょう。