Lmer () può usare le spline come effetti casuali?


19

Supponiamo che stiamo lavorando su un modello di effetti casuali di alcuni dati di conteggio nel tempo e che vogliamo controllare alcune tendenze. Normalmente, faresti qualcosa del tipo:

lmer(counts ~ dependent_variable + (1+t+I(t^2)|ID), family="poisson")

per includere una forma quadratica per t. È possibile utilizzare alcune tecniche di levigatura più sofisticate come un LOESS più liscio o spline per modellare quella relazione?

Risposte:


25

Se ciò che mostri funziona per una lmerformula per un termine di effetti casuali, dovresti essere in grado di utilizzare le funzioni del pacchetto splines fornito con R per impostare le funzioni di base pertinenti.

require("lme4")
require("splines")
lmer(counts ~ dependent_variable + (bs(t) | ID), family="poisson")

A seconda di cosa vuoi fare, dovresti anche guardare al pacchetto gamm4 e al pacchetto mgcv . Il primo sta essenzialmente formalizzando il bs()bit nella lmer()chiamata precedente e consente di eseguire la selezione della scorrevolezza come parte dell'analisi. Quest'ultimo con funzione gam()consente un certo grado di flessibilità nell'adattare modelli come questo (se capisco cosa stai cercando di fare). Sembra che tu voglia tendenze separate all'interno ID? Un approccio con effetti più fissi sarebbe qualcosa del tipo:

gam(counts ~ dependent_variable + ID + s(t, by = ID) , family="poisson")

Gli effetti casuali possono essere inclusi nei gam()modelli usando i s(foo, bs = "re")termini di tipo in cui foosi troverebbero IDnel tuo esempio. Se abbia senso combinare il bytermine idea con un effetto casuale è qualcosa a cui pensare e non qualcosa su cui sono qualificato per commentare.

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.