Cosa significa R-quadrato negativo?


17

Supponiamo che io abbia alcuni dati e quindi li metto in forma con un modello (una regressione non lineare). Quindi calcolo l'R-quadrato ( R2 ).

Quando R-quadrato è negativo, cosa significa? Significa che il mio modello è cattivo? So che l'intervallo di R2 può essere [-1,1]. Quando R2 è 0, cosa significa anche questo?


4
Significa che hai fatto qualcosa di sbagliato poiché R2 trova in [0,1] per definizione. R2 regolato d'altra parte può essere negativo, il che si può presumere in modo sicuro significa che il modello non è adatto ai dati. Quando R2 è esattamente zero, ciò significa che y¯ è altrettanto buono un predittore di y della stessa linea di regressione dei minimi quadrati.
dsaxton,

1
Questo è possibile per una regressione senza intercettazione, ad esempio stats.stackexchange.com/questions/164586/…



@gung Stavo per suggerire che forse era un duplicato di quella domanda ... pensi che siano sufficientemente distinti? (Semmai questa domanda sembra più gradevole dell'altra perché non ci sono sintassi SPSS che distraggono, ma le risposte all'altro thread sono molto buone e sembrano coprire anche questa domanda.)
Silverfish

Risposte:


37

può essere negativo, significa solo che:R2

  1. Il modello si adatta molto male ai tuoi dati
  2. Non hai impostato un'intercettazione

Per le persone che affermano che è compreso tra 0 e 1, non è così. Mentre un valore negativo per qualcosa con la parola 'al quadrato' potrebbe sembrare che infrange le regole della matematica, può accadere in un modello R 2 senza un'intercettazione. Per capire perché, dobbiamo guardare come viene calcolato R 2 .R2R2R2

Questo è un po 'lungo - Se vuoi la risposta senza capirla, salta alla fine. Altrimenti, ho provato a scrivere questo in parole semplici.

In primo luogo, definiamo 3 variabili: , T S S ed E S S .RSSTSSESS

Calcolo RSS :

Per ogni variabile indipendente , abbiamo la variabile dipendente y . Tracciamo una linea lineare di migliore adattamento, che prevede il valore di y per ogni valore di x . Chiamiamo i valori della y linea predice y . L'errore tra ciò che la tua linea prevede e quale sia il valore y reale può essere calcolato come sottrazione. Tutte queste differenze sono squadrate e sommati, che dà la residua somma dei quadrati R S S .xyyxyy^yRSS

Mettendo in un'equazione, RSS=(yy^)2

Calcolo del TSS :

Possiamo calcolare il valore medio di , che si chiama ˉ y . Se tracciamo ˉ y , è solo una linea orizzontale attraverso i dati perché è costante. Ciò che possiamo fare con esso, tuttavia, è sottrarre ˉ y (il valore medio di y ) da ogni valore effettivo di y . Il risultato è quadrato e sommati, che dà la somma dei quadrati totale T S S .yy¯y¯y¯yyTSS

Mettendolo in un'equazione TSS=(yy¯)2

Calcolo ESS :

Le differenze tra y (i valori di y previsti dalla retta) e il valore medio ˉ y sono squadrate e aggiunti. Questa è la somma dei quadrati spiegata, che è uguale a Σ ( y - ˉ y ) 2y^yy¯(y^y¯)2

Ricordate, , ma possiamo aggiungere un + y - y in esso, perché si annulla. Pertanto, T S S = Σ ( y - y + y - ˉ y ) 2 . Espansione queste staffe, otteniamo T S S = Σ ( y - y ) 2 +TSS=(yy¯)2+y^y^TSS=(yy^+y^y¯)2TSS=Σ(y-y^)2+2*Σ(y-y^)(y^-y¯)+Σ(y^-y¯)2

Quando, e solo quando la linea è tracciata con un'intercetta il seguente è sempre vero: . Pertanto, T S S = Σ ( y - y ) 2 + Σ ( y - ˉ y ) 2 , che si può notare soli mezzi T S S = R S S +2*Σ(y-y^)(y^-y¯)=0TSS=Σ(y-y^)2+Σ(y^-y¯)2 . Se dividiamo tutti i termini per T S S e riordiniamo, otteniamo 1 - R S STSS=RSS+ESSTSS .1-RSSTSS=ESSTSS

Ecco la parte importante :

è definito come la quantità di varianza è spiegata dal tuo modello (quanto è buono il tuo modello). In forma di equazione, è R 2 = 1 - R S SR2 . Ti sembra familiare? Quando la linea è tracciata con un'intercettazione, possiamo sostituirla comeR2=ESSR2=1-RSSTSS . Poiché sia ​​il numeratore che il demoninatore sono somme di quadrati,R2deve essere positivo.R2=ESSTSSR2

MA

Quando non specifichiamo un'intercettazione, non necessariamente uguale 0 . Ciò significa che T S S = R S S + E S S + 2 * Σ ( y - y ) ( y - ˉ y ) .2*Σ(y-y^)(y^-y¯)0TSS=RSS+ESS+2*Σ(y-y^)(y^-y¯)

Dividendo tutti i termini per , otteniamo 1 - R S STSS1-RSSTSS=ESS+2*Σ(y-y^)(y^-y¯)TSS.

Finally, we substitute to get R2=ESS+2*Σ(y-y^)(y^-y¯)TSS. This time, the numerator has a term in it which is not a sum of squares, so it can be negative. This would make R2 negative. When would this happen? 2*Σ(y-y^)(y^-y¯) would be negative when y-y^ is negative and y^-y¯ is positive, or vice versa. This occurs when the horizontal line of y¯ actually explains the data better than the line of best fit.

Here's an exaggerated example of when R2 is negative (Source: University of Houston Clear Lake)

Un esempio esagerato di quando R ^ 2 è negativo (Fonte: University of Houston Clear Lake)

Put simply:

  • When R2<0, a horizontal line explains the data better than your model.

You also asked about R2=0.

  • When R2=0, a horizontal line explains the data equally as well as your model.

I commend you for making it through that. If you found this helpful, you should also upvote fcop's answer here which I had to refer to, because it's been a while.


5
Seriously fantastic answer! The only thing missing for me is the intuition behind why 2(yy^)(y^y¯)=0 when, and only when, there is an intercept set?
Owen

6

Neither answer so far is entirely correct, so I will try to give my understanding of R-Squared. I have given a more detailed explanation of this on my blog post here "What is R-Squared"

Sum Squared Error

The objective of ordinary least squared regression is to get a line which minimized the sum squared error. The default line with minimum sum squared error is a horizontal line through the mean. Basically, if you can't do better, you can just predict the mean value and that will give you the minimum sum squared error

linea orizzontale attraverso la media

R-Squared is a way of measuring how much better than the mean line you have done based on summed squared error. The equation for R-Squared is

equazione per r-quadrato

Ora SS Regressione e SS Total sono entrambi somme di termini al quadrato. Entrambi sono sempre positivi. Questo significa che stiamo prendendo 1 e sottraendo un valore positivo. Quindi il valore R al quadrato massimo è 1 positivo, ma il minimo è infinito negativo. Sì, è corretto, l'intervallo di R al quadrato è compreso tra -infinito e 1, non -1 e 1 e non 0 e 1

Che cos'è l'errore al quadrato

L'errore somma quadrata sta prendendo l'errore in ogni punto, quadrandolo e aggiungendo tutti i quadrati. Per un errore totale, utilizza la linea orizzontale attraverso la media, poiché ciò fornisce l'errore al quadrato della somma più bassa se non si dispone di altre informazioni, ovvero non è possibile eseguire una regressione.

inserisci qui la descrizione dell'immagine

Come equazione è questo

somma equazione dell'errore totale al quadrato

Ora con regressione, il nostro obiettivo è fare meglio della media. Ad esempio, questa linea di regressione genererà un errore quadrato di somma inferiore rispetto all'utilizzo della linea orizzontale.

inserisci qui la descrizione dell'immagine

L'equazione per l'errore al quadrato della somma della regressione è questa

inserisci qui la descrizione dell'immagine

Idealmente, si avrebbe un errore di regressione pari a zero, ovvero la linea di regressione corrisponderebbe perfettamente ai dati. In tal caso otterrai un valore R-quadrato di 1

r valore quadrato di 1

R negativa al quadrato

Tutte le informazioni di cui sopra sono piuttosto standard. E che dire dell'R-quadrato negativo?

Bene, risulta che non c'è ragione per cui la tua equazione di regressione debba dare un errore al quadrato di somma inferiore rispetto al valore medio. In genere si pensa che se non è possibile effettuare una previsione migliore del valore medio, si utilizzerà semplicemente il valore medio, ma non c'è nulla che costringa a essere la causa. Ad esempio, potresti predire la mediana di tutto.

Nella pratica, con la regressione ordinaria al minimo quadrato, il momento più comune per ottenere un valore R al quadrato negativo è quando si forza un punto che deve passare attraverso la linea di regressione. Questo in genere viene fatto impostando l'intercetta, ma è possibile forzare la linea di regressione attraverso qualsiasi punto.

Quando lo fai, la linea di regressione passa attraverso quel punto e tenta di ottenere l'errore al quadrato della somma minima mentre continua a passare quel punto.

Punto fisso

Per impostazione predefinita, le equazioni di regressione utilizzano la media xe la media y come punto in cui passa la linea di regressione. Ma se lo forzate attraverso un punto che è lontano da dove sarebbe normalmente la linea di regressione, potete ottenere un errore di somma quadrata superiore all'utilizzo della linea orizzontale

Nell'immagine seguente, entrambe le linee di regressione sono state costrette ad avere un'intercetta pari a 0. Ciò ha causato un R-quadrato negativo per i dati che è lontano sfalsato rispetto all'origine.

r negativo al quadrato

Per la serie superiore di punti, quelli rossi, la linea di regressione è la migliore linea di regressione possibile che passa anche attraverso l'origine. Accade semplicemente che quella linea di regressione sia peggiore dell'uso di una linea orizzontale, e quindi dia un R-quadrato negativo.

Quadrato R indefinito

C'è un caso speciale che nessuno ha menzionato, in cui è possibile ottenere un R-quadrato non definito. Questo è se i tuoi dati sono completamente orizzontali, quindi l'errore al quadrato della somma totale è zero. Di conseguenza, si avrebbe uno zero diviso per zero nell'equazione del quadrato R, che non è definito.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


una risposta molto vivida, vorrei vedere molte più risposte di questo tipo!
Ben

0

Come osserva il commentatore precedente, r ^ 2 è compreso tra [0,1], non [-1, + 1], quindi è impossibile essere negativi. Non è possibile quadrare un valore e ottenere un numero negativo. Forse stai guardando r, la correlazione? Può essere compreso tra [-1, + 1], dove zero indica che non esiste alcuna relazione tra le variabili, -1 indica che esiste una relazione negativa perfetta (quando una variabile aumenta, l'altra diminuisce) e +1 è un positivo perfetto relazione (entrambe le variabili vanno su o giù in modo concorde).

Se in effetti stai guardando r ^ 2, allora, come descrive il commentatore precedente, probabilmente stai vedendo il r ^ 2 modificato, non l'effettivo r ^ 2. Considera cosa significa la statistica: insegno statistiche scientifiche comportamentali e il modo più semplice che ho imparato a insegnare ai miei studenti sul significato di r ^ 2 è "% varianza spiegata". Quindi se hai r ^ 2 = 0,5, il modello spiega il 50% della variazione della variabile dipendente (risultato). Se hai un r ^ 2 negativo, significherebbe che il modello spiega una% negativa della variabile risultato, che non è un suggerimento intuitivamente ragionevole. Tuttavia, r ^ 2 regolato prende in considerazione le dimensioni del campione (n) e il numero di predittori (p). Una formula per calcolarlo è qui. Se hai un r ^ 2 molto basso, è ragionevolmente facile ottenere valori negativi. Certo, un r ^ 2 aggiustato negativamente non ha alcun significato più intuitivo del normale r ^ 2, ma come dice il commentatore precedente, significa solo che il tuo modello è molto scarso, se non semplicemente inutile.


3
Per quanto riguarda la percentuale di varianza spiegata, forse se il modello è così scarso da aumentare la varianza (ESS> TSS), si potrebbe ottenere un negativoR2, dove R2è definito come% della varianza spiegata anziché correlazione quadrata tra i valori effettivi e quelli adattati. Ciò potrebbe non accadere in una regressione con un'intercettazione stimata da OLS, ma potrebbe accadere in una regressione senza intercettazione o forse in altri casi.
Richard Hardy,

4
R2 è impossibile essere <0 nel campione ma può essere negativo se calcolato fuori dal campione , cioè su un campione di controllo dopo aver fissato tutti i coefficienti di regressione. Come spiegato sopra, ciò rappresenta peggio delle previsioni casuali.
Frank Harrell,

@FrankHarrell, sei sicuro che debba essere campione? Certo, dovresti ignorare i dati piuttosto fortemente per generare un modello che è peggiore della media, ma non vedo perché non puoi farlo solo con i dati nel campione.
Matt Krause,

Presumo in campione significa campione su quali coefficienti sono stati stimati. Quindi non può essere negativo.
Frank Harrell,

1
@FrankHarrell, Supponiamo che il modello sia davvero atroce - si adatta una funzione senza intercettazione comepeccato(ω*X+φ)a una linea diagonale. Non dovrebbeR2essere negativo anche qui, anche per i dati nel campione? Matlab mi dà un numero negativo ragionevolmente grande quando lo faccio ...
Matt Krause,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.