現在arimaを使って時系列データの予測をしようとしています。しかし、下のコードをやっても
画像のように予測が最初はできるのですが途中から直線になってしまいます。どうしたら良いのでしょうか?
python
1pip install git+https://github.com/statsmodels/statsmodels.git 2 3import pandas as pd 4import numpy as np 5import matplotlib.pyplot as plt 6import seaborn as sns 7import keras 8from sklearn.model_selection import train_test_split 9from statsmodels.graphics.tsaplots import plot_acf, plot_pacf 10from statsmodels.tsa.arima.model import ARIMA 11from sklearn.metrics import mean_squared_error 12from statsmodels.tsa.stattools import adfuller 13from statsmodels.graphics.tsaplots import plot_acf 14 15testla_df = pd.read_csv("/content/drive/MyDrive/stock/TSLA.csv") 16 17def preprocess(df): 18 df['Date'] = df['Date'].apply(lambda x: pd.to_datetime(x)) 19 df = df.set_index('Date') 20 df.drop(['Open', 'High', 'Low', 'Adj Close', 'Volume'], axis=1, inplace=True) 21 return df 22 23tesla_df = preprocess(testla_df) 24 25x = tesla_df.values 26 27train = x[:1000] 28test = x[1000: 29 30model = ARIMA(train, order=(3, 1, 1)) 31result = model.fit() 32 33predictions = result.forecast(steps=len(test)) 34 35plt.plot(predictions) 36
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。