ottenere AIC / verosimiglianza dai coefficienti del modelloForse un po 'fuori tema, ma:
Ricevo un modello da R GLMNet (un pacchetto di rete elastica di regressione generale, perché il cliente non eseguirà l'aggiornamento da JMP 10) e devo calcolare l'AIC. Questo pacchetto non sembra darmi verosimiglianza. Così ... è possibile calcolare la massima verosimiglianza dai coefficienti? Il modello è realizzato usando la massima verosimiglianza, quindi spero che ci sia un modo per estrarre queste informazioni se ho il modello scelto. Probabilmente no, ma al momento sto afferrando le cannucce.
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloMi scusi, ha riferimento a "Devianza (null) - Devianza (adattamento) = 2 (L (modello) -L (null))"?
Con 2 (L (modello) -L (null) vuoi dire che è " 2 probabilità di registro " o " 2 log (L0 / L1) "? Non dovrebbe essere" -2 log verosimiglianza " , o l'equazione di Devianza (null) - Devianza (fit) ignora il segno negativo (-)?
Ci scusiamo per la rapida domanda.
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloMi scusi, dov'è il riferimento che afferma che "D eviance (null) - Deviance (fit) = 2 (L (modello) -L (null)) "?
Inoltre, intendevi 2L (modello) è 2 probabilità di registro? o il 2 (L (modello) -L (null) è la probabilità di 2 log?
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloIl primo termine nell'equazione dovrebbe essere negativo. Man mano che la devianza diminuisce, AICc dovrebbe migliorare (più piccolo).
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloGrazie per l'aiuto con questo (il sabato non meno). Solo così sono chiaro, se faccio i passaggi seguenti, dovrei ottenere qualcosa di proporzionale all'AIC di JMP?
Names Default to here(1);
k =[0, 1, 1, 2, 2];
n=500;
nulldev = 1100;
devs = [1100, 1099, 1098, 1097, 1096]; //calculated from (1-dev.ratio)*nulldev
fake2L = nulldev-devs;
AIC = -fake2L+2*k+2*k:*(k+1):/(n-k-1);
* Modifica * modificato AIC per essere corretto
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloDopo tutto, potresti essere in grado di ottenere la probabilità del modello.
Adatta il modello null (nessun termine eccetto l'intercetta) e salva l'oggetto glmnet come fit0 . Montare il modello desiderato e salvarlo come FIT1 . Ottieni la devianza per entrambi, cioè dev0 = devianza (fit0) e dev1 = devianza (FIT1) . La devianza è 2 (L (saturazione) -L (modello)), quindi ora si hanno due equazioni e due probabilità sconosciute. La L (saturo) è comune e cade fuori. Uno dei componenti del fit0 e FIT1 oggetti se la devianza nulla ( nulldev ) aiutare.
Quindi avevi ragione prima. Cioè, puoi usare la devianza (in qualche modo) direttamente per calcolare AICc. Devianza (null) - Devianza (adattamento) = 2 (L (modello) -L (null)). La L (null) è solo un offset costante, quindi la differenza di devianza è un sostituto per 2L (modello). Spero che questo ti aiuti!
A proposito, il pacchetto fornisce il rapporto devianza come misura di bontà di adattamento. So che non è lo stesso che usare AICc per selezionare il modello migliore. Piuttosto come usare R square (cattiva idea).
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloBene, grazie per aver provato in entrambi i modi.
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloLa devianza è una misura della mancanza di adattamento. Non è la probabilità del modello, ma il doppio della differenza tra le probabilità del modello saturo e del modello.
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloHo paura che le due quantità disponibili dal glmnet oggetto ( dev.ratio , nulldev ) non sono sufficienti per ottenere la probabilità per il modello, che è necessario calcolare AICc. Hai due equazioni in tre incognite: verosimiglianza (nullo), verosimiglianza (modello) e verosimiglianza (saturo). Non riesco a ottenere la verosimiglianza (modello) dalla verosimiglianza (nulla).
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloQuindi, solo così mi sto accertando di averlo corretto.
deviance = (1-dev.ratio) * nulldev
e questa devianza sarebbe esattamente la stessa di -2LogLikelihood nell'equazione AICc?

Questo potrebbe rendere la mia vita MOLTO meglio.
Ri: ottenere AIC / verosimiglianza dai coefficienti del modelloIl manuale del pacchetto R glmnet fornisce questi dettagli:
" Un oggetto glmnet ha componenti dev.ratio e nulldev. Il primo è la frazione della devianza (nulla) spiegata. I calcoli di devianza incorporano i pesi se presenti nel modello. La devianza è definita come 2 * (loglike_sat - loglike), dove loglike_sat è la probabilità logaritmica per il modello saturo (un modello con un parametro libero per osservazione). La devianza nulla è definita come 2 * (loglike_sat -loglike (Null)); Il modello NULL si riferisce al modello di intercettazione, ad eccezione di Cox, dove è il modello 0. Quindi dev.ratio = 1-deviance / nulldev, e questo metodo devianza restituisce (1-dev.ratio) * nulldev. "
Questa informazione è destinata a essere utilizzata per valutare la bontà dell'adattamento.