Como calcular mse em r


Uma das métricas mais comumente usadas para medir a precisão da previsão de um modelo é MSE , que significa erro quadrático médio . É calculado da seguinte forma:

MSE = (1/n) * Σ(real – previsão) 2

Ouro:

  • Σ – um símbolo sofisticado que significa “soma”
  • n – tamanho da amostra
  • real – o valor real dos dados
  • previsão – o valor dos dados previstos

Quanto menor o valor do MSE, mais precisamente o modelo é capaz de prever os valores.

Como calcular MSE em R

Dependendo do formato em que seus dados estão, existem dois métodos simples que você pode usar para calcular o MSE de um modelo de regressão em R.

Método 1: Calcular o MSE do modelo de regressão

Em um cenário, você pode ter um modelo de regressão ajustado e simplesmente desejar calcular o MSE do modelo. Por exemplo, você pode ter o seguinte modelo de regressão:

 #load mtcars dataset
data(mtcars)

#fit regression model
model <- lm(mpg~disp+hp, data=mtcars)

#get model summary
model_summ <-summary(model)

Para calcular o MSE deste modelo, você pode usar a seguinte fórmula:

 #calculate MSE
mean(model_summ$residuals^2)

[1] 8.85917

Isso nos diz que o MSE é 8,85917 .

Método 2: Calcular MSE a partir de uma lista de valores previstos e reais

Em outro cenário, você pode simplesmente ter uma lista de valores previstos e reais. Por exemplo:

 #create data frame with a column of actual values and a column of predicted values
data <- data.frame(pred = predict(model), actual = mtcars$mpg)

#view first six lines of data
head(data)

                      pred actual
Mazda RX4 23.14809 21.0
Mazda RX4 Wag 23.14809 21.0
Datsun 710 25.14838 22.8
Hornet 4 Drive 20.17416 21.4
Hornet Sportabout 15.46423 18.7
Valiant 21.29978 18.1

Nesse caso, você pode usar a seguinte fórmula para calcular o MSE:

 #calculate MSE
mean((data$actual - data$pred)^2)

[1] 8.85917

Isso nos diz que o MSE é 8,85917 , o que corresponde ao MSE que calculamos usando o método anterior.

Add a Comment

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