Cuando me preguntan si extraño ser el desarrollador líder de software de modelos mixtos en SAS, generalmente respondo "sí y no". El "sí" viene de sentirse muy afortunado de haber estado involucrado con esta poderosa metodología a lo largo de mis casi 20 años en SAS y una parte del sólido legado que comenzó con el trabajo de Jim Goodnight sobre PROC GLM y PROC VARCOMP en los primeros días de la compañía. Una gran deuda de gratitud está con Dave Delong, quien inicialmente me señaló en esta dirección, y con John Sall y Randy Tobias (nuestro más reciente miembro de ASA!), Quienes proporcionaron piezas clave de código que formaron los inicios de PROC MIXED. Curiosamente, el código de John se basó en el trabajo pionero de Jennrich y Schluchter en el modelado de covarianza-estructura (el lado R del modelo mixto), mientras que el código de Randy se centró en generalizar la estimación de los componentes de varianza de REML (el lado G del modelo mixto). Reunir a los dos fue algo fortuito y resultó ser una excelente tecnología para aplicaciones tan diversas como la cría de animales, ensayos clínicos, control de calidad de la fabricación, evaluación de la educación, modelado del espacio-tiempo y genética estadística.
El "no" viene de la confianza en el impresionante trabajo realizado por nuestros actuales gurús de modelos mixtos: Oliver Schabenberger (PROC GLIMMIX), Chris Gotwalt (JMP), Paul Wright (EVAAS) y Tianlin Wang (PROC HPMIXED). Eso, y mi pasión de una década por la genómica y la verdadera alegría que viene de liderar un equipo de primer nivel y trabajar con todos los profesionales dedicados que han ayudado a JMP Genomics a tener éxito.
Me ha sorprendido cómo la teoría de modelos mixtos es un tema unificador en todas las estadísticas, que abarca métodos como Bayes empíricos, regresión de crestas, series temporales, kriging y suavizado de splines. ¿Sabía que puede instalar una máquina de vectores de soporte utilizando las funciones de base radial en PROC GLIMMIX? En un poco de un retroceso a SAS en los años 70, estamos utilizando componentes de varianza en componentes principales para comparar cuantitativamente fuentes de variabilidad en datos de microarrays. Más recientemente, hemos estado explorando cómo los modelos mixtos pueden ajustarse efectivamente para la estratificación de la población en estudios de asociación de genoma completo. Así que parece que no puedo alejarme de los modelos mixtos, ¡no es que realmente quiera!
Permítanme cerrar con una curiosidad de modelo mixto que estaba viendo la semana pasada. Considere el siguiente código SAS, que compara un modelo de regresión lineal simple con el mismo ajuste de modelo con efectos aleatorios:
/ * simular datos para una regresión lineal simple y comparar modelos fijos y aleatorios * /
% de semillas dejadas = 2817340;
datos xy;
hacer pendiente = 1 a 5;
hacer nx = 1 a 10;
x1 = rannor (& semilla);
x2 = rannor (& semilla);
hacer rep = 1 a 10;
y = x1 * pendiente + x2 * pendiente * 2 + rannor (& semilla);
salida;
fin;
fin;
fin;
correr;
ods excluyen a todos;
ods noresults;
proc datos mixtos = xy método = ml;
por pendiente
modelo y = x1 x2 / s;
ods salida fitstatistics = fs covparms = cp solutionf = sf;
correr;
los ods no excluyen ninguno;
ods resultados;
título "Ajustar estadísticas de modelo fijo";
proc ordenar datos = fs;
por descr la pendiente;
correr;
datos de impresión proc = fs;
correr;
título "Parámetros de covarianza del modelo fijo";
datos de impresión proc = cp;
correr;
título "Beta Hat from Fixed Model";
proc sort data = sf;
por Efecto Pendiente;
correr;
datos de impresión proc = sf;
correr;
ods excluyen a todos;
ods noresults;
proc datos mixtos = xy método = ml;
por pendiente
modelo y = / s;
aleatorio x1 x2 / s;
ods salida fitstatistics = fsr covparms = cpr solutionf = sfr solutionr = srr;
correr;
los ods no excluyen ninguno;
ods resultados;
título "Ajustar estadísticas de un modelo aleatorio";
proc sort data = fsr;
por descr la pendiente;
correr;
datos de impresión proc = fsr;
correr;
título "Parámetros de covarianza de un modelo aleatorio";
proc sort data = cpr;
por CovParm Slope;
correr;
datos de impresión proc = cpr;
correr;
título "Beta Hat from Random Model";
datos de impresión proc = sfr;
correr;
título "Gamma Hat from Random Model";
proc sort data = srr;
por efecto pendiente;
correr;
proc print data = srr;
correr;
La segunda llamada PROC MIXED hace algo contra lo que habría recomendado (hasta la semana pasada): usar covariables simples en una declaración RANDOM sin efecto SUBJECT =. Resulta que las estimaciones de gamma-hat (los BLUP empíricos) son prácticamente idénticas a las estimaciones de beta-hat del primer modelo de regresión simple. Por lo tanto, el modelo de estructura de covarianza está íntimamente conectado con el modelo de medias.
Si realmente te gustan los modelos mixtos (o te gustaría estarlo), aquí hay una pregunta para ti: ¿por qué las estimaciones del componente de varianza del segundo modelo son aproximadamente iguales al cuadrado de las pendientes? Pista: La respuesta no es "sí y no".
William Idsardi escribió:
Esta es una publicación muy interesante, y me trae una pregunta que me he estado preguntando durante un tiempo. ¿Hay un plan para llevar las capacidades de PROC GLIMMIX a JMP? En este momento, JMP es como PROC MIXED y solo permite variables de respuesta normales.
Martin Hermel escribió:
Sí, sería genial tener esta capacidad. Es posible seleccionar una función de registro en el modelo mixto o REML con un resultado binario y variables aleatorias, pero el procedimiento entrega un mensaje de error.
Martin Hermel escribió:
¡Sí, sería demasiado bueno poder usar GLIMMIX desde JMP!