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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *