Estoy usando la regresión vectorial de soporte para modelar algunos datos bastante sesgados (con curtosis alta). Intenté modelar los datos directamente, pero estoy obteniendo predicciones erróneas, creo que principalmente debido a la distribución de los datos, que está sesgada con colas muy gruesas. Estoy bastante seguro de que algunos valores atípicos (que son puntos de datos legítimos) están afectando el entrenamiento SVR, y tal vez también en la validación cruzada, donde en este momento estoy optimizando los hiperparámetros al minimizar el error al cuadrado medio.
Intenté escalar mis datos antes de aplicar SVR (por ejemplo, usar una función sqrt para reducir los valores atípicos), así como usar una función de minimización de hiperparámetros diferente (por ejemplo, error absoluto), que parece dar mejores resultados, pero aún no es muy bueno. Tengo curiosidad por saber si alguien ha encontrado problemas similares y cómo lo abordaron. Cualquier sugerencia y / o métodos alternativos son bienvenidos.
Respuestas:
Puede utilizar distribuciones Lambert W asimétricas o de cola gruesa para transformar sus datos en algo que se comporte mejor (descargo de responsabilidad: soy el autor de ambos artículos y del paquete LambertW R). La ventaja sobre la transformación Box-Cox es que no tienen ninguna restricción de positividad, los parámetros óptimos de la transformación se pueden estimar (MLE) a partir de los datos, y también puede olvidar la transformación y modelar sus datos como un Lambert W x F distribución directa.
El paquete LambertW R proporciona varios estimadores, transformaciones, métodos, etc. Recomiendo especialmente un vistazo a
La distribución asimétrica de Lambert W x F es un marco general para hacer una versión sesgada de cualquier distribución F. Por el contrario, puede hacer que sus datos sesgados vuelvan a ser simétricos; la distribución de estos datos simétricos básicamente determina qué tipo de Lambert W x F tienes; si los datos son un poco asimétricos, entonces es posible que tenga un Lambert W x Gaussiano sesgado; si sus datos también tienen una cola pesada, quizás pueda probar un Lambert W x t sesgado.
Los Lambert W x F de cola pesada son una generalización de la distribución h de Tukey, y proporcionan una transformación inversa para hacer que los datos gaussianos (también de forma asimétrica). En el documento demuestro que incluso un Cauchy puede ser Gaussianized a un nivel que usted, y también varias pruebas de Normalidad, no puede distinguirlo de una muestra Normal.
fuente
Una forma de lidiar con los valores negativos es cambiar las variables al rango positivo (digamos mayor o igual a 0.1), aplicar la transformación Box-Cox (o simplemente log () para una prueba rápida) y luego estandarizar. La estandarización puede ser importante para SVR ya que SVR se basa en la penalización cuadrática aplicada a todos los coeficientes de manera uniforme (por lo que SVR no es invariante de escala y puede beneficiarse de la estandarización variable). Asegúrese de verificar las distribuciones de variables resultantes: no deberían estar demasiado sesgadas (idealmente deberían verse gaussianas)
Otra técnica que se podría intentar es aplicar la transformación de "signo espacial" a los vectores de entrada
x <- x / norm(x)
según el "preprocesamiento de signos espaciales: una forma sencilla de impartir robustez moderada a los estimadores multivariados". J. Chem. Inf. Modelo (2006) vol. 46 (3) págs. 1402–1409 Sin embargo, no tuve mucha suerte con esta técnica, pero el kilometraje puede variar.fuente
Una forma de abordar la solución sería construir dos modelos: uno para los valores que están en línea con la distribución y otro para los valores atípicos. Mi sugerencia a este respecto sería crear una variable de respuesta binaria (0,1) con 0 como valor si el punto de datos está dentro de los límites de su distribución y 1 si se encuentra fuera. Entonces, para los casos de valores atípicos que desea mantener en sus datos, tendrá 1 en su variable objetivo y el resto como 0. Ahora ejecute 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 las probabilidades individuales de obtener las predicciones. Para el resto de los datos, puede ejecutar su SVM para predecir los valores.
Debido a que los valores son valores atípicos, tendrán bajas probabilidades asociadas e incluso si se toma en cuenta los valores atípicos que estarán sesgados, el valor esperado de los valores atípicos se reducirá por sus bajas probabilidades adjuntas y, al hacerlo, será más predicción razonable
Se había encontrado con un escenario similar al predecir el monto de las reclamaciones para un proveedor de servicios de seguros. Había utilizado la técnica mencionada anteriormente para aumentar drásticamente el rendimiento de mi modelo.
Otra forma podría ser tomar la transformación logarítmica de su variable objetivo que es posible si solo tiene un valor positivo en su variable objetivo. Pero asegúrese de realizar una transformación logarítmica de su variable objetivo, mientras predice la variable que necesita incluir también el componente de error.
Entonces, es su ecuación modelo para, por ejemplo,log(Y)=a+B′X+ϵ
entonces,Y=exp(a+B′X+ϵ)
Puede consultar el siguiente enlace para la transformación de registros: http://www.vims.edu/people/newman_mc/pubs/Newman1993.pdf
fuente