我正在尝试使用最大似然估计来预测轨迹。我应该如何使用MLE的均值和方差来计算轨迹估计的参数?
假设我有一个表示手势X坐标的函数,其中: X(t)= a * X(t-1)+ a1 * X(t-2)+ a2 * Y(t-1)+ε和a2 = da(2-1)+ u,其中ε和u为噪声。 其中,t表示下一个时间段,t-1表示当前时间段,Y表示手的Y坐标。我需要使用MLE估计a,a1和a1才能预测X(t)。
由于我真的很陌生,有什么建议吗? 当前在python中使用一些代码进行均值和方差计算。
import pandas as pd
import numpy as np
def expectation_max(data, max_iter=1000):
data = pd.DataFrame(data)
mu0 = data.mean()
c0 = data.cov()
for j in range(max_iter):
w = []
# perform the E part of algorithm
for i in data:
wk = (5 + len(data))/(5 + np.dot(np.dot(np.transpose(i - mu0), np.linalg.inv(c0)), (i - mu0)))
w.append(wk)
w = np.array(w)
# perform the M part of the algorithm
mu = (np.dot(w, data))/(np.sum(w))
c = 0
for i in range(len(data)):
c += w[i] * np.dot((data[i] - mu0), (np.transpose(data[i] - mu0)))
cov = c/len(data)
mu0 = mu
c0 = cov
return mu0, c0