O que significa o quadrado R negativo?


17

Digamos que eu tenho alguns dados e, em seguida, encaixo os dados em um modelo (uma regressão não linear). Então eu calculo o R ao quadrado ( R2 ).

Quando R ao quadrado é negativo, o que isso significa? Isso significa que meu modelo é ruim? Eu sei que a gama de R2 pode ser [-1,1]. Quando R2 é 0, o que isso significa também?


4
Isso significa que você fez algo errado desde que R2 encontra-se em [0,1] , por definição. Por outro lado, o R2 ajustado pode ser negativo, o que você pode assumir com segurança significa que seu modelo é muito pouco adequado aos dados. Quando R2 é exatamente zero, isto significa que y¯ é tão bom preditor de y como o menos própria linha de quadrados de regressão.
dsaxton

11
Isso é possível para uma regressão sem interceptação, por exemplo, stats.stackexchange.com/questions/164586/…



@gung Eu estava prestes a sugerir que isso era possivelmente uma duplicata dessa pergunta ... você acha que elas são suficientemente distintas? (Se alguma coisa esta pergunta parece mais bem do que o outro, porque não há nenhuma sintaxe perturbador SPSS, mas as respostas no outro segmento são muito bons e parecem cobrir esta questão também.)
Silverfish

Respostas:


37

pode ser negativo, isso significa apenas que:R2

  1. O modelo ajusta muito mal seus dados
  2. Você não definiu uma interceptação

Para as pessoas dizendo que é entre 0 e 1, este não é o caso. Enquanto que um valor negativo para algo com a palavra 'quadrado' em que pode soar como ele quebra as regras da matemática, que pode acontecer em um R 2 modelo sem uma interceptação. Para entender o porquê, precisamos olhar como R 2 é calculado.R2R2R2

Isso é um pouco longo - se você quiser a resposta sem entendê-la, pule para o final. Caso contrário, tentei escrever isso em palavras simples.

Primeiro, vamos definir 3 variáveis: , T S S e E S S .RSSTSSESS

Calculando RSS :

Para cada variável independente , temos a variável dependente y . Plotamos uma linha linear de melhor ajuste, que prevê o valor de y para cada valor de x . Vamos chamar os valores de y a linha prediz y . O erro entre o que sua linha prevê e qual é o valor y real pode ser calculado como subtração. Todas estas diferenças são elevados ao quadrado e somados, o que dá o residual Soma dos Quadrados R S S .xyyxyy^yRSS

Colocando em que uma equação, RSS=(y-y^)2

Calculando TSS :

Podemos calcular o valor médio de , que é chamado ˉ y . Se plotarmos y , é apenas uma linha horizontal através dos dados, porque é constante. O que podemos fazer com isso, porém, é subtrairyy¯y¯ (o valor médio dey) de cada valor real doy. O resultado é elevado ao quadrado e somados, o que dá a soma total dos quadradosTSS.y¯yyTSS

Colocando isso em uma equação TSS=(yy¯)2

Cálculo do ESS :

As diferenças entre y (os valores de y , previstos pela linha) e o valor médio ˉ y são elevados ao quadrado e adicionado. Esta é a soma explicada dos quadrados, que é igual a (y^yy¯(y^y¯)2

Lembre-se, , mas podemos adicionar um + y - y para ele, porque ele se anula. Portanto, T S S = Σ ( y - y + y - ˉ y ) 2 . Expandindo esses suportes, temos 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

Quando, e apenas quando a linha é traçada com uma intercepção, o seguinte é sempre verdadeira: . Portanto, T S S = Σ ( y - y ) 2 + Σ ( y - ˉ y ) 2 , o que poderá notar que apenas meios T S S = R S S +2(yy^)(y^y¯)=0TSS=(yy^)2+(y^y¯)2 . Se dividirmos todos os termos por T S S e reorganizarmos, obtemos 1 - R S STSS=RSS+ESSTSS .1RSSTSS=ESSTSS

Aqui está a parte importante :

é definido como o quanto da variância é explicada por seu modelo (como bom seu modelo é). Em forma de equação, isso é R 2 = 1 - R S SR2 . Parece familiar? Quando a linha é plotada com uma interceptação, podemos substituí-la comoR2=ESSR2=1RSSTSSR2=ESSTSSR2

MAS

2(yy^)(y^y¯)0TSS=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)

Um exemplo exagerado de 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

linha horizontal através da média

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

equação para r ao quadrado

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.

insira a descrição da imagem aqui

As an equation it is this

soma ao quadrado da equação do erro total

Now with regression, our objective is to do better than the mean. For instance this regression line will give a lower sum squared error than using the horizontal line.

insira a descrição da imagem aqui

The equation for regression sum squared error is this

insira a descrição da imagem aqui

Ideally, you would have zero regression error, i.e. your regression line would perfectly match the data. In that case you would get an R-Squared value of 1

r valor ao quadrado de 1

Negative R Squared

All the information above is pretty standard. Now what about negative R-Squared ?

Well it turns out that there is not reason that your regression equation must give lower sum squared error than the mean value. It is generally thought that if you can't make a better prediction than the mean value, you would just use the mean value, but there is nothing forcing that to be the cause. You could for instance predict the median for everything.

In actual practice, with ordinary least squared regression, the most common time to get a negative R-Squared value is when you force a point that the regression line must go through. This is typically done by setting the intercept, but you can force the regression line through any point.

When you do that the regression line goes through that point, and attempts to get the minimum sum squared error while still going through that point.

ponto fixo

By default, the regression equations use average x and average y as the point that the regression line goes through. But if you force it through a point that is far away from where the regression line would normally be you can get sum squared error that is higher than using the horizontal line

Na imagem abaixo, ambas as linhas de regressão foram forçadas a ter um intercepto de 0. Isso causou um quadrado R negativo para os dados que estão muito afastados da origem.

r negativo ao quadrado

Para o conjunto de pontos superior, os vermelhos, a linha de regressão é a melhor linha de regressão possível que também passa pela origem. Acontece que essa linha de regressão é pior do que usar uma linha horizontal e, portanto, fornece um R-quadrado negativo.

Undefined R-Squared

Há um caso especial que ninguém mencionou, em que você pode obter um R-quadrado indefinido. Ou seja, se seus dados estiverem completamente horizontais, o erro total da soma ao quadrado será zero. Como resultado, você teria um zero dividido por zero na equação do quadrado R, que é indefinida.

insira a descrição da imagem aqui

insira a descrição da imagem aqui


uma resposta muito vívida, gostaria de ver muito mais respostas desse tipo!
Ben

0

Como observa o comentarista anterior, r ^ 2 está entre [0,1], não [-1, + 1], por isso é impossível ser negativo. Você não pode colocar um valor ao quadrado e obter um número negativo. Talvez você esteja olhando r, a correlação? Pode estar entre [-1, + 1], onde zero significa que não há relação entre as variáveis, -1 significa que há uma relação negativa perfeita (à medida que uma variável aumenta, a outra diminui) e +1 é um positivo perfeito relacionamento (ambas as variáveis ​​sobem ou descem concordantemente).

Se, de fato, você está olhando r ^ 2, então, como o comentarista anterior descreve, provavelmente você está vendo o r ^ 2 ajustado, não o r ^ 2 real. Considere o que a estatística significa: ensino aulas de ciências comportamentais, e a maneira mais fácil que aprendi para ensinar meus alunos sobre o significado de r ^ 2 é "% de variação explicada". Portanto, se você tiver r ^ 2 = 0,5, o modelo explica 50% da variação da variável dependente (resultado). Se você tiver um r ^ 2 negativo, isso significa que o modelo explica uma% negativa da variável de resultado, o que não é uma sugestão intuitivamente razoável. No entanto, r ^ 2 ajustado leva em consideração o tamanho da amostra (n) e o número de preditores (p). Uma fórmula para o cálculo é aqui. Se você tem um r ^ 2 muito baixo, é razoavelmente fácil obter valores negativos. É verdade que um r ^ 2 ajustado negativo não tem um significado mais intuitivo que o r ^ 2 comum, mas, como diz o comentarista anterior, significa apenas que seu modelo é muito pobre, se não apenas inútil.


3
Em relação à porcentagem de variância explicada, talvez se o modelo é tão ruim que aumenta a variância (ESS> TSS), pode-se obter um resultado negativoR2, Onde R2é definido como% da variação explicada em vez da correlação ao quadrado entre os valores reais e os ajustados. Isso pode não acontecer em uma regressão com uma interceptação estimada pelo OLS, mas pode ocorrer em uma regressão sem interceptação ou talvez outros casos.
Richard Hardy

4
R2 é impossível ser <0 0 na amostra, mas pode ser negativo quando calculado fora da amostra , ou seja, em uma amostra de reserva após a fixação de todos os coeficientes de regressão. Como explicado acima, isso representa piores que as previsões aleatórias.
Frank Harrell

@FrankHarrell, você tem certeza de que precisa estar na amostra? Concedido, você teria que ignorar os dados com muita força para gerar um modelo pior que a média, mas não estou vendo por que você não pode fazer isso apenas com dados dentro da amostra.
Matt Krause

Eu suponho que amostra significa amostra em que coeficientes foram estimados. Então não pode ser negativo.
Frank Harrell

11
@FrankHarrell, suponha que o modelo seja realmente atroz - você se encaixa em alguma função sem interceptações, comopecado(ωx+ϕ)para uma linha diagonal. Não deveriaR2ser negativo aqui também, mesmo para os dados da amostra? Matlab me dá um número razoavelmente grande negativa quando faço isso ...
Matt Krause
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.