python中轨迹估计的最大似然估计

时间:2019-07-24 13:41:24

标签: python prediction mle

我正在尝试使用最大似然估计来预测轨迹。我应该如何使用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

0 个答案:

没有答案