地震に関するPythonのコードを記入していますが、
サンプルコードをそのままコピペしたのにも関わらずエラーが出てしまいます。
他にも、太字になっている箇所が黄色い波線が出ている(おそらくエラーになりそうな箇所)となります。
参考サイト
https://mahalanobisss.com/python_earthquake
開発環境はVisual Studio Code、Windows 10 Proです。
コード一覧は下記の通り
import os
import glob
import pandas as pd
import datetime as dt
os.chdir("C:\eq_list")
df = pd.DataFrame(columns = [])
for i in glob.glob("地震リスト"):
tmp = pd.read_csv(i)
df = pd.concat([df, tmp])
datetime型に変換する
from datetime import datetime as dt
datetime = dt.strptime(str_datetime, "%Y/%m/%d %H:%M:%S")
datetime
for文適用
datetimes = []
for index, datum in df1.iterrows():
date = datum["地震の発生日"]
time = datum["地震の発生時刻"]
str_datetime = f"{date} {time}"
datetime = dt.strptime(str_datetime, "%Y/%m/%d %H:%M:%S")
datetimes.append(datetime) # datetimesというリストに格納する
df1["ds"] = datetimes # 新しいdsというカラムに格納する
Prophetを利用した予測
from fbprophet import Prophet
from fbprophet.plot import add_changepoints_to_plot
model = Prophet( growth='linear',
changepoints=None,
n_changepoints=25,
changepoint_range=0.8,
yearly_seasonality='auto',
weekly_seasonality='auto',
daily_seasonality='auto',
holidays=None,
seasonality_mode='multiplicative',
seasonality_prior_scale=20.0,
holidays_prior_scale=10.0,
changepoint_prior_scale=0.05,
mcmc_samples=0,
interval_width=0.8,
uncertainty_samples=1000,
stan_backend=None,)
df_train = df[df["ds"] <= dt(2020,1,1,0,0)]
model.fit(df_train)
将来の予測したいデータを用意する必要がある 箱を用意
future = model.make_future_dataframe(24*800, freq="H")
future.tail()
予測してみる
forecast = model.predict(future)
model.plot(forecast)
plt.xlim(dt(1919,5,1), dt(2021,12,31))
plt.show()
model.plot_components(forecast)
plt.show()
import statsmodels.api as sm
plt.rc("figure", figsize = (12,6))
res = sm.graphics.tsa.plot_acf(df["y"],lags = 3000)