# Solved – get different BIC values when I use regsubsets and lm in R

I used `regsubsets` to find a model with lowest BIC; height is our D.V. , the code I typed is below:

``male = read.table(file.choose(), header=TRUE) mreg = regsubsets(height ~ biacromial + pelvic.breadth + bitrochanteric + chest.depth           + chest.diam + elbow.diam + wrist.diam + knee.diam + ankle.diam           + shoulder.girth + chest.girth + waist.girth + navel.girth + hip.girth           + thigh.girth + bicep.girth + forearm.girth + knee.girth + calf.girth           + ankle.girth + wrist.girth + age + weight         , data=male) plot(mreg) `` so the best subset for male is: `bitrochanteric,waist.girth+hip.girth+thigh.girth+bicep.girth, calf.girth+weight`

I regress the model using `lm`

`` mreg2 = lm(height ~ bitrochanteric + waist.girth + hip.girth + thigh.girth               + bicep.girth + calf.girth + weight, data=male)  BIC(reg2) ``

Then I got a value of 1461.665 ,which is totally different from my graph and so I don't understand at all why it is different.

Contents

Just an investigation, I have never used this command before.

The vertical axis probably means "Drop in BIC" compared to the intercept-only model, not the model BIC.

For instance, if your ideal model has a BIC of 1451.665, corresponding to a drop of 220.

Then the model with just `waist.girth` and `weight` should have a BIC of about 1551. Because that model only has a drop of 120, which is still 100 higher than your ideal model.

Here is the track of my investigation:

``library(leaps) b<-regsubsets(Fertility~.,data=swiss,nbest=2) summary(b) plot(b) `` Now compare the best and the worst models:

``attach(swiss) m01 <- glm(Fertility ~ Agriculture + Education + Catholic + Infant.Mortality) m02 <- glm(Fertility ~ Examination) m03 <- glm(Fertility ~ 1) BIC(m01) BIC(m02) BIC(m03) BIC(m02) - BIC(m03)  # Should be about -18 BIC(m01) - BIC(m03)  # Should be about -37 BIC(m02) - BIC(m01)  # Difference from the models (-18) - (-37)        # Difference taken from the axis ``

Results:

``>     BIC(m01)  336.3417 >     BIC(m02)  355.9029 >     BIC(m03)  377.4258 >     BIC(m02) - BIC(m03)  # Should be about -18  -21.52281 >     BIC(m01) - BIC(m03)  # Should be about -37  -41.08403 >     BIC(m02) - BIC(m01)  # Difference from the models  19.56122 >     (-18) - (-37)        # Difference taken from the axis  19 ``

Rate this post

# Solved – get different BIC values when I use regsubsets and lm in R

I used `regsubsets` to find a model with lowest BIC; height is our D.V. , the code I typed is below:

``male = read.table(file.choose(), header=TRUE) mreg = regsubsets(height ~ biacromial + pelvic.breadth + bitrochanteric + chest.depth           + chest.diam + elbow.diam + wrist.diam + knee.diam + ankle.diam           + shoulder.girth + chest.girth + waist.girth + navel.girth + hip.girth           + thigh.girth + bicep.girth + forearm.girth + knee.girth + calf.girth           + ankle.girth + wrist.girth + age + weight         , data=male) plot(mreg) `` so the best subset for male is: `bitrochanteric,waist.girth+hip.girth+thigh.girth+bicep.girth, calf.girth+weight`

I regress the model using `lm`

`` mreg2 = lm(height ~ bitrochanteric + waist.girth + hip.girth + thigh.girth               + bicep.girth + calf.girth + weight, data=male)  BIC(reg2) ``

Then I got a value of 1461.665 ,which is totally different from my graph and so I don't understand at all why it is different.

Just an investigation, I have never used this command before.

The vertical axis probably means "Drop in BIC" compared to the intercept-only model, not the model BIC.

For instance, if your ideal model has a BIC of 1451.665, corresponding to a drop of 220.

Then the model with just `waist.girth` and `weight` should have a BIC of about 1551. Because that model only has a drop of 120, which is still 100 higher than your ideal model.

Here is the track of my investigation:

``library(leaps) b<-regsubsets(Fertility~.,data=swiss,nbest=2) summary(b) plot(b) `` Now compare the best and the worst models:

``attach(swiss) m01 <- glm(Fertility ~ Agriculture + Education + Catholic + Infant.Mortality) m02 <- glm(Fertility ~ Examination) m03 <- glm(Fertility ~ 1) BIC(m01) BIC(m02) BIC(m03) BIC(m02) - BIC(m03)  # Should be about -18 BIC(m01) - BIC(m03)  # Should be about -37 BIC(m02) - BIC(m01)  # Difference from the models (-18) - (-37)        # Difference taken from the axis ``

Results:

``>     BIC(m01)  336.3417 >     BIC(m02)  355.9029 >     BIC(m03)  377.4258 >     BIC(m02) - BIC(m03)  # Should be about -18  -21.52281 >     BIC(m01) - BIC(m03)  # Should be about -37  -41.08403 >     BIC(m02) - BIC(m01)  # Difference from the models  19.56122 >     (-18) - (-37)        # Difference taken from the axis  19 ``

Rate this post