15 votos

Especificación de una estructura de covarianza: pros y contras

¿Cuáles son las ventajas de especificar una estructura de covarianza en un MLG (en lugar de tratar todas las entradas no diagonales de la matriz de covarianza como cero)? Aparte de reflejar lo que se sabe de los datos, ¿es

  1. ¿mejorar la bondad del ajuste?
  2. mejorar la precisión de la predicción en los datos retenidos?
  3. nos permiten estimar el alcance de la covarianza?

¿Cuáles son los costes de imponer una estructura de covarianza? ¿Esta estructura

  1. ¿Añadir complicaciones computacionales a los algoritmos de estimación?
  2. aumentar el número de parámetros estimados, aumentando también el AIC, BIC, DIC?

¿Es posible determinar empíricamente la estructura de covarianza correcta, o es algo que depende de su conocimiento del proceso de generación de datos?

¿Algún coste/beneficio que no haya mencionado?

5 votos

Básicamente, usted debe especificar una estructura de covarianza en el GLM. Si por "asumir que no hay covarianza" quiere decir que "todas las entradas no diagonales de la matriz de covarianza son cero", entonces todo lo que hizo fue asumir una estructura de covarianza muy específica. (Podría ser incluso más específico, por ejemplo, asumiendo que todas las varianzas son iguales). En resumen: No estoy seguro de que la pregunta tenga sentido en su forma actual. (De todos modos, he votado a favor porque creo que aprenderé mucho cuando los gurús empiecen a hablar). ¿O es que te he entendido mal?

0 votos

¿Se refiere a la estructura de covarianza en un MLG con una distribución de mezcla normal multivariante, por ejemplo, o al análisis de la estructura de covarianza de una matriz de covarianza, o a otra cosa?

1 votos

@StephanKolassa ¿quieres copiar tu comentario en una respuesta? Parece que responde a la pregunta lo mejor que se puede hacer.

14voto

icelava Puntos 548

Básicamente, usted debe especificar una estructura de covarianza en el GLM. Si por "asumir que no hay covarianza" quiere decir que "todas las entradas no diagonales de la matriz de covarianza son cero", entonces todo lo que hizo fue asumir una estructura de covarianza muy específica. (Podría ser incluso más específico, por ejemplo, asumiendo que todas las varianzas son iguales).

Esto es en realidad una variación de "No suscribo ninguna filosofía; soy pragmático". - "Acabas de describir la filosofía que suscribes".

Como tal, yo diría que la ventaja de pensar en la estructura de covarianza es la posibilidad de utilizar un modelo que sea más apropiado para sus datos. Al igual que debe incluir las relaciones funcionales conocidas para el valor esperado (o la media) de sus observaciones, debe tener en cuenta cualquier estructura que conozca en la covarianza.

Y, por supuesto, la "desventaja" es que hay que pensar en todo esto. Es mucho más fácil utilizar la configuración por defecto del software. Pero esto es como conducir siempre en primera porque tu coche estaba en primera cuando lo compraste y entender el cambio de marchas supone un esfuerzo. No se recomienda.

2 votos

+1 Estoy de acuerdo con cada una de las palabras que has escrito, pero no creo que esto responda completamente a la pregunta. Por ejemplo, ¿especificar una estructura de covarianza más adecuada reduce los residuos del modelo?

1 votos

@JackTanner: ¡gracias! Y tienes razón en que no he respondido del todo a tu pregunta, por lo que originalmente sólo publiqué esto como comentario. La verdad: por ejemplo, no sé si especificar la estructura de covarianza correcta reducirá necesariamente los residuos. Me imagino que imponer una estructura adicional en (la covarianza de) los residuos puede incluso aumentarla - pero puede ahorrar en parámetros. Piense en una estructura AR(1) en lugar de una matriz de covarianza no estructurada. Similar para las otras preguntas en su puesto. Definitivamente, me interesaría conocer la opinión de otras personas al respecto.

1 votos

+1; Es una respuesta útil, además, el símil es impresionante.

2voto

Nick Stauner Puntos 8220

He aquí otra respuesta incompleta que ni siquiera tiene que ver directamente con el MLG... En mi limitada experiencia con el modelado de ecuaciones estructurales (SEM), he recogido un par de ideas que espero puedan aportar algo al debate. Por favor, tenga en cuenta que estoy hablando de la experiencia (limitada) con SEM, no GLM por sí mismo y desconozco si esta distinción puede llegar a ser importante y dónde. Soy más un usuario de estadísticas que un estadístico, así que tampoco estoy seguro de que estas ideas se apliquen a todos o incluso a la mayoría de los datos; sólo he encontrado que se han aplicado a la mayoría de los míos.

En primer lugar, me hago eco de la insistencia de @StephanKolassa en la importancia de modelar lo que ya se sabe. Lo reconoces como un aparte, pero creo que los beneficios por los que preguntas son beneficios de modelar lo que sabes. Como tal, reflejan de forma significativa que tu modelo resultante posee la información sobre la estructura de covarianza que has añadido.

En SEM He descubierto (a través de una experiencia limitada, no a través de un estudio teórico):

Beneficios

  1. Modelar la estructura de covarianza mejora la bondad del ajuste (GoF) si la covarianza es mucho más fuerte que su error estándar (es decir, si la vía simétrica es significativa). Esto significa que normalmente no se mejorará el GoF modelando correlaciones cercanas a cero, y la multicolinealidad puede causar problemas para el GoF porque infla los errores estándar.

  2. Todavía no he probado a sacar datos para predecir, pero mi intuición es que fijar las covarianzas a cero en su modelo es análogo a predecir una VD combinando un conjunto de ecuaciones de regresión lineal separadas, de un solo IV. A diferencia de este enfoque, la regresión múltiple tiene en cuenta la covarianza en los IVs al producir un modelo de ecuaciones para predecir la VD. Esto ciertamente mejora la interpretabilidad al separar los efectos directos de los efectos indirectos que ocurren completamente dentro del conjunto incluido de IVs. Sin embargo, no estoy seguro de que esto mejore necesariamente la predicción de la VD. Siendo un usuario de estadísticas y no un estadístico, he elaborado la siguiente función de prueba de simulación para dar una respuesta incompleta (aparentemente, "Sí, la precisión de la predicción mejora cuando el modelo incorpora la covarianza de los IVs") en este caso, que espero sea análogo...

    simtestit=function(Sample.Size=100,Iterations=1000,IV.r=.3,DV.x.r=.4,DV.z.r=.4) {
    require(psych); output=matrix(NA,nrow=Iterations,ncol=6); for(i in 1:Iterations) {
    x=rnorm(Sample.Size); z=rnorm(Sample.Size)+x*IV.r
    y=rnorm(Sample.Size)+x*DV.x.r+z*DV.z.r
    y.predicted=x*lm(y~x+z)$coefficients[2]+z*lm(y~x+z)$coefficients[3]
    bizarro.y.predicted=x*lm(y~x)$coefficients[2]+z*lm(y~z)$coefficients[2]
    output[i,]=c(cor(y.predicted,y)^2,cor(bizarro.y.predicted,y)^2,
    cor(y.predicted,y)^2>cor(bizarro.y.predicted,y)^2,cor(x,z),cor(x,y),cor(y,z))}
    list(output=output,percent.of.predictions.improved=100*sum(output[,3])/Iterations,
    mean.improvement=fisherz2r(mean(fisherz(output[,1])-fisherz(output[,2]))))}
    
    # Wrapping the function in str( ) gives you the gist without filling your whole screen
    str(simtestit())

    Esta función genera muestras aleatorias ( $N =$ Iterations , $n$ = Sample.Size ) de tres variables con distribución normal: z $=$ x $+$ ruido aleatorio, y y $=$ x $+$ z $+$ ruido aleatorio. El usuario puede influir un poco en sus correlaciones anulando los valores predeterminados para los tres últimos argumentos, pero el ruido aleatorio afecta también a las correlaciones de la muestra, de modo que esto simula la forma en que el error de muestreo afecta a las estimaciones de los verdaderos parámetros de correlación. La función calcula las predicciones de y basado en los coeficientes de regresión para x y z derivado de:

    ( $1$ ) regresión múltiple ( y.predicted ), y...

    ( $2$ ) dos regresiones lineales bivariadas separadas ( bizarro.y.predicted ).

    El output La matriz contiene Iterations filas y seis columnas: el $R^2$ s de $1$ y $2$ una prueba de verdadero-falso para saber si $1 > 2$ y la bivariante $r$ s para las tres combinaciones únicas de x , y , & z . Esta función produce una lista de tres elementos, el primero de los cuales es el output matriz. Por defecto, ésta tiene 1.000 filas, por lo que recomiendo envolver simtestit() en el str( ) o eliminando este elemento de la lista en la propia función, a menos que esté interesado en las estadísticas individuales de la muestra por alguna razón. El porcentaje de iteraciones en las que $R^2$ se mejoró utilizando ( $1$ ) para tener en cuenta la covarianza de los IVs, y la media de estas mejoras a través de las iteraciones (en la escala de $r$ utilizando una transformación de Fisher a través de la psych paquete).

    La función se ajusta por defecto a una breve prueba de simulación de circunstancias bastante típicas para una regresión múltiple de base máxima. Permite al usuario cambiar los tamaños de las muestras individuales y las correlaciones de las variables para adaptarse al estudio y a las teorías previas sobre la fuerza de la relación. No he probado todas las configuraciones posibles, pero cada vez que he ejecutado la función, el 100% de las iteraciones han producido mayores $R^2$ con regresión múltiple. La mejora media en $R^2$ parece ser mayor cuando la covarianza de los IVs (que puede ser manipulada de forma incompleta introduciendo un argumento para IV.r ) es mayor. Dado que usted probablemente está más familiarizado con su función GLM que yo (que no lo estoy en absoluto), probablemente podría cambiar esta función o utilizar la idea básica para comparar las predicciones GLM a través de cualquier número de IVs que desee sin demasiados problemas. Suponiendo que eso resulte (o resulte) de la misma manera, parecería que la respuesta básica a su segunda pregunta es probablemente sí, pero cuánto depende de la intensidad de la covariación de los IVs. Las diferencias en el error de muestreo entre los datos retenidos y los datos utilizados para ajustar el modelo podrían abrumar la mejora en su precisión predictiva dentro del último conjunto de datos, porque de nuevo, la mejora parece ser pequeña a menos que las correlaciones de los IVs sean fuertes (al menos, en el caso máximo básico con sólo dos IVs).

  3. Especificar una vía libre para la covarianza entre IVs en el modelo significa pedir a la función de ajuste del modelo que estime el coeficiente de esta vía, que representa el grado de covarianza entre IVs. Si su función GLM le permite especificar un modelo en el que la covarianza entre los IVs se estima libremente en lugar de fijarse en cero, entonces su problema es una simple cuestión de averiguar cómo hacer esto y cómo hacer que su función produzca esa estimación. Si su función estima las covarianzas de los IVs por defecto, su problema se simplifica aún más a la última cuestión (como es el caso de lm( ) ).

Costes

  1. Sí, estimar libremente la covarianza entre IVs significa que el algoritmo de ajuste del modelo tiene que hacer algo de trabajo para estimar el coeficiente de esa vía. No especificar esa vía en el modelo normalmente significa fijar el coeficiente en cero, lo que significa que el algoritmo de ajuste del modelo no necesita estimar el coeficiente. Estimar los parámetros de covarianza adicionales significa que el modelo general requerirá más tiempo para ajustarse. En los modelos que ya llevan mucho tiempo de estimación, el tiempo extra puede ser sustancial, especialmente si tiene muchos IVs.

  2. Sí, una estructura de covarianza estimada libremente implica estimaciones de parámetros. Las poblaciones tienen parámetros de covarianza, así que si está estimando las covarianzas de la población, está estimando parámetros. Sin embargo, si su modelo se ajusta mucho mejor porque está eligiendo estimar una correlación no trivial en lugar de fijarla en cero, probablemente puede esperar que los criterios de información de Akaike y Bayesianos mejoren, al igual que otros criterios que incorporan el GoF. No estoy familiarizado con el criterio de información de desviación (el DIC a la que te refieres, ¿verdad?), pero a juzgar por su página de Wikipedia También parece que incorpora el GoF y una penalización por la complejidad del modelo.

    Por lo tanto, el GoF sólo debería mejorar proporcionalmente más de lo que aumenta la complejidad del modelo para mejorar el DIC. Si esto no ocurre en general, los criterios como estos que penalizan la complejidad del modelo empeorarán a medida que se estimen más covarianzas IV. Esto podría ser un problema si, por ejemplo, sus IVs no se correlacionan, pero la estructura de covarianza se estima libremente de todos modos porque usted piensa que los IVs podrían correlacionarse, o porque esa es la configuración por defecto de su función. Si tiene razones teóricas previas para suponer que la correlación es cero y no quiere que su modelo ponga a prueba esta suposición, este es un caso en el que podría estar justificado fijar la ruta a cero. Si su teoría previa es aproximadamente correcta, los índices que penalizan por la complejidad del modelo mejorarán si usted fija los caminos a su teoría previa en lugar de hacer que el algoritmo de ajuste del modelo los estime libremente.

No sé con qué función estás trabajando, pero una vez más, estoy seguro de que no estoy familiarizado con ella, así que estoy seguro de que esta respuesta podría ser mejorada, especialmente mi respuesta a la segunda pregunta de beneficio (por un lado, una prueba matemática de lo que estoy respondiendo por simulación sobre la regresión múltiple está probablemente disponible en algún lugar por ahí). Ni siquiera estoy familiarizado con el MLG en general (suponiendo que se refiera a generalizado (y no la modelización lineal general, como sugiere la etiqueta), así que espero que alguien comente o edite esta respuesta si las distinciones del SEM invalidan en absoluto mis respuestas a sus preguntas.

No obstante, parece que llevamos diez meses esperando a que los gurús se pronuncien, así que si esto no consigue que lo hagan, tendrá que hacerlo solo, supongo. Sin embargo, hazme saber si tienes en mente una función GLM en particular con la que te gustaría que me metiera en R. Es posible que pueda averiguar cómo responder al número 3 de forma más directa para tu aplicación si puedes especificar una función GLM de interés en R. Tampoco soy un experto en pruebas de simulación, pero creo que tus otras cuatro preguntas podrían ser probadas por simulación (de forma más directa) también.

2 votos

+1 Una impresionante respuesta reflexiva. ¡Bienvenido a CV, Nick!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X