Después de análizar la estructura del conjunto de entrenamiento encontramos un método sencillo que predice de manera perfecta la variable demanda_uni_equil. No fue necesario hacer calculos complicados, analizar el objetivo y la estructura de los datos nos permitio encontrar una solución.
Después de un ligero preprocesamiento en los nombres, las primeras observaciones son las siguientes:
| semana | agencia_id | canal_id | ruta_sak | cliente_id | producto_id | venta_uni_hoy | venta_hoy | dev_uni_proxima | dev_proxima | demanda_uni_equil |
|---|---|---|---|---|---|---|---|---|---|---|
| 3 | 1110 | 7 | 3301 | 15766 | 1212 | 3 | 25.14 | 0 | 0 | 3 |
| 3 | 1110 | 7 | 3301 | 15766 | 1216 | 4 | 33.52 | 0 | 0 | 4 |
| 3 | 1110 | 7 | 3301 | 15766 | 1238 | 4 | 39.32 | 0 | 0 | 4 |
| 3 | 1110 | 7 | 3301 | 15766 | 1240 | 4 | 33.52 | 0 | 0 | 4 |
| 3 | 1110 | 7 | 3301 | 15766 | 1242 | 3 | 22.92 | 0 | 0 | 3 |
| 3 | 1110 | 7 | 3301 | 15766 | 1250 | 5 | 38.20 | 0 | 0 | 5 |
Dada la estructura de los datos, uno de los primeros algoritmos que se vienen a la mente es xgboost, ya sea usando como regresores las variables presentes en train, o creando nuevas variables.
Sin embargo, usando como método venta_uni_hoy - dev_uni_proxima, y finalmente cambiando los valores negativos a cero, tenemos una predicción perfecta de demanda_uni_equil; estó mismo es resaltado en la descripción.