Vai al contenuto principale

Coefficiente di determinazione: cosa ci dice R-quadro

Capisci cosa significa il coefficiente di determinazione nell’analisi di regressione. Scopri come si calcola, come interpretarno il valore e quando usare R-quadro aggiustato e R-quadro parziale.
· 15 min leggi

Scopri con l'IA

Immagina di voler prevedere il punteggio di un esame in base alle ore di studio. Quanto sono vicine le tue previsioni ai punteggi reali? È proprio ciò che ci dice il coefficiente di determinazione, noto anche come R² (R-quadro).

Indica quanta parte della variazione in una cosa (ad es. i punteggi d’esame) può essere spiegata dalle variazioni in un’altra (ad es. le ore di studio). In questo modo puoi capire quanto bene il tuo modello "si adatta" ai dati.

In questo articolo, ti aiutiamo a capire cosa significa R², perché è importante e come calcolarlo e interpretarlo anche se sei alle prime armi con la statistica. 

Cos’è il coefficiente di determinazione?

Il coefficiente di determinazione, di solito scritto come R² (R-quadro), è un numero che ci dice quanto bene un modello di regressione spiega ciò che accade nei dati. Mostra quanta parte della variazione nell’esito (variabile dipendente) può essere spiegata dalle variabili che usiamo per prevederlo (variabili indipendenti). 

Supponi di voler prevedere il peso di una persona in base alla sua altezza. Se R² è vicino a 1, la tua previsione sta facendo un ottimo lavoro. La maggior parte delle differenze di peso può essere attribuita alle differenze di altezza. Se R² è vicino a 0, allora la tua previsione è sostanzialmente un indovinare perché, in quel caso, l’altezza non spiega molta della variazione del peso.

Ci aspettiamo valori di R² tra 0 e 1:

  • 0 significa che il modello non spiega alcuna variabilità nei dati.

  • 1 significa che il modello spiega tutta la variabilità.

  • Valori più vicini a 1 indicano un miglior adattamento, mostrando che il modello cattura meglio il pattern nei dati.

Regressione lineare semplice

Quando lavori con una sola variabile indipendente, il modello si chiama regressione lineare semplice. In questo caso, R² ha un rapporto elegante con il coefficiente di correlazione di Pearson (r): R² = r²

Questo significa che se c’è una forte correlazione positiva o negativa tra il tuo predittore e l’esito, R² sarà alto.

Nota: Nei modelli con più di un predittore (chiamati regressione multipla), R² ti dice ancora quanta varianza è spiegata, ma non è più r², perché ora stai combinando gli effetti di più variabili.

Il coefficiente di determinazione può essere negativo?

R² di solito varia da 0 a 1. Ma a volte potresti vedere un R² negativo. Questo può accadere se:

  • Il tuo modello non include un intercetta (un valore iniziale costante)
  • Stai usando il tipo sbagliato di modello per i dati

Un R² negativo significa che il tuo modello fa peggio che indovinare la media. In altre parole, si adatta così male ai dati da risultare fuorviante.

Come calcolare il coefficiente di determinazione

Ci sono due modi comuni per calcolare R²:

  1. Usando la somma dei quadrati
  2. Usando il coefficiente di correlazione (r)

Vediamoli entrambi.

Usando la somma dei quadrati

La formula più comune per R² è:

Coefficient of determination calculated using residual sum of squares and sum of squares total

Qui, la somma dei quadrati dei residui (la parte non spiegata) misura quanto i valori reali si discostano dai valori previsti dal tuo modello. È l’errore che il modello commette.

Residual Sum of Squares Formula. Image from source.

La somma totale dei quadrati è la variazione totale nei dati osservati. Indica quanto i valori reali si discostano dalla media della variabile dipendente.

Quindi, quanto più piccola è la somma dei quadrati dei residui rispetto alla somma totale dei quadrati, tanto meglio il modello si adatta ai dati e tanto più R² si avvicina a 1.

Capiremo questo con un esempio: 

Supponi di avere un piccolo dataset con i seguenti valori:

Osservazione

Reale

Predetto

1

10

12

2

12

11

3

14

13

Per prima cosa, calcola la media dei valori reali:

  • y = (10+12+14)/3 = 12

Poi calcola la somma totale dei quadrati (quanto i valori reali si discostano dalla media):

  • somma totale dei quadrati = (10 − 12)2 + (12 − 12)2 + (14 − 12)2 = 4 + 0 + 4 = 8

Successivamente, calcola la somma dei quadrati dei residui (quanto i valori reali si discostano dai valori previsti):

  • somma dei quadrati dei residui = (10 − 12)2 + (12 − 11)2 + (14 − 13)2 = 4 + 1 + 1 = 6

Ora inserisci questi valori nella formula:

  • R² = 1 − (somma dei quadrati dei residui / somma totale dei quadrati) = 1 − (6/8) = 1 − 0,75 = 0,25

Quindi, R² = 0,25, il che significa che il modello spiega il 25% della variazione nei dati.

Questo grafico mostra quanto ciascun valore reale si discosta dal valore previsto. Le previsioni del modello sono abbastanza imprecise, ed è per questo che R² è solo 0,25: viene spiegato solo il 25% della variazione.

Usando il coefficiente di correlazione

Se stai usando la regressione lineare semplice (una sola variabile indipendente), usa questa formula:

coefficient of determination in simple linear regression

Qui r è il coefficiente di correlazione di Pearson tra i valori reali e quelli previsti. Questa scorciatoia funziona solo quando c’è un singolo predittore.

Supponiamo che la correlazione tra X e Y sia: r = −0,8

Anche se la correlazione è negativa (le variabili si muovono in direzioni opposte), R² è positivo: R² = (−0,8)² = 0,64

Quindi, il 64% della variazione dell’esito può comunque essere spiegato dal predittore, anche se la relazione è negativa. Ecco perché R² è sempre positivo o zero; rappresenta la quantità di variazione spiegata, non la direzione.

Positive and negative correlation in stats

Correlazione positiva e negativa. Immagine dell’autore.

Come interpretare il coefficiente di determinazione

Il coefficiente di determinazione ci dice quanta parte della variazione dell’esito (variabile dipendente) è spiegata dal nostro modello. In parole semplici, è come chiedersi: "Quanta parte dei cambiamenti di ciò che sto cercando di prevedere può essere spiegata dai dati che uso?"

Poniamo che tu stia costruendo un modello per prevedere i punteggi d’esame degli studenti in base alle ore di studio. Se il modello ti restituisce: R² = 0,90

Questo significa che il 90% delle differenze nei punteggi può essere spiegato dalle differenze nel tempo di studio. Il restante 10% dipende da altri fattori non inclusi nel modello, come il sonno, le capacità innate, le conoscenze pregresse o la difficoltà del test.

Interpreting the coefficient of determination in stats

Interpretare il coefficiente di determinazione. Immagine dell’autore.

Questo grafico mostra come il tempo di studio influisce sui punteggi d’esame. 

  • La linea nera è la previsione del modello. 
  • I punti blu sono punteggi che il modello ha spiegato bene usando il tempo di studio. 
  • I punti arancioni rappresentano punteggi che non si adattano, probabilmente a causa di altri fattori come il sonno, la difficoltà del test o le conoscenze pregresse dello studente. Poiché R² = 0,90, la maggior parte dei punteggi segue il pattern, ma non tutti.

Le linee guida di Cohen

Jacob Cohen ha creato una guida ampiamente usata per aiutarci a capire cosa possano significare diversi valori di R² quando interpretiamo l’intensità di una relazione.

Ecco i riferimenti indicativi di Cohen per R²:

Riferimenti indicativi di Cohen. Immagine dell’autore

Nota: si tratta di linee guida generali. Cosa sia un effetto “grande” o “piccolo” può variare molto a seconda del tuo ambito (come psicologia vs ingegneria) e del contesto della ricerca.

Limiti e idee sbagliate comuni

Sebbene R² sia utile, bisogna capire cosa può e cosa non può dirti. Ecco alcune incomprensioni e limitazioni comuni da tenere d’occhio:

Mito 1: Un alto coefficiente di determinazione significa un modello migliore

Potrebbe sembrare che un R² più alto implichi sempre un modello migliore, ma non è necessariamente vero. R² aumenta o resta uguale quando aggiungi più variabili a un modello, anche se quelle variabili sono del tutto irrilevanti. 

Perché? 

Perché il modello ha più flessibilità nell’adattarsi ai dati di training, anche se sta solo adattando il rumore. Questo può portare a overfitting, cioè un modello che sembra ottimo sui dati di addestramento ma va male su nuovi dati.

Suggerimento: Usa l’R² aggiustato quando confronti modelli con diversi numeri di predittori. Penalizza la complessità non necessaria e può aiutare a individuare l’overfitting. 

Mito 2: Un alto coefficiente di determinazione implica previsioni accurate su nuovi dati o causalità

R² misura solo quanto bene il modello descrive i dati che hai già. Non ti dice:

  • Se il modello farà buone previsioni su nuovi dati
  • Se una variabile causa l’altra

Un R² alto può anche verificarsi per caso se usi molti predittori. Quindi guarda sempre anche altre metriche di valutazione del modello (come RMSE o MAE per la qualità predittiva) e ricorda: correlazione non è causalità.

Mito 3: Un R-quadro basso significa che il modello è inutile

A volte, in sistemi complessi (come prevedere il comportamento umano o i mercati finanziari), un R² basso è atteso.

Per esempio, se modelli qualcosa influenzato da molti fattori imprevedibili o non misurabili, il tuo modello può essere comunque utile anche con un R² basso. Potrebbe catturare una tendenza significativa o offrire insight, anche se non spiega una grande porzione della varianza.

Nella ricerca medica o psicologica, è comune vedere valori di R² bassi perché gli esiti delle persone dipendono da moltissime variabili interagenti.

Altre varianti: R-quadro parziale e generalizzazioni

Sebbene R² aiuti a capire l’adattamento del modello nella regressione lineare, esistono altre varianti e generalizzazioni utili in contesti di modellazione diversi.

R-quadro aggiustato

Come il normale R², l’R² aggiustato ci dice quanta parte della variazione della variabile dipendente è spiegata dal modello. Ma fa un passo in più penalizzando la complessità non necessaria. In altre parole, scoraggia il riempire il modello con predittori extra che non aiutano.

La sua formula è:

Adjusted R² = 1 - [ (1 - R²) × (n - 1) / (n - p - 1) ]

Qui:

  • n è il numero di osservazioni (punti dati)

  • p è il numero di predittori (variabili indipendenti)

La formula riduce l’R² se una nuova variabile non migliora il modello. Questa penalizzazione diventa più forte man mano che aggiungi predittori.

Per esempio, se aggiungi una nuova variabile che migliora l’accuratezza del modello, l’R² aggiustato salirà. Ma se quella variabile cambia poco o aiuta solo per caso, l’R² aggiustato scenderà, segnalando possibile overfitting.

Questo rende l’R² aggiustato utile per confrontare i modelli.

Poniamo che tu debba scegliere tra un modello più semplice con tre predittori e uno più complesso con sei. Anche se il modello complesso ha un R² leggermente superiore, l’R² aggiustato potrebbe essere più basso, indicando che non vale la pena della complessità aggiuntiva.

R² vs Adjusted R² as predictors increase

R² rispetto a R² aggiustato all’aumentare dei predittori. Immagine dell’autore.

Questo grafico mostra che, aggiungendo predittori, R² continua a crescere anche se non sono molto utili. Al contrario, l’R² aggiustato cala se esageri, avvisandoti dell’overfitting.

Coefficiente di determinazione parziale

L’R² parziale (o coefficiente di determinazione parziale) indica quanta varianza aggiuntiva nella variabile dipendente è spiegata aggiungendo uno specifico predittore a un modello che già ne include altri.

Per calcolare l’R² parziale, confrontiamo due modelli:

  • Il modello ridotto, che esclude il predittore in questione
  • Il modello completo, che include tutti i predittori

La formula per l’R² parziale si basa sulla riduzione della Somma dei Quadrati degli Errori (SSE) quando si aggiunge la nuova variabile. Una forma comune è:

Partial R² Formula. Image by Author.

Oppure in termini di somme dei quadrati della regressione:

Partial R² Formula. Image by Author.

Supponi di costruire un modello per prevedere le vendite di un prodotto. 

Hai già “prezzo del prodotto” e “stagione” nel modello. Ora vuoi vedere se aggiungere “spesa marketing” migliora le previsioni. L’R² parziale ti dice quanta varianza in più nelle vendite viene spiegata includendo “spesa marketing”.

R² increasing from 0.60 to 0.75 after adding marketing spend.

R² che aumenta da 0,60 a 0,75 dopo aver aggiunto la spesa marketing. Immagine dell’autore.

Questo grafico mostra quanto il modello diventi più accurato quando si aggiunge “spesa marketing”. R² passa da 0,60 a 0,75, il che significa che la nuova variabile spiega il 15% in più della variazione nelle vendite: questo è l’R² parziale.

Coefficiente di determinazione nella regressione logistica

Nella regressione logistica, la variabile di esito è categoriale, come sì/no, promosso/bocciato, quindi l’R² tradizionale non si applica. Usiamo invece metriche pseudo-R², che hanno uno scopo simile: stimare quanto bene il modello spiega la variazione degli esiti.

Due valori pseudo-R² comuni sono:

  • Cox & Snell R²: stima la varianza spiegata, ma il suo valore massimo è inferiore a 1, anche per un modello perfetto.
  • Nagelkerke R²: una versione corretta del Cox & Snell R² che scala fino a 1, rendendolo più facile da interpretare come l’R² tradizionale.

Supponi di modellare se un cliente farà clic su un annuncio (sì/no). Poiché l’esito è binario, non puoi usare l’R² normale. Ma valori pseudo-R² come Nagelkerke aiutano a confrontare modelli logistici e valutarne la capacità predittiva, anche se non sono direttamente equivalenti all’R² nella regressione lineare.

Compare logistics models with pseudo-R² metrics

Confronta modelli logistici con metriche pseudo-R². Immagine dell’autore.

Questo grafico confronta modelli di regressione logistica usando valori pseudo-R². Il Nagelkerke R² offre una scala più interpretabile rispetto al Cox & Snell. Ciò rende più semplice valutare quanto bene ciascun modello spiega l’esito (ad es. prevedere i clic sugli annunci).

Coefficiente di determinazione vs altre metriche di adattamento del modello

Sebbene R² sia utile per capire quanta variazione è spiegata, non misura di quanto si sbagliano le tue previsioni. A questo servono metriche basate sull’errore come RMSE, MAE e MAPE.

Ecco un breve confronto:

Metrica

Cosa indica

Migliore utilizzo quando

Attenzione a

R²

% di varianza spiegata

Confronto di modelli lineari, interpretabilità

Fuorviante se i residui non sono normali o il modello è non lineare

RMSE

Penalizza gli errori grandi

Quando si dà priorità all’impatto di errori grandi (es. scienza, ML)

Sensibile agli outlier

MAE

Errore medio (assoluto)

Monitoraggio errori semplice e robusto (es. finanza)

Meno sensibile agli errori grandi

MAPE

% di errore rispetto al valore reale

Previsioni, contesti business

Va in crisi quando i valori reali sono vicini a zero

Residui normalizzati

Errore aggiustato per la varianza

Regressione pesata, affidabilità di misura variabile

Richiede varianze d’errore note

Chi-quadro

Residui vs varianza nota

Scienze, test di bontà dell’adattamento

Assume normalità e struttura d’errore nota

Applicazioni pratiche in diversi campi

Ora vediamo alcuni dei tantissimi casi in cui è stato usato il coefficiente di determinazione. 

Economia: spiegare le fluttuazioni del PIL

In economia, R² si usa per spiegare i cambiamenti in indicatori ampi come il Prodotto Interno Lordo (PIL). Per esempio, un modello può includere tassi di interesse, spesa dei consumatori e saldi commerciali per prevedere il PIL.

Se un simile modello restituisce un R² di 0.83, significa che l’83% della variazione del PIL può essere spiegata da questi fattori economici. Questo aiuta gli economisti a capire quanto delle oscillazioni del PIL sia attribuibile a driver noti.

Uno studio ha usato il PIL USA come variabile indipendente per prevedere l’indice S&P 500 e ha trovato un R² di 0.83. Ciò ha mostrato una forte relazione tra attività economica e andamenti del mercato azionario.

R² explaining GDP economics

R² che spiega l’economia del PIL. Immagine dell’autore.

Il grafico mostra che, aggiungendo più indicatori economici al modello, l’R² aumenta, da 0.52 a 0.83 con tutte e tre le variabili. È chiaro così che ogni fattore aggiunto spiega meglio le fluttuazioni del PIL.

Finanza: movimenti del prezzo delle azioni vs indice di mercato

In finanza, R² si usa per misurare quanto i rendimenti di un’azione siano spiegati dai movimenti del mercato nel suo complesso. Si fa mettendo in regressione i rendimenti di un titolo contro un indice come l’S&P 500.

Per esempio, se metti in regressione i rendimenti di Apple (AAPL) contro l’S&P 500 e ottieni R² = 0.82, significa che l’85% dei movimenti dei rendimenti di Apple è spiegato dal mercato più ampio.

  • Un R² alto suggerisce che il titolo è strettamente legato al mercato.
  • Un R² basso implica che il titolo è più indipendente.

Correlation between AAPL and S&P 500

Correlazione tra AAPL e S&P 500. Immagine dell’autore.

Il grafico mostra la forte correlazione tra Apple (AAPL) e l’S&P 500. Con un R² di 0.82, la maggior parte dei movimenti di prezzo di Apple è in linea con le tendenze del mercato, indicando un’elevata sensibilità al mercato.

Marketing: spesa pubblicitaria e conversioni

Nel marketing, R² mostra quanto bene la spesa pubblicitaria spiega i tassi di conversione dei clienti.

Supponi di lavorare in un’azienda e-commerce e di voler sapere se aumentare la spesa pubblicitaria mensile migliora i tassi di conversione. Esegui una regressione lineare e trovi R² = 0,98. Ciò significa che il 98% della variazione del tasso di conversione è spiegato dalla spesa pubblicitaria, suggerendo una relazione molto forte.

Queste informazioni aiutano i marketer a:

  • Prevedere i risultati di conversione
  • Giustificare i budget pubblicitari
  • Prevedere il ritorno sull’investimento (ROI)

Monthly advertising spend vs conversion rate

Spesa pubblicitaria mensile vs tasso di conversione. Immagine dell’autore.

Questo grafico illustra una relazione quasi perfettamente lineare tra spesa pubblicitaria mensile e tasso di conversione. Supporta un forte valore predittivo per ROI e pianificazione dei budget.

Machine learning: valutare i modelli di regressione

Nel machine learning, R² è usato come metrica di performance per i compiti di regressione. Librerie come scikit-learn offrono la funzione r2_score() per calcolarlo.

Indica quanto bene il modello spiega la variabilità nei dati:

  • R² vicino a 1 significa buon adattamento ed errore basso

  • R² vicino a 0 significa scarso adattamento

R² complements RMSE and MAE

R² complementa RMSE e MAE. Immagine dell’autore.

Questo grafico evidenzia come R² completi altre metriche come RMSE e MAE nella valutazione dei modelli di regressione. Mentre R² mostra il potere esplicativo, RMSE e MAE forniscono indicazioni sulla dimensione effettiva degli errori di previsione.

Come riportare il coefficiente di determinazione nella ricerca

Se includi R² in un articolo o progetto di ricerca, ci sono alcune regole di formattazione da tenere a mente:

  • Assicurati di scrivere in corsivo R² e sì, deve essere una R maiuscola, non minuscola. 
  • Non usare lo zero iniziale prima della virgola decimale. Quindi, invece di scrivere R² = 0,73, scrivi R² = .73. E, a meno che tu non abbia davvero bisogno di maggior dettaglio, arrotonda a due decimali.

Se usi R² come parte di un’analisi di regressione o di un’ANOVA e stai testando se il modello è significativo, includi alcune altre cose: la statistica F, i gradi di libertà e il p-value. Questi indicano al lettore quanto possiamo essere fiduciosi che il tuo modello spieghi qualcosa di significativo.

Quando riporti i risultati, può apparire più o meno così:

“Il modello ha spiegato una porzione significativa della varianza nelle vendite, R² = .73, F(2, 97) = 25,42, p < .001.”

Tuttavia, se non stai conducendo un test d’ipotesi, ad esempio se stai eseguendo un’analisi esplorativa o valutando le prestazioni del modello con cross-validation, allora è perfettamente accettabile riportare il solo valore di R².

Il coefficiente di determinazione in Python, R ed Excel

Vediamo come calcolare R² in tre modi diversi: Python, R ed Excel, tramite un mini-progetto in cui prevediamo i punteggi degli studenti in base al tempo di studio.

Useremo il seguente dataset per tutti e tre gli esempi:

Dataset di esempio. Immagine dell’autore

Coefficiente di determinazione in Python

Ecco come calcolare R² in Python usando scikit-learn:

from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
import numpy as np

# Data
study_time = np.array([1.5, 3.0, 2.5, 5.0, 3.5, 4.5, 6.0]).reshape(-1, 1)
scores = np.array([52, 63, 58, 80, 70, 78, 88])

# Model
model = LinearRegression()
model.fit(study_time, scores)
predicted_scores = model.predict(study_time)

# R² score
r2 = r2_score(scores, predicted_scores)
print(f"R² = {r2:.2f}")
0.99

Questo significa che il 99% della varianza nei punteggi è spiegato dal tempo di studio.

Se vuoi saperne di più su Regressione e modelli statistici, consulta la nostra guida a Introduction to Regression with statsmodels in Python. 

Coefficiente di determinazione in R

In R, puoi calcolare R² con poche righe usando la funzione lm():

# Data
study_time <- c(1.5, 3.0, 2.5, 5.0, 3.5, 4.5, 6.0)
scores <- c(52, 63, 58, 80, 70, 78, 88)

# Linear model
model <- lm(scores ~ study_time)

# R-squared
summary(model)$r.squared
0.9884718

Circa il 98% della varianza nei punteggi è spiegato dal tempo di studio. Se vuoi approfondire la Regressione in R, dai un’occhiata al nostro corso Introduction to Regression in R.

Coefficiente di determinazione in Excel

In Excel, puoi calcolare R² usando la funzione integrata RSQ(). Supponendo che:

  • Il tempo di studio sia nelle celle A2:A8

  • I punteggi siano nelle celle B2:B8

La sintassi è:

RSQ(known_y's,known_x's)

Ho usato la seguente formula:

=RSQ(B2:B8,A2:A8)

Questo dice a Excel di calcolare il valore di R² tra la variabile dipendente (punteggi) e la variabile indipendente (tempo di studio).

R² example in Excel. Image by Author.

Esempio di R² in Excel. Immagine dell’autore.  

Punti chiave

Che tu stia prevedendo i punteggi degli studenti, i rendimenti azionari o il comportamento dei clienti, il coefficiente di determinazione ti dice quanta parte dell’esito il tuo modello riesce davvero a comprendere. 

Un coefficiente di determinazione alto può sembrare impressionante, ma non lasciarti ingannare pensando che il modello sia perfetto o che provi un rapporto di causa-effetto. E un coefficiente di determinazione basso non significa sempre fallimento; potrebbe indicare che il sistema è complesso o che le variabili sono incomplete.

Quindi, se stai costruendo o analizzando modelli, chiediti:

  • Cosa sto spiegando bene?
  • Cosa mi sta sfuggendo?
  • E il mio modello è utile, non solo accurato?

Parti da questa mentalità e userai il coefficiente di determinazione come una lente per prendere decisioni migliori.

Laiba Siddiqui

Autore

Laiba Siddiqui

Sono una content strategist: mi piace semplificare argomenti complessi. Ho aiutato aziende come Splunk, Hackernoon e Tiiny Host a creare contenuti coinvolgenti e informativi per il loro pubblico.

FAQ

Qual è la differenza tra R e R-quadro?

R esprime la correlazione tra variabili. Ma R² indica la variazione nei dati spiegata dalla correlazione e l’R² aggiustato tiene conto di altre variabili.

Argomenti

Correlato