3 votos

¿Afecta la normalización a los valores de error cuadrático medio, error porcentual absoluto medio, etc.?

Tengo una gran cantidad de datos, divididos en carpetas y archivos. Cada archivo tiene 56 características/columnas y unas 10.000 filas. Los datos están normalizados (valores entre -1 y 1) y algunas de las características tienen valores binarios (0,1).

A Sample screen-shot of the data I am dealing with.

Mi tarea consiste en predecir los valores de una columna/etiqueta específica con respecto al resto de las columnas/características. No se me ha dado ninguna información previa ni conocimiento del dominio sobre las características. Pero me han dicho que, de alguna manera, hay alguna relación entre la etiqueta y las características. Así que no puedo identificar correctamente las características más importantes y las menos importantes simplemente mirando sus nombres.

He seguido los siguientes pasos. Esperaba que alguien pudiera responder a mis preguntas sobre los pasos que he dado. Además, tal vez alguien pueda responder a algunas preguntas que tengo con respecto a cada paso.

PASO 1: He calculado las correlaciones de cada archivo. Hasta aquí todo bien. Este paso era sólo para que yo pudiera ganar un poco de conocimiento acerca de lo mucho que cada una de las características está relacionada con la otra, etc.

PASO 2: He aplicado algunas técnicas estadísticas y he averiguado la media, la moda, la varianza, la asimetría, la curtosis, etc. de las características. Hasta aquí todo bien.

PASO 3: Utilicé un algoritmo de regresión lineal simple y traté de predecir los valores de "y" (la etiqueta). Calculé la puntuación, los errores porcentuales absolutos medios, los errores absolutos medios, etc. Aquí es donde surgen la mayoría de los problemas (creo).

Mi primera pregunta es: Los "errores medios al cuadrado" calculados para mi técnica de regresión están en torno a (0,00001 a 0,00005). ¿Por qué son tan pequeños? ¿Afecta la normalización a que el valor sea tan pequeño? ya que el cuadrado de un número mayor que 1 es mayor que ese número pero es lo contrario para los números entre 0 y 1 ? Si los valores se desnormalizaran a sus valores originales, ¿no sería el MSE mayor que los valores que estoy obteniendo?

Mi segunda pregunta es: Lo mismo ocurre con el porcentaje medio de error absoluto que calculo para los valores predichos. Están en torno a 0,5 (incluso después de multiplicar por 100). Por qué estoy obteniendo resultados tan "buenos" cuando en realidad mi cifra es así:

X-axis: True values. Y-axis: Predicted Values

A partir de la figura, es evidente que no fui capaz de ajustar los datos correctamente (¿de ahí la puntuación de 0,76?), pero mi MAE y MAPE muestran valores muy pequeños. En mi opinión, los puntos deberían estar más dispersos "a lo largo" de la línea de forma alargada, no de forma abultada como se muestra en esta figura.

PASO 4: Después de aplicar la regresión lineal en la columna de la etiqueta contra todas las columnas (excepto la columna de la etiqueta), no estaba satisfecho con los resultados. Así que lo que hice fue, basándome en la correlación que obtuve anteriormente en el Paso 1, eliminar las características correlacionadas internamente que tenían una correlación igual o superior a 0,95. Aún así, no obtuve resultados satisfactorios. Lo que me llevó a la siguiente pregunta que es;

Mi tercera pregunta es: ¿Por qué mis valores previstos no se acercan a la línea prevista? ¿Qué estoy haciendo mal? ¿Estoy (1) Uso excesivo de las características, es decir, ¿estoy utilizando más características de las necesarias, lo que hace que mi modelo tenga en cuenta características adicionales innecesarias? o (2) ¿Las funciones disponibles no son suficientes para definir correctamente mi etiqueta? ¿Hay alguna característica que no se me haya proporcionado y, por ello, mi modelo carece de información clave (como no tener en cuenta el índice de criminalidad de una zona al predecir el precio de la vivienda)?

Referencias:

Regresión lineal en Python; predecir los precios de la vivienda en el Área de la Bahía

Importancia de la selección de características

2voto

icelava Puntos 548

Fui a simular algunos datos que cualitativamente se parecían más o menos a tu nube de puntos.

require(mvtnorm)
set.seed(1)
foo <- rmvnorm(1000,c(0.77,0.77),cbind(c(.001,.0009),c(.0009,.001)))
plot(foo,pch=19,cex=0.6,xlab="",ylab="")
mean((foo[,1]-foo[,2])^2)
# [1] 0.000215418
100*mean(abs(foo[,1]-foo[,2])/foo[,1])
# [1] 1.512891

simulation

  1. Sus MSEs parecen tener sentido. Mi simulación obtiene uno algo mayor, pero eso puede deberse simplemente a que puede tener más puntos en el centro de su nube.

    No puedo responder a tu pregunta sobre la normalización, porque tu variable objetivo no está normalizada en ningún sentido significativo. Todos los valores están entre 0,70 y 0,84. Si estuviera normalizada, el rango entre -1 y 1 se utilizaría completamente. (Y entonces los MAPE no tendrían sentido).

  2. Como en el caso anterior, obtengo un MAPE de aproximadamente 1,5%, que no está muy lejos de tu 0,5%, y la diferencia puede deberse de nuevo a que puedes tener más puntos en tu nube de datos.

    Por qué estoy obteniendo resultados tan "buenos" cuando en realidad mi figura tiene este aspecto: ... En mi opinión, los puntos deberían estar más dispersos "a lo largo" de la línea de forma alargada, no de forma abultada como se muestra en esta figura.

    La relación entre las medidas de error de las previsiones y los gráficos de dispersión entre las previsiones y los datos reales no es sencilla. Los MSE dependen, por supuesto, de la escala: si se multiplican los datos reales y las previsiones por 10, la nube tendrá exactamente el mismo aspecto, excepto los ejes, pero el MSE será 100 veces mayor. Si añadimos 10 a las previsiones y a los datos reales, la nube volverá a tener exactamente el mismo aspecto, excepto los ejes, pero esta vez el MAPE será menor por un factor de aproximadamente 10.

    No intentes relacionar las medidas de error con los gráficos de dispersión. No funcionará.

  3. No sabemos por qué sus previsiones no son mejores. (Ni siquiera sabemos si su gráfico es para una muestra retenida, o dentro de la muestra.) Puede que esté ajustando en exceso, o que no esté capturando suficiente información, o simplemente puede haber ruido residual que usted no puede capturar. Si hay información ahí que aún no has aprovechado, entonces trazar los residuos contra cada predictor puede sugerir posibles remedios, como transformaciones de los predictores. De lo contrario, me temo que mientras no puedas investigar tus datos con mayor profundidad, hay poco que puedas hacer. ¿Cómo saber que su problema de aprendizaje automático no tiene solución?

0voto

sloewen Puntos 115

Primera pregunta:

Sí, para los valores de -1 a 1 el MSE tiene el efecto contrario. Si quieres penalizar los valores grandes por los pequeños prueba a usar el cuadrado de la raíz en lugar del cuadrado ordinario (no hablo del RMSE, la fórmula es la misma que para el MSE, sólo difiere la potencia, errores**(1/2).mean()) Comprueba el gráfico, puedes ver claramente el problema.

. enter image description here

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