AIC, BIC e GCV: qual è il migliore per prendere una decisione nei metodi di regressione penalizzata?


14

La mia comprensione generale è che AIC si occupa del compromesso tra la bontà di adattamento del modello e la complessità del modello.

UNioC=2K-2ln(L)

K = numero di parametri nel modello

= probabilitàL

Il criterio di informazione bayesiana BIC è strettamente correlato all'AIC. L'AIC penalizza il numero di parametri in modo meno forte rispetto al BIC. Vedo che questi due sono usati ovunque storicamente. Ma la validazione incrociata generalizzata (GCV) è nuova per me. In che modo GCV può relazionarsi con BIC o AIC? In che modo questi criteri, insieme o separati, sono stati utilizzati nella selezione del termine di penalità nella regressione panelizzata come la cresta?

Modifica: ecco un esempio per pensare e discutere:

    require(lasso2)
    data(Prostate)
    require(rms)

    ridgefits = ols(lpsa~lcavol+lweight+age+lbph+svi+lcp+gleason+pgg45,
           method="qr", data=Prostate,se.fit = TRUE, x=TRUE, y=TRUE)
    p <- pentrace(ridgefits, seq(0,1,by=.01))
    effective.df(ridgefits,p)
    out <- p$results.all
    par(mfrow=c(3,2))
    plot(out$df, out$aic, col = "blue", type = "l", ylab = "AIC", xlab = "df"  )
    plot(out$df, out$bic, col = "green4", type = "l", ylab = "BIC",  xlab = "df" )
    plot(out$penalty, out$df,  type = "l", col = "red", 
     xlab = expression(paste(lambda)), ylab = "df" )
    plot(out$penalty, out$aic, col = "blue", type = "l",  
      ylab = "AIC", xlab = expression(paste(lambda))  )
    plot(out$penalty, out$bic, col = "green4", type = "l", ylab = "BIC", 
      xlab= expression(paste(lambda))

require(glmnet)
y <- matrix(Prostate$lpsa, ncol = 1)
x <- as.matrix (Prostate[,- length(Prostate)])
cv <- cv.glmnet(x,y,alpha=1,nfolds=10)
plot(cv$lambda, cv$cvm, col = "red", type = "l", 
      ylab = "CVM",   xlab= expression(paste(lambda))

inserisci qui la descrizione dell'immagine

Risposte:


10

λ


2
Grande interpretazione pratica, e ha senso anche nel contesto bayesiano ... rapporto di verosimiglianza basato sulla "teoria" rispetto all'errore di predizione "ateoretico".
Shadowtalker,

3
Sarebbe probabilmente utile chiarire come "gradi effettivi di libertà" per una soluzione regolarizzata possano essere calcolati e usati in AIC.
Brian Borchers,

2
Vedi il codice nella funzione del rmspacchetto R effective.dfe il mio libro Strategie di modellazione della regressione. L'idea principale, di Robert Gray, è di considerare la matrice di covarianza senza penalità rispetto alla matrice di covarianza con penalità. La somma della diagonale di una sorta di rapporto tra questi due ti dà il df effettivo
Frank Harrell,

@FrankHarrell: Quindi, se ti capisco correttamente, va bene calcolare un gruppo di modelli glmnet(ciascuno con un diverso parametro lambda) e calcolare l'AIC per ciascun modello, quindi scegliere la lambda corrispondente al modello con l'AIC più basso? Questo è fondamentalmente un altro modo per scegliere il parametro lambda, oltre all'utilizzo di Cross Validation. Ho ragione?
Corel,

1
Stavo scrivendo nel contesto del rmspacchetto in cui un paio di funzioni di adattamento, quando utilizzate, effective.dfcalcolano il numero effettivo di parametri in modo da poter ottenere un AIC efficace. In questo modo approssimi ciò che ottieni dalla convalida incrociata con CV. Vedi questo
Frank Harrell,

10

I miei pensieri su questo non sono molto raccolti, ma ecco una raccolta di punti di cui sono a conoscenza che potrebbero aiutare.


L'interpretazione bayesiana di AIC è che si tratta di un'approssimazione corretta dalla distorsione alla densità predittiva in senso logaritmico atteso, ovvero l'errore di predizione fuori campione. Questa interpretazione è ben definita in Gelman, Hwang e Vehtari (2013) e discussa brevemente anche sul blog di Gelman . La convalida incrociata è un'approssimazione diversa della stessa cosa.

Nel frattempo, BIC è un'approssimazione del " fattore Bayes " in un particolare precedente (spiegato bene in Raftery, 1999 ). Questo è quasi l'analogo bayesiano di un rapporto di verosimiglianza.

La cosa interessante di AIC e BIC è che la regressione penalizzata ha anche un'interpretazione bayesiana, ad esempio LASSO è la stima MAP della regressione bayesiana con priori di Laplace indipendenti sui coefficienti. Altre informazioni in questa domanda precedente e molto altro in Kyung, Gill, Ghosh e Casella (2010) .

Questo mi suggerisce che potresti ottenere qualche chilometraggio, o almeno un progetto di ricerca più coerente, pensando e modellando in termini bayesiani. So che questo è un po 'insolito in molte applicazioni come l'apprendimento automatico ad alta dimensione, e anche in qualche modo rimosso dalle (a mio avviso) interpretazioni geometriche e di perdita delle funzioni più interpretabili della regolarizzazione. Per lo meno, mi affido fortemente all'interpretazione bayesiana per decidere tra AIC e BIC e spiegare la differenza tra laici, collaboratori / capi non statisticamente orientati, ecc.

So che questo non parla molto della validazione incrociata. Una cosa bella dell'inferenza bayesiana è che produce distribuzioni approssimative dei parametri, piuttosto che stime dei punti. Questo, a mio avviso, può essere usato per eludere il problema della misurazione dell'incertezza sull'errore di previsione. Tuttavia, se stai parlando di utilizzare CV per stimare iperparametri, ad esλper LASSO, rimando nuovamente a Gelman :

la selezione di un parametro di ottimizzazione mediante convalida incrociata è solo un'implementazione particolare di Bayes gerarchica.

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.