株価予測
株価の予測を行ってみましょう。
Prophetを使用して株価の未来予測を行うことが可能です。
以下は、仮想の株価データを用いてProphetを使った株価予測の例です。
1 | import pandas as pd |
この例では、乱数を使って生成したランダムな価格変動を持つ株価データを作成し、Prophetモデルを使って未来30日間の株価を予測しています。
生成されたランダムなデータを用いているため、実際の株価とは関係ありませんが、Prophetがこのようなデータでも時系列の予測を行うことができることを示しています。
ソースコード解説
このソースコードは、PythonのPandas、NumPy、Prophet(Facebookが提供する時系列データの予測ライブラリ)、Matplotlibを使用して、ランダムな株価データを生成し、Prophetモデルを使って未来の株価を予測し、その結果をグラフ化しています。
1. ランダムな株価データの生成
1 | np.random.seed(42) |
この部分では、np.random.seed(42)
で乱数のシードを設定し、365日分の日付とランダムな株価のデータを生成しています。
これらのデータを'ds'
(日付)と'y'
(株価)のカラムを持つPandasのDataFrameに格納しています。
2. Prophetモデルの作成と学習
1 | model = Prophet() |
Prophetのモデルを作成し、fit()
メソッドを使ってデータを学習させています。
Prophetは時系列データの予測に特化したモデルで、ここでは与えられた株価データを元にモデルを構築しています。
3. 予測用データの作成と予測
1 | future = model.make_future_dataframe(periods=30) # 30日間の予測 |
make_future_dataframe()
メソッドを使って、元のデータから未来の30日間の日付を含むDataFrameを作成しています。
それを使ってpredict()
メソッドで予測を行い、forecast
に未来の予測結果を格納しています。
4. 予測結果をグラフ化
1 | fig = model.plot(forecast) |
最後の部分では、plot()
メソッドを使って予測結果をグラフ化しています。
横軸には日付、縦軸には株価が表示され、予測されたデータに対する実際のデータと予測の境界が示されています。
これにより、モデルが学習した過去のデータに対する予測と未来の予測の推移が視覚化されます。
結果解説
このグラフは、Prophetによる株価の予測を示しています。
横軸は日付を示し、縦軸は株価を表しています。
以下はグラフの要素についての詳細です。
1. 黒色の点:
グラフ上の黒色の点は、実際の株価データを表しています。
過去の実際のデータポイントがこの線上にプロットされています。
2. 青色の線:
青色の線は、過去の実際のデータポイントに対するProphetモデルの適合を表しています。
点線が黒色の点に密着しているほど、モデルが過去のデータをよく予測できていることを示します。
3. 青色の領域:
青色の線の周囲には、淡い青色の領域があります。
これは予測区間を表しており、将来の株価の変動がこの領域内に含まれる可能性を示しています。
通常、時間が経つにつれてこの領域が広がる傾向があります。
このグラフ全体を通じて、過去の実際のデータに対するモデルの適合度や未来の予測値が視覚的に表現されています。
モデルが過去のデータに適合し、予測区間が示されていることで、将来の株価の予測に対する確信度や不確実性を示すことができます。