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).
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í:
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