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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *