Finding a good inverse for an ill-conditioned matrix transformation

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?

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

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.
As per @MBaz's comment, you can calculate this using the singular value decomposition of $\mathbf{A}$.