def predict_data(tr_data,i):
hidden_states = model.predict(tr_data)
loglik, posterior = model.score_samples(tr_data)
last_state = hidden_states[-1]
prop_stat = posterior[:, last_state]
last_pro = prop_stat[-1]
len_pro = len(prop_stat) - 1
abs_pro = np.zeros(len_pro)
for j in range(len_pro):
abs_pro[j] = abs(prop_stat[j] - last_pro)
abs_pro_ind = np.argsort(abs_pro)
abs_pro_log = np.log(abs_pro)
d = 5
weigh = np.zeros(d)
weigh_deno = 0
for j in range(d):
weigh_deno += 1 / abs_pro_log[abs_pro_ind[j]]
for j in range(d):
weigh[j] = 1 / (abs_pro_log[abs_pro_ind[j]] * weigh_deno)
print("权重和", weigh.sum())
pre_data = tr_data[-1]
for j in range(d):
pre_data += weigh[j] * (tr_data[abs_pro_ind[j] + 1] - tr_data[abs_pro_ind[j]])
return pre_data
有没有大佬告诉我一下这个怎么错了