Como executar a função 'lm' em R, mas com uma fórmula com apenas uma interceptação?

8

Eu tentei executar uma fórmula semelhante a y ~ 1. Isso me dá apenas uma interceptação, mas o valor mostrado é igual à estimativa de interceptação (sem covariáveis) + 1 ou apenas à estimativa de interceptação (sem covariáveis)?

Qualquer ajuda seria apreciada.

Um velho no mar.
fonte
11
Não vai a intercepção ser apenas média (y)
Aaron
Como a fórmula referencia apenas ye a constante 1, como ela poderia saber sobre covariáveis?
whuber
@ whuber eu não sei. Em R se você colocar -1, então lm faz uma regressão sem uma constante. Ao colocar apenas 1, poderíamos ativar outra opção, desconhecida para mim ... É por isso que estou perguntando.
Um velho no mar.
11
Opção ou não, se você não fornecer covariáveis ​​a um procedimento, não há como usá-las, existe?
whuber
@whuber você provavelmente está certo, mesmo que eu possa dizer que lm (fórmula, dados), e nos dados a função lm pode encontrar as covariáveis ​​...
Um velho no mar.

Respostas:

14

Quando você faz regressão linear apenas em uma constante, obtém apenas o valor de interceptação, que é realmente apenas a média do resultado.

Em R temos:

y <- rnorm(1000)
lm(y ~ 1)
# intercept = 0.00965
mean(y)
# Equal to 0.00965

O motivo para fazer isso da maneira de regressão, em vez de apenas calcular a média, é obter um erro padrão fácil.

Se você não tem idéia do que você quer dizer com "intercepte +1", mas o que você obtém é a média do resultado, ou seja, o valor esperado de y quando você não controla nada.

Repmat
fonte
11
Obrigado Repmat. Além disso, outro motivo para fazer isso é que alguns pacotes exigem que o usuário defina um modelo base, por exemplo, 'BayesVarSel'.
Um velho no mar.