Hoe bic in r te berekenen
Het Bayesiaanse informatiecriterium , vaak afgekort BIC , is een maatstaf die wordt gebruikt om de goodness of fit van verschillende regressiemodellen te vergelijken.
In de praktijk passen we meerdere regressiemodellen aan dezelfde dataset toe en kiezen we het model met de laagste BIC-waarde als het model dat het beste bij de data past.
Voor het berekenen van de BIC gebruiken wij de volgende formule:
BIC: (RSS+log(n)dσ̂ 2 ) / n
Goud:
- d: Het aantal voorspellers
- n: Totaal aantal waarnemingen
- σ̂: schatting van de foutvariantie die is gekoppeld aan elke responsmaatstaf in een regressiemodel
- RSS: Residuele som van kwadraten uit het regressiemodel
- TSS: Totale som van kwadraten van het regressiemodel
Het volgende stapsgewijze voorbeeld laat zien hoe u BIC-waarden voor regressiemodellen in R kunt berekenen.
Stap 1: Gegevens bekijken
Voor dit voorbeeld gebruiken we de ingebouwde mtcars -dataset:
#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
Stap 2: installeer meerdere sjablonen
Vervolgens zullen we verschillende regressiemodellen passen met behulp van deze dataset:
#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)
Stap 3: Kies het model met de laagste BIC
Om de BIC-waarde voor elk model te berekenen, kunnen we de BIC()- functie uit het flexmix- pakket gebruiken:
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
We kunnen de BIC-waarden voor elk model zien:
- BIC van model 1 : 174.4815
- Model 2 BIC: 177.7048
- Model 3 BIC: 170.0307
Omdat model 3 de laagste BIC-waarde heeft, zullen we dit kiezen als het model dat het beste bij de dataset past.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u algemene regressiemodellen in R kunt passen:
Hoe eenvoudige lineaire regressie uit te voeren in R
Hoe meervoudige lineaire regressie uit te voeren in R
Hoe logistische regressie uit te voeren in R
Hoe u een gewogen kleinste kwadratenregressie uitvoert in R