Analisi delle componenti principali con Matlab

giuseppevessella
Ciao a tutti, devo inserire nella mia tesi di laurea in matematica finanziaria un'applicazione dell'analisi delle componenti principali. La tesi è incentrata principalmente sulle teoria di portafogli, mi è stato suggerito dalla professoressa di scaricare da yahoo finance, i dati storici di 14 titoli, calcolare i rendimenti (cosa ho fatto con excel) e fare l'ACP tramite Matlab trovando autovalori, autovettori e variabilità spiegata.

Non saprei però come procedere, l'ACP devo farla utilizzando i rendimenti, che se non ho capito male sono i vettori. La professoressa ha parlato di matrice, quindi dovrò costruire la mia matrice con i rendimenti. Come arco temporale ho scelto 10 anni e i rendimenti sono settimanali, avrò alla fine per ogni titolo 522 osservazioni.

Se potreste darmi qualche indicazione su come procedere ve ne sarei grato, sono giorni che cerco informazioni ma non ho trovato nulla che possa aiutarmi.

Non so se sia la sezione giusta, ma dato che si parla di matrici, autovalori e autovettori ho deciso di postarla qui.
Se avete bisogno di altre informazioni per capire meglio cercherò di essere più preciso.

Grazie in anticipo!

Risposte
Vidocq
Il tuo miglior amico è il manuale.
Leggilo. :D

Vedi questo.

giuseppevessella
Grazie, leggo tutto.

La cosa che mi lascia un po' perplesso, è cosa fare prima di iniziare l'ACP, perchè bene o male si tratta di dare un comando e fa tutto Matlab. La professoressa ha parlato di moltiplicazioni tra vettori (cioè i rendimenti), moltiplicare il primo vettore per se stesso, poi per il secondo, per il terzo, fino al quattordicesimo.

Moltiplicare il secondo vettore per se stesso, per il terzo e così via.

Non ho capito perchè bisogna fare questa cosa :/

Bokonon
Vexel sono un po' perplesso.
Posso chiederti prima alcune cose?

giuseppevessella
"Bokonon":
Vexel sono un po' perplesso.
Posso chiederti prima alcune cose?


Certo chiedi pure. Anzi, scusami se non sono stato per nulla preciso, ma ho avuto davvero poche informazioni dalla professoressa.

Bokonon
Voorrei solo capire quali sono le tue conoscenze, solo allora potrò consigliarti al meglio.
Hai studiato matematica...quanto ne sai di Algebra lineare? Conosci la decomposizione a valori singolari?
avrai studiato certamente anche statistica...ha problemi a comprendere i concetti varianza e covarianza fra variabili aleatorie? E se citassi la regressione multivariata e quindi la correlazione lineare saresti in grado di seguire?
Hai mai studiato l'analisi fattoriale?

Riguardo al tema dell'indagine...ok, si può fare tutto a questo mondo sapendo cosa si stia facendo e perchè e trarre comunque utili informazioni. Però mi pare di capire che l'analisi verta su vettori composti da serie storiche di rendimenti di diversi titoli (corregimi se ho capito male). Mentre riesco a dare un potenziale senso all'applicazione dell'analisi delle componenti principali, sono assai perplesso che questa possa essere la scelta migliore per l'analisi di serie storiche (ancorchè capisco che si voglia compararle fra rendimenti diversi). Come sai le serie storiche sono autocorrelate e in modo assai complesso. Quindi, ok, si può partire anche da un'analisi diretta dei dati grezzi per scaldarsi i muscoli ma poi se uno vuole fare un lavoro decente (e sottolineo decente) dovrebbe anche analizzare versioni alternative della matrice orignale in cui sgrezza i dati (in funzioni di ipotesi lavoro e modelli statistici selezionati dopo duro lavoro) e poi passare al vaglio anche matrici elaborate in questo modo.
Insomma, per farla breve, esattamente cosa ti ha detto la prof? Ti ha fornito un esempio dell'analisi (globale) che vuole condurre? Oppure la direzione è quella del "pigia bottone e gira macaco"? Nel senso che devi solo far vedere che sai inserire dei dati e programmare matlab e poi il resto conta poco?

giuseppevessella
"Bokonon":
Voorrei solo capire quali sono le tue conoscenze, solo allora potrò consigliarti al meglio.
Hai studiato matematica...quanto ne sai di Algebra lineare? Conosci la decomposizione a valori singolari?
avrai studiato certamente anche statistica...ha problemi a comprendere i concetti varianza e covarianza fra variabili aleatorie? E se citassi la regressione multivariata e quindi la correlazione lineare saresti in grado di seguire?
Hai mai studiato l'analisi fattoriale?

Riguardo al tema dell'indagine...ok, si può fare tutto a questo mondo sapendo cosa si stia facendo e perchè e trarre comunque utili informazioni. Però mi pare di capire che l'analisi verta su vettori composti da serie storiche di rendimenti di diversi titoli (corregimi se ho capito male). Mentre riesco a dare un potenziale senso all'applicazione dell'analisi delle componenti principali, sono assai perplesso che questa possa essere la scelta migliore per l'analisi di serie storiche (ancorchè capisco che si voglia compararle fra rendimenti diversi). Come sai le serie storiche sono autocorrelate e in modo assai complesso. Quindi, ok, si può partire anche da un'analisi diretta dei dati grezzi per scaldarsi i muscoli ma poi se uno vuole fare un lavoro decente (e sottolineo decente) dovrebbe anche analizzare versioni alternative della matrice orignale in cui sgrezza i dati (in funzioni di ipotesi lavoro e modelli statistici selezionati dopo duro lavoro) e poi passare al vaglio anche matrici elaborate in questo modo.
Insomma, per farla breve, esattamente cosa ti ha detto la prof? Ti ha fornito un esempio dell'analisi (globale) che vuole condurre? Oppure la direzione è quella del "pigia bottone e gira macaco"? Nel senso che devi solo far vedere che sai inserire dei dati e programmare matlab e poi il resto conta poco?


Provo a risponderti per punti.
Sto per terminare una triennale in economia, di matematica ho fatto un solo esame e di algebra lineare ci siamo concentrati principalmente sulle matrici, niente di più.

Statistica certo, tutto quello che mi hai nominato in linea di massima lo conosco, tranne la regressione multivariata. Abbiamo studiato solo la regressione collegata alla correlazione (indice di correlazione). Ho studiato anche (teoricamente) l'analisi fattoriale discriminante (immagino ti riferisci a questa, ce l'hanno fatta chiamare così), insieme alla cluster analysis, analisi delle corrispondenze e analisi delle componenti principali. Il tutto è stato fatto in modo teorico, senza applicazioni ed è anche il motivo per il quale mi sto trovando in difficoltà probabilmente.

Per l'indagine si, hai capito bene. Sono titoli diversi, tutti italiani e quotati in borsa. Arco temporale di 10 anni, dati settimanali e dal prezzo di chiusura ho calcolato il rendimento tramite excel con la funzione:

=ln(prezzo chiusura titolo t+1/prezzo chiusura titolo t), ti allego uno screen, così comprendi meglio:



Io sono bloccato a questo punto, dovrei costruire la matrice varianza covarianza, che non so costruire, utilizzando i rendimenti che ho calcolato e fare l'ACP, credo.

Alcuni dei titoli che ho preso sono Ferrari, FCA, Enel, Eni, i più "conosciuti", diciamo così.
Effettivamente non ho capito neanche io il senso di utilizzare l'ACP, la tesi è concentrata principalmente sulla teoria di portafogli (Markowitz e Sharpe come "evoluzione"), la direzione direi che è più "pigia bottone e gira macaco" come dici tu.

La professoressa mi ha mostrato come esempio un'altra tesi, ma anche in questo caso sono stati selezionati dei titoli, calcolati i rendimenti ed è stata svolta un'ACP su questi rendimenti, calcolando autovalori, autovettori e variabilità spiegata, fine. Nessuna conclusione particolare, conclude dicendo che la variabilità spiegata è del tot%, ed è quello che mi ha chiesto di fare in sintesi.

Spero di essere stato più chiaro!

giuseppevessella
Ora che ci penso, quando ha parlato di quei prodotti tra vettori (servono per arrivare alla matrice varianza covarianza?) che ho descritto prima, ha parlato di "stimatore di varianza covarianza" e se non ricordo male, si suppone che con questo stimatore la media sia uguale a zero.

Bokonon
Ottimo!
Fossero tutti chiari come te, sarebbe un mondo migliore.
Ok, allora mi pare che la direzione sia segnata...giusto il minimo per essere operativi...ma non significa che tu non debba leggere e anche molto. Ho selezionato (fra alcuni paper che ho trovato in rete) questo http://www-dimat.unipv.it/luca/words/PCAprint.pdf
Non perchè sia esaustivo (al contrario) ma perchè un'ottima scaletta da seguire Per comprendere la tecnica ACP devi andare in blibioteca e trovare un buon libro. Anche perchè la tecnica è meccanica (come tutte le tecniche) nel calcolo ma se poi non sai cosa sia il risultato e come leggerlo, non te ne farai nulla.
Inoltre visto che se ne è parlato recentemente, ti linko un thread in cui fornisco un'idea assai generale sull'argomento...leggilo giusto per passare il tempo.

Infine, per cominciare ad esplorare, ti dico il primo passaggio che devi fare, così inizi a mettere insieme le idee e rispolverare un poco di algebra lineare e statistica.
Immagina la tua matrice come un rilevazione di un campione. I diversi titoli sono i caratteri rilevati, i periodi sono le singole persone intervistate. Se vuoi cominciare da un esempio semplice createne uno o pescane uno per la rete, magari con tre variabili e un campione ridotto di intervistati...così potrai verificare anche manualmente tutti passaggi.
Quindi nella sostanza abbiamo una matrice con n righe e m colonne....dove n è molto più grande di m solitamente, dato che il numero di variabili/caratteri (in questo caso i vari titoli) sono in numero estremamente più piccolo rispetto al numero di soggetti rilevati (nel nostro caso i soggetti sono periodi temporali).
Abbiamo quindi una matrice non quadrata, di cui potremmo calcolare ad esempio le medie delle colonne (quindi per singola variabile) e le varianze sempre per colonne. E infine pure le covarianze fra colonne.
Se avrai deciso per l'esempio preso da internet, potrai farlo anche con una calcolatrice...ma ora facciamo entrare l'lagebra lineare :)
Se prendo una matrice non quadrata A, ne faccio la trasposta e la moltiplico per se stessa, ovvero $A^T*A$, si ottiene SEMPRE una matrice quadrata simmetrica (non giustificherò i concetti, dovrai rivederteli da solo, ok?).
Inoltre se noti, facendo la trasposta di una matrice, la prima colonna diventa la prima riga...ed andrà a moltiplicarsi con le colonne di A..e la prima riga di $A^T$ e la prima colonna di $A$ sono identiche. Quindi questo prodotto scalare fa semplicemente la somma dei quadrati quindi.
Ora immagina di aver calcolato la media della prima colonna di A e di aver sottratto quest'ultima da tutti gli elementi della colonna stessa, ottieni degli $x_i-M(x)$. Quindi quando moltiplichi la prima riga della trasposta per la prima colonna di A, non fai altro che sommare gli $[x_i-M(x)]^2$ ovvero il primo elemento della matrice simmetrica che otterrai è la devianza del primo titolo! E quando moltiplichi la prima riga delal trasposta per la seconda colonna ottieni la codevianza fra il primo titolo e il secondo e così via. Insomma, se prima depuri le colonne delle rispettive medie e fai il prodotto A^TA, ottiene una matrice quadrata la cui diagonale sono le devianze dei singoli titoli e gli elementi esterni sono le codevianze...e infatti dato che $codev(x,y)=codev(y,x)$ la matrice è simmetrica.
Insomma usando l'algebra lineare ci ricaviamo in questo modo la matrice di devianza e codevianza che avremmo potuto calcolare "a mano" ma lo faremo in modo rapido preciso e soprattuto con matlab.

Questo primo passaggio è fondamentale capirlo e vorrei che ti sincerassi che avvenga esattamente così, perchè è esattamente questo ciò che farai, ovvero decomporre la matrice della "variabilità e covariabilità" fra i titoli.
Buon lavoro per ora.
Quando avrai finito torna e andremo al passo successivo..ma vorrei che ti rinfrescassi anche qualcosa di algebra lineare del tipo "tutte le matrice simmetriche sono diagonalizzabili ed hanno autovalori reali ed è sempre possibile ottenere un set di autovettori che sono perpendicolari a due a due" (e anche oviamente cosa siano autovalori ed autovettori).

Poi possiamo passare alla decomposizione e al significato geometrico..e subito dopo a quello statistico.

Bokonon
"vexel":
Ora che ci penso, quando ha parlato di quei prodotti tra vettori (servono per arrivare alla matrice varianza covarianza?) che ho descritto prima, ha parlato di "stimatore di varianza covarianza" e se non ricordo male, si suppone che con questo stimatore la media sia uguale a zero.

Beh ho appena scritto a proposito...e la risposta è SI...dal punto di vista statistico le nuove componenti (autovettori) sono completamente indipendenti (perchè vettori perpendicolari dal punto di visto dell'algebra lineare) quindi è analogo ad imporre il vincolo che le covarianze ra di essi siano pari a zero.

Ma per adesso esplora il lavoro che ti ho assegnato, poi ti sarà tutto chiaro :)

giuseppevessella
"Bokonon":
[quote="vexel"]Ora che ci penso, quando ha parlato di quei prodotti tra vettori (servono per arrivare alla matrice varianza covarianza?) che ho descritto prima, ha parlato di "stimatore di varianza covarianza" e se non ricordo male, si suppone che con questo stimatore la media sia uguale a zero.

Beh ho appena scritto a proposito...e la risposta è SI...dal punto di vista statistico le nuove componenti (autovettori) sono completamente indipendenti (perchè vettori perpendicolari dal punto di visto dell'algebra lineare) quindi è analogo ad imporre il vincolo che le covarianze ra di essi siano pari a zero.

Ma per adesso esplora il lavoro che ti ho assegnato, poi ti sarà tutto chiaro :)[/quote]

Perfetto, sei stato molto chiaro. Molte cose sono a me familiari, soprattutto l'ACP almeno in maniera teorica l'ho capita e l'ho rivista per bene di recente avendo fatto un capitolo nella tesi proprio su quest'ultima.

Per quanto riguarda il prodotto tra una matrice e la sua trasposta, ho capito il discorso sulla matrice quadrata simmetrica e se non ho capito male facendo così ottengo la matrice devianza codevianza di quel titolo (il problema è capire come si fa con matlab, domani proverò).
Per ottenere la matrice varianza covarianza di quel titolo, dovrei moltiplicare la matrice devianza codevianza per una matrice diagonale con elementi diagonali pari a 1/n, giusto? (almeno sui miei appunti è scritto così).

Ragionando un attimo la mia non è una matrice ma sono 14 vettori colonna e ognuno ha 522 elementi (cioè i rendimenti che sono stati scelti settimanalmente, perchè a me servono solo quelli), moltiplicando la "matrice" A di dimensioni n*1, per la sua trasposta di dimensioni 1*n, otterrò una matrice quadrata simmetrica di dimensioni n*n e non è altro che la matrice devianza codevianza di QUEL titolo, giusto?

Supponendo che sia come ho appena detto, avendo 14 titoli e per ogni titolo 522 osservazioni, otterrò alla fine 14 matrici devianza codevianza, dalle quali dovrò ricavare le matrici varianza covarianza, ma come faccio ad "unirle"?

giuseppevessella
Nel frattempo vi aggiorno un attimo che ho giocato un po' con Matlab.

Ho preso il titolo ENI, ho importato SOLO i rendimenti dicendo a Matlab di riconoscerlo come vettore colonna.
Tramite la funzione transpose, mi è venuto fuori il vettore riga, che moltiplicato a quello colonna ottengo la matrice devianza codevianza di dimensioni n*n.
Ora, con la funzione cov(nome matrice devianza codevianza) ottengo la matrice delle covarianze, anche se la professoressa non ha fatto riferimento a questo passaggio, quindi non so è necessario (aiuto).
Immagino che devo fare questo per tutti i 14 titoli, fare la somma tra matrici devianze codevianze o delle covarianza (questo ditemelo voi) ed essendo tutte di dimensioni uguali 522*522 posso fare tranquillamente la somma.
Una volta fatta la somma dovrei moltiplicarla per 252/T-1. 252 sono i giorni convenzionali di borsa in un anno, T-1 sono i rendimenti tranne l'ultimo quindi 521.
E poi da qui, dovrei aver costruito la mia matrice sulla quale applicare l'ACP.

Ditemi se ho capito qualcosina o se ho scritto solo eresie :roll:

giuseppevessella
"vexel":

Ora, con la funzione cov(nome matrice devianza codevianza) ottengo la matrice delle covarianze


No, non è così. Dovrebbero cambiare di valore solo gli elementi diagonali, ma variano anche quelli extradiagonali :?

Bokonon
Ok, hai capito male un passaggio...il prodotto è fra matrici. Ho solo sottolineato cosa accade nel prodotto fra matrici, non ho detto che tu debba fra riga per colonna. Usa il prodotto matriciale.

Ricominciamo. Depura le colonne dalle rispettive medie e ottieni una matrice di 522x14, ovvero 522 righe e 14 colonne.
Poi fai il prodotto fra A^T*A e ottieni una matrice quadrata B simmetrica 14x14 delle devianze e codevianze.
Se moltiplichi l'intera matrice per 1/522 (uno scalare) allora equivarrà a dividere ogni singolo elemento per 522 e diventerà ancora una matrice C 14x14 delle varianze e covarianze. Con tre titoli $t_1$, $t_2$ e $t_3$ verrebbe fuori così:
$C= ( ( Var(t_1) , Cov(t_1,t_2) , Cov(t_1,t_3) ),( Cov(t_2,t_1) , Var(t_2) , Cov(t_2,t_3) ),( Cov(t_3,t_1) , Cov(t_3,t_2) , Var(t_3) ) ) $
Dove ovviamente $Cov(t_1,t_2)=Cov(t_2,t_1)$ etc, insomma deve essere simmetrica

giuseppevessella
"Bokonon":
Ok, hai capito male un passaggio...il prodotto è fra matrici. Ho solo sottolineato cosa accade nel prodotto fra matrici, non ho detto che tu debba fra riga per colonna. Usa il prodotto matriciale.

Ricominciamo. Depura le colonne dalle rispettive medie e ottieni una matrice di 522x14, ovvero 522 righe e 14 colonne.
Poi fai il prodotto fra A^T*A e ottieni una matrice quadrata B simmetrica 14x14 delle devianze e codevianze.
Se moltiplichi l'intera matrice per 1/522 (uno scalare) allora equivarrà a dividere ogni singolo elemento per 522 e diventerà ancora una matrice C 14x14 delle varianze e covarianze. Con tre titoli $t_1$, $t_2$ e $t_3$ verrebbe fuori così:
$C= ( ( Var(t_1) , Cov(t_1,t_2) , Cov(t_1,t_3) ),( Cov(t_2,t_1) , Var(t_2) , Cov(t_2,t_3) ),( Cov(t_3,t_1) , Cov(t_3,t_2) , Var(t_3) ) ) $
Dove ovviamente $Cov(t_1,t_2)=Cov(t_2,t_1)$ etc, insomma deve essere simmetrica


Ok, molto bene! Ci ero arrivato da solo, ma così ho avuto la conferma.
Ti spiego quello che ho fatto:

ho creato innanzitutto una matrice 522x14 (come hai detto anche tu) dove ho per colonne i 14 rendimenti dei titoli, le righe sono le date settimanali e per comodità chiamiamola A.
l'ho importata su Matlab, fatto la trasposta e ho fatto il prodotto tra A^T*A ottenendo una matrice 14x14 che rappresenta la matrice delle devianze codevianze.

Per arrivare alla matrice varianza covarianza ho fatto diversamente; ho creato una matrice diagonale 14x14 con elementi diagonali pari a 0.5 e l'ho moltiplicata per quella delle devianze codevianze, va bene comunque? almeno il mio professore così ci disse di fare se la memoria (e appunti) non mi inganna.

E comunque si, ho ottenuto una matrice proprio come quella che mi hai scritto :smt023

Ora, dovrei applicare l'ACP a questa matrice che mi è venuta fuori, stasera vedo bene il comando perchè ce ne sono diversi. Dovrò comunque prendere in considerazione autovalori, autovettori e variabilità spiegata.

La mia idea era quella di inserire il procedimento che ho fatto magari con qualche screenshot nella tesi e commentarli, insieme ai risultati.

Ti chiedo, come interpretare i numeri che verranno fuori per capire la "relazione" che intercorre tra i titoli/rendimenti?

giuseppevessella
E se puoi spiegarmi perchè dividere ogni elemento per 522? Non ho capito perchè è così, quindi molto probabilmente il mio moltiplicare per la matrice diagonale è sbagliato

Bokonon
Sei nella confusione più totale. E' strano perchè le materie le hai studiate, ti hanno dato una tesina da seguire e ti ho fornito anche un link ad un .pdf che evidenzia i passaggi.

Torniamo alle definizioni.
Matrice di devianze e codevianze moltiplicata per 1/n:
$1/n( ( Dev(t_1) , Codev(t_1,t_2) , Codev(t_1,t_3) ),( Codev(t_2,t_1) , Dev(t_2) , Codev(t_2,t_3) ),( Codev(t_3,t_1) , Codev(t_3,t_2) , Dev(t_3) ) ) = ( ( (Dev(t_1))/n , (Codev(t_1,t_2))/n , (Codev(t_1,t_3))/n ),( (Codev(t_2,t_1))/n , (Dev(t_2))/n , (Codev(t_2,t_3))/n ),( (Codev(t_3,t_1))/n , (Codev(t_3,t_2))/n , (Dev(t_3))/n ) )=( ( Var(t_1) , Cov(t_1,t_2) , Cov(t_1,t_3) ),( Cov(t_2,t_1) , Var(t_2) , Cov(t_2,t_3) ),( Cov(t_3,t_1) , Cov(t_3,t_2) , Var(t_3) ) ) $

La varianza non è semplicemente la devianza divisa per n? No? Insomma mi pareva un passaggio evidente...

giuseppevessella
Mi ha confuso quella matrice diagonale trovata sugli appunti e dovrò consegnare tutto tra pochi giorni e la cosa non aiuta :cry:

Comunque tutto chiaro ora

Bokonon
Riguardo al resto...non ho capito cosa hai fatto.
Ho appena dato una scorsa alla tesina che mi hai mandato e ti dice chiaramente quali sono i primi passaggi.
Ovvero prendere i dati grezzi e calcolare i rendimenti e infine eliminare eventuali outliers.
Quando hai ottenuto la matrice dei rendimenti (522x14) calcoli la media della prima colonna e la sottrai da tutti i 522 valori.
E fai lo stesso per le successive 13 colonne (mi pareva chiaro questo passaggio, no?) ed ottieni la matrice A con tutti i rendimenti espressi rispetto al baricentro zero.

Adesso cambiamo strategia: dimentica tutto il resto! (perchè credimi non hai il tempo per comprendere appieno i passaggi successivi).
Carica la matrice A in matlab e chiedigli di decomportela a valori singolari https://it.mathworks.com/help/matlab/re ... e.svd.html

Ti verranno fuori tre matrici il cui prodotto restituisce la matrice iniziale A, ovvero $A=USV^T$

Magari la prima volta puoi esercitarti e scoprire come si usano le funzioni utilizzando solo le prime 50 righe di A.

giuseppevessella
"Bokonon":
Riguardo al resto...non ho capito cosa hai fatto.
Ho appena dato una scorsa alla tesina che mi hai mandato e ti dice chiaramente quali sono i primi passaggi.
Ovvero prendere i dati grezzi e calcolare i rendimenti e infine eliminare eventuali outliers.
Quando hai ottenuto la matrice dei rendimenti (522x14) calcoli la media della prima colonna e la sottrai da tutti i 522 valori.
E fai lo stesso per le successive 13 colonne (mi pareva chiaro questo passaggio, no?) ed ottieni la matrice A con tutti i rendimenti espressi rispetto al baricentro zero.


Riguardo questo passaggio, la prof non me lo ha proprio nominato, anzi ricordo che mi ha detto di considerare la media pari a 0, spero di vederla domani e chiarire se devo o meno fare questo passaggio.
In pratica, dovevo dare il comando per fare l'acp partendo dalla matrice varianza covarianza. Facendo così, ottengo anche la variabilità spiegata, le prime 4 componenti spiegano circa il 70% dell'informazione iniziale, riducendo quindi le componenti da 14 a 4.

Comunque ora faccio la decomposizione a valori singolari, ma a cosa vuoi arrivare facendo così?

Bokonon
"vexel":

anzi ricordo che mi ha detto di considerare la media pari a 0

Appunto.
3 persone hanno rispettivamente 1,2,3 euro. La media è 2 euro
Sottraggo la media da ciò che posseggono: -1,0,1 la media diventa zero
Basta spostare il baricentro e la ragione per cui farlo è data nel primo post che ho scritto.
Poi fai $B=1/nA^TA$ e hai matrice di varianza e covarianza.
Se vuoi fare tutti i passaggi per arrivare alla dcomposizione totale, allora carica la matrice B 14x14 in matlab e trova autovalori e autovettori (specificando che vuoi la matrice degli autovettori ortonormalizzata).

Parla con la prof.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.