Comment calculer le BIC en R
Le critère d’information bayésien , souvent abrégé BIC , est une mesure utilisée pour comparer la qualité de l’ajustement de différents modèles de régression.
En pratique, nous ajustons plusieurs modèles de régression au même ensemble de données et choisissons le modèle avec la valeur BIC la plus basse comme modèle qui correspond le mieux aux données.
Nous utilisons la formule suivante pour calculer le BIC :
BIC : (RSS+log(n)dσ̂ 2 ) / n
où:
- d : Le nombre de prédicteurs
- n : Observations totales
- σ̂ : Estimation de la variance de l’erreur associée à chaque mesure de réponse dans un modèle de régression
- RSS : Somme des carrés résiduelle du modèle de régression
- TSS : Somme totale des carrés du modèle de régression
L’exemple étape par étape suivant montre comment calculer les valeurs BIC pour les modèles de régression dans R.
Étape 1 : Afficher les données
Pour cet exemple, nous utiliserons l’ensemble de données mtcars intégré :
#view first six rows of mtcars dataset
head(mtcars)
mpg cyl disp hp drat wt qsec vs am gear carb
Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4
Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1
Étape 2 : installer plusieurs modèles
Ensuite, nous ajusterons plusieurs modèles de régression différents à l’aide de cet ensemble de données :
#fit three different regression models
model1 <- lm(mpg ~ disp + hp, data = mtcars)
model2 <- lm(mpg ~ disp + qsec, data = mtcars)
model3 <- lm(mpg ~ disp + wt, data = mtcars)
Étape 3 : Choisissez le modèle avec le BIC le plus bas
Pour calculer la valeur BIC pour chaque modèle, nous pouvons utiliser la fonction BIC() du package flexmix :
library(flexmix)
#calculate BIC of model1
BIC(model1)
[1] 174.4815
#calculate BIC of model2
BIC(model2)
[1] 177.7048
#calculate BIC of model3
BIC(model3)
[1] 170.0307
Nous pouvons voir les valeurs BIC pour chaque modèle :
- BIC du modèle 1 : 174.4815
- BIC du modèle 2 : 177.7048
- BIC du modèle 3 : 170.0307
Étant donné que le modèle 3 a la valeur BIC la plus basse, nous le choisirons comme modèle qui correspond le mieux à l’ensemble de données.
Ressources additionnelles
Les didacticiels suivants expliquent comment ajuster les modèles de régression courants dans R :
Comment effectuer une régression linéaire simple dans R
Comment effectuer une régression linéaire multiple dans R
Comment effectuer une régression logistique dans R
Comment effectuer une régression des moindres carrés pondérés dans R