2 votos

¿Prueba de permutación para la comparación de modelos?

Tengo dos modelos anidados no lineales para los mismos datos y quiero comprobar si el modelo más complejo explica significativamente más varianza. Debido a un paso de suavizado necesario, mis datos no son independientes, por lo que no puedo utilizar pruebas estándar para ello (por ejemplo, una prueba F o una prueba de razón de verosimilitud). Naturalmente, pensé en utilizar una prueba de permutación porque puedo permutar los datos antes del paso de suavizado. De este modo, introduciría en los datos permutados las mismas dependencias que existen en los datos observados, siempre que la distribución nula simulada sea justa. Sin embargo, no consigo encontrar la forma correcta de hacerlo.

Se me ocurre una forma de probar si alguno de los dos modelos explica una varianza significativa. En este caso, mi algoritmo sería:

  1. Ajuste el modelo a los datos observados suavizados y calcule $R^2$
  2. Para 10.000 iteraciones, repita los pasos 3-5:
  3. Permutar aleatoriamente los datos observados (es decir, barajar aleatoriamente los valores del predictor y de la respuesta para destruir su verdadera relación).
  4. Aplicar suavizado a estos datos permutados para introducir las mismas dependencias que los datos observados. $R^2$ -valor sufre
  5. Ajuste el modelo a los datos permutados suavizados y calcule $R^2$
  6. Comparar lo observado $R^2$ -a la distribución nula así construida de $R^2$ -valores para estos datos y modelo

La cuestión es que en este caso es fácil construir la distribución nula, porque la hipótesis nula sostiene que no hay relación entre los predictores del modelo y la variable de resultado, y es obvio cómo podemos permutar los datos para emular esto. (Formalmente, supongo que la hipótesis nula es que los valores de los predictores son intercambiables con los valores de la variable de resultado).

Sin embargo, lo que quiero hacer es estimar una distribución nula para el aumento de $R^2$ de un modelo a otro. La hipótesis nula aquí es que el parámetro añadido en el modelo más complejo no tiene sentido, es decir, que los dos modelos son intercambiables. Sin embargo, me parece que se trata de una hipótesis de intercambiabilidad sobre los modelos, y no sobre (algún aspecto de) los datos, así que no veo qué podría permutar en una prueba de permutación para simular esto. ¿Alguien puede ayudarme? ¿Me estoy perdiendo algo, o es que esto no es posible y tal vez sólo puedo hacer un bootstrap aquí?

Actualización: en la versión original de esta pregunta, no especifiqué que mis modelos eran no lineales. Es decir, no tienen la forma $Y=X\beta+\epsilon$ (donde $X$ es una matriz de predictores, $\beta$ es un vector de coeficientes lineales y $\epsilon$ es ruido aleatorio). En cambio, tienen la forma más general $Y=f(X; \theta)+\epsilon$ donde $\theta$ es un vector de parámetros del modelo. El modelo más sencillo puede obtenerse fijando el valor de uno de los parámetros del modelo más complejo/general.

4voto

user86176 Puntos 6

La prueba de permutación típica, como usted indica, tiene una hipótesis nula que dice que las observaciones son intercambiables. Si tiene modelos anidados $H_A: Y_i = \beta X_i + \epsilon_i$ y $H_0: Y_i = \epsilon_i$ con $\epsilon_i$ iid y media cero, entonces la intercambiabilidad es una consecuencia de la forma del modelo más pequeño.

Si tiene $H_A: Y_i = \beta X_i + \gamma Z_i + \epsilon_i$ y $H_0: Y_i = \beta X_i + \epsilon_i$ entonces las observaciones $Y_i$ no son intercambiables ni siquiera en el modelo pequeño. En su lugar, podría permutar los residuos del modelo nulo $Y_i - \hat \beta_0 X_i $ donde $\hat \beta_0$ es una estimación de $\beta$ bajo la hipótesis nula $\gamma=0$ . Si $\hat \beta_0$ es la estimación habitual por mínimos cuadrados $(X^TX)^{-1}X^TY$ entonces bajo el modelo nulo, estás permutando $(I - X(X^TX)^{-1}X^T)\epsilon$ cuyas entradas no son realmente intercambiables. Por ejemplo, si $X$ es $[1, 0, 0, 0]$ el primer residuo es determinísticamente cero y el resto no. Recomiendo la estrategia bootstrap de la respuesta de glen_b, enlazada en el comentario anterior.

Edición: qué hacer con los modelos no lineales

Como se ha señalado en los comentarios, se puede ajustar un modelo lineal a los residuos de otro modelo lineal y obtener las mismas predicciones que con la estimación simultánea. Esto hace que sea obvio cómo proceder (si tiene modelos lineales anidados y no le importa la falta de intercambiabilidad de los residuos del modelo nulo): ajuste el modelo nulo, permute los residuos y, a continuación, ajuste las variables restantes.

También puede hacerlo con un modelo no lineal:

  • Ajustar el modelo más pequeño a los datos $y$ , produciendo predicciones $\hat y_0$ y los residuos previstos $r_0 = y - \hat y_0$ .
  • Para i entre 1 y 10.000:
    • Ajustar el modelo completo a $\pi_i(r_0) + \hat y_0$ y registre la medida de ajuste ( $\pi_i$ es una permutación aleatoria)
  • Ajuste el modelo completo a los datos reales, registre la medida de ajuste y compárela con la distribución nula generada en el paso 2.

Para ponerlo en práctica, sólo es necesario que cada modelo genere predicciones. No necesitas que sean lineales. Pero de nuevo, no hagas esto, porque esos residuales no son realmente intercambiables, incluso bajo el modelo nulo.

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