Creo que uno puede hacer todas estas múltiples pruebas de equivalencia dentro de una sola lineal-modelos mixtos. Dado que hay múltiples (2+) las medidas después de que el cambio tuvo lugar es bastante natural para presentar varias de estas pruebas como parte de una sola repetición de las mediciones de la modelo.
En particular, se puede definir el indicador variables entre los pasos sucesivos y, a continuación, comprobar su significado; en esencia, hace varios $t$-prueba en un-go. Creo que una al azar, con una estructura simple intercepto y de la pendiente para cada sujeto estaría bien. Yo no veo que la ausencia de las variables independientes de los otros que el tiempo como un problema estructural. Si algo creo que simplifica las cosas aún más.
Por lo que entiendo que dado un valor inicial(val0
) algo que se lleva a cabo (step0
) mientras da un paso desde el primer periodo de medición para el segundo. Para la posterior intra-medición de períodos de tiempo (step1
, step2
, step3
) no pasa nada. El error de medición se supone constante. Por lo que uno tiene algo como esto:
Creo este ejemplo con el siguiente código:
set.seed(123)
sampleTimes <- seq(0,1, length.out = 5);
N = 10^2;
val0 <- rnorm(N, mean = 0, sd = 5); # Starting values
slopeAt0 <- rnorm( N, mean = -10, sd = 5); # Effect kicks in
val1to5 <- val0 + slopeAt0 * diff(sampleTimes[1:2]) # so val0 is +2.5 higher
trueMeans <- cbind( val0, t(matrix(rep(val1to5,4), 4, byrow = TRUE)))
obsSample <- trueMeans + rnorm(N*5)
subject <- (1:N)
matplot(sampleTimes, t(obsSample),type = 'l', ylab= 'Obs. Sample') # Visualise
Y definir una serie de variables indicadoras para los períodos de salir de un punto de medición a la siguiente. Aviso que yo no definir ningún "último paso" step4
; no sabemos lo que sucede después de que el último punto de medición en $t_4$.
Q <- data.frame( t = rep(sampleTimes, times = N),
ID = rep(subject, each = 5), reads = as.vector(t(obsSample)),
step0 = rep(c(1,0,0,0,0), times = N),
step1 = rep(c(0,1,0,0,0), times = N),
step2 = rep(c(0,0,1,0,0), times = N),
step3 = rep(c(0,0,0,1,0), times = N))
El uso de este diseño es una tarea relativamente sencilla para adaptarse a un LME y comprobar si el stepX
variables se vuelven estadísticamente significativa. El intercepto y la pendiente de absorber cualquier tema con variaciones específicas y uno de bootstrap que el modelo directamente. También se puede utilizar el $t$-valores de la original de la LME.
library(lme4)
m1 <- lmer(reads ~ step0 + step1 + step2 + step3 + (t+1|ID), Q)
summary(m1)
confZ = confint(m1, method='boot', nsim= 1000)
print(confZ)
# Computing bootstrap confidence intervals ...
# 2.5 % 97.5 %
# .sig01 3.7653500 5.0961341
# .sig02 -0.2043878 0.9843421
# .sig03 0.3396433 1.2702728
# .sigma 0.9869698 1.1579640
# (Intercept) -3.2169570 -1.2982469
# step0 2.5430254 3.2526163
# step1 -0.2465836 0.4475912
# step2 -0.0728649 0.5659132
# step3 -0.1625806 0.4023341
Los resultados son bastante razonables creo que, incluso por el modesto tamaño de la muestra ($N = 10^2$) que se utilizan. Querer estar en el lado seguro he incluido un azar de la pendiente y esta fue probablemente redundante (sig02
) (la descripción original del problema no especifica que hay una variable en el tiempo la tendencia), pero excluyendo los que no altera los resultados básicos de cualquier manera: algo que sucede durante la step0
período.