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