Bonjour,
Je cherche à savoir si, sur une matrice de Fisher, l'opération de projection (avec une matrice Jacobienne) commute avec une opération de marginalisation (on enlève une ou des lignes/colonnes correspondant chacune à un paramètre que l'on veut estimer (issu de la matrice de Covariance qui est la matrice inverse de la matrice de Fisher).
Les 2 façons de construire ces 2 matrices sont :
1) Première méthode :
1.1) J'ai une matrice de Fisher initiale F_ij de taille 5x5. J'applique une projection sur cette matrice avec un Jacobien J_ij de taille 5x5, selon la formule :
1.2) J'ai donc une nouvelle matrice de Fisher 5x5 "M_1" que l'on qualifie de "projetée", c'est-à-dire que les anciens paramètres ont été remplacés par de nouveaux paramètres (issus du Jacobien)
2) Deuxième méthode :
2.1) J'inverse directement la matrice de Fisher initiale 5x5 et ainsi j'obtiens une matrice de covariance 5x5. Je fais ensuite une projection sur cette matrice de covariance.
2.2) Je re-inverse pour obtenir une nouvelle matrice de Fisher 5x5 "M_2"
Le but est de savoir si dans les 2 méthodes, si les 2 matrices "M_1" et "M_2" sont égales.
ça revient donc à savoir si l'opération de projection et l'inversion de matrice commutent.
Il faut aussi préciser que ma matrice de Fisher initiale est symétrique et est composée de sous matrices blocs (pas nécéssairement carrés).
J'ai cherché de mon coté et j'ai peut être une piste avec le complément de Schur : https://fr.wikipedia.org/wiki/Compl%C3%A9ment_de_Schur mais je n'arrive pas à conclure.
Si quelqu'un arrive à prouver qu'il n'y a pas égalité entre les 2 matrices "M_1" et "M_2", sous quelles conditions sur le Jacobian pourrais-je avoir une égalité ?
Ci-dessous un script Matlab de calcul symbolique où j'essaie de conclure, peut-être que ça aidera quelqu'un (il est toujours en train de tourner de mon coté) :
Code:clear; clc; % Big_1 Fisher : FISH_Big_1_SYM = sym('sp_', [5,5], 'real'); % Force symmetry for Big_1 FISH_Big_1_SYM = tril(FISH_Big_1_SYM.') + triu(FISH_Big_1_SYM,1); % Big_2 Fisher : FISH_Big_2_SYM = sym('sp_', [5,5], 'real'); % Force symmetry for Big_2 FISH_Big_2_SYM = tril(FISH_Big_2_SYM.') + triu(FISH_Big_2_SYM,1); % Jacobian 1 J_1_SYM = sym('j_', [5,5], 'real'); % Jacobian 2 J_2_SYM = sym('j_', [5,5], 'real'); %%%%%%%% Method 1 : projection before %%%%%%%%% % Projection FISH_proj_1_SYM = J_1_SYM'*FISH_Big_1_SYM*J_1_SYM; %%%%%%%% Method 2 : projection after %%%%%%%%% % Invert Fisher_2 COV_Big_2_SYM = inv(FISH_Big_2_SYM); % Projection COV_proj_2_SYM = J_2_SYM'*COV_Big_2_SYM*J_2_SYM; FISH_proj_2_SYM = inv(COV_proj_2_SYM); % Test equality between 2 matrices isequal(FISH_proj_1_SYM,FISH_proj_2_SYM)
Toute aide est la bienvenue.
-----