Я использую Pykalman для регрессии, но я хотел бы оценить ошибку коэффициента регрессии.В частности, у нас есть следующие выражения:
Y (t) = B (t) X (t) + v
, где сам коэффициент регрессии (B) является случайным процессом, определяемым как:
B (t) = B (t-1) + w
Таким образом, "шум", с которым я имею дело, дается v и w, представляя гауссов шум, где:
w ~ N (0, Q )
v ~ N (0, R )
Теперь - я хотел бы определитьотношение сигнал / шум выражается как Q / R .Мой вопрос заключается в том, как извлечь эти значения из процесса Пикальмана.В настоящее время мой код возвращает только коэффициент регрессии, но как мне получить Q и R?
def UpdateKalman(self, ins1, ins2):
obs_mat = np.array([[ins1, 1.0]])
means, covs = self.kf.filter_update(self.previous_state_means.T,
self.previous_state_covs[0],
observation=np.asarray(ins2),
observation_matrix=obs_mat)
self.previous_state_covs = covs
self.previous_state_means = means
beta = means[:, 0][0]
return beta