Sto cercando di implementare un algoritmo EM per il seguente modello di analisi dei fattori;
dove è un vettore casuale p-dimensionale, è un vettore q-dimensionale di variabili latenti e è una matrice di parametri pxq.
Come risultato di altre ipotesi utilizzate per il modello, so che dove è la matrice di covarianza varianza dei termini di errore , = diag ( , , ..., ).
Per l'algoritmo EM per il lavoro, che sto facendo iterazioni cupola che coinvolgono la stima di e matrici e durante queste iterazioni Sto calcolando l'inverso di ad ogni iterazione utilizzando nuove stime di e . Sfortunatamente nel corso delle iterazioni, perde la sua definitività positiva (ma non dovrebbe essere perché è una matrice varianza-covarianza) e questa situazione rovina la convergenza dell'algoritmo. Le mie domande sono:
Questa situazione mostra che c'è qualcosa di sbagliato nel mio algoritmo poiché la probabilità dovrebbe aumentare ad ogni passo di EM?
Quali sono i modi pratici per definire una matrice positiva definita?
Modifica: sto calcolando l'inverso usando un lemma di inversione di matrice che afferma che:
dove il lato destro coinvolge solo le inversioni delle matrici .