9 votos

Selección de Spline df en un problema de modelo de Poisson aditivo general

He estado ajustando algunos datos de series temporales utilizando un modelo aditivo general de Poisson con el programa SAS PROC GAM . En general, he hecho que el procedimiento de validación cruzada generalizada incorporado genere al menos un "punto de partida" decente para mi spline único, que es una función no lineal del tiempo junto con un único término paramétrico (el que realmente me interesa).

Hasta ahora, ha funcionado bastante bien, con la excepción de uno de mis conjuntos de datos. Hay 132 observaciones en ese conjunto de datos, y GCV sugiere una spline de 128 grados de libertad. Eso parece... incorrecto. Muy mal. Y lo que es más importante, no es en absoluto estable. Intenté un segundo enfoque, utilizando algo así como un criterio de "Cambio en la estimación" para dejar de añadir grados de libertad cuando la estimación del término paramétrico deja de cambiar, porque ¿por qué seguir añadiendo control si nada es diferente?

El problema es que la estimación no es nada estable. He probado con los siguientes grados de libertad y, como se puede ver, el término paramétrico rebota salvajemente:

DF: Parametric Estimate:
1   -0.76903
2   -0.56308
3   -0.47103
4   -0.43631
5   -0.33108
6   -0.1495
7    0.0743
8    0.33459
9    0.62413
10   0.92161
15   1.88763
20   1.98869
30   2.5223
40-60 had convergence issues
70   7.5497
80   7.22267
90   6.71618
100  5.83808
110  4.61436
128  1.32347

No tengo ninguna intuición sobre lo que debería usar en términos de df para este dato en particular. ¿Alguna otra idea sobre cómo elegir un df? ¿Debería fijarme en la significación del spline?

Mirando un poco más entre df = 10 y df = 15, parece que df = 12 es lo más cercano que se puede llegar a la estimación generada por 128 y todavía estar en el rango de "grados de libertad razonables". Junto con el término lineal, el intercepto y el único término paramétrico, parece un modelo bastante saturado. ¿Está justificado utilizar sólo 12?

Como segunda actualización, cambiar el suavizado de spline(t) a loess(t) resulta en unas estimaciones de df mucho más comportadas - ¿debería cambiar al suavizado de loess?

5voto

David J. Sokol Puntos 1730

Como menciona @M.Berk, se sabe que el GCV es poco suave, principalmente porque este criterio penaliza débilmente el exceso de ajuste, lo que tiende a dar lugar a un mínimo muy superficial en el criterio GCV en función de $\lambda$ el parámetro de suavidad. Como el mínimo es muy poco profundo, el GCV óptimo puede darse en un amplio rango de $\lambda$ estimaciones. Además, el criterio GCV, en función de $\lambda$ tiende a tener múltiples mínimos, lo que puede conducir a la inestabilidad que usted describe. Simon Wood (2011) tiene una buena ilustración de esto en su Figura 1.

Wood (2011) también ilustra que el AICc no aporta mucho adicional beneficio sobre el GCV para las bases de rango bajo e intermedio utilizadas para las funciones suaves.

En cambio, la selección de suavidad REML (y también ML) penaliza más fuertemente el sobreajuste que el GCV, y en consecuencia tiene un óptimo mucho más claramente definido. Esto conduce a estimaciones más estables de $\lambda$ y un riesgo muy reducido de infravaloración.

Wood (2011) describe procedimientos de estimación REML y ML que son a la vez rápidos y estables, lo que demuestra que mejora los enfoques REML (ML) existentes en términos de convergencia. Estas ideas están disponibles en el libro de Simon mgcv paquete para R .

Como Wood (2011) está detrás de un muro de pago, incluyo una copia de una imagen similar (los resultados del AICc no se muestran aquí) tomada de un conjunto de diapositivas de Simon, disponibles en su sitio web , en métodos de selección de suavidad {PDF}. La figura, de la diapositiva 10, se muestra a continuación

enter image description here

Las dos filas reflejan los datos simulados en los que hay una señal fuerte (superior) o ninguna (inferior), respectivamente. Los paneles de la izquierda muestran una realización de cada modelo. Los paneles restantes muestran cómo varían los criterios GCV (columna central) y REML en función de $\lambda$ para 10 conjuntos de datos simulados del modelo real. En el caso de la fila superior, obsérvese lo plano que es el GCV a la izquierda del óptimo. Los gráficos de la alfombra en estos paneles muestran el óptimo $\lambda$ para cada una de las 10 realizaciones. El criterio REML tiene un óptimo mucho más pronunciado y una menor varianza en los valores elegidos de $\lambda$ .

De ahí que sugiera el enfoque defendido por Simon Wood para su mgcv paquete, es decir, elegir como dimensión base algo que sea lo suficientemente grande como para incluir la flexibilidad prevista en la relación entre $y = f(x) + \varepsilon$ pero no tan grande. A continuación, ajuste el modelo utilizando la selección de suavidad REML. Si los grados de libertad del modelo elegido se acercan a la dimensión especificada inicialmente, aumente la dimensión de la base y vuelva a ajustar.

Como mencionan tanto @M.Berk como @BrendenDufault, puede ser necesario cierto grado de subjetividad a la hora de configurar la base del spline, en cuanto a la selección de una dimensión de base adecuada a partir de la cual ajustar la GAM. Pero la selección de suavidad REML ha demostrado ser razonablemente robusta en mi experiencia en una serie de aplicaciones GAM utilizando los métodos de Wood.

Wood, S.N. (2011) Estimación rápida y estable de máxima verosimilitud restringida y verosimilitud marginal de modelos lineales generalizados semiparamétricos . J. Real Sociedad de Estadística B 73 (Parte 1), 3--6.

3voto

Brenden Dufault Puntos 188

Creo que su mejor apuesta está fuera de los algoritmos de suavización; considere la parsimonia del modelo.

Usted alude a esto, pero creo que debe convertirse en su principal criterio de selección. Pregúntate cuántas "curvas" parecen razonables en función de la etiología/causalidad de los procesos que se modelan. Grafique los splines ajustados con el plots=components(clm) y evaluar visualmente el ajuste. Tal vez las splines de alto DF estén contando una historia similar a la de las splines de bajo DF, pero con más ruido. En ese caso, elija un ajuste de DF bajo.

Al fin y al cabo, los modelos GAM están pensados para ser exploratorios.

Habiendo utilizado el gcv me pregunto sobre su rendimiento en condiciones de Poisson, datos dispersos, etc. Tal vez haya que hacer un estudio de simulación.

2voto

Escribí la siguiente respuesta y luego me di cuenta de que no tengo ni idea de si es aplicable a la regresión de Poisson, con la que no tengo experiencia. Tal vez la gente puede responder a eso con algunos comentarios.


Personalmente, me gustan los consejos de B. W. Silverman (1985) "Some aspects of the spline smoothing approach to non-parametric regression curve fitting (with discussion)". (Disponible sin suscripción ici ): pruebe una serie de parámetros de suavizado y elija el que sea más atractivo visualmente.

Como también señala acertadamente en el mismo artículo, aunque se prefiera un enfoque subjetivo, sigue siendo necesario contar con métodos automáticos. Sin embargo, el GCV suele ser una mala elección, ya que tiende a no suavizar. Véase, por ejemplo, Hurvich et al (1998) "Smoothing Parameter Selection in Nonparametric Regression Using an Improved Akaike Information Criterion" (Disponible sin suscripción ici ). En el mismo artículo proponen un nuevo criterio que puede aliviar su problema, el AIC corregido que incluye una corrección por tamaño de muestra pequeño. Puede que encuentres el Descripción de la AICc en Wikipedia más fácil de seguir que el papel. El artículo de Wikipedia también incluye algunos buenos consejos de Burnham & Anderson (es decir, utilizar el AICc en lugar del AIC independientemente del tamaño de la muestra).

En resumen, mis sugerencias serían, por orden de preferencia

  1. Elija el parámetro de suavizado manualmente mediante una evaluación visual
  2. Utilice el AIC corregido (AICc) en lugar del GCV
  3. Utilice el AIC estándar

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