MATLAB:为给定模型实现最小二乘估计器

信息处理 matlab 有限脉冲响应 移动平均线 状态空间 最小二乘
2022-02-14 15:47:45

估计的公式是 h

(2)h^=(XTX)1XTy

我认为这可以在 Matlab 中使用hat_h = pinv(X)*X*y

问题1:模型的滞后是多少?

问题 2:我不知道如何创建设计矩阵X以估计h. 有人可以提供完整的实现吗?谢谢

2个回答

你试图求解的方程是 其中是你的未知数。矩阵将具有反映卷积算子的时移结构。如果我们假设向量以 y(3) 开头,即忽略 y 的前两个归零元素,则对应的矩阵由下式给出:

y=Xh,
hXyX

X=[x(3)x(2)x(1)x(4)x(3)x(2)x(5)x(4)x(3).........]

您可以添加尽可能多的行来支持它们。然后,您可以通过 求解h

hest=pinv(X)y

如果 X 是您的设计矩阵,那么普通最小二乘法的 matlab 实现是:

    h_hat = X'*X\(X'*y);

我试图在这里回答您的另一个问题:如何将最小二乘估计应用于稀疏系数估计?它解释了如何创建设计矩阵。

如前所述,这是二阶移动平均模型,滞后 2。https://onlinecourses.science.psu.edu/stat510/node/48