Como prever um único valor usando um modelo de regressão em r
Para ajustar um modelo de regressão linear em R, podemos usar a função lm() , que usa a seguinte sintaxe:
model <- lm(y ~ x1 + x2, data=df)
Podemos então usar a seguinte sintaxe para usar o modelo para prever um único valor:
predict(model, newdata = new)
Os exemplos a seguir mostram como prever um único valor usando modelos de regressão ajustados em R.
Exemplo 1: Prever usando um modelo de regressão linear simples
O código a seguir mostra como ajustar um modelo de regressão linear simples em R:
#create data df <- data. frame (x=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit simple linear regression model model <- lm(y ~ x, data=df)
E podemos usar o código a seguir para prever o valor da resposta para uma nova observação:
#define new observation new <- data. frame (x=c(5)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) 1 25.36364
O modelo prevê que esta nova observação terá um valor de resposta de 25,36364 .
Exemplo 2: Prever usando um modelo de regressão linear múltipla
O código a seguir mostra como ajustar um modelo de regressão linear múltipla em R:
#create data df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit multiple linear regression model model <- lm(y ~ x1 + x2, data=df)
E podemos usar o código a seguir para prever o valor da resposta para uma nova observação:
#define new observation new <- data.frame(x1=c(5), x2=c(10)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) 1 26.17073
O modelo prevê que esta nova observação terá um valor de resposta de 26,17073 .
Erros potenciais ao prever novos valores
O erro mais comum que você pode encontrar ao tentar prever um novo valor é quando o conjunto de dados usado para ajustar o modelo de regressão não tem os mesmos nomes de coluna que a nova observação que você está tentando prever .
Por exemplo, suponha que ajustamos o seguinte modelo de regressão linear múltipla em R:
#createdata df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12), x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14), y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36)) #fit multiple linear regression model model <- lm(y ~ x1 + x2, data=df)
A seguir, suponha que tentamos usar o modelo para prever o valor da resposta para esta nova observação:
#define new observation new <- data.frame(x_1=c(5), x_2=c(10)) #use the fitted model to predict the value for the new observation predict(model, newdata = new) Error in eval(predvars, data, env): object 'x1' not found
Recebemos um erro porque os nomes das colunas da nova observação (x_1, x_2) não correspondem aos nomes das colunas do quadro de dados original (x1, x2) que usamos para ajustar o modelo de regressão.
Recursos adicionais
Como realizar regressão linear simples em R
Como realizar regressão linear múltipla em R
Como criar um gráfico residual em R