Creo que va a tener que echar un vistazo a los efectos aleatorios (ver ¿Cómo dar cuenta de los participantes en un estudio de diseño?).
La idea es que usted tiene, para un número de personas $N$, un número de mediciones de la altura en los distintos años $y$, lo $h_{iy},i=1, 2 \dots, N, y=1, 2, \dots 10$. Cada una de las $h_{iy}$ depende de la altura en el primer año (que depende de la persona $i$) y aumenta con los años (la tasa de aumento también puede depender de la persona $i$), por lo que tiene algo como $h_{iy} = \beta_{1i} + \beta_{2i} y + \epsilon$, donde los coeficientes $\beta_{1i}, \beta_{2i}$ depende de la persona (de ahí el índice $i$), pero si se puede estimar esta ecuación, entonces usted tiene una línea de regresión para cada persona y se puede ver, para que una sola persona, que los puntos están 'muy lejos' de ese individuo, de la propia persona recta de regresión.
Un libro de referencia es Fitzmaurice, Laird, Vajilla, "Aplicado análisis longitudinal", donde se pueden encontrar todos los detalles, así que me limitaré a explicar las principales líneas de razonamiento:
Se supone que el $\beta_{1i}$ $\beta_{2i}$ están distribuidos normalmente con una media de $\beta_1$ (resp. $\beta_2$) y una desviación estándar $\sigma_1$ (resp. $\sigma_2$) (de modo que la suposición es que la altura en el primer año están normalmente distribuidas, así como las tasas de crecimiento). Por lo que podemos re-escribir $\beta_{ki}$ $\beta_{ki}=\beta_k + b_{kj}$ donde $\beta_k$ es la media de todos los $\beta_{ki}$$b_{ki} \sim N(0;\sigma_i), k=1,2$.
Por lo que su regresión se convierte en $h_{iy}=\beta_1+b_{1i} + (\beta_2+b_{2i})y+\epsilon$, este es el formulario que se encuentra en la referencia Fitzmaurice et al.
el $b_{ki}$ se llama el de efectos aleatorios. El $\beta_{k}$ son los efectos fijos.
Para ilustrar esto me deja usar algunos datos simulados:
# this is just for simuating data, you have the data, the simulation generates heights
# for N=500 people for 10 years.
library(reshape2)
# simulation for 500 persons
N<-500
#simulate the heights in the first year, mean 1.7, sd 0.2,
# generate a random number of each of the N persons
h0<-rnorm(n=N, mean=1.7, sd=0.2)
#generate a random growth rate for each of the N persons
ch1<-rnorm(n=N, mean=0.01, sd=0.01)
# simulate h_iy: the height in the first year + (annual growth x year) + error term
h<-h0 + ch1 %*% t(1:10) + rnorm(n=N, mean=0, sd=0.02)
# reformat it a bit so that it is useable later on
colnames(h)<-1:10
df<-cbind( data.frame(subject=1:nrow(h)),
as.data.frame(h) )
df.molten<-melt(data=df, id.vars="subject", value.name="height", variable.name="year")
df.molten$year<-as.numeric(df.molten$year)
Después de la simulación de los datos, ahora vamos a estimar la mencionada ecuación como un modelo lineal de efectos mixtos (con el paquete nlme en R):
library(nlme)
library(ggplot2)
lme.h<-lme(height ~ year + 1, # we estimate height as function of year
data=df.molten, # on the simulated data
random= ~ 1 + year | subject, # we use a random effect on the intercept and on the coeffcient of year
control=lmeControl(opt="optim"),
method="REML")
Los valores que se estiman para que sus datos pueden ser encontrado con las siguientes llamadas:
lme.fix<-fixed.effects(lme.h)
lme.blup<-random.effects(lme.h)
El primero de ellos te los efectos fijos $\beta_k$ (se les compara con los valores utilizados en la simulación), el segundo le da la mejor linear unbiased prediction (blup) de los efectos aleatorios para cada persona de su conjunto de datos.
Compare ahora el estimado de efectos fijos + el blup predictores de los efectos aleatorios " para cada persona a su entrada (en este caso simulado) de datos, en primer lugar para la intersección:
df.plot<-data.frame(sim=h0, estim=lme.blup[[1]]+lme.fix[1])
ggplot(df.plot, aes(x=sim,y=estim))+
coord_fixed()+
geom_abline(intercept=0, slope=1, colour="red")+
geom_point()
No puedo subir las parcelas de aquí, pero si se ejecuta el código, a continuación, obtendrá un gráfico con el eje horizontal la simulación inicial (es decir, en el primer año) las alturas y en el eje vertical el estimado/valores previstos para cada persona en el primer año, la línea roja es la bisectriz.
Similar, pero para el coeficiente del año:
df.plot<-data.frame(sim=ch1, estim=lme.blup[[2]]+lme.fix[2])
ggplot(df.plot, aes(x=sim,y=estim))+
coord_fixed()+
geom_abline(intercept=0, slope=1, colour="red")+
geom_point()
Con estos resultados tienen una línea de regresión para cada inidivual persona, también se puede estimar la varianza alrededor de la línea y, a continuación, encontrar "outliers" para cada persona. Para más detalles me refiero a Fitzmaurice et al.
así, por persona $i$ usted se encuentra en la línea de regresión $h_{iy}=\hat{\beta}_1+\hat{b}_{1i} + (\hat{\beta}_2+\hat{b}_{2i})y$ donde $\hat{\beta}_1$ lme.fix[1]
, $\hat{b}_{1i}$ lme.blup[[1]][i]
y $\hat{\beta}_2$ lme.fix[2]
, $\hat{b}_{2i}$ lme.blup[[2]][i]
Para más detalles sobre el paquete nlme puede utilizar este pdf