目前正在运行下面的代码来计算一个成对的格兰杰因果矩阵,但是我需要在滚动窗口上测量它来创建一个时间序列。
maxlag=3
test = 'ssr-chi2test'
def grangers_causality_matrix(data, test = 'ssr_chi2test', verbose=False):
dataset = pd.DataFrame(np.zeros((len(data.columns), len(data.columns))), columns=data.columns, index=data.columns)
for c in dataset.columns:
for r in dataset.index:
test_result = grangercausalitytests(data[[r,c]], maxlag=maxlag, verbose=False)
p_values = [round(test_result[i+1][0][test][1],4) for i in range(maxlag)]
if verbose: print(f'Y = {r}, X = {c}, P Values = {p_values}')
min_p_value = np.min(p_values)
dataset.loc[r,c] = min_p_value
return dataset
暂无答案!
目前还没有任何答案,快来回答吧!