Como calcular r-quadrado ajustado em r


R-quadrado , muitas vezes escrito R2 , é a proporção da variância na variável de resposta que pode ser explicada pelas variáveis preditoras em um modelo de regressão linear .

O valor de R ao quadrado pode variar de 0 a 1. Um valor de 0 indica que a variável de resposta não pode ser explicada pela variável preditora, enquanto um valor de 1 indica que a variável de resposta pode ser explicada pela variável preditora. perfeitamente explicado sem erro pelo preditor. variáveis.

R-quadrado ajustado é uma versão modificada do R-quadrado que ajusta o número de preditores em um modelo de regressão. É calculado da seguinte forma:

R 2 ajustado = 1 – [(1-R 2 )*(n-1)/(nk-1)]

Ouro:

  • R 2 : O R 2 do modelo
  • n : O número de observações
  • k : O número de variáveis preditoras

Como o R2 sempre aumenta à medida que você adiciona preditores a um modelo, o R2 ajustado pode servir como uma métrica que informa o quão útil é um modelo, ajustado com base no número de preditores em um modelo .

Este tutorial explica como calcular o R2 ajustado para um modelo de regressão em R.

Relacionado: O que é um bom valor de R ao quadrado?

Exemplo: Como calcular R-quadrado ajustado em R

Podemos usar o código a seguir para criar um modelo de regressão linear múltipla em R usando o conjunto de dados integrado chamado mtcars :

 model <- lm (hp ~ mpg + wt + drat + qsec, data=mtcars)

E podemos usar um dos três métodos para encontrar o R-quadrado ajustado do modelo:

Método 1: use a função summary()

Podemos visualizar tanto o R ao quadrado quanto o R ao quadrado ajustado do modelo simplesmente usando a função summary() :

 summary (model)

Call:
lm(formula = hp ~ mpg + wt + drat + qsec, data = mtcars)

Residuals:
    Min 1Q Median 3Q Max 
-48,801 -16,007 -5,482 11,614 97,338 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 473.779 105.213 4.503 0.000116 ***
mpg -2.877 2.381 -1.209 0.237319    
wt 26.037 13.514 1.927 0.064600 .  
drat 4.819 15.952 0.302 0.764910    
qsec -20.751 3.993 -5.197 1.79e-05 ***
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 32.25 on 27 degrees of freedom
Multiple R-squared: 0.8073, Adjusted R-squared: 0.7787 
F-statistic: 28.27 on 4 and 27 DF, p-value: 2.647e-09

Na parte inferior da saída podemos ver o seguinte:

  • Múltiplo R ao quadrado: 0,8073
  • R-quadrado ajustado: 0,7787

Método 2: Use summary(model)$adj.r.squared

Se quiséssemos simplesmente obter o R-quadrado ajustado do modelo, poderíamos usar a seguinte função:

 summary (model)$adj.r.squared

[1] 0.7787005

Método 3: use uma função personalizada

Outra maneira de encontrar o R-quadrado ajustado do modelo é escrever uma função personalizada:

 #define function to calculate adjusted R-squared
adj_r2 <- function (x) {
   return (1 - ((1-summary(x)$r.squared)*( nobs (x)-1)/( nobs (x)- length (x$coefficients)-1)))
}

#use function to calculate adjusted R-squared of the model
adj_r2(model)

[1] 0.7787005
numeric(0)

Observe que cada um dos três métodos compartilhados aqui fornece o mesmo valor para o R-quadrado ajustado.

Recursos adicionais

Como realizar regressão linear simples em R
Como realizar regressão linear múltipla em R
Como realizar regressão polinomial em R

Add a Comment

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