Quanto dovremmo avere paura degli avvisi di convergenza in lme4


88

Se rielaboriamo un bagliore, potremmo ricevere un avviso che ci dice che il modello sta trovando difficoltà a convergere ... ad es

>Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge with max|grad| = 0.00389462 (tol = 0.001)

un altro modo per verificare la convergenza discussa in questo thread da @Ben Bolker è:

 relgrad <- with(model@optinfo$derivs,solve(Hessian,gradient))
 max(abs(relgrad))
 #[1] 1.152891e-05

se lo max(abs(relgrad))è<0.001 così le cose potrebbero andare bene ... quindi in questo caso abbiamo risultati contrastanti? Come dovremmo scegliere tra i metodi e sentirci al sicuro con il nostro modello adatto?

D'altra parte quando otteniamo valori più estremi come:

>Warning message:
In checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv,  :
  Model failed to converge with max|grad| = 35.5352 (tol = 0.001)

relgrad <- with(model@optinfo$derivs,solve(Hessian,gradient))
max(abs(relgrad))
#[1] 0.002776518

Questo significa che dobbiamo ignorare i risultati / stime / valori p del modello? 0,0027 è troppo grande per procedere?

Quando diversi ottimizzatori danno risultati diversi e centrano le variabili / rimuovono i parametri (eliminando i modelli al minimo) non aiuta, ma i VIF sono bassi, i modelli non sovradispersi e i risultati dei modelli hanno un senso logico basato su aspettative a priori, sembra difficile sapere Cosa fare.

Consigli su come interpretare i problemi di convergenza, quanto estremi devono essere per farci davvero preoccupare e possibili modi per provare a gestirli oltre a quelli menzionati sarebbe molto utile.

Utilizzando: R version 3.1.0 (2014-04-10)elme4_1.1-6


10
La versione più recente di lme4(versione 1.1-7) ha un comportamento di avviso diverso che gli autori ritengono sia meno probabile dare avvisi di "falso allarme". Potresti provare ad aggiornare lme4alla versione più recente, adattare nuovamente il modello e vedere se ricevi ancora avvisi simili, almeno nel primo caso.
Jake Westfall,

Risposte:


91

Avere paura. Abbi molta paura.

L'anno scorso ho intervistato John Nash, autore di optim e optimx, per un articolo sul sito DeveloperWorks di IBM. Abbiamo parlato di come funzionano gli ottimizzatori e perché falliscono quando falliscono. Sembrava dare per scontato che lo facciano spesso. Ecco perché la diagnostica è inclusa nel pacchetto. Ha anche pensato che devi "capire il tuo problema" e capire i tuoi dati. Tutto ciò significa che gli avvisi dovrebbero essere presi sul serio e sono un invito a guardare i tuoi dati in altri modi.

In genere, un ottimizzatore interrompe la ricerca quando non può più migliorare la funzione di perdita di una quantità significativa. Fondamentalmente non sa dove andare dopo. Se il gradiente della funzione di perdita non è zero a quel punto, non hai raggiunto un estremo di alcun tipo. Se l'Assia non è positiva, ma il gradiente è zero, non hai trovato un minimo, ma probabilmente hai trovato un punto massimo o di sella. A seconda dell'ottimizzatore, tuttavia, i risultati sull'Assia potrebbero non essere forniti. In Optimx, se si desidera valutare le condizioni KKT, è necessario richiederle: non vengono valutate per impostazione predefinita. (Queste condizioni guardano il gradiente e l'Assia per vedere se hai davvero un minimo.)

Il problema con i modelli misti è che le stime di varianza per gli effetti casuali sono vincolate ad essere positive, ponendo così un limite all'interno della regione di ottimizzazione. Ma supponiamo che un particolare effetto casuale non sia realmente necessario nel tuo modello - cioè la varianza dell'effetto casuale è 0. Il tuo ottimizzatore si sposterà in quel limite, non sarà in grado di procedere e si fermerà con un gradiente diverso da zero. Se la rimozione di questo effetto casuale migliora la convergenza, saprai che era il problema.

A parte, nota che la teoria della massima verosimiglianza asintotica presuppone che l'MLE si trovi in ​​un punto interno (cioè non al limite dei valori dei parametri leciti) - quindi i test del rapporto di verosimiglianza per i componenti della varianza potrebbero non funzionare quando effettivamente l'ipotesi nulla della varianza zero vero. I test possono essere eseguiti utilizzando test di simulazione, come implementato nel pacchetto RLRsim.

Per me, sospetto che gli ottimizzatori incontrino problemi quando il numero di parametri è insufficiente per il numero di parametri o il modello proposto non è davvero adatto. Pensa alla scarpetta di vetro e alla brutta sorellastra: non puoi trasferire i tuoi dati nel modello, non importa quanto ci provi, e qualcosa deve dare.

Anche se i dati si adattano al modello, potrebbero non avere il potere di stimare tutti i parametri. Una cosa divertente mi è successa in questo senso. Ho simulato alcuni modelli misti per rispondere a domandasu cosa succede se non si consente la correlazione degli effetti casuali quando si adatta un modello di effetti misti. Ho simulato i dati con una forte correlazione tra i due effetti casuali, quindi ho adattato il modello in entrambi i modi con lmer: ponendo 0 correlazioni e correlazioni libere. Il modello di correlazione si adattava meglio del modello non correlato, ma è interessante notare che in 1000 simulazioni ho avuto 13 errori nel montaggio del modello reale e 0 errori nel montaggio del modello più semplice. Non capisco bene perché sia ​​successo (e ho ripetuto i sim a risultati simili). Ho il sospetto che il parametro di correlazione sia abbastanza inutile e l'ottimizzatore non riesca a trovare il valore (perché non importa).

Hai chiesto cosa fare quando diversi ottimizzatori danno risultati diversi. John e io abbiamo discusso di questo punto. Alcuni ottimizzatori, a suo avviso, non sono proprio così buoni! E tutti hanno punti di debolezza, vale a dire set di dati che potrebbero causare il fallimento. Questo è il motivo per cui ha scritto optimx, che include una varietà di ottimizzatori. È possibile eseguirne diversi sullo stesso set di dati.

Se due ottimizzatori forniscono gli stessi parametri, ma una diagnostica diversa - e quei parametri hanno senso nel mondo reale - allora sarei propenso a fidarmi dei valori dei parametri. La difficoltà potrebbe risiedere nella diagnostica, che non è infallibile. Se non hai fornito esplicitamente la funzione del gradiente e / o la matrice hessiana, l'ottimizzatore dovrà stimarli dalla funzione di perdita e dai dati, che è solo qualcos'altro che può andare storto.

Se stai ottenendo anche valori di parametro diversi, allora potresti voler provare diversi valori di partenza e vedere cosa succede allora. Alcuni ottimizzatori e alcuni problemi sono molto sensibili ai valori iniziali. Vuoi iniziare nel parco delle palle.


3
AHHH! Ho appena aperto questa domanda per rendere "Abbi paura. Abbi molta paura". scherzo. Bravo. Anche bravo a incorporarlo in una risposta reale, che non avevo intenzione di fare.
Alexis,

2
Dovresti davvero leggere il libro che Nash ha scritto. Determinare l'Hessian è molto difficile in pratica, quindi l'ottimizzatore può essere convergente in molti casi, ma l'Hessian è impreciso, quindi nel caso in cui si ottengano risultati simili da diversi ottimizzatori ma avvertenze di convergenza capita spesso che la tua Hesse non sia un modello falso. I test dell'Assia o del gradiente sono lì solo per rassicurazione. A volte anche un hessian non ha molto senso come quando si ha un ottimizzatore vincolato al limite, ma l'algoritmo hessian non ne tiene conto (come lme4) e si va al limite.

18

Voglio solo integrare la grande risposta di @ Placidia. Potresti voler dare un'occhiata a "Modelli lineari pienamente parametrizzati: additivi, serie storiche e modelli spaziali che usano effetti casuali" di James Hodges (2014). Discerne ciò che non sappiamo sui modelli misti e allo stesso tempo tenta di offrire un'ampia teoria e suggerimenti pratici per il montaggio di modelli complessi.

Un modellatore spesso spaventato, trovo che le discussioni di Hodge sugli "enigmi" non abbiano prezzo. Spiega strani casi derivanti dall'adattamento della modellazione di effetti misti, tra cui "Un effetto casuale in competizione con un effetto fisso" e "Concorrenza tra effetti casuali". Suona familiare?

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.