0

我是使用 ARIMA 建模时间序列的新手

这里我有一个不同时间的动态图,在图的每个快照中我计算 Adamic Adar 相似度指数,然后我使用每个输出作为 arima 模型的输入

Ademic Adar 计算如下

aa_matrix_6 = np.zeros(adj_train.shape)
for u, v, p in nx.adamic_adar_index(G6): # (u, v) = node indices, p = Adamic-Adar index
    aa_matrix_6[u][v-1] = p
    aa_matrix_6[v-1][u] = p # make sure it's symmetric
aa_matrix_6 = aa_matrix_6 / aa_matrix_6.max() # Normalize matrix
print(aa_matrix_6)

这里的G6,是graph snapshots,总之我有7个snapshot

我使用这些输出作为 arima 模型的输入,如下所示:

All_matrices=np.dstack([aa_matrix,aa_matrix_2,aa_matrix_3,aa_matrix_4,aa_matrix_5,aa_matrix_6])

#连接每个相似度得分

然后我使用 auto_arima 找到最佳参数

from pmdarima import auto_arima
stepwise_fit = auto_arima(total.reshape(-1), trace=True,suppress_warnings=True)

这是结果

Performing stepwise search to minimize aic
 ARIMA(2,1,2)(0,0,0)[0] intercept   : AIC=-461835.291, Time=234.65 sec
 ARIMA(0,1,0)(0,0,0)[0] intercept   : AIC=-400534.774, Time=20.49 sec
 ARIMA(1,1,0)(0,0,0)[0] intercept   : AIC=-426988.637, Time=15.61 sec
 ARIMA(0,1,1)(0,0,0)[0] intercept   : AIC=-453393.003, Time=53.99 sec
 ARIMA(0,1,0)(0,0,0)[0]             : AIC=-400536.774, Time=7.49 sec
 ARIMA(1,1,2)(0,0,0)[0] intercept   : AIC=-461087.013, Time=125.36 sec
 ARIMA(2,1,1)(0,0,0)[0] intercept   : AIC=-462361.869, Time=141.60 sec
 ARIMA(1,1,1)(0,0,0)[0] intercept   : AIC=-461411.199, Time=139.50 sec
 ARIMA(2,1,0)(0,0,0)[0] intercept   : AIC=-435938.612, Time=26.53 sec
 ARIMA(3,1,1)(0,0,0)[0] intercept   : AIC=-458016.591, Time=150.89 sec
 ARIMA(3,1,0)(0,0,0)[0] intercept   : AIC=-440255.631, Time=17.56 sec
 ARIMA(3,1,2)(0,0,0)[0] intercept   : AIC=inf, Time=129.69 sec
 ARIMA(2,1,1)(0,0,0)[0]             : AIC=inf, Time=32.35 sec

Best model:  ARIMA(2,1,1)(0,0,0)[0] intercept
Total fit time: 1095.751 seconds

怎么了?我维权?拜托我需要你的帮忙

4

0 回答 0