Podemos usar lm()
para prever um valor, mas ainda precisamos da equação da fórmula do resultado em alguns casos. Por exemplo, adicione a equação aos gráficos.
r
regression
lm
user27736
fonte
fonte
lm
e com modelos lineares de maneira mais geral, mas não está claro o que exatamente você deseja. Você pode dar um exemplo ou algo a esclarecer? Isso é para algum assunto?coef()
no equipadalm
objeto, como em:mod <- lm(y ~ x); coef(mod)
lm(y~x)$call
, informará a fórmulay ~ x
. Se você quer dizer algo diferente disso, precisa ser mais específico.Respostas:
Considere este exemplo:
A questão, suponho, é como descobrir a equação de regressão a partir da saída sumária de R. Algebricamente, a equação para um modelo de regressão simples é: Nós apenas precisamos mapear a saída para esses termos. A saber:
y^i=β^0+β^1xi+ε^iwhere ε∼N(0, σ^2)
summary.lm()
Estimate
valor na(Intercept)
linha (especificamente-0.00761
)Estimate
valor nax
linha (especificamente0.09156
)Residual standard error
(especificamente0.8155
)Inserindo esses rendimentos em cima: Para uma mais completa visão geral, você pode querer ler este tópico: Interpretação de lm de R () de saída .
y^i=−0.00761 + 0.09156xi + ε^iwhere ε∼N(0, 0.81552)
fonte
lm
e produza uma expressão de caractere como " " adequado para tarefa de plotagem (daí minha repetida chamada para esclarecer o que eles queriam - o que não foi feito, infelizmente).Se o que você deseja é prever pontuações usando sua equação de regressão resultante, você pode construir a equação manualmente digitando
summary(fit)
(se sua análise de regressão estiver armazenada em uma variável chamadafit
, por exemplo) e observando as estimativas para cada coeficiente incluído em seu modelo.Por exemplo, se você tiver uma regressão simples do tipo e obter uma estimativa da interceptação ( ) de +0,5 e uma estimativa do efeito de x em y ( ) de +1,6, você preveria a pontuação y de um indivíduo a partir da pontuação x calculando: .β 0 β 1 y = 0,5 + 1,6 xy=β0+β1x+ϵ β0 β1 y^=0.5+1.6x
No entanto, este é o caminho difícil. R possui uma função interna,
predict()
que você pode usar para calcular automaticamente os valores previstos, com base em um modelo para qualquer conjunto de dados. Por exemplo:predict(fit, newdata=data)
se as pontuações x que você deseja usar para prever as pontuações y forem armazenadas na variáveldata
. (Observe que, para ver as pontuações previstas para a amostra em que sua regressão foi realizada, você pode simplesmente digitarfit$fitted
oufitted(fit)
; elas fornecerão os valores previstos, também ajustados).fonte
Se você deseja mostrar a equação, gostaria de recortar / colar em um documento, mas não quer se preocupar em montar toda a equação:
fonte
Com base na resposta de keithpjolley, isso substitui os sinais '+' usados no separador pelo sinal real do coeficiente.
produz o resultado
fonte