I have repeated measurements of individuals, like this
y | id | time | V1 | V2
100 1 1 23.2 0.8
88 1 2 22.6 0.9
98 2 1 10.6 1.1
83 2 2 11.1 1.3
y
is a continous outcome variable, id
is the patient id, time
is the time point of oberservation and V1
and V2
are covariates.
In this data example we have 2 patients that have 2 observations each, one at time 1 and another one at time 2.
My real data sets has hundreds of patients (ids) and 2-5 observations (time) for each patient.
I now know that the effect of V1
on y
is non-linear and what to model this with a GAM.
In the mgcv
package there is a function called gamm()
. In my example, I use it like this:
m <- gamm(y ~ s(V1) + V2 + time ,family=gaussian,
data=dat,random= ~(time|id))
Is this correct?
Does this model integrate the fact that V1
can change over time for each individual?
gam
as a smoother instead, i.e.,bs = "re"
or evenbs = "fs"
. Such a model is easier to handle since it doesn't consist of two models internally asgamm
does. Anyway, what does "V1 can change over time for each individual" mean exactly? IsV1
perhaps strongly collinear withtime
? $\endgroup$gam
? Do I still get parameter estimates for V2 ? V1 is a variable like BMI that may be strongly correlated with its observation at the previous time point. $\endgroup$V1
as a predictor ofy
contemporaneously (unless you lagged it yourself?). If the effect ofV1
is intended to vary withtime
, then your model isn't accounting for that. Some further explanation would be helpful. $\endgroup$V1
is BMI and I want to integrate individual BMI changes over time into the model $\endgroup$te(BMI, time, k = c(a,b))
with suitable values for a and b if needed. This is the smooth equivalent ofBMI * time
. If you want to decompose this, then:s(BMI) + s(time) + ti(BMI, time)
. If you want the linear effect ofBMI
to vary smoothly with time, i.e. a varying coefficient model, thens(time, by = BMI)
assuming BMI is coded as a numeric variable. It really depends on what you want to represent in the model. $\endgroup$