5 votos

Tres cuestiones sobre la regresión de vectores de apoyo: preprocesamiento de características, cuestiones de series temporales y contribución marginal a la precisión de cada característica

Estoy familiarizado con el uso de máquinas de vectores de soporte como clasificador base en una reimplementación en Python de Poselets . Pero soy nuevo en el uso de la regresión de vectores de apoyo (no máquinas para la clasificación) para los datos de series de tiempo.

En mi conjunto de datos, tengo un vector de variables objetivo $y_{i,t}$ y una matriz de variables predictoras (características) $X_{i,t}$ donde $i$ denota el individuo en la población (filas de observaciones), y tengo estos cortes transversales de objetivos y predictores para muchos períodos de tiempo $t$ . Utilizo la notación $x_{i,t}$ para especificar todo el conjunto de características (toda la fila) para un individuo $i$ en el momento $t$ . La notación $x^{j}_{t}$ denotaría la columna con el $j$ -ésima característica en todos los individuos en el momento $t$ . Así que $X_{i,t}^{j}$ es el $(i,j)$ entrada de la matriz de características en el momento $t$ .

En mi caso, todos los predictores son variables continuas, aunque puedo imaginar algunos predictores categóricos que podrían ser útiles. También podemos suponer que la frecuencia temporal es fija para todas las variables objetivo y predictoras.

Mi pregunta es triple:

(1) ¿Existe un conjunto de mejores prácticas generalmente aceptadas para el preprocesamiento de los predictores (puntuación, normalización, reescalado, etc.) para proporcionar entradas más sensibles al paso de regresión de vectores de apoyo? (Por ejemplo, ¿puede indicarme una referencia al respecto? Ya he mirado en el Tutorial de Smola y Scholkopf El Libro del obispo y Duda, Hart y Stork pero no se han encontrado guías útiles ni discusiones sobre cuestiones prácticas de preprocesamiento).

(2) ¿Existen referencias similares o mejores prácticas para tratar las entradas de series temporales en la regresión de vectores de apoyo? Por ejemplo, en un entorno de regresión lineal, a veces la gente se preocupa por la correlación transversal de los términos de error o las variables predictoras. Esto se trata tomando los promedios a través de la dimensión temporal, generalmente bajo los supuestos de no autocorrelación, y (por ejemplo Fama-MacBeth regresión) se puede demostrar que son estimadores insesgados de los coeficientes incluso en presencia de correlación transversal.

Nunca he encontrado lugares en los que los métodos de vectores de soporte se describieran como sensibles a la correlación transversal entre predictores o términos de error. ¿Es esto un problema? ¿Cómo se maneja en el modelado de vectores de apoyo?

En un extremo, podría imaginarme haciendo lo siguiente: Para un periodo de tiempo determinado $t^{*}$ no sólo utilizar las variables predictoras que se formulan en el mismo período de tiempo, $X_{i,t^{*}}$ pero también aumentar este conjunto de vectores de características con versiones retardadas de las variables, para cualquier período de tiempo posterior que pueda considerar relevante. Y en el paso de puntuación de (1) podría quizás aplicar una función de peso decreciente para que las observaciones más recientes tengan más peso.

Pero a mí me parece una mala idea. Por un lado, los predictores $X_{i,t}$ generalmente se eligen debido al conocimiento específico del dominio, la intuición o algún otro método para obtener información previa sobre lo que podría ser un predictor exitoso. El mero hecho de descartar todas las versiones retardadas de la misma cosa se parece demasiado a la minería de datos y me preocupa que lleve a un exceso de ajuste. En segundo lugar, incluso con los métodos de vectores de apoyo, el objetivo sigue siendo tener un modelo parsimonioso, por lo que seguramente no querría grados de libertad para un enorme conjunto de versiones retardadas de las variables predictoras.

Teniendo en cuenta todo esto, ¿cuáles son algunos ejemplos de tratamientos de regresión de vectores de soporte aceptados o útiles en la práctica para los datos de series temporales? ¿Cómo abordan estos problemas? (De nuevo, es deseable una referencia. No estoy buscando a alguien que escriba una tesis de posgrado como respuesta aquí).

(3) Para el modelo que se está ajustando, definitivamente habrá algunas comparaciones con modelos más clásicos, como OLS o GLS. En esos modelos, hay dos características muy buenas. En primer lugar, los grados de libertad son muy transparentes porque generalmente no hay hiperparámetros que ajustar ni pasos de preprocesamiento más allá de los pasos de puntuación lineal en las variables de entrada. En segundo lugar, una vez ajustadas las funciones de regresión, es sencillo atribuir la precisión del clasificador a los diferentes componentes lineales del modelo.

¿Existen análogos para estos con la regresión de vectores de apoyo? Cuando se utilizan funciones de núcleo, como una RBF gaussiana, para transformar las entradas, ¿es justo decir que los únicos grados de libertad adicionales introducidos son los hiperparámetros que rigen la forma funcional del núcleo? Eso me parece un poco erróneo, porque en realidad te estás permitiendo explorar todo un espacio de transformaciones no verificadas de los datos, que en realidad no se capturan sólo en la forma funcional de la función del núcleo. ¿Cómo se puede penalizar a un modelo como éste por tener mucha más libertad para sobreajustar los datos con transformaciones no lineales?

Y por último, ¿hay formas análogas de descomponer la precisión de un modelo de vectores de apoyo ajustado? Lo primero que pensé fue que de alguna manera habría que medir algo así como la información mutua del clasificador entrenado incluyendo el predictor $x^{j}$ (el $j$ -La columna de la entrada del vector de características) con el clasificador entrenado sin ese predictor. Y esta medida sería, en cierto sentido, la contribución marginal de la precisión cuando se utiliza ese predictor. Pero entonces esto requeriría ajustar al menos $K+1$ modelos (el modelo completo y $K$ diferentes modelos de "leave-one-predictor-out", si hay $K$ predictores). Y si incluyes muchas variables retardadas, $K$ puede ser muy grande, y habría que realizar algún tipo de validación cruzada en cada paso.

Parece que conseguir ese tipo de estadística de contribución marginal es mucho más caro para un modelo de vectores de apoyo. ¿Hay referencias que muestren diferentes estadísticas de resumen que capturen el mismo tipo de estadísticas de contribución marginal?

2voto

Marc Claesen Puntos 9818

Puedo responder a un par de sus preguntas, así que ahí va.

(1) ¿Existe un conjunto de mejores prácticas generalmente aceptadas para el preprocesamiento de los predictores (puntuación, normalización, reajuste de escala, etc.) para proporcionar entradas más sensibles a la etapa de regresión de vectores de apoyo?

Una regla general para SVM/SVR es escalar todas las entradas al mismo intervalo. Las opciones más comunes son $[-1,1]$ y $[0,1]$ . El intervalo real no importa mucho, siempre que todas las entradas se escalen al mismo. Esto evita que algunas dimensiones de entrada dominen completamente a otras cuando se evalúa la función kernel. No tengo ninguna referencia para la regresión, pero para la clasificación aparece en el Guía LIBSVM (también es válido para la regresión).

Cuando se utilizan funciones de núcleo, como una RBF gaussiana, para transformar las entradas, ¿es justo decir que los únicos grados de libertad adicionales introducidos son los hiperparámetros que rigen la forma funcional del núcleo? Eso me parece un poco erróneo, porque en realidad te estás permitiendo explorar todo un espacio de transformaciones no verificadas de los datos, que en realidad no se capturan sólo en la forma funcional de la función del núcleo. ¿Cómo se puede penalizar a un modelo como éste por tener mucha más libertad para sobreajustar los datos con transformaciones no lineales?

Cuando se utiliza SVM(/SVR), los grados de libertad son de hecho el número de instancias de entrenamiento. Cada instancia de entrenamiento puede se convierten en un vector de apoyo y, como tal, contribuyen al hiperplano de separación/regresor. Aunque esto puede parecer malo, esta es exactamente la razón por la que SVM funciona en espacios de características de dimensión infinita, por ejemplo, utilizando un núcleo RBF: el actual número de grados de libertad es siempre finito.

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