9 votos

La regresión de vectores soporte en sesgadas/alta curtosis de los datos

Estoy usando vectores de soporte de la regresión para el modelo, algunos bastante sesgada de datos (con alta curtosis). He tratado de modelar los datos directamente, pero me estoy haciendo predicciones erróneas creo que principalmente debido a la distribución de los datos, que es sesgada a la derecha con muy colas de grasa. Estoy bastante seguro de que un par de valores atípicos (que son legítimos puntos de datos) están afectando a la tasa de RVS de formación, y quizás también en la validación cruzada, donde, por el momento estoy optimización de la hyperparameters mediante la minimización de la media del error cuadrado.

He probado a escala mis datos antes de aplicar SVR (por ejemplo, utilizando una función sqrt para reducir los valores atípicos) así como el uso de diferentes hyperparameter de minimización de la función (por ejemplo, error absoluto), lo que parece dar mejores resultados, pero todavía no muy buena. Tengo curiosidad por si alguien se ha enfrentado a problemas similares y cómo se acercó a ella? Cualquier sugerencia y/o métodos alternativos para la mayoría de la recepción.

10voto

georgiana Puntos 6

Usted puede utilizar sesgada o pesado de cola Lambert W distribuciones para transformar los datos a algo más de buen comportamiento (descargo de responsabilidad: yo soy el autor de ambos documentos y el LambertW paquete de R). La ventaja sobre el de Box-Cox transformación es que ellos no tienen ninguna positividad de restricción, los parámetros óptimos de la transformación puede ser estimado (MLE) a partir de los datos, y también se puede olvidar la transformación y el modelo de sus datos como una Lambert W x F distribución directa.

El LambertW R paquete proporciona varios de los peritos, las transformaciones, los métodos, etc. Recomiendo especialmente un vistazo a

   Gaussianize()
   IGMM()
   MLE_LambertW()

La desigual Lambert W x distribución F es un marco general para hacer una versión sesgada de cualquier distribución F. por el Contrario usted puede hacer sesgada de datos de nuevo simétrica; la distribución de esta simétrico de los datos, básicamente, que determina qué tipo de Lambert W x F tiene; si los datos son un poco asimétrica, entonces usted podría tener una sesgada Lambert W x Gaussiano; si los datos es, además, heavy-tailed tal vez usted puede tratar de un sesgada Lambert W x t.

Pesado-cola Lambert W x F es una generalización de Tukey h de distribución, y proporcionan un inversa-transformar a los datos de Gauss (también desde asimétrica). En el papel que demuestran que incluso una de Cauchy puede ser Gaussianized a un nivel que usted - y también varias pruebas de Normalidad - no se puede distinguir de una muestra Normal.

1voto

RexE Puntos 181

Una manera de lidiar con los valores negativos es a cambio de las variables para el intervalo positivo (es decir a mayor o igual a 0,1), se aplican de Box-Cox de transformación (o simplemente log() para realizar una prueba rápida) y, a continuación, estandarizar. La normalización puede ser importante para el SVR desde SVR se basa en cuadrática de la pena aplicada a todos los coeficientes de manera uniforme (así SVR no es escala invariante y puede beneficiarse de la variable de normalización). Asegúrese de comprobar la variable resultante distribuciones que no debe ser sesgada mucho (idealmente, se debe buscar Gaussiano)

Otra técnica que se podría hacer es intentar aplicar "espacial signo de la" transformación de los vectores de entrada x <- x / norm(x) como por "Espacial signo de preprocesamiento: una manera sencilla de impartir moderada robustez a multivariante de los peritos". J. Chem. Inf. Modelo (2006) vol. 46 (3) p 1402-1409 yo no tuve mucha suerte con esta técnica, pero aunque el kilometraje puede variar.

0voto

Traingamer Puntos 1048

Una manera de acercarse a la solución sería la construcción de dos modelos: uno de los valores que están en línea con la distribución y otro para los valores atípicos. Mi sugerencia en este sentido sería la de crear una variable respuesta binaria (0,1) siendo 0 el valor si el punto de datos está dentro de los límites de su distribución y 1 si se encuentra fuera. Así que para los casos de los valores atípicos que se desea mantener en sus datos, usted va a tener 1 en la variable de destino y el resto a 0. Ahora ejecuta una regresión logística para predecir las probabilidades de los valores atípicos y puede multiplicar el valor promedio para el grupo de valores atípicos con el individuo probabilidades para obtener las predicciones. Para el resto de los datos, puede ejecutar su SVM para predecir los valores.

Porque los valores son valores atípicos, que tendrá de baja las probabilidades asociadas con ella, e incluso si usted toma el promedio de los valores atípicos que serán sesgadas, el valor esperado de los valores atípicos se bajará por sus bajas probabilidades y no por lo que es más razonable, de la predicción.

Se había encontrado con una situación similar, mientras que la predicción de reclamaciones de cantidad para un servicio de Seguro médico. Yo había usado la técnica mencionada para aumentar el rendimiento de mi modelo drásticamente.

Otra forma podría ser tomar transformación logarítmica de la variable objetivo de la cual es posible si sólo tiene valor positivo en la variable de destino. Pero asegúrese de que si usted está tomando una transformación logarítmica de la variable objetivo, mientras que la predicción de la variable que se debe incluir el componente de error así.

Por eso, $\log(Y) = a + B'X + \epsilon$ es la ecuación del modelo para el correo.g

a continuación, $Y = \exp(a+B'X+\epsilon)$

Puedes echar un vistazo en el siguiente enlace para iniciar sesión-transformación: http://www.vims.edu/people/newman_mc/pubs/Newman1993.pdf

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