Mini projet


But

L'objectif de ce mini projet est de réaliser un code permettant de calculer un périodogramme. On commence par établir la formule des moindres carrés dans le cas d'un modèle linéaire.

Moindres carrés linéaires

On se donne des observations y et on considère une matrice réelleA de taille m,n avec m>n et de rang n. On veut calculer \hat{\theta}, minimisant F(\theta)=\sum\limits_{k=1}^m \left(\frac{y_k - A \theta}{\sigma_k}\right)^2. On pose W matrice diagonale dont les éléments diagonaux valent \frac{1}{\sigma_k} et \Sigma = W^2. En termes vectoriels, F(\theta) = \|W(AX-y) \|^2. Comme on veut trouver le minimum de F(\theta) et que cette fonction est différentiable, ce minimum vérifie dF(\theta)dF est la différentielle de F. Montrer que la solution de dF(\theta) = 0 est \hat{\theta} = (A^T \Sigma A)^{-1} A^T \SigmaT désigne la transposition. Montrer que c'est un minimum global. (On pourra utiliser le fait que \|W(AX-y) \|^2 = (y-AX)^T\Sigma (y-AX).

Périodogramme

Nous voulons trouver la sinusoïde qui a la distance minimale aux données y au sens des moindres carrés. En d'autres termes, on veut ajuster \theta_{\omega} = \left( \begin{array}{c} a_{\omega} \\ b_{\omega}  \end{array}  \right) F_\omega(\theta)=\sum\limits_{k=1}^m \left(\frac{y_k - a_{\omega} \cos \omega t_k - b_{\omega} \sin \omega t_k}{\sigma_k}\right)^2 où les t_k sont des instants d'observation. Calculer avec la formule précédente \theta minimisant F_\omega(\theta). On notera P(\omega) = a_{\omega}^2 + b_{\omega}^2

Implémentation

Dans le langage informatique de votre choix, écrire un programme permettant de: