Co oznacza ujemne R-kwadrat?

17

Powiedzmy, że mam jakieś dane, a następnie dopasowuję dane do modelu (regresja nieliniowa). Następnie obliczam R-kwadrat ( ).R2

Kiedy R-kwadrat jest ujemny, co to oznacza? Czy to znaczy, że mój model jest zły? Wiem, że zakres może wynosić [-1,1]. Kiedy wynosi 0, co to oznacza?R2R2

RockTheStar
źródło
4
To znaczy, że zrobiłeś coś źle, ponieważ R2) leży w [0,1] z definicji. R2) regulowane z drugiej strony mogą być ujemne, które można bezpiecznie założyć, oznacza, że model jest bardzo słaba zgodność z danymi. Gdy R2) jest dokładnie zero, oznacza to, że y¯ jest tak dobra predykcyjnym y jako linii regresji najmniejszych kwadratów siebie.
dsaxton
1
Jest to możliwe w przypadku regresji bez przechwytywania, patrz np. Stats.stackexchange.com/questions/164586/…
Powiązane: Kiedy R jest kwadratem ujemne?
gung - Przywróć Monikę
@ Gung Chciałem zasugerować, że to może być duplikat tego pytania ... czy uważasz, że są wystarczająco wyraźne? (Jeśli cokolwiek to pytanie wydaje się ładniejsze niż drugie, ponieważ nie ma rozpraszającej składni SPSS, ale odpowiedzi w drugim wątku są bardzo dobre i wydają się obejmować również to pytanie.)
Silverfish

Odpowiedzi:

37

R2) mogą być negatywne, oznacza jedynie, że:

  1. Model bardzo źle pasuje do twoich danych
  2. Nie ustawiłeś przechwytywania

Do ludzi, którzy mówią, że jest między 0 a 1, to nie jest przypadek. Natomiast ujemna wartość czegoś ze słowem „kwadratów” w nim może brzmieć jak łamie zasady matematyki, może się zdarzyć w R 2 modelu bez przecięcia. Aby zrozumieć dlaczego, musimy przyjrzeć się, jak R 2 jest obliczana.R2)R2)R2)

To jest trochę długie - jeśli chcesz uzyskać odpowiedź bez jej zrozumienia, przejdź do końca. W przeciwnym razie próbowałem napisać to prostymi słowami.

Najpierw określić 3 zmienne: , T S S i E S S .RS.S.T.S.S.miS.S.

Obliczanie RSS :

Dla każdej niezależnej zmiennej mamy zmienną zależną y . Narysujemy linię liniową najlepszego dopasowania, która przewiduje wartość y dla każdej wartości x . Nazwijmy wartości y linia przewiduje y . Błąd między przewidywaniami linii a rzeczywistą wartością y można obliczyć odejmując. Wszystkie te różnice są sumowane i kwadratu, co daje resztkowa suma kwadratów R S S .xyyxyy^yRS.S.

Umieszczenie że do równania, RSS=(yy^)2

Obliczanie TSS :

Możemy obliczyć średnią wartość , która nazywa się ˉ y . Jeśli mamy wykreślić · y , to tylko poziomą linię przez dane, ponieważ jest stała. Możemy jednak odjąć ˉ y (średnią wartość y ) od każdej rzeczywistej wartości y . Wynik kwadratu i sumują się, co daje łączną sumę kwadratów T S S .yy¯y¯y¯yyTSS

Umieszczenie tego w równaniu TSS=(yy¯)2

Obliczanie ESS :

Różnice między Y (Wartości Y przewidywane linią), a średnia wartość ˉ Y są do kwadratu i dodana. Jest to wyjaśnione suma kwadratów, co odpowiada Ď ( y - ˉ Y ) 2y^yy¯(y^y¯)2

Pamiętać, , ale można dodać + Y - Y do niego, ponieważ kasuje się na zewnątrz. Zatem T S S = Σ ( Y - Y + Y - ˉ Y ) 2 . Rozszerzanie wsporników, otrzymujemy t S S = Σ ( y - y ) 2 +TSS=(yy¯)2+y^y^TSS=(yy^+y^y¯)2TSS=(yy^)2+2(yy^)(y^y¯)+(y^y¯)2)

Wtedy i tylko wtedy, gdy linia wykreślona z osią następującą jest zawsze prawdziwe: . Zatem T S S = Σ ( y - y ) 2 + Σ ( Y - ˉ R ) 2 , które można zauważyć, oznacza tylko, że T S S = R S S +2(y-y^)(y^-y¯)=0T.S.S.=(y-y^)2)+(y^-y¯)2)TSS=RSS+ESS. If we divide all terms by TSS and rearrange, we get 1RSSTSS=ESSTSS.

Here's the important part:

R2 is defined as how much of the variance is explained by your model (how good your model is). In equation form, that's R2=1RSSTSS. Look familiar? When the line is plotted with an intercept, we can substitute this as R2=ESSTSS. Since both the numerator and demoninator are sums of squares, R2 must be positive.

BUT

2(yy^)(y^y¯) does not necessarily equal 0. This means that TSS=RSS+ESS+2(yy^)(y^y¯).

Dividing all terms by TSS, we get 1RSSTSS=ESS+2(yy^)(y^y¯)TSS.

Finally, we substitute to get R2=ESS+2(yy^)(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(yy^)(y^y¯) would be negative when yy^ 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)

Przesadny przykład sytuacji, gdy R ^ 2 jest ujemny (Źródło: 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.

Yang Li
źródło
5
Naprawdę fantastyczna odpowiedź! Jedyne, czego mi brakuje, to intuicja za tym, dlaczego2)(y-y^)(y^-y¯)=0 kiedy i tylko kiedy jest ustawiony zestaw przechwytywania?
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

linia pozioma przez średnią

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

równanie dla r-kwadrat

Now SS Regression and SS Total are both sums of squared terms. Both of those are always positive. This means we are taking 1, and subtracting a positive value. So the maximum R-Squared value is positive 1, but the minimum is negative infinity. Yes, that is correct, the range of R-squared is between -infinity and 1, not -1 and 1 and not 0 and 1

What Is Sum Squared Error

Sum squared error is taking the error at every point, squaring it, and adding all the squares. For total error, it uses the horizontal line through the mean, because that gives the lowest sum squared error if you don't have any other information, i.e. can't do a regression.

wprowadź opis zdjęcia tutaj

As an equation it is this

suma kwadrat równanie błędu całkowitego

Teraz z regresją naszym celem jest zrobienie czegoś lepszego niż średnia. Na przykład ta linia regresji da mniejszy błąd kwadratu niż użycie linii poziomej.

wprowadź opis zdjęcia tutaj

Oto równanie błędu kwadratowego sumy regresji

wprowadź opis zdjęcia tutaj

Idealnie byłoby, gdybyś miał zerowy błąd regresji, tzn. Twoja linia regresji idealnie pasowałaby do danych. W takim przypadku otrzymasz wartość R-Squared 1

r podniesiona do kwadratu wartość 1

Ujemne R do kwadratu

Wszystkie powyższe informacje są dość standardowe. A co z ujemnym R-kwadratem?

Okazuje się, że nie ma powodu, aby twoje równanie regresji dawało błąd kwadratowy niższy niż wartość średnia. Powszechnie uważa się, że jeśli nie można dokonać lepszej prognozy niż wartość średnia, wystarczy użyć wartości średniej, ale nic nie przemawia za tym. Możesz na przykład przewidzieć medianę wszystkiego.

W praktyce, przy zwykłej regresji najmniejszych kwadratów, najczęstszym czasem na uzyskanie ujemnej wartości R-kwadratów jest wymuszenie punktu, przez który linia regresji musi przejść. Zazwyczaj odbywa się to przez ustawienie punktu przecięcia, ale można wymusić linię regresji przez dowolny punkt.

Gdy to zrobisz, linia regresji przechodzi przez ten punkt i próbuje uzyskać błąd minimalnej sumy do kwadratu, wciąż przechodząc przez ten punkt.

punkt stały

Domyślnie równania regresji wykorzystują średnią x i średnią y jako punkt, przez który przechodzi linia regresji. Ale jeśli wymusisz to przez punkt, który jest daleko od miejsca, w którym normalnie byłaby linia regresji, możesz otrzymać błąd kwadratu większy niż użycie linii poziomej

Na poniższym obrazie obie linie regresji zostały zmuszone do przechwytywania ay na 0. To spowodowało ujemny kwadrat R dla danych, które są daleko przesunięte od początku.

ujemny r do kwadratu

W przypadku górnego zestawu punktów, czerwonych, linia regresji jest najlepszą możliwą linią regresji, która również przechodzi przez początek. Zdarza się, że ta linia regresji jest gorsza niż użycie linii poziomej, a zatem daje ujemny R-kwadrat.

Niezdefiniowany R-kwadrat

Jest jeden szczególny przypadek, o którym nikt nie wspominał, w którym można uzyskać niezdefiniowany R-Squared. To znaczy, jeśli twoje dane są całkowicie poziome, wtedy twój całkowity błąd kwadratu wynosi zero. W rezultacie miałbyś zero podzielone przez zero w równaniu R-kwadrat, który jest niezdefiniowany.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Dość nerdy
źródło
bardzo żywa odpowiedź, chciałbym zobaczyć znacznie więcej tego typu odpowiedzi!
Ben,
0

Jak zauważa poprzedni komentator, r ^ 2 jest między [0,1], a nie [-1, + 1], więc nie można być ujemnym. Nie możesz obliczyć wartości i uzyskać liczby ujemnej. Być może patrzysz na korelację r? Może wynosić od [-1, + 1], gdzie zero oznacza brak zależności między zmiennymi, -1 oznacza idealną zależność ujemną (gdy jedna zmienna rośnie, druga maleje), a +1 jest doskonałym wynikiem dodatnim związek (obie zmienne idą w górę lub w dół jednocześnie).

Jeśli rzeczywiście patrzysz na r ^ 2, to, jak opisuje poprzedni komentator, prawdopodobnie widzisz skorygowane r ^ 2, a nie rzeczywiste r ^ 2. Zastanów się, co oznacza statystyka: uczę statystyki nauk behawioralnych, a najprostszym sposobem, w jaki nauczyłem moich uczniów, jak rozumieć znaczenie r ^ 2, jest „wyjaśnienie% wariancji”. Więc jeśli masz r ^ 2 = 0,5, model wyjaśnia 50% wariancji zmiennej zależnej (wyniku). Jeśli masz ujemne r ^ 2, oznacza to, że model wyjaśnia ujemny% zmiennej wynikowej, co nie jest intuicyjnie uzasadnioną sugestią. Jednak skorygowane r ^ 2 uwzględnia wielkość próbki (n) i liczbę predyktorów (p). Wzór na jego obliczenie znajduje się tutaj. Jeśli masz bardzo niskie r ^ 2, to dość łatwo jest uzyskać wartości ujemne. To prawda, że ​​skorygowane ujemnie r ^ 2 nie ma bardziej intuicyjnego znaczenia niż zwykłe r ^ 2, ale jak powiedział poprzedni komentator, oznacza to po prostu, że twój model jest bardzo słaby, jeśli nie po prostu bezużyteczny.

Jeramy Townley
źródło
3
Jeśli chodzi o wyjaśniony procent wariancji, być może jeśli model jest tak słaby, że można zwiększyć wariancję (ESS> TSS), można otrzymać wynik ujemnyR2), gdzie R2)jest definiowany jako% wyjaśnionej wariancji zamiast kwadratowej korelacji między wartościami rzeczywistą a dopasowaną. Może się to nie zdarzyć w regresji z przecięciem oszacowanym przez OLS, ale może się zdarzyć w regresji bez przechwytywania lub być może w innych przypadkach.
Richard Hardy
4
R2) jest niemożliwe <0 w próbce, ale może być ujemny, gdy jest obliczany poza próbką , tj. w próbce wstrzymującej po ustaleniu wszystkich współczynników regresji. Jak wyjaśniono powyżej, reprezentuje to gorsze niż losowe prognozy.
Frank Harrell,
@FrankHarrell, czy jesteś pewien, że musi to być próbka? Oczywiście trzeba dość mocno zignorować dane, aby wygenerować model, który jest gorszy od średniej, ale nie rozumiem, dlaczego nie można tego zrobić tylko z danymi w próbie.
Matt Krause,
Zakładam, że w próbie oznacza próbkę, na której oszacowano współczynniki. To nie może być negatywne.
Frank Harrell,
1
@FrankHarrell, Załóżmy, że model jest naprawdę okropny - pasujesz do funkcji takich jak przechwytywaniegrzech(ωx+ϕ)do linii ukośnej. Nie powinienemR2)być tu również ujemny, nawet w przypadku danych w próbie? Matlab podaje mi dość dużą liczbę ujemną, gdy to robię ...
Matt Krause