1
$\begingroup$

I have a time-series observation dataset that has been distorted. I want to recover the best approximation of the original signal as possible. Disclaimer:: I know only the basics of linear algebra, so please bear with me.

I have a good model of the distortion, represented by a square matrix. In theory, if I can find an inverse of the transformation, I can recover the original signal. However, the model of the distortion as a matrix is ill-conditioned (i.e. almost singular).

Is it possible to take this matrix model, and generate an invertible matrix that is an approximation of the original matrix?

$\endgroup$
  • $\begingroup$ The most robust way I know of is the SVD. $\endgroup$ – MBaz Jun 24 '16 at 17:25
1
$\begingroup$

The usual way to approach inverting a matrix that is rank deficient is to use a generalized inverse.

This means if your matrix equation is: $$ y = \mathbf{A}x $$ where $\mathbf{A}$ is an $n \times m$ matrix, then you can use, for example, the Moore-Penrose pseudo-inverse, $\mathbf{A}^{+}$: $$ \mathbf{A}^{+} = (\mathbf{A}^*\mathbf{A})^{-1} \mathbf{A}^* $$ if a left inverse is required or $$ \mathbf{A}^{+} = \mathbf{A}^*(\mathbf{A}\mathbf{A}^*)^{-1} $$ for the right inverse.

If $n=m$ then either be used.

However, as per the link above, there are many different possibilities for selecting an inverse in the rank-deficient / non-square case because the system of equations is underdetermined.

As per @MBaz's comment, you can calculate this using the singular value decomposition of $\mathbf{A}$.

$\endgroup$
  • $\begingroup$ Yes, I calculated the Moore-Penrose pseudo-inverse with Mathematica. However, the results were unsatisfactory, i.e. the pseudo inverse was not very good at recovering the original signal. $\endgroup$ – Justin G Jun 27 '16 at 21:02

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.