# 基本のライブラリを読み込む
import pandas as pd
# グラフ描画
from matplotlib import pylab as plt
# グラフを横長にする
from matplotlib.pylab import rcParams
rcParams['figure.figsize'] = 15, 6
import matplotlib as mpl
mpl.rcParams['font.family'] = ['serif']
# データの準備
df = pd.read_csv("pcr_positive_daily.csv")
corona = pd.Series(df["PCR 検査陽性者数(単日)"].values,
index=pd.to_datetime(df["日付"]))
# SARIMAモデル(季節自己回帰和分移動平均モデル)
import statsmodels.api as sm
sarima = sm.tsa.SARIMAX(
corona, order=(2,1,3),
seasonal_order=(0,1,1,30),
enforce_stationarity = False,
enforce_invertibility = False
).fit()
# 予測
corona_pred = sarima.predict('2020-11-01', '2020-12-31')
# 実データと予測結果の図示
plt.plot(corona, label='original', color='red')
plt.plot(corona_pred, label='predicted', color='blue')
plt.xlabel("date")
plt.ylabel("Corona positive")
plt.legend(loc='best')
# # 予測値
# print(corona_pred)