Esercizio MANOVA Svolto: Analisi Multivariata su Sentiment e Rating App

Cerca:

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
La MANOVA spiegata

Stelle vs Emozioni: Perché analizzare le metriche separatamente è un errore (e come la MANOVA ti salva)

Hai presente quell’amico che ti dice “Sì, tutto bene” ma ha la faccia di chi ha appena pestato un LEGO a piedi nudi? Ecco. Se ti limiti ad ascoltare le sue parole (“Tutto bene”), pensi che sia felice. Se guardi solo la sua faccia, chiami un’ambulanza. La verità sta nella combinazione delle due cose.

Con i dati succede lo stesso.

Spesso ci troviamo davanti a una recensione da 5 stelle accompagnata da un commento tiepido tipo “Buono, ma arrivato in ritardo”. O viceversa, un testo entusiasta con un voto mediocre perché l’utente ha il dito grosso e ha sbagliato a cliccare. Nel business, le metriche viaggiano in branco. Sono correlate, si influenzano, litigano tra loro. Analizzarle separatamente non è solo impreciso: è pericoloso.

Utilizzeremo la MANOVA per capire se quattro diverse App si distinguono davvero agli occhi degli utenti, trattando il voto numerico e l’emozione del testo come un’unica entità statistica complessa.

Pubblicità

Testo dell’Esercizio

Un’azienda analizza le recensioni di 4 diverse app mobile. Per ogni recensione, estrae due variabili:

  • Sentiment del testo ([math]X_1[/math]): punteggio da -5 (molto negativo) a +5 (molto positivo)
  • Valutazione stelline ([math]X_2[/math]): punteggio da 1 a 5 stelle

Il campione consiste di 10 recensioni per ciascuna app. I dati riassuntivi sono:

APP 1:
Media del sentiment ([math]X_1[/math]): [math]3.2[/math]
Media delle stelline ([math]X_2[/math]): [math]4.1[/math]
Matrice di varianza-covarianza [math]S_1[/math]:

Sentiment ([math]X_1[/math]) Stelline ([math]X_2[/math])
[math]X_1[/math] 1.2 0.3
[math]X_2[/math] 0.3 0.8

APP 2:
Media del sentiment ([math]X_1[/math]): [math]2.8[/math]
Media delle stelline ([math]X_2[/math]): [math]3.8[/math]
Matrice di varianza-covarianza [math]S_2[/math]:

Sentiment ([math]X_1[/math]) Stelline ([math]X_2[/math])
[math]X_1[/math] 1.5 0.4
[math]X_2[/math] 0.4 0.9

APP 3:
Media del sentiment ([math]X_1[/math]): [math]4.1[/math]
Media delle stelline ([math]X_2[/math]): [math]4.5[/math]
Matrice di varianza-covarianza [math]S_3[/math]:

Sentiment ([math]X_1[/math]) Stelline ([math]X_2[/math])
[math]X_1[/math] 1.0 0.2
[math]X_2[/math] 0.2 0.7

APP 4:
Media del sentiment ([math]X_1[/math]): [math]1.9[/math]
Media delle stelline ([math]X_2[/math]): [math]2.9[/math]
Matrice di varianza-covarianza [math]S_4[/math]:

Sentiment ([math]X_1[/math]) Stelline ([math]X_2[/math])
[math]X_1[/math] 1.8 0.5
[math]X_2[/math] 0.5 1.2

Obiettivo: Verificare se esistono differenze significative tra le 4 app considerando contemporaneamente entrambe le variabili (sentiment e stelline) utilizzando l’analisi MANOVA e il test di Wilks’ Lambda. Livello di significatività: [math]\alpha = 0.05[/math].


Visualizzare il Problema

Prima di tuffarci nelle matrici, guardiamo cosa sta succedendo.

Il grafico seguente mostra la distribuzione delle recensioni. Le “X” rappresentano i centroidi (le medie multivariate), mentre le aree colorate (ellissi di confidenza) rappresentano la dispersione dei dati.

Cosa ci dice il grafico?

  1. Separazione (Matrice Between): Notate la distanza tra la X nera (App 4) e la X verde (App 3). Quella distanza fisica è ciò che la MANOVA cerca di quantificare rispetto al rumore di fondo.

  2. Forma (Matrice Within): Le ellissi sono inclinate verso destra. Questo conferma visivamente che X1 e X2 sono correlate positivamente: chi mette più stelle tende a scrivere cose più carine.

  3. Sovrapposizione: L’App 1 (rossa) e l’App 2 (azzurra) si sovrappongono parecchio al centro. Sarà la matematica a dirci se sono davvero diverse.

RISOLUZIONE

1. INTRODUZIONE ALLA MANOVA

La MANOVA (Multivariate ANalysis Of VAriance) è un’estensione dell’ANOVA che permette di:

  • Testare differenze tra gruppi su PIÙ variabili dipendenti contemporaneamente
  • Considerare le CORRELAZIONI tra le variabili dipendenti
  • Evitare l’aumento dell’errore di Tipo I che si avrebbe con multiple ANOVA separate

Ipotesi:
[math]H_0[/math]: Le medie multivariate delle 4 app sono uguali
[math]H_1[/math]: Almeno un’app ha medie multivariate diverse dalle altre

2. CALCOLO DELLE MATRICI DI DISPERSIONE

Abbiamo 4 gruppi (app) con 10 osservazioni ciascuna.

2.1 Matrice WITHIN (W) – Variabilità dentro i gruppi

La matrice W è analoga alla Somma dei Quadrati Within (SSW) nell’ANOVA, ma in forma matriciale.

Formula: [math]W = \sum_{i=1}^{4} [(n_i – 1) \times S_i][/math]
Dove [math]n_i = 10[/math], quindi [math](n_i – 1) = 9[/math] per tutte le app

Passo 1: Somma delle matrici S

Forse potrebbe interessarti anche:  La Legge di Pareto Spiegata: 6 Esercizi Pratici dal Principio 80/20 al Rischio Finanziario

[math]S_1 + S_2 + S_3 + S_4 = [/math]

[math]\displaystyle \begin{aligned}
&\text{Elemento (1,1): } 1.2 + 1.5 + 1.0 + 1.8 = 5.5 \\
&\text{Elemento (1,2): } 0.3 + 0.4 + 0.2 + 0.5 = 1.4 \\
&\text{Elemento (2,1): } 0.3 + 0.4 + 0.2 + 0.5 = 1.4 \\
&\text{Elemento (2,2): } 0.8 + 0.9 + 0.7 + 1.2 = 3.6
\end{aligned}[/math]

Quindi: Somma [math]S = \begin{bmatrix} 5.5 & 1.4 \\ 1.4 & 3.6 \end{bmatrix}[/math]

Passo 2: Moltiplicazione per 9

[math]W = 9 \times \begin{bmatrix} 5.5 & 1.4 \\ 1.4 & 3.6 \end{bmatrix} = \begin{bmatrix} 49.5 & 12.6 \\ 12.6 & 32.4 \end{bmatrix}[/math]

Matrice W finale:
[math]X_1[/math] [math]X_2[/math]
[math]X_1[/math] 49.5 12.6
[math]X_2[/math] 12.6 32.4

2.2 Calcolo delle Medie Totali

[math]\text{Media totale di } X_1 \text{ (sentiment): } (3.2 + 2.8 + 4.1 + 1.9) / 4 = 3.0[/math]
[math]\text{Media totale di } X_2 \text{ (stelline): } (4.1 + 3.8 + 4.5 + 2.9) / 4 = 3.825[/math]
Quindi: Media totale = [math][3.0, 3.825]^T[/math]

2.3 Matrice BETWEEN (B) – Variabilità tra i gruppi

La matrice B è analoga alla Somma dei Quadrati Between (SSB) nell’ANOVA.

Formula: [math]B = \sum [n_i \times (\bar{X}_i – \bar{X}_{tot}) \times (\bar{X}_i – \bar{X}_{tot})^T][/math]

APP 1:
Differenza: [math][3.2-3.0, 4.1-3.825] = [0.2, 0.275][/math]
Prodotto esterno × 10: [math]10 \times \begin{bmatrix} 0.04 & 0.055 \\ 0.055 & 0.075625 \end{bmatrix} = \begin{bmatrix} 0.4 & 0.55 \\ 0.55 & 0.75625 \end{bmatrix}[/math]

APP 2:
Differenza: [math][2.8-3.0, 3.8-3.825] = [-0.2, -0.025][/math]
Prodotto esterno × 10: [math]10 \times \begin{bmatrix} 0.04 & 0.005 \\ 0.005 & 0.000625 \end{bmatrix} = \begin{bmatrix} 0.4 & 0.05 \\ 0.05 & 0.00625 \end{bmatrix}[/math]

APP 3:
Differenza: [math][4.1-3.0, 4.5-3.825] = [1.1, 0.675][/math]
Prodotto esterno × 10: [math]10 \times \begin{bmatrix} 1.21 & 0.7425 \\ 0.7425 & 0.455625 \end{bmatrix} = \begin{bmatrix} 12.1 & 7.425 \\ 7.425 & 4.55625 \end{bmatrix}[/math]

APP 4:
Differenza: [math][1.9-3.0, 2.9-3.825] = [-1.1, -0.925][/math]
Prodotto esterno × 10: [math]10 \times \begin{bmatrix} 1.21 & 1.0175 \\ 1.0175 & 0.855625 \end{bmatrix} = \begin{bmatrix} 12.1 & 10.175 \\ 10.175 & 8.55625 \end{bmatrix}[/math]

SOMMA per ottenere B:
[math]\displaystyle \begin{aligned}
&\text{Elemento (1,1): } 0.4 + 0.4 + 12.1 + 12.1 = 25.0 \\
&\text{Elemento (1,2): } 0.55 + 0.05 + 7.425 + 10.175 = 18.2 \\
&\text{Elemento (2,2): } 0.75625 + 0.00625 + 4.55625 + 8.55625 = 13.875
\end{aligned}[/math]

Matrice B finale: [math]\begin{bmatrix} 25.0 & 18.2 \\ 18.2 & 13.875 \end{bmatrix}[/math]

2.4 Matrice TOTALE (T)

[math]T = W + B = \begin{bmatrix} 74.5 & 30.8 \\ 30.8 & 46.275 \end{bmatrix}[/math]

3. CALCOLO DI WILKS’ LAMBDA ([math]\Lambda[/math])

Formula: [math]\Lambda = \frac{|W|}{|T|}[/math]

3.1 Determinante di W

[math]\displaystyle \begin{aligned}
|W| &= (49.5 \times 32.4) – (12.6 \times 12.6) \\
&= 1603.8 – 158.76 = 1445.04
\end{aligned}[/math]

3.2 Determinante di T

[math]\displaystyle \begin{aligned}
|T| &= (74.5 \times 46.275) – (30.8 \times 30.8) \\
&= 3447.4875 – 948.64 = 2498.8475
\end{aligned}[/math]

3.3 Wilks’ Lambda

[math]\Lambda = 1445.04 / 2498.8475 = 0.5783[/math]

Interpretazione: Circa il 42.17% ([math]1 – 0.5783[/math]) della variabilità È spiegata dalle differenze tra gruppi.

4. TEST DI SIGNIFICATIVITÀ

4.1 Calcolo dei parametri (Approssimazione di Rao)

[math]p = 2, \quad k = 4, \quad N = 40[/math]

[math]\displaystyle \begin{aligned}
s &= \sqrt{\frac{p^2(k-1)^2 – 4}{p^2 + (k-1)^2 – 5}} = \sqrt{\frac{4 \times 9 – 4}{4 + 9 – 5}} = \sqrt{32/8} = 2 \\
m &= (N – 1) – \frac{p + (k-1) + 1}{2} = 39 – 3 = 36 \\
t &= \frac{p(k-1) – 2}{2} = \frac{6 – 2}{2} = 2
\end{aligned}[/math]

4.2 Calcolo della statistica F

[math]\Lambda^{1/s} = \sqrt{0.5783} = 0.7605[/math]

[math]\displaystyle \begin{aligned}
F &= \frac{1 – \Lambda^{1/s}}{\Lambda^{1/s}} \times \frac{m \times s – t}{p(k-1)} \\
&= \frac{1 – 0.7605}{0.7605} \times \frac{72 – 2}{6} \\
&= 0.3150 \times 11.6667 = 3.675
\end{aligned}[/math]

Gradi di libertà: [math]df_1 = 6, \quad df_2 = 70[/math]

4.3 Valore critico e decisione

Per [math]\alpha = 0.05[/math], [math]F_{critico} (6, 70) \approx 2.23[/math].
Confronto: [math]3.675 > 2.23[/math].
Decisione: RIFIUTIAMO l’ipotesi nulla [math]H_0[/math].


5. TAVOLA RIASSUNTIVA MANOVA

Fonte Wilks’ Lambda ([math]\Lambda[/math]) F approssimato Gradi libertà p-value
Differenze App 0.5783 3.675 (6, 70) < 0.05

6. INTERPRETAZIONE DEI RISULTATI

6.1 Conclusioni statistiche: Esistono differenze statisticamente significative tra le 4 app.

6.2 Analisi delle correlazioni: Sentiment e stelline sono positivamente correlate in tutte le app. La MANOVA coglie questa relazione.

💡 OSSERVAZIONI IMPORTANTI

VANTAGGI: La MANOVA evita l’aumento dell’errore di Tipo I e considera la correlazione tra variabili.

PASSI SUCCESSIVI: Si consigliano ANOVA univariate e test post-hoc.

Forse potrebbe interessarti anche:  I Limiti Teorici dell'Intelligenza Artificiale: Perché la Statistica non è Logica Matematica

ASSUNZIONI: Normalità multivariata, omogeneità delle matrici di covarianza e indipendenza.


Dopo aver accertato con la MANOVA che esiste una differenza significativa nel profilo multivariato (cioè considerando sentiment e stelline insieme), il passo logico successivo è l’analisi “follow-up”.

Questa fase serve a scomporre il risultato globale per capire se la differenza tra le app è guidata da entrambe le variabili, o se una delle due ha un peso dominante.

7. ANALISI FOLLOW-UP: ANOVA UNIVARIATE

L’esecuzione di ANOVA separate su ogni variabile dipendente è la procedura standard dopo un test di Wilks’ Lambda significativo. Questo ci permette di isolare il contributo di X₁ e X₂.

Nota metodologica: Per proteggerci dall’inflazione dell’errore di Tipo I derivante dall’esecuzione di test multipli, si applica spesso la correzione di Bonferroni, confrontando i p-value con un nuovo livello di significatività [math]\alpha’ = \alpha / p[/math] (in questo caso [math]0.05 / 2 = 0.025[/math]).

ANOVA sulla Variabile X₁ (Sentiment)

Calcoliamo la variabilità tra i gruppi (SSB) e dentro i gruppi (SSW) solo per il Sentiment.

  • SSB (dalla matrice B, elemento 1,1): [math]25.0[/math]

  • SSW (dalla matrice W, elemento 1,1): [math]49.5[/math]

  • Gradi di libertà: [math]df_{between} = k – 1 = 3[/math]; [math]df_{within} = N – k = 36[/math]

Calcolo F per X₁: [math]\displaystyle \begin{aligned} MSB_{X_1} &= 25.0 / 3 = 8.333 \ MSW_{X_1} &= 49.5 / 36 = 1.375 \ F_{X_1} &= 8.333 / 1.375 = 6.060 \end{aligned}[/math]

ANOVA sulla Variabile X₂ (Stelline)

Calcoliamo la variabilità per la valutazione in Stelline.

  • SSB (dalla matrice B, elemento 2,2): [math]13.875[/math]

  • SSW (dalla matrice W, elemento 2,2): [math]32.4[/math]

Calcolo F per X₂: [math]\displaystyle \begin{aligned} MSB_{X_2} &= 13.875 / 3 = 4.625 \ MSW_{X_2} &= 32.4 / 36 = 0.900 \ F_{X_2} &= 4.625 / 0.900 = 5.139 \end{aligned}[/math]

Sintesi dei Risultati Univariati

 

Variabile F calcolato F critico (3, 36) Significatività ([math]\alpha=0.05[/math])
X₁ (Sentiment) 6.060 2.86 Significativo (p < 0.01)
X₂ (Stelline) 5.139 2.86 Significativo (p < 0.01)

CONCLUSIONE FINALE DELL’ESERCIZIO

Entrambe le variabili contribuiscono in modo significativo alla differenziazione delle app. Tuttavia, la variabile Sentiment (X₁) mostra un valore F più elevato ([math]6.060[/math]), suggerendo che la percezione emotiva espressa nel testo delle recensioni sia un discriminante leggermente più forte rispetto alla valutazione numerica delle stelline.

In sintesi, le app non vengono percepite solo come “migliori” o “peggiori” nel voto, ma mostrano differenze marcate soprattutto nel modo in cui gli utenti ne parlano.

DOMANDA DI RIFLESSIONE

Perché in questo caso specifico la MANOVA è più appropriata di due ANOVA separate?

Risposta:

Perché:

  1. Le due variabili dipendenti (sentiment e stelline) sono correlate tra loro (covarianze positive)

  2. Testando contemporaneamente entrambe le variabili, controlliamo l’errore di Tipo I complessivo

  3. Potremmo scoprire che le app differiscono non tanto nelle singole variabili, ma nella loro combinazione

  4. Nella realtà, sentiment e valutazione stelline sono due aspetti correlati della stessa esperienza utente

 

REALITY CHECK: I limiti reali di questa analisi

Nonostante i calcoli matematici indichino una significatività statistica, nell’applicazione reale questo esercizio presenta diverse criticità che un analista esperto deve considerare.

1. CAMPIONE TROPPO PICCOLO

10 recensioni per app sono generalmente insufficienti per una MANOVA affidabile. La regola pratica (rule of thumb) suggerisce un minimo di 20 osservazioni per gruppo quando si lavora con 2 variabili dipendenti per garantire la potenza del test e la stabilità delle stime.

2. VIOLAZIONE DELLE ASSUNZIONI

  • Distribuzione delle recensioni: Le recensioni online raramente seguono una distribuzione normale multivariata. Spesso presentano distribuzioni “a J” o “a U” (molte recensioni estreme a 1 o 5 stelle, poche medie), violando l’assunto di normalità.
  • Eteroschedasticità: Le matrici di covarianza fornite ([math]S_1 \neq S_2 \neq S_3 \neq S_4[/math]) mostrano differenze visibili. La MANOVA assume l’omogeneità di queste matrici (omoschedasticità multivariata).

3. NELLA PRATICA AZIENDALE

In un contesto di business reale:

  • Spesso si preferiscono analisi più semplici ma robuste.
  • Si utilizzano test non parametrici (come il test di permutazione) quando le assunzioni di normalità non sono soddisfatte.
  • L’attenzione è spesso focalizzata più sulla classificazione (Sentiment Analysis tramite Machine Learning) che sull’inferenza statistica sofisticata.
Forse potrebbe interessarti anche:  Test di Probabilità Avanzata per Data Analyst: Domina i Concetti Hero per l'AI e il Machine Learning

4. TEST AGGIUNTIVI NECESSARI

Prima di accettare definitivamente i risultati, sarebbe necessario eseguire:

  • Test di Box’s M: Per verificare formalmente l’uguaglianza delle matrici di covarianza.
  • Analisi dei residui: Per verificare la normalità e identificare eventuali outlier che potrebbero distorcere le medie.
  • Correzioni robuste: Utilizzare statistiche come la Traccia di Pillai, che è generalmente più robusta alle violazioni delle assunzioni rispetto al Lambda di Wilks.

IL PARADOSSO DI AMAZON: IL VALORE AGGIUNTO DELLA MANOVA NELLA REALTÀ

Qui emerge un punto cruciale: la MANOVA serve proprio a catturare incoerenze che analisi separate fallirebbero.

Consideriamo il famoso “paradosso di Amazon”: un utente assegna 5 stelle (azione rapida, emotiva) ma nel testo scrive “Pacco arrivato rotto, prodotto difettoso, mai più!” (azione ragionata, analitica).

Nella nostra analisi:

  • Un’ANOVA separata sul sentiment classificherebbe questa come recensione negativa (sentiment ≈ -3)

  • Un’ANOVA separata sulle stelline la classificherebbe come positiva (5 stelle)

  • Risultato: due segnali contrastanti che si “cancellano” a vicenda

La MANOVA invece:

  1. Cattura questa incoerenza nella correlazione tra le variabili

  2. Se molte recensioni mostrano questa dicotomia, la covarianza tra sentiment e stelline diventa negativa o nulla invece che positiva

  3. App con molte incoerenze appariranno come outlier multivariati

Esempio pratico:
Immaginiamo che l’App4 abbia:

  • Media stelline: 3.5 (discretamente positiva)

  • Media sentiment: -1.2 (negativo)

  • Covarianza: -0.8 (forte relazione inversa!)

Questo pattern sarebbe invisibile con analisi separate, ma la MANOVA lo rileverebbe come profilo multivariato unico e problematico. In pratica, segnalerebbe: “Questa app ha un grave problema di incoerenza tra ciò che gli utenti votano e ciò che scrivono” — forse segno di un sistema di valutazione manipolato o di utenti confusi.

Nonostante il risultato statisticamente significativo, un data scientist reale sarebbe cauto nell’interpretare questi risultati a causa della piccola dimensione campionaria e delle probabili violazioni delle assunzioni del modello. Tuttavia, il vero valore della MANOVA in contesti reali sta proprio nella sua capacità di scovare pattern multivariati e incoerenze che test univariati mancherebbero completamente. Questo la rende uno strumento prezioso per l’analisi del sentiment in contesti complessi come le recensioni online, dove il comportamento degli utenti è spesso contraddittorio e multidimensionale.


Perché questo esercizio è importante?

Questo specifico esercizio è un eccellente banco di prova per chi studia Data Science per tre motivi fondamentali:

  1. Dati Ibridi (Multimodalità): Insegna a gestire due tipi di dati molto comuni ma diversi: un dato ordinale/discreto trattato come continuo (le stelline) e un dato continuo derivato da un algoritmo (lo score del sentiment). È una situazione classicissima nel business moderno.

  2. La Correlazione è il messaggio: L’esercizio mostra (tramite le covarianze positive nelle matrici $S$) che le variabili si muovono insieme. Se avessimo fatto due test separati, avremmo ignorato questa relazione. La MANOVA ci “costringe” a trattare l’esperienza utente come un pacchetto unico.

  3. Oltre la Media: Confrontando l’App 2 (Media Stelline alta, Sentiment basso) con l’App 4, l’analista è costretto a guardare oltre il semplice numero medio. L’esercizio allena l’occhio a cercare le incongruenze tra ciò che gli utenti dicono e ciò che gli utenti votano.

Articoli di approfondimento

👉 ANOVA spiegata facile facile (con esempio in Python)

👉 Analisi della varianza (ANOVA): guida completa con esempio e interpretazione

👉 ANOVA: esercizi pratici e calcoli dettagliati passo passo

👉ANOVA Spiegata con Esercizi Svolti: Dal Marketing all’AI Sentiment Analysis

👉 La distribuzione F di Fisher e il suo ruolo nell’ANOVA

👉 Tavola della distribuzione F: uso nei test unilaterali e bilaterali

Pubblicità