Closed giacomo-carugati closed 5 months ago
Io ormai sono arrivato alla conclusione che scelgo in base al plot, se vedo boundary curvi QDA se no LDA. Anche perchè abbiamo sempre dati 2D, ho rinunciato a razionalizzare la scelta ahah
Questo è decisamente un buon punto ahahah. La issue comunque voleva vertere più sull'analizzare il comportamento dei due classificatori dati i risultati di questo esercizio, piuttosto che sulla scelta "corretta" da adottare all'esame.
@LuigiPagani in questo caso però abbiamo 4 feature e anche in altri problemi del genere. Come faresti qui a plottarli e a vedere le curve/linee di separazione? Perchè se si riesce bene comunque è buon tip per l'esame.
Per la domanda principale, ti direi QDA se mi immagino uno scenario reale. Proporre un classificatore che per tutti i dati predice sempre clean mi sembra un po' da Alex Schwazer. Detto questo mannaggia all'anima io avrei usato LDA basandomi sulla rule of thumb per le covarianze.
Inserisco altra domanda. Per testare le covarianze di due popolazioni multivariate non ci sono test validi quindi? Perchè la gaussianity qua tiene per entrambe quindi avere un test che punta su queste ipotesi non sarebbe male
Ah cazzo, per ora ne avevo visti solo in 2D. Ora lo facciamo con Marco e in caso commentiamo
è esattamente quello a cui mi riferivo qui. Quello che ci dovrebbe dire se un modello è migliore di un'altro dovrebbe essere l'AERCV, ma questo non tiene conto dei costi. è come se fosse un indicatore puramente "matematico". Matematicamente, considerando solo le prior, diremmo LDA.
Tuttavia: Per valutare se un modello è + mejo di un altro nel mondo vero, dovremmo vedere quale dei due porta a minor economical loss, e in questo caso verosimilmente diremmo QDA (sarebbe da calcolare per verificare quanto appena detto, ma a spanne è così).
In sostanza come al solito, non esiste un meglio o un peggio, dipende.
@Filippobuda riguardo ai test homogeneity of variances, c'è il boxM se hai almeno 20 dati e le popolazioni sono gaussiane. Ma comunque è molto restrittivo (rifiuta anche quando potresti accettare l'omogeneità).
Mi aggrego a quello che ha detto Beps, in più aggiungerei che, oltre alla economic loss, a seconda del caso specifico bisognerebbe valutare sensitivity recall e quelle robe lì.
Per valutare se un modello è + mejo di un altro nel mondo vero, dovremmo vedere quale dei due porta a minor economical loss, e in questo caso verosimilmente diremmo QDA (sarebbe da calcolare per verificare quanto appena detto, ma a spanne è così).
Io ho risposto coì agli ultimi due punti (ditemi se vi sembra corretto). Eseguendo lo script, in effetti è come dici tu: i risparmi con QDA sono di 144320, mentre di 84160 con LDA (a fronte di un budget da istanziare che si attesta a 33200 per QDA e 15840 per LDA)
@giacomo-carugati a noi ora ci tornano i costi come te, poi abbiamo caricato versione obsoleta. Però si ci sembrano giusti
Ottimo, allora chiudo l'issue
Eccoci qui, di nuovo, un'altra volta, amorevolmente, a parlare di classificazione supervisionata.
https://github.com/giuseppeegentile/AppStatExams/blob/1dbab680e1093a0468b58aec8e2cfa477b0e56c9/2023/20230904/Pb2.R#L148-L151
In questo esercizio tengono piuttosto bene le assunzioni sulla normalità; per l'omogeneità delle matrici di covarianza possiamo parlarne.
Guardando il risultato del valore assoluto del rapporto element-wise fra matrici, sembrerebbe che la rule of thumb venga soddisfatta.
Tuttavia, il
var.test
eseguito sugli elementi sulla diagonale delle due matrici ha riportato p-value piuttosto bassi per un paio di features, in particolare rdensity. Per questo motivo ho preferito condurre l'analisi con QDA. Alla fine, l'ho rieseguita con LDA; di seguito riporto i risultati relativi alla confusion matrix e le stime.Scrivo la mia interpretazione che anticipo porrà dei dubbi sulla veridicità della rule of thumb che vi esorto a smentire: guardando le confusion matrix, sembra che abbia avuto effetto solamente il training eseguito sulla QDA; ne consegue che l'assunzione sulle covarianze non dovesse essere accettata. Guardando le stime, parrebbe che l'LDA lavorerebbe molto meglio della QDA "fuori dal dataset", semplicemente perché predice sempre false e nella realtà i true compaiono una volta su 100. Quale dei due è un classificatore "migliore"?
[N.B. Non prendete per assunto che il mio codice sia corretto; per prima cosa controllatelo, anche se non mi sembra di aver fatto robe eccessivamente esotiche]