Take the 2-minute tour ×
Cross Validated is a question and answer site for people interested in statistics, machine learning, data analysis, data mining, and data visualization. It's 100% free, no registration required.

The AIC and BIC are both methods of assessing model fit penalized for the number of estimated parameters. As I understand it, BIC penalizes models more for free parameters than does AIC. Beyond a preference based on the stringency of the criteria, are there any other reasons to prefer AIC over BIC or vice versa?

share|improve this question
    
I think it is more appropriate to call this discussion as "feature" selection or "covariate" selection. To me, model selection is much broader involving specification of the distribution of errors, form of link function, and the form of covariates. When we talk about AIC/BIC, we are typically in the situation where all aspects of model building are fixed, except the selection of covariates. –  user13273 Aug 13 '12 at 21:17
3  
Deciding the specific covariates to include in a model does commonly go by the term model selection and there are a number of books with model selection in the title that are primarily deciding what model covariates/parameters to include in the model. –  Michael Chernick Aug 24 '12 at 14:44

10 Answers 10

up vote 83 down vote accepted

Your question implies that AIC and BIC try to answer the same question, which is not true. AIC tries to select the model that most adequately describes an unknown, high dimensional reality. This means that reality is never in the set of candidate models that are being considered. On the contrary, BIC tries to find the TRUE model among the set of candidates. I find it quite odd the assumption that reality is instantiated in one of the model that the researchers built along the way. This is a real issue for BIC.

Nevertheless, there are a lot of researchers who say BIC is better than AIC, using model recovery simulations as an argument. These simulations consist of generating data from models A and B, and then fitting both datasets with the two models. Overfitting occurs when the wrong model fits the data better than the generating. The point of these simulations is to see how well AIC and BIC correct these overfits. Usually, the results point to the fact that AIC is too liberal and still frequently prefers a more complex, wrong model over a simpler, true model. At first glance these simulations seem to be really good arguments, but the problem with them is that they are meaningless for AIC. As I said before, AIC does not consider that any of the candidate models being tested is actually true. According to AIC, all models are approximations to reality, and reality should never have a low dimensionality. At least lower than some of the candidate models.

my recommendation: use both AIC and BIC. Most of the times they will agree on the preferred model, when they dont, just report it.

If you are unhappy with both AIC and BIC, and you have free time to invest, look up for Minimum Description Length (MDL), a totally different approach that overcomes the limitations of AIC and BIC. There are several measures stemming from MDL, like normalized maximum likelihood or the Fisher Information approximation. The problem with MDL is that its mathematically demanding and/or computationally intensive.

Still, if you wanna stick to simple solutions, a nice way for assessing model flexibility (especially when the number of parameters are equal, rendering AIC and BIC useless) is doing Parametric Bootstrap, which is quite easy to implement. here is a link to a paper on it: link text

some people here advocate the use of cross-validation. I personally have used it, and dont have anything against it, but the issue with it is that the choice among the sample-cutting rule (leave-one-out, K-fold, etc) is an unprincipled one.

cheers

share|improve this answer
    
great explanation Dave! –  suncoolsu Nov 12 '10 at 5:28
2  
Difference can be viewed purely from mathematical standpoint -- BIC was derived as an asymptotic expansion of log P(data) where true model parameters are sampled according to arbitrary nowhere vanishing prior, AIC was similarly derived with true parameters held fixed –  Yaroslav Bulatov Jan 24 '11 at 5:57
2  
You said that " there are a lot of researchers who say BIC is better than AIC, using model recovery simulations as an argument. These simulations consist of generating data from models A and B, and then fitting both datasets with the two models." Would you be so kind as to point some references. I'm curious about them! :) –  deps_stats May 3 '11 at 16:21
    
I do not believe the statements in this post. –  user9352 May 2 '12 at 14:06
3  
(-1) Great explanation, but I would like to challenge an assertion. @Dave Kellen Could you please give a reference to where the idea that the TRUE model has to be in the set for BIC? I would like to investigate on this, since in this book the authors give a convincing proof that this is not the case. –  gui11aume May 27 '12 at 21:47

Though AIC and BIC are both maximum likelihood estimate driven and penalize free parameters in an effort to combat overfitting, they do so in ways that result in significantly different behavior. Lets look at one commonly presented version of the methods (which results form stipulating normally distributed errors and other well behaving assumptions):

  • AIC = -2*ln(likelihood) + 2*k,

and

  • BIC = -2*ln(likelihood) + ln(N)*k,

where:

  • k = model degrees of freedom
  • N = number of observations

The best model in the group compared is the one that minimizes these scores, in both cases. Clearly, AIC does not depend directly on sample size. Moreover, generally speaking, AIC presents the danger that it might overfit, whereas BIC presents the danger that it might underfit, simply in virtue of how they penalize free parameters (2*k in AIC; ln(N)*k in BIC). Diachronically, as data is introduced and the scores are recalculated, at relatively low N (7 and less) BIC is more tolerant of free parameters than AIC, but less tolerant at higher N (as the natural log of N overcomes 2).

Additionally, AIC is aimed at finding the best approximating model to the unknown data generating process (via minimizing expected estimated K-L divergence). As such, it fails to converge in probability to the true model (assuming one is present in the group evaluated), whereas BIC does converge as n tends to infinity.

So, as in many methodological questions, which is to be preferred depends upon what you are trying to do, what other methods are available, and whether or not any of the features outlined (convergence, relative tolerance for free parameters, minimizing expected K-L divergence) speak to your goals.

share|improve this answer
    
nice answer. a possible alternative take on AIC and BIC is that AIC says that "spurious effects" do not become easier to detect as the sample size increases (or that we don't care if spurious effects enter the model), BIC says that they do. Can see from OLS perspective as in Raftery's 1994 paper, effect becomes approximately "significant" (i.e. larger model preferred) in AIC if its t-statistic is greater than $|t|>\sqrt{2}$, BIC if its t-statistic is greater than $|t|>\sqrt{log(n)}$ –  probabilityislogic May 13 '11 at 14:33
1  
Nice answer, +1. I especially like the caveat about whether the true model is actually present in the group evaluated. I would argue that "the true model" is never present. (Box & Draper said that "all models are false, but some are useful", and Burnham & Anderson call this "tapering effect sizes".) Which is why I am unimpressed by the BIC's convergence under unrealistic assumptions and more by the AIC's aiming at the best approximation among the models we actually look at. –  Stephan Kolassa Nov 24 '12 at 20:00

My quick explanation is

  • AIC is best for prediction as it is asymptotically equivalent to cross-validation.
  • BIC is best for explanation as it is allows consistent estimation of the underlying data generating process.
share|improve this answer
    
AIC is equivalent to K-fold cross-validation, BIC is equivalent to leve-one-out cross-validation. Still, both theorems hold only in case of linear regression. –  mbq Jul 24 '10 at 8:23
1  
mbq, it's AIC/LOO (not LKO or K-fold) and I don't think the proof in Stone 1977 relied on linear models. I don't know the details of the BIC result. –  ars Jul 24 '10 at 11:01
3  
ars is correct. It's AIC=LOO and BIC=K-fold where K is a complicated function of the sample size. –  Rob Hyndman Jul 24 '10 at 12:42
    
Congratulations, you've got me; I was in hurry writing that and so I made this error, obviously it's how Rob wrote it. Neverthelss it is from Shao 1995, where was an assumption that the model is linear. I'll analyse Stone, still I think you, ars, may be right since LOO in my field has equally bad reputation as various *ICs. –  mbq Jul 24 '10 at 20:10
    
The description on Wikipedia (en.wikipedia.org/wiki/…) makes it seem like K-fold cross-validation is sort of like a repeated simulation to estimate the stability of the parameters. I can see why AIC would be expected to be stable with LOO (since LOO can wasily be conducted exhaustively), but I don't understand why the BIC would be stable with K-fold unless K is also exhaustive. Does the complex formula underlying the value for K make it exhaustive? Or is something else happening? –  rpierce Jul 25 '10 at 3:18

In my experience, BIC results in serious underfitting and AIC typically performs well, when the goal is to maximize predictive discrimination.

share|improve this answer

An informative and accessible "derivation" of AIC and BIC by Brian Ripley can be found here: http://www.stats.ox.ac.uk/~ripley/Nelder80.pdf

Ripley provides some remarks on the assumptions behind the mathematical results. Contrary to what some of the other answers indicate, Ripley emphasizes that AIC is based on assuming that the model is true. If the model is not true, a general computation will reveal that the "number of parameters" has to be replaced by a more complicated quantity. Some references are given in Ripleys slides. Note, however, that for linear regression (strictly speaking with a known variance) the, in general, more complicated quantity simplifies to be equal to the number of parameters.

share|improve this answer
1  
(+1) However, Ripley is wrong on the point where he says that the models must be nested. There is no such constraint on Akaike's original derivation, or, to be clearer, on the derivation using the AIC as an estimator of the Kullback-Leibler divergence. In fact, in a paper that I'm working on, I show somewhat "empirically" that the AIC can even be used for model selection of covariance structures (different number of parameters, clearly non-nested models). From the thousands of simulations of time-series that I ran with different covariance structures, in none of them the AIC gets it wrong... –  Néstor Aug 14 '12 at 17:06
    
...if "the correct" model is in fact on the set of models (this, however, also implies that for the models I'm working on, the variance of the estimator is very small...but that's only a technical detail). –  Néstor Aug 14 '12 at 17:07
    
@Néstor, I agree. The point about the models being nested is strange. –  NRH Aug 16 '12 at 6:43

Indeed the only difference is that BIC is AIC extended to take number of objects (samples) into account. I would say that while both are quite weak (in comparison to for instance cross-validation) it is better to use AIC, than more people will be familiar with the abbreviation -- indeed I have never seen a paper or a program where BIC would be used (still I admit that I'm biased to problems where such criteria simply don't work).

Edit: AIC and BIC are equivalent to cross-validation provided two important assumptions -- when they are defined, so when the model is a maximum likelihood one and when you are only interested in model performance on a training data. In case of collapsing some data into some kind of consensus they are perfectly ok.
In case of making a prediction machine for some real-world problem the first is false, since your training set represent only a scrap of information about the problem you are dealing with, so you just can't optimize your model; the second is false, because you expect that your model will handle the new data for which you can't even expect that the training set will be representative. And to this end CV was invented; to simulate the behavior of the model when confronted with an independent data. In case of model selection, CV gives you not only the quality approximate, but also quality approximation distribution, so it has this great advantage that it can say "I don't know, whatever the new data will come, either of them can be better."

share|improve this answer
    
Does that mean that for certain sample sizes BIC may be less stringent than AIC? –  rpierce Jul 23 '10 at 21:36
1  
Stringent is not a best word here, rather more tolerant for parameters; still, yup, for the common definitions (with natural log) it happens for 7 and less objects. –  mbq Jul 23 '10 at 22:13
    
AIC is asymptotically equivalent to cross-validation. –  Rob Hyndman Jul 24 '10 at 1:47
2  
@mbq - I don't see how cross validation overcomes the "un-representativeness" problem. If your training data is un-representative of the data you will receive in the future, you can cross-validate all you want, but it will be unrepresentative of the "generalisation error" that you are actually going to be facing (as "the true" new data is not represented by the non-modeled part of the training data). Getting a representative data set is vital if you are to make good predictions. –  probabilityislogic May 13 '11 at 14:21
1  
@mbq - my point is that you seem to "gently reject" IC based selection based on an alternative which doesn't fix the problem. Cross-validation is good (although computation worth it?), but un-representative data can't be dealt with using a data driven process. At least not reliably. You need to have prior information which tells you how it is un-representative (or more generally, what logical connections the "un-representative" data has to the actual future data you will observe). –  probabilityislogic May 13 '11 at 17:12

As you mentioned, AIC and BIC are methods to penalize models for having more regressor variables. A penalty function is used in these methods, which is a function of the number of parameters in the model.

  • When applying AIC, the penalty function is z(p) = 2 p.

  • When applying BIC, the penalty function is z(p) = p ln(n), which is based on interpreting the penalty as deriving from prior information (hence the name Bayesian Information Criterion).

When n is large the two models will produce quite different results. Then the BIC applies a much larger penalty for complex models, and hence will lead to simpler models than AIC. However, as stated in Wikipedia on BIC:

it should be noted that in many applications..., BIC simply reduces to maximum likelihood selection because the number of parameters is equal for the models of interest.

share|improve this answer
2  
note that AIC is also equivalent to ML when dimension doesn't change. Your answer makes it seem like this is only for BIC. –  probabilityislogic May 13 '11 at 12:10

From what I can tell, there isn't much difference between AIC and BIC. They are both mathematically convenient approximations one can make in order to efficiently compare models. If they give you different "best" models, it probably means you have high model uncertainty, which is more important to worry about than whether you should use AIC or BIC. I personally like BIC better because it asks more (less) of a model if it has more (less) data to fit its parameters - kind of like a teacher asking for a higher (lower) standard of performance if their student has more (less) time to learn about the subject. To me this just seems like the intuitive thing to do. But then I am certain there also exists equally intuitive and compelling arguments for AIC as well, given its simple form.

Now any time you make an approximation, there will surely be some conditions when those approximations are rubbish. This can be seen certainly for AIC, where there exist many "adjustments" (AICc) to account for certain conditions which make the original approximation bad. This is also present for BIC, because various other more exact (but still efficient) methods exist, such as Fully Laplace Approximations to mixtures of Zellner's g-priors (BIC is an approximation to the Laplace approximation method for integrals).

One place where they are both crap is when you have substantial prior information about the parameters within any given model. AIC and BIC unnecessarily penalise models where parameters are partially known compared to models which require parameters to be estimated from the data.

one thing I think is important to note is that BIC does not assume a "true" model a) exists, or b) is contained in the model set. BIC is simply an approximation to an integrated likelihood $P(D|M,A)$ (D=Data, M=model, A=assumptions). Only by multiplying by a prior probability and then normalising can you get $P(M|D,A)$. BIC simply represents how likely the data was if the proposition implied by the symbol $M$ is true. So from a logical viewpoint, any proposition which would lead one to BIC as an approximation are equally supported by the data. So if I state $M$ and $A$ to be the propositions

$$\begin{array}{l|l} M_{i}:\text{the ith model is the best description of the data} \\ A:\text{out of the set of K models being considered, one of them is the best} \end{array} $$

And then continue to assign the same probability models (same parameters, same data, same approximations, etc.), I will get the same set of BIC values. It is only by attaching some sort of unique meaning to the logical letter "M" that one gets drawn into irrelevant questions about "the true model" (echoes of "the true religion"). The only thing that "defines" M is the mathematical equations which use it in their calculations - and this is hardly ever singles out one and only one definition. I could equally put in a prediction proposition about M ("the ith model will give the best predictions"). I personally can't see how this would change any of the likelihoods, and hence how good or bad BIC will be (AIC for that matter as well - although AIC is based on a different derivation)

And besides, what is wrong with the statement If the true model is in the set I am considering, then there is a 57% probability that it is model B. Seems reasonable enough to me, or you could go the more "soft" version there is a 57% probability that model B is the best out of the set being considered

One last comment: I think you will find about as many opinions about AIC/BIC as there are people who know about them.

share|improve this answer

AIC should rarely be used, as it is really only valid asymptotically. It is almost always better to use AICc (AIC with a correction for finite sample size). AIC tends to overparameterize: that problem is greatly lessened with AICc. The main exception to using AICc is when the underlying distributions are heavily leptokurtic. For more on this, see the book Model Selection by Burnham & Anderson.

share|improve this answer
    
So, what you are saying is that AIC doesn't sufficiently punish models for parameters so using it as a criteria may lead to overparametrization. You recommend the use of AICc instead. To put this back in the context of my initial question, since BIC already is more stringent than AIC is there a reason to use AICc over BIC? –  rpierce Jan 25 '11 at 5:41
    
What do you mean by AIC is valid asymptotically. As pointed out by John Taylor AIC is inconsistent. I think his coomments contrasting AIC with BIC are the best ones given. I do not see the two being the same as cross-validation. They all have a nice property that they usually peak at a model with less than the maximum number of variables. But they all can pick different models. –  Michael Chernick May 6 '12 at 1:05

AIC and BIC are information criteria for comparing models. Each tries to balance model fit and parsimony and each penalizes differently for number of parameters.

AIC is Akaike Information Criterion the formula is AIC = 2k - 2ln(L) where k is number of parameters and L is likelihood; with this formula, smaller is better. (I recall that some programs output the opposite 2Ln(L) - 2k, but I don't remember the details)

BIC is Bayesian Information Criterion, the formula is BIC = k ln(k) - 2ln(L). It favors more parsimonious models than AIC

I haven't heard of KIC.

share|improve this answer
    
haven't heard of KIC either, but for AIC and BIC have a look at the linked question, or search for AIC. stats.stackexchange.com/q/577/442 –  Henrik Sep 16 '11 at 10:30
    
(This reply was merged from a duplicate question that also asked for interpretation of "KIC".) –  whuber Sep 16 '11 at 17:49
3  
The models don't need to be nested to be compared with AIC or BIC. –  Macro Apr 5 '12 at 13:03

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.