Los modelos lineales y los modelos lineales generalizados (GLM) son herramientas muy útiles para comprender los efectos de los factores que deseamos examinar. Aunque estos modelos son potentes para analizar los datos obtenidos de experimentos de HCI, una preocupación es que no manejan adecuadamente la "medición repetida" (por ejemplo, las diferencias individuales de los participantes). Los modelos multivel pueden acomodar tales diferencias.
Un modelo multivel se denomina a menudo modelo "jerárquico", "de efectos aleatorios" o "de efectos mixtos". El término "efectos aleatorios" es a menudo confuso porque se utiliza para significar cosas diferentes. En esta wiki, sigo el libro "Data Analysis Using Regression and Multilevel/Hierarchical Models" de Andrew Gelman y Jennifer Hill. Explico qué significan "efectos aleatorios" y "efectos fijos" (lo opuesto a los efectos aleatorios) en esta página; sin embargo, la gente tiene opiniones diferentes sobre ellos (como explica el libro de Gelman y Hill). Por lo tanto, no entraré en discusiones detalladas sobre cómo debemos considerar estos factores.
Comprensión de Alto Nivel de los Modelos Lineales Multivel
Antes de saltar a ejemplos de modelos lineales multivel, tengamos una comprensión de alto nivel de estos modelos. Pensemos en un experimento muy simple: Comparar dos técnicas: Técnica A y Técnica B. Tu medida es el tiempo de rendimiento. En tu experimento, 10 participantes realizaron algunas tareas con ambas técnicas; por lo tanto, el experimento es un diseño intra-sujeto.
Sin embargo, este análisis no considera completamente el diseño del experimento que tenías: las diferencias entre los participantes. Por ejemplo, algunos participantes se sienten más cómodos usando computadoras que otros, y por lo tanto, su rendimiento general podría haber sido mejor. O las diferencias de las técnicas podrían haber causado diferentes niveles de efectos dependiendo de los participantes. Algunos participantes tuvieron un rendimiento similar con ambas técnicas, y otros tuvieron un rendimiento mucho mejor con una técnica.
La regresión multivel, intuitivamente, nos permite tener un modelo para cada grupo representado en los factores intra-sujeto. Por lo tanto, en este ejemplo, en lugar de tener un modelo lineal, construirás 10 modelos lineales, cada uno para cada participante, y harás un análisis sobre si las técnicas causaron diferencias o no. De esta manera, también podemos considerar las diferencias individuales de los participantes (se describirán como diferencias de los modelos).
Lo que la regresión multivel realmente hace es algo intermedio entre ignorar completamente los factores intra-sujeto (quedándose con un solo modelo) y construir un modelo separado para cada grupo individual (haciendo n modelos separados para n participantes). Pero creo que esta explicación exagerada describe bien cómo la regresión multivel es diferente de la regresión simple, y es fácil de entender.

Varianza de Intercepto vs. Varianza de Pendiente
La sección anterior te dio una idea general de cómo son los modelos multivel. Para los factores en los que queremos tener en cuenta las diferencias individuales, los tratamos como efectos aleatorios y construimos cada modelo para cada nivel de estos factores. Pero todavía queda una pregunta. Si construimos un modelo separado para cada participante, por ejemplo, el análisis sería muy largo. Con el ejemplo que usamos anteriormente, tendríamos 10 modelos en total. Algunos pueden tener efectos significativos de la Técnica, y otros no. En ese caso, ¿cómo podemos generalizar los resultados y decir si la Técnica es realmente un factor significativo?
Los modelos multivel pueden eliminar este problema. En lugar de construir modelos completamente diferentes, la regresión multivel cambia los coeficientes de solo algunos parámetros del modelo para cada nivel de efectos aleatorios. En términos generales, hay dos estrategias que puedes tomar para los efectos aleatorios: intercepto variable o pendiente variable (o ambas).
El intercepto variable significa que las diferencias en los efectos aleatorios se describen como diferencias en los interceptos. Por ejemplo, en el ejemplo anterior, tendremos 10 interceptos diferentes (uno para cada participante), pero el coeficiente para la Técnica es constante. En muchos casos, los factores, más precisamente las variables independientes o predictores, son algo que quieres examinar. Por lo tanto, quieres generalizar los resultados para ellos. Y el intercepto es generalmente algo que no incluyes en tu análisis, por lo que puede ser muy complicado. Por lo tanto, a menos que tengas algunas razones claras, los modelos de intercepto variable funcionarán para ti. No serán computacionalmente complicados y sus resultados serán fáciles de interpretar.
Efectos Fijos vs. Efectos Aleatorios
Aunque no entraré en discusiones detalladas sobre la diferencia entre "efectos aleatorios" y "efectos fijos" (lo opuesto a los efectos aleatorios), es importante tener una comprensión de alto nivel de sus diferencias. Esta es mi interpretación de las diferencias entre efectos fijos y aleatorios: En la regresión multivel, construirás múltiples modelos. Los coeficientes de los efectos fijos son constantes o "fijos" en todos los modelos. En contraste, los coeficientes de los efectos aleatorios pueden ser diferentes, o (más o menos) pueden ser "aleatorios". Los efectos aleatorios pueden ser factores cuyos efectos no nos interesan pero cuyas varianzas queremos eliminar de nuestro modelo. "Participantes" son un buen ejemplo de efectos aleatorios. Generalmente, no nos interesa cuán diferente es el rendimiento de cada participante. Si conoces una mejor manera de entender la diferencia entre efectos fijos y aleatorios, ¡por favor compártela con nosotros!

Ejemplo de Datos Hipotéticos y Análisis
Preparo datos hipotéticos para probar la regresión lineal multivel. Puedes descargarlo desde aquí. ¡Permíteme explicar un contexto hipotético de estos datos hipotéticos! Realizamos un experimento con una computadora de escritorio con pantalla táctil. Nuestro objetivo es examinar cómo las interacciones basadas en mouse y táctiles afectan el tiempo de rendimiento en diferentes aplicaciones. En este sistema, los participantes podían usar clics del mouse o toque directo para seleccionar un objeto o un elemento en un menú. También podían usar la rueda del mouse o un gesto de pellizco para acercar/alejar la pantalla. Simplemente los dejamos elegir qué forma de interactuar con el sistema para poder medir cómo las personas tienden a usar interacciones basadas en mouse y táctiles.
El archivo contiene los resultados de este experimento. Creo que la mayoría de las columnas son adivinables. Time es el tiempo (seg) para completar la tarea en cada aplicación (indicada por Application). MouseClick, Touch, MouseWheel y PinchZoom son las cuentas de clics del mouse, toque directo, zoom con la rueda del mouse y zoom con el gesto de pellizco. Ahora queremos examinar cómo estos números de MouseClick, Touch, MouseWheel y PinchZoom afectan el tiempo de rendimiento. Sin embargo, queremos tener en cuenta los efectos de nuestro diseño experimental.
Lo que Random(1|Participant) intenta significar es que vamos a cambiar el intercepto para cada participante. Sí, estamos haciendo modelos de intercepto variable. Suponemos que las diferencias individuales de los participantes se pueden explicar por las diferencias en el intercepto. Hay una serie de formas de hacer regresión lineal multivel en R, pero estamos usando el paquete lme. De nuevo, (1|Participant) es la parte del efecto aleatorio. "1" significa el intercepto. Así que esto significa que estamos cambiando el intercepto para cada participante. Para encontrar los modelos, usamos la máxima verosimilitud restringida (REML). No entraré en los detalles de REML aquí, pero en la mayoría de los casos, puedes usar simplemente REML.
Estimar Std. Así que puedes ver el coeficiente estimado para cada factor, pero es algo poco claro si es realmente significativo o no. Probemos coefplot. Desafortunadamente, coefplot del paquete arm no funciona con el objeto lme. Una línea gruesa y una delgada representan los rangos de 1DE y 2DE. Hasta ahora, todo bien. Hemos creado un modelo con éxito y parece que tenemos algo interesante allí.

Pruebas de Hipótesis y Estimación MCMC
Si has leído la página de regresión lineal múltiple, puedes pensar que podemos hacer una prueba ANOVA. Técnicamente sí, podemos hacer una prueba ANOVA. Sin embargo, no es nada sencillo ejecutarla debido a los efectos aleatorios. En este caso, no podemos estar realmente seguros de si la estadística de prueba tiene una distribución F. Ha habido varios intentos para abordar esto y hacer que la prueba ANOVA sea útil para la regresión multivel, como la corrección de Kenward-Roger. Sin embargo, es discutible si esta corrección es lo suficientemente buena como para suponer que la estadística de prueba corregida tiene una distribución F.
En su lugar, utilizamos el método de Monte Carlo de Cadenas de Markov (MCMC) para estimar el coeficiente y los intervalos de credibilidad de la densidad de probabilidad más alta (intervalos de credibilidad HPD). Aquí, omitiré las discusiones detalladas sobre lo que hace MCMC y qué significan los intervalos de credibilidad HPD. (Lo haré en algún momento más tarde en una página separada). Vamos a usar el paquete languageR para ejecutar MCMC.
El parámetro nsim es el número de simulaciones a ejecutar. MCMCmean es el coeficiente re-estimado por MCMC. Como puedes ver en este ejemplo, puedes ver diferencias relativamente grandes entre la estimación por REML y la de MCMC. Por lo que entiendo, la estimación por MCMC es más confiable que la de REML.
Como puedes ver en los resultados, solo MouseClick tiene un efecto positivo significativo en el aumento del tiempo de rendimiento. Por lo tanto, los resultados implican que reducir el número de clics del mouse puede disminuir el tiempo total de finalización de la tarea en las aplicaciones probadas aquí. El efecto de PinchZoom (0.1278, 95% CI HPD: -5.1017, 5.276) es menor que el de MouseWheel (2.7309, 95% CI HPD: -3.8874, 9.867).
Por último, asegurémonos de que no tenemos problemas de multicolinealidad. Para lmer(), no podemos usar la función vif(). En su lugar, podemos usar la función proporcionada por Austin F. Así que, en este ejemplo, estamos bien. Otra forma de examinar la multicolinealidad es mirar la correlación de dos de las variables independientes.
Copia el código anterior y pégalo en tu consola de R. Para los dos últimos elementos, puedes decir algo como "MouseClick mostró un efecto significativo (p<0.05). Probablemente sea aceptable que simplemente informes la dirección de cada efecto significativo (positivo o negativo) si realmente no te importa el valor real del coeficiente.
Regresión por MCO en R Studio
