リンク内容
これを参考に2変量のVARモデル構築とgranger因果を行おうと考えています。
import statsmodels as sm import statsmodels.api as sap from statsmodels.graphics import tsaplots from statsmodels.tsa import stattools from statsmodels.tsa.api import VAR, DynamicVAR import matplotlib.pyplot as plt import seaborn as sns import pandas as pd import numpy as np sns.set() Confirmed_df = pd.read_csv("12.22min.csv",index_col="time", parse_dates=True) flow = Confirmed_df['flow'].dropna() sBP = Confirmed_df['sBP'] sBP = sBP[sBP>0] flow_diff = flow.diff().dropna() flow_diff = flow_diff[flow_diff>=0] sBP_diff = sBP.diff().dropna() sBP_diff = sBP_diff[sBP_diff>=0] diff_fs = pd.merge(flow_diff, sBP_diff, on='time', how='inner') diff_fs.columns = ["flow_diff", "sBP_diff"] diff_fs.info()
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 210 entries, 2020-12-22 18:46:00 to 2020-12-23 08:32:00
Data columns (total 2 columns):
Column Non-Null Count Dtype
0 flow_diff 210 non-null float64
1 sBP_diff 210 non-null float64
dtypes: float64(2)
memory usage: 4.9 KB
diff_fs
flow_diff sBP_diff
time
2020-12-22 18:46:00 0.384545 1.0
2020-12-22 18:47:00 0.104765 0.0
2020-12-22 18:51:00 0.006497 12.0
2020-12-22 18:52:00 0.111667 1.0
2020-12-22 18:54:00 0.081667 2.0
... ... ...
2020-12-23 08:15:00 0.576807 19.0
2020-12-23 08:19:00 0.682426 5.0
2020-12-23 08:21:00 0.226620 2.0
2020-12-23 08:24:00 0.481234 7.0
2020-12-23 08:32:00 1.455691 25.0
210 rows × 2 columns
models_diff = VAR(diff_fs)
ValueWarning: A date index has been provided, but it has no associated frequency information and so will be ignored when e.g. forecasting.
warnings.warn('A date index has been provided, but it has no'
diff_fs.info()ではindexはDatetimeIndexとなっているのですが、時系列としての認識がうまくいっていないためかエラーが出てしまいます。
きっちり1分おきのデータが入っていないためでしょうか?
このような場合は欠損値を無視して実行できるのでしょうか?
または何か欠損値を保管する方法があれば御指南いただければ幸いです。
あなたの回答
tips
プレビュー