公開日:2021.06.29

簡単で面白い結果が見れる Prophet を紹介します

テクログpython

こんにちは。 ライアンです。

今日は簡単に使用可能な時系列モデルのprophetを紹介しながら

簡単な例題を書いてみようと思います!

prophetは2つの特徴があります。

1.時系列の方法の教育を受けずに予測するのに適しているとこ

2.潜在的に発生する様々な予測問題、ユニークな特長をモデルに反映できること

https://peerj.com/preprints/3190.pdf

自分が感じたBTCの特徴は以下の二つです

1.夜中に低値が来る

2.動きが激しい

上記の特徴を参考して簡単に予測して行きます

↓はBTCの値段予想

Windowsでの環境構築

 anacondaインストール

 pip install pyupbit ←ここは自分の取引所で問題ないです

 pip install schedule

 conda install -c conda-forge fbprophet

 pip install pystan –upgrade ←エラーが出たらpipもupgrade

import pyupbit <- 自分が使ってる取引所のAPIを importする
#BTC最近の148時間のデータを取得
df = pyupbit.get_ohlcv("KRW-BTC", interval="minute60", count=148)
df

↓ みたいなデータをdataFrame形式で取得

#時間(ds)と終値(y)のみ残す
df = df.reset_index()
df['ds'] = df['index']
df['y'] = df['close']
data = df[['ds','y']]
data

必要なデータのみ残してデータを成形する

#prophet import
from fbprophet import Prophet

#学習
model = Prophet()
model.fit(data)

#24時間の予想
future = model.make_future_dataframe(periods=24, freq='H')
forecast = model.predict(future)

#グラフ
fig1 = model.plot(forecast)

prophetを呼び出して予想した結果

#グラフ2
fig2 = model.plot_components(forecast)

dailyとtrendグラフ

結論

1.

   明日は今日より上がる予定に見えます。

2.

   動きが激しくはないけど

   『1.夜中に低値が来る』

   3時25分~6時51分に低値が来るのが確認できました。

★実際の投資には異なる可能性がありますので

★あくまで参考だけにしてください

この記事を書いた人

ライアン

入社年2018年

出身地Seoul

業務内容WEB開発

特技または趣味料理とゲーム

ライアンの記事一覧へ

テクログに関する記事一覧