Em um modelo linear simples com uma única variável explicativa,
Acho que remover o termo de interceptação melhora muito o ajuste (o valor de varia de 0,3 a 0,9). No entanto, o termo de interceptação parece ser estatisticamente significativo.
Com interceptação:
Call: lm(formula = alpha ~ delta, data = cf) Residuals: Min 1Q Median 3Q Max -0.72138 -0.15619 -0.03744 0.14189 0.70305 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.48408 0.05397 8.97 <2e-16 *** delta 0.46112 0.04595 10.04 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.2435 on 218 degrees of freedom Multiple R-squared: 0.316, Adjusted R-squared: 0.3129 F-statistic: 100.7 on 1 and 218 DF, p-value: < 2.2e-16
Sem interceptação:
Call: lm(formula = alpha ~ 0 + delta, data = cf) Residuals: Min 1Q Median 3Q Max -0.92474 -0.15021 0.05114 0.21078 0.85480 Coefficients: Estimate Std. Error t value Pr(>|t|) delta 0.85374 0.01632 52.33 <2e-16 *** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.2842 on 219 degrees of freedom Multiple R-squared: 0.9259, Adjusted R-squared: 0.9256 F-statistic: 2738 on 1 and 219 DF, p-value: < 2.2e-16
Como você interpretaria esses resultados? Um termo de interceptação deve ser incluído no modelo ou não?
Editar
Aqui estão as somas residuais de quadrados:
RSS(with intercept) = 12.92305
RSS(without intercept) = 17.69277
r
linear-model
interpretation
r-squared
intercept
Ernest A
fonte
fonte
Respostas:
Antes de tudo, devemos entender o que oR2
R
software está fazendo quando nenhuma interceptação é incluída no modelo. Lembre-se de que o cálculo usual de quando uma interceptação está presente é A primeira igualdade ocorre apenas devido à inclusão da interceptação no modelo , embora essa seja provavelmente a mais popular das duas maneiras de escrevê-lo. A segunda igualdade realmente fornece a interpretação mais geral! Este ponto também é abordado nesta questão relacionada .R 2 = Σ i ( y i - ˉ y ) 2Mas, o que acontece se não houver interceptação no modelo?
Bem, nesse caso,
R
( silenciosamente! ) Usa o formato modificadoIsso ajuda a lembrar o que está tentando medir. No primeiro caso, ele está comparando seu modelo atual com o modelo de referência que inclui apenas uma interceptação (ou seja, termo constante). No segundo caso, não há interceptação, portanto, faz pouco sentido compará-lo a esse modelo. Então, em vez disso, é calculado, que usa implicitamente um modelo de referência correspondente apenas ao ruído .R 2 0R2 R20
No que se segue, concentro-me na segunda expressão para e uma vez que essa expressão generaliza para outros contextos e geralmente é mais natural pensar nas coisas em termos de resíduos.R 2 0R2 R20
Mas, como eles são diferentes e quando?
Vamos dar uma breve digressão em alguma álgebra linear e ver se conseguimos descobrir o que está acontecendo. Antes de tudo, vamos chamar os valores ajustados do modelo com interceptação e os valores ajustados do modelo sem interceptar .y^ y~
Podemos reescrever as expressões para e como e respectivamente.R2 R20
Agora, desde que , então se e somente se∥y∥22=∥y−y¯1∥22+ny¯2 R20>R2
O lado esquerdo é maior que um, pois o modelo correspondente a está aninhado no modelo . O segundo termo no lado direito é a média quadrática das respostas divididas pelo erro quadrático médio de um modelo somente de interceptação. Portanto, quanto maior a média da resposta em relação à outra variação, mais "folga" temos e maior chance de dominar .y~ y^ R20 R2
Observe que todo o material dependente do modelo está do lado esquerdo e o material não dependente do modelo está do lado direito.
Ok, então como reduzimos a proporção no lado esquerdo?
Recorde-se que e onde e são matrizes de projecção correspondentes à subespaços e tal que .y~=P0y y^=P1y P0 P1 S0 S1 S0⊂S1
Portanto, para que a proporção fique próxima de uma, precisamos que os subespaços e sejam muito semelhantes. Agora e diferem apenas se é um vetor base ou não, o que significa que melhor que seja um subespaço que já esteja muito próximo de .S0 S1 S0 S1 1 S0 1
Em essência, isso significa que o nosso preditor deve ter uma forte compensação média e que esse desvio médio deve dominar a variação do preditor.
Um exemplo
Aqui tentamos gerar um exemplo com uma interceptação explicitamente no modelo e que se comporta próximo ao caso da pergunta. Abaixo está um
R
código simples para demonstrar.Isso fornece a seguinte saída. Começamos com o modelo com interceptação.
Então, veja o que acontece quando excluímos a interceptação.
Abaixo está um gráfico dos dados com o modelo com interceptação em vermelho e o modelo sem interceptação em azul.
fonte
Basearia minha decisão em critérios de informação como os critérios de Akaike ou Bayes-Schwarz em vez de R ^ 2; mesmo assim, eu não os veria como absolutos.
Se você tiver um processo em que a inclinação esteja próxima de zero e todos os dados estejam longe da origem, seu R ^ 2 correto deverá ser baixo, pois a maior parte da variação nos dados ocorrerá devido a ruído. Se você tentar ajustar esses dados a um modelo sem interceptar, gerará um termo de inclinação grande e errado e provavelmente um R ^ 2 com melhor aparência se a versão sem interceptação for usada.
O gráfico a seguir mostra o que acontece nesses casos extremos. Aqui, o processo de geração é que x = 100.100,1, .... e y são apenas 100 + ruído aleatório com média 0 e desvio padrão .1. Os pontos são círculos pretos, o ajuste sem a interceptação é a linha azul e o ajuste com a interceptação (zerando a inclinação) é a linha vermelha:
[Desculpe, não vai me deixar postar o gráfico; execute o código R abaixo para gerá-lo. Ele mostra a origem no canto inferior esquerdo, o conjunto de pontos no canto superior direito. O ajuste incorreto sem interceptação vai da esquerda inferior para a direita superior e o ajuste correto é uma linha paralela ao eixo x]
O modelo correto para isso deve ter um R ^ 2 de zero - seja um ruído constante mais aleatório. R dará a você e R ^ 2 de 0,99 para o ajuste sem interceptação. Isso não importará muito se você usar apenas o modelo para previsão com valores x dentro do intervalo dos dados de treinamento, mas falhará miseravelmente se x sair do intervalo estreito do conjunto de treinamento ou se estiver tentando obter informações verdadeiras além da previsão.
O AIC mostra corretamente que o modelo com a interceptação é o preferido. O código R para isso é:
A saída AIC é
Observe que o AIC ainda obtém o modelo errado neste caso, pois o modelo verdadeiro é o modelo constante; mas outros números aleatórios produzirão dados para os quais o AIC é mais baixo para o modelo constante. Observe que, se você descartar a inclinação, deve recolocar o modelo sem ela, não tente usar a interceptação do modelo e ignore a inclinação.
fonte