The formula to estimate $\mathbf{h}$ is then $$\hat{\mathbf{h}} = (X^T X)^{-1} X^T \vec{y}\tag{2}$$

I think this can be implemented in Matlab using hat_h = pinv(X)*X*y

Question 1 : What is the lag of the model?

Question 2: I don't know how to create the design matrix X in order to estimate h. Can somebody please provide the complete implementation? Thank you


The equation you're trying to solve is $$ \mathbf{y}=\mathbf{X}\mathbf{h}, $$ where $\mathbf{h}$ is your unknown. The matrix $\mathbf{X}$ is going to have a time-shifted structure that reflects the convolution operator. If we assume that the $\mathbf{y}$ vector starts with y(3) i.e. ignores the first two zeroed out elements of y, then the corresponding $\mathbf{X}$ matrix is given by:

$$ \mathbf{X}=\left[\begin{matrix} x(3) & x(2) & x(1)\\ x(4) & x(3) & x(2) \\ x(5) & x(4) & x(3) \\ ... & ... & ... \end{matrix} \right] $$

You can add as many rows as you are have observations to support them. You can then solve for $\mathbf{h}$ by $$ \mathbf{h}_{est}=\text{pinv}(\mathbf{X})\mathbf{y} $$

  • $\begingroup$ Thank you for your reply. The structure of X starts from the third element and there are 3 coefficients. So, is this an MA model of order 3 or order 2? Can you please let me know? $\endgroup$ – SKM May 1 '17 at 13:51
  • $\begingroup$ Your system is represented by a quadratic polynomial - thus having 2 roots, so it's a 2nd order system. $\endgroup$ – David May 1 '17 at 14:45

If X is your design matrix then the matlab implementation of Ordinary Least Squares is:

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

I attempted to answer your other question here: How to apply Least Squares estimation for sparse coefficient estimation? which explains how to create the design matrix.

As mentioned this is a second order Moving Average model, lag of 2. https://onlinecourses.science.psu.edu/stat510/node/48


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.