C'è qualche motivo per preferire l'AIC o il BIC rispetto all'altro?


222

L'AIC e il BIC sono entrambi metodi per valutare l'adattamento del modello penalizzato per il numero di parametri stimati. Da quanto ho capito, BIC penalizza i modelli più per i parametri gratuiti di quanto non faccia AIC. Al di là di una preferenza basata sulla rigidità dei criteri, ci sono altri motivi per preferire l'AIC al BIC o viceversa?


1
Penso che sia più appropriato chiamare questa discussione come selezione "caratteristica" o selezione "covariata". Per me, la selezione del modello è molto più ampia e comprende la specifica della distribuzione degli errori, la forma della funzione di collegamento e la forma delle covariate. Quando parliamo di AIC / BIC, in genere ci troviamo nella situazione in cui tutti gli aspetti della costruzione del modello sono fissi, tranne la selezione delle covariate.

6
La decisione delle covariate specifiche da includere in un modello generalmente fa riferimento alla selezione del modello del termine e nel titolo sono presenti numerosi libri con selezione del modello che decidono principalmente quale covariate / parametri del modello includere nel modello.
Michael Chernick,

Non so se la tua domanda si applica specificamente alla filogenesi (bioinformatica), ma in tal caso, questo studio può fornire alcune riflessioni su questo aspetto: ncbi.nlm.nih.gov/pmc/articles/PMC2925852
tlorin

Le domande unite pongono anche delle CCI , si prega di aggiornare il testo della domanda e indicare una definizione di CCI, pref con collegamento.
smci,

1
@smci Ho aggiunto stats.stackexchange.com/questions/383923/… per consentire alle persone di approfondire le domande relative alla CCI, se interessate.
russellpierce,

Risposte:


179

La tua domanda implica che AIC e BIC provano a rispondere alla stessa domanda, il che non è vero. L'AIC cerca di selezionare il modello che descrive nel modo più adeguato una realtà sconosciuta e ad alta dimensione. Ciò significa che la realtà non è mai nel set di modelli candidati che vengono considerati. Al contrario, BIC cerca di trovare il modello VERO tra i candidati. Trovo abbastanza strano il presupposto che la realtà sia istanziata in uno dei modelli che i ricercatori hanno costruito lungo la strada. Questo è un vero problema per BIC.

Tuttavia, ci sono molti ricercatori che affermano che BIC è migliore di AIC, usando come argomento le simulazioni di recupero del modello. Queste simulazioni consistono nel generare dati dai modelli A e B e quindi adattare entrambi i set di dati con i due modelli. L'adattamento eccessivo si verifica quando il modello errato si adatta meglio ai dati rispetto alla generazione. Il punto di queste simulazioni è vedere quanto AIC e BIC correggano questi overfit. Di solito, i risultati indicano che l'AIC è troppo liberale e preferisce ancora frequentemente un modello più complesso e sbagliato rispetto a un modello più semplice e vero. A prima vista queste simulazioni sembrano essere argomenti davvero validi, ma il problema è che non hanno senso per AIC. Come ho detto prima, AIC non ritiene che nessuno dei modelli candidati testati sia effettivamente vero. Secondo AIC, tutti i modelli sono approssimazioni alla realtà, e la realtà non dovrebbe mai avere una bassa dimensionalità. Almeno inferiore ad alcuni dei modelli candidati.

La mia raccomandazione è di utilizzare sia AIC che BIC. Il più delle volte si accordano sul modello preferito, quando non lo fanno, lo segnalano.

Se non sei soddisfatto di AIC e BIC e hai del tempo libero per investire, cerca la Lunghezza minima di descrizione (MDL), un approccio totalmente diverso che supera i limiti di AIC e BIC. Esistono diverse misure derivanti dall'MDL, come la massima probabilità normalizzata o l'approssimazione delle informazioni di Fisher. Il problema con MDL è che è matematicamente impegnativo e / o intensivo dal punto di vista computazionale.

Tuttavia, se si desidera attenersi a soluzioni semplici, un buon modo per valutare la flessibilità del modello (specialmente quando il numero di parametri è uguale, rendendo inutilizzabili AIC e BIC) sta facendo Parametric Bootstrap, che è abbastanza facile da implementare. Ecco un link a un documento su di esso.

Alcune persone qui sostengono l'uso della convalida incrociata. Personalmente l'ho usato e non ho nulla contro di esso, ma il problema è che la scelta tra la regola del campionamento (congedo singolo, piega a K, ecc.) È senza principi.


7
La differenza può essere vista puramente dal punto di vista matematico: il BIC è stato derivato come un'espansione asintotica del log P (dati) in cui i parametri del modello reale sono campionati secondo arbitrariamente in nessun punto precedente, AIC è stato derivato in modo simile con parametri veri mantenuti fissi
Yaroslav Bulatov

4
Hai detto che "ci sono molti ricercatori che affermano che BIC è migliore di AIC, usando come argomento le simulazioni di recupero dei modelli. Queste simulazioni consistono nel generare dati dai modelli A e B, e quindi adattare entrambi i set di dati con i due modelli". Saresti così gentile da indicare alcuni riferimenti. Sono curioso per loro! :)
deps_stats,

2
Non credo alle dichiarazioni in questo post.
user9352,

16
(-1) Grande spiegazione, ma vorrei contestare un'affermazione. @Dave Kellen Potresti fornire un riferimento a dove l'idea che il modello TRUE debba essere nel set per BIC? Vorrei indagare su questo, poiché in questo libro gli autori forniscono una prova convincente che non è così.
gui11aume,

2
Ottima risposta ma non sono assolutamente d'accordo con l'affermazione "la realtà non dovrebbe mai avere una bassa dimensionalità". Dipende da quale "scienza" stai applicando i tuoi modelli yoru
David,

76

Sebbene AIC e BIC siano entrambi guidati da stime di massima verosimiglianza e penalizzino i parametri gratuiti nel tentativo di combattere il sovrautilizzo, lo fanno in modi che comportano comportamenti significativamente diversi. Vediamo una versione comunemente presentata dei metodi (i cui risultati formano la stipula di errori normalmente distribuiti e altre ipotesi ben comportanti):

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

e

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

dove:

  • k = gradi di libertà del modello
  • N = numero di osservazioni

Il miglior modello nel gruppo confrontato è quello che minimizza questi punteggi, in entrambi i casi. Chiaramente, AIC non dipende direttamente dalla dimensione del campione. Inoltre, in generale, AIC presenta il pericolo che potrebbe sovrautilizzare, mentre BIC presenta il pericolo che potrebbe sottovalutare, semplicemente in virtù di come penalizzano i parametri liberi (2 * k in AIC; ln (N) * k in BIC). Diacronicamente, quando i dati vengono introdotti e i punteggi vengono ricalcolati, a B relativamente basso (7 e meno) BIC è più tollerante rispetto ai parametri liberi di AIC, ma meno tollerante a N più alto (poiché il log naturale di N supera 2).

Inoltre, AIC mira a trovare il miglior modello di approssimazione al processo di generazione di dati sconosciuto (riducendo al minimo la divergenza di KL stimata prevista ). Come tale, non riesce a convergere in probabilità al modello vero (supponendo che uno sia presente nel gruppo valutato), mentre BIC converge come N tende all'infinito.

Quindi, come in molte domande metodologiche, che deve essere preferito dipende da cosa stai cercando di fare, quali altri metodi sono disponibili e se una qualsiasi delle caratteristiche delineate (convergenza, tolleranza relativa per i parametri liberi, minimizzando la divergenza di KL prevista ), parla ai tuoi obiettivi.


8
bella risposta. una possibile interpretazione alternativa di AIC e BIC è che AIC afferma che "effetti spuri" non diventano più facili da rilevare all'aumentare della dimensione del campione (o che non ci interessa se gli effetti spuri entrano nel modello), BIC afferma che lo fanno. Può vedere dalla prospettiva OLS come nel documento di Raftery del 1994, l'effetto diventa approssimativamente "significativo" (cioè preferisce un modello più grande) in AIC se la sua statistica t è maggiore di , BIC se la sua statistica t è maggiore di | t| >|t|>2|t|>log(n)
Probislogic

2
Bella risposta, +1. Mi piace soprattutto l'avvertenza sul fatto che il vero modello sia effettivamente presente nel gruppo valutato. Direi che "il vero modello" non è mai presente. (Box & Draper ha affermato che "tutti i modelli sono falsi, ma alcuni sono utili", e Burnham & Anderson lo chiamano "dimensioni degli effetti affusolati".) Per questo motivo non sono impressionato dalla convergenza del BIC sotto assunzioni non realistiche e più dall'obiettivo dell'AIC alla migliore approssimazione tra i modelli che effettivamente guardiamo.
Stephan Kolassa,

68

La mia rapida spiegazione è

  • L'AIC è il migliore per la previsione poiché è asintoticamente equivalente alla convalida incrociata.
  • BIC è il migliore per la spiegazione in quanto consente una stima coerente del processo di generazione dei dati sottostanti.

L'AIC è equivalente alla convalida incrociata K-fold, il BIC è equivalente alla convalida incrociata di livello uno-out. Tuttavia, entrambi i teoremi valgono solo in caso di regressione lineare.

5
mbq, è AIC / LOO (non LKO o K-fold) e non credo che la prova in Stone 1977 si basasse su modelli lineari. Non conosco i dettagli del risultato BIC.
ars

11
ars è corretto. È AIC = LOO e BIC = K-fold in cui K è una funzione complicata della dimensione del campione.
Rob Hyndman,

Congratulazioni, mi hai preso; Avevo fretta di scriverlo e quindi ho fatto questo errore, ovviamente è come Rob l'ha scritto. Neverthelss proviene da Shao 1995, dove si supponeva che il modello fosse lineare. Analizzerò Stone, penso ancora che tu, ars, potresti avere ragione dato che LOO nel mio campo ha una pessima reputazione come vari * IC.

La descrizione su Wikipedia ( en.wikipedia.org/wiki/… ) fa sembrare che la validazione incrociata di K-fold sia una specie di simulazione ripetuta per stimare la stabilità dei parametri. Posso capire perché ci si aspetterebbe che AIC fosse stabile con LOO (dal momento che LOO può essere condotto in modo esaustivo in modo esaustivo), ma non capisco perché il BIC sarebbe stabile con K-fold se K non fosse anche esaustivo. La formula complessa alla base del valore di K la rende esaustiva? O sta succedendo qualcos'altro?
Russellpierce,

16

In base alla mia esperienza, il BIC si traduce in un grave underfitting e l'AIC in genere funziona bene, quando l'obiettivo è massimizzare la discriminazione predittiva.


1
Super ritardato, ma poiché questo è ancora alto in classifica su Google ti dispiace elaborare in quale area stai lavorando? Sono solo curioso di sapere se c'è qualche effetto del dominio che dovremmo esaminare.
verybadatthis

@verybadatthis: biostatistica clinica (solo Google "Frank Harrell", ha una presenza sul web)
Ben Bolker

13

Una "derivazione" informativa e accessibile di AIC e BIC di Brian Ripley è disponibile qui: http://www.stats.ox.ac.uk/~ripley/Nelder80.pdf

Ripley fornisce alcune osservazioni sulle ipotesi alla base dei risultati matematici. Contrariamente a quanto indicano alcune delle altre risposte, Ripley sottolinea che l'AIC si basa sul presupposto che il modello sia vero. Se il modello non è vero, un calcolo generale rivelerà che il "numero di parametri" deve essere sostituito da una quantità più complicata. Alcuni riferimenti sono riportati nelle diapositive Ripleys. Si noti, tuttavia, che per la regressione lineare (strettamente parlando con una varianza nota) la quantità più complessa, in generale, semplifica per essere uguale al numero di parametri.


3
(+1) Tuttavia, Ripley ha torto nel punto in cui afferma che i modelli devono essere nidificati. Non esiste un tale vincolo sulla derivazione originale di Akaike o, per essere più chiari, sulla derivazione che utilizza l'AIC come stimatore della divergenza di Kullback-Leibler. In effetti, in un articolo su cui sto lavorando, mostro in qualche modo "empiricamente" che l'AIC può anche essere usato per la selezione di modelli di strutture di covarianza (diverso numero di parametri, modelli chiaramente non nidificati). Dalle migliaia di simulazioni di serie temporali che ho eseguito con diverse strutture di covarianza, in nessuna di esse l'AIC ha sbagliato ...
Néstor

... se il modello "corretto" è in effetti sul set di modelli (questo, tuttavia, implica anche che per i modelli su cui sto lavorando, la varianza dello stimatore è molto piccola ... ma questo è solo un dettaglio).
Néstor,

1
@ Néstor, sono d'accordo. Il punto sui modelli nidificati è strano.
NRH

3
Quando si selezionano strutture di covarianza per dati longitudinali (modelli di effetti misti o minimi quadrati generalizzati) AIC può facilmente trovare la struttura sbagliata se ci sono più di 3 strutture candidate. Se se ce ne sono più di 3, dovrai utilizzare il bootstrap o altri mezzi per regolare l'incertezza del modello causata dall'utilizzo di AIC per selezionare la struttura.
Frank Harrell,

8

In effetti, l'unica differenza è che il BIC è AIC esteso per tenere conto del numero di oggetti (campioni). Direi che mentre entrambi sono abbastanza deboli (rispetto ad esempio alla convalida incrociata) è meglio usare AIC, che più persone conosceranno l'abbreviazione - in effetti non ho mai visto un documento o un programma in cui BIC sarebbe essere usato (ammetto ancora che sono di parte ai problemi in cui tali criteri semplicemente non funzionano).

Modifica: AIC e BIC sono equivalenti alla convalida incrociata a condizione che siano state formulate due ipotesi importanti: quando sono definite, quindi quando il modello ha la massima probabilità e quando si è interessati solo alle prestazioni del modello sui dati di allenamento. In caso di compressione di alcuni dati in una sorta di consenso, sono perfettamente a posto.
Nel caso in cui si realizzi una macchina di previsione per qualche problema del mondo reale, il primo è falso, poiché il set di addestramento rappresenta solo una serie di informazioni sul problema che si sta affrontando, quindi non è possibile ottimizzare il modello; il secondo è falso, perché ti aspetti che il tuo modello gestirà i nuovi dati per i quali non puoi nemmeno aspettarti che il set di addestramento sia rappresentativo. E a tal fine è stato inventato il CV; simulare il comportamento del modello di fronte a dati indipendenti. In caso di selezione del modello, CV ti offre non solo la qualità approssimativa, ma anche la distribuzione approssimativa della qualità, quindi ha questo grande vantaggio che può dire "Non lo so, qualunque siano i nuovi dati, uno dei due può essere meglio."


Ciò significa che per determinate dimensioni del campione il BIC potrebbe essere meno rigoroso dell'AIC?
russellpierce,

1
Stringente non è la parola migliore qui, piuttosto più tollerante per i parametri; tuttavia, sì, per le definizioni comuni (con registro naturale) succede per 7 e meno oggetti.

L'AIC è asintoticamente equivalente alla convalida incrociata.
Rob Hyndman,

5
@mbq - Non vedo come la validazione incrociata superi il problema della "non rappresentatività". Se i tuoi dati di allenamento non sono rappresentativi dei dati che riceverai in futuro, puoi validare in modo incrociato tutto ciò che desideri, ma non sarà rappresentativo dell '"errore di generalizzazione" che stai per affrontare (come " vero "i nuovi dati non sono rappresentati dalla parte non modellata dei dati di addestramento). Ottenere un set di dati rappresentativo è fondamentale se si devono fare buone previsioni.
Probislogic,

1
@mbq - il mio punto è che sembri "rifiutare delicatamente" la selezione basata su IC in base a un'alternativa che non risolve il problema. La convalida incrociata è buona (sebbene valga la pena il calcolo?), Ma i dati non rappresentativi non possono essere gestiti utilizzando un processo basato sui dati. Almeno non in modo affidabile. È necessario disporre di informazioni preliminari che indichino in che modo non sono rappresentative (o più in generale, quali connessioni logiche i dati "non rappresentativi" hanno ai dati futuri che verranno osservati).
Probislogic

5

Come hai accennato, AIC e BIC sono metodi per penalizzare i modelli per avere più variabili regressori. In questi metodi viene utilizzata una funzione di penalità, che è una funzione del numero di parametri nel modello.

  • Quando si applica AIC, la funzione di penalità è z (p) = 2 p .

  • Quando si applica BIC, la funzione di penalità è z (p) = p ln ( n ), che si basa sull'interpretazione della penalità come derivante da informazioni precedenti (da cui il nome Bayesian Information Criterion).

Quando n è grande, i due modelli produrranno risultati piuttosto diversi. Quindi il BIC applica una penalità molto più grande per i modelli complessi, e quindi porterà a modelli più semplici di AIC. Tuttavia, come affermato in Wikipedia su BIC :

va notato che in molte applicazioni ..., il BIC riduce semplicemente alla selezione della massima probabilità perché il numero di parametri è uguale per i modelli di interesse.


4
notare che AIC è anche equivalente a ML quando la dimensione non cambia. La tua risposta sembra che questo sia solo per BIC.
Probislogic,

5

Da quello che posso dire, non c'è molta differenza tra AIC e BIC. Sono entrambe approssimazioni matematicamente convenienti che si possono fare per confrontare efficacemente i modelli. Se ti danno diversi modelli "migliori", probabilmente significa che hai un'alta incertezza del modello, che è più importante preoccuparti che se dovresti usare AIC o BIC. Personalmente mi piace meglio il BIC perché richiede più (meno) di un modello se ha più (meno) dati per adattarsi ai suoi parametri - un po 'come un insegnante che richiede uno standard più alto (più basso) se il suo studente ha più (meno) ) tempo di conoscere l'argomento. Per me questa sembra proprio la cosa intuitiva da fare. Ma poi sono certo che esistono anche argomenti altrettanto intuitivi e convincenti anche per AIC, data la sua forma semplice.

Ora, ogni volta che fai un'approssimazione, ci saranno sicuramente alcune condizioni in cui tali approssimazioni sono spazzatura. Questo può essere visto certamente per AIC, dove esistono molti "aggiustamenti" (AICc) per tenere conto di determinate condizioni che rendono negativa l'approssimazione originale. Questo è presente anche per BIC, perché esistono altri metodi più esatti (ma comunque efficienti), come ad esempio approssimazioni di Laplace totali a miscele di g-priors di Zellner (BIC è un'approssimazione del metodo di approssimazione di Laplace per integrali).

Un posto in cui sono entrambi schifo è quando si hanno informazioni sostanziali precedenti sui parametri all'interno di un determinato modello. AIC e BIC penalizzano inutilmente i modelli in cui i parametri sono parzialmente noti rispetto ai modelli che richiedono che i parametri siano stimati dai dati.

P(D|M,A)P(M|D,A)MMA

Mi:the ith model is the best description of the dataA:out of the set of K models being considered, one of them is the best

E poi continuerò ad assegnare gli stessi modelli di probabilità (stessi parametri, stessi dati, stesse approssimazioni, ecc.), Otterrò lo stesso insieme di valori BIC. È solo attribuendo una sorta di significato unico alla lettera logica "M" che si viene trascinati in domande irrilevanti sul "vero modello" (echi della "vera religione"). L'unica cosa che "definisce" M sono le equazioni matematiche che la usano nei loro calcoli - e questo non è quasi mai individuato una e una sola definizione. Potrei ugualmente inserire una proposta di previsione su M ("il suo modello fornirà le migliori previsioni"). Personalmente non riesco a vedere come questo cambierebbe nessuna delle probabilità, e quindi quanto sarà buono o cattivo BIC (AIC anche per quella materia - sebbene AIC sia basato su una derivazione diversa)

E poi, cosa c'è di sbagliato con la dichiarazione Se il vero modello è nel set sto considerando, poi c'è una probabilità del 57% che è il modello B . Mi sembra abbastanza ragionevole, o potresti andare nella versione più "soft" c'è una probabilità del 57% che il modello B sia il migliore del set considerato

Un ultimo commento: penso che troverai tante opinioni su AIC / BIC quante sono le persone che le conoscono.


4

L'AIC dovrebbe essere usato raramente, in quanto è realmente valido solo asintoticamente. È quasi sempre meglio usare AICC (AIC con c orrection per dimensioni campione finito). L'AIC tende a parametrizzare eccessivamente: questo problema è notevolmente ridotto con AICc. L'eccezione principale all'utilizzo di AICc è quando le distribuzioni sottostanti sono fortemente leptokurtic. Per ulteriori informazioni al riguardo, vedi il libro Model Selection di Burnham & Anderson.


1
Quindi, quello che stai dicendo è che l'AIC non punisce sufficientemente i modelli per i parametri, quindi usarlo come criterio può portare a un'eccessiva parametrizzazione. Si consiglia invece l'uso di AICc. Per rimetterlo nel contesto della mia domanda iniziale, dato che BIC è già più rigoroso di AIC, c'è un motivo per usare AICc su BIC?
Russellpierce,

1
Cosa intendi per AIC è valido asintoticamente. Come sottolineato da John Taylor, AIC è incoerente. Penso che i suoi commenti contrastanti tra AIC e BIC siano i migliori dati. Non vedo che i due siano gli stessi della convalida incrociata. Tutti hanno una bella proprietà che di solito raggiungono il picco in un modello con un numero di variabili inferiore al massimo. Ma tutti possono scegliere diversi modelli.
Michael Chernick,

4

AIC e BIC sono criteri di informazione per il confronto di modelli. Ciascuno cerca di bilanciare adattamento e parsimonia del modello e ognuno penalizza in modo diverso il numero di parametri.

AIC=2k2ln(L)
kL2ln(L)2k

BIC=kln(n)2ln(L)

Non ho sentito parlare di CCI.


non ho nemmeno sentito parlare di KIC, ma per AIC e BIC dai un'occhiata alla domanda collegata o cerca AIC. stats.stackexchange.com/q/577/442
Henrik

1
(Questa risposta è stata fusa da una duplice domanda che chiedeva anche l'interpretazione di "KIC".)
whuber

3
Non è necessario nidificare i modelli per confrontarli con AIC o BIC.
Macro

1

Molto brevemente:

  • n
  • P(D|M,A)(D=Data,M=model,A=assumptions)P(M|D,A)nnk=n[11/(log(n)1)]n=dimensione del campione (Shao 1997). Esistono molte versioni diverse del BIC, tuttavia, che si traducono in approssimazioni diverse della probabilità marginale o nell'assumere diversi priori. Ad esempio invece di utilizzare una divisa precedente di tutti i possibili modelli come nel BIC originale, EBIC utilizza una divisa precedente di modelli di dimensioni fisse ( Chen e Chen 2008 ) mentre BICq utilizza una distribuzione Bernouilli specificando la probabilità precedente per ciascun parametro da includere .

lambda=2lambda=log(n), in cui l'ottimizzazione di un obiettivo (LASSO o regressione della rete elastica) è seguita dall'ottimizzazione dei parametri di regolarizzazione in base a qualche altro obiettivo (che, ad esempio, minimizza l'errore di previsione della convalida incrociata, AIC o BIC).

n1n

Si noti che l'errore LOOCV può anche essere calcolato analiticamente dai residui e dalla diagonale della matrice del cappello , senza dover effettuare alcuna validazione incrociata. Questa sarebbe sempre un'alternativa all'AIC come approssimazione asintotica dell'errore LOOCV.

Riferimenti

Stone M. (1977) Un'equivalenza asintotica della scelta del modello per convalida incrociata e criterio di Akaike. Giornale della Royal Statistical Society Series B. 39, 44–7.

Shao J. (1997) Una teoria asintotica per la selezione di modelli lineari. Statistica Sinica 7, 221-242.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.