Esto se puede modelar de múltiples maneras. Supongamos que los gastos de las distintas categorías se influyen mutuamente y que los gastos de cada categoría dependen del importe total a gastar. Así, cada usuario tiene una cantidad total a gastar cada mes (total_gastos_próximo_mes). Esta cantidad seguirá una tendencia específica que es lo primero que debes predecir. Puede agregar sus datos para crear predictores como:
- total_gastos_3_meses_anteriores (importe)
- total_gastos_2_meses_anteriores (importe)
- total_gastos_1_mes_anterior (importe)
- total_gastos_actuales_mes (importe)
- choque_de_gastos (total_de_gastos_actual_mes - avg_de_gastos_último_mes) / std_de_gastos_último_3_mes (velocidad de cambio)
- total_gastos_del_próximo_mes (importe)
y luego utilizar un conjunto o regresor logístico.
Si además conoce los ingresos del usuario. También puedes añadir características como total_ingresos_3_meses_anteriores, etc y los correspondientes ratios gastos/ingresos.
Una vez que puedas predecir decentemente 'gastos_totales_del_próximo_mes', puedes empezar a predecir para cada categoría siguiendo una estrategia similar o simplemente utilizando el ratio que representa sobre los gastos totales. Por ejemplo, para la comida:
- gastos_de_alimentación_3_meses_anteriores (%)
- gastos_de_alimentación_2_meses_anteriores (%)
- gastos_de_alimentación_1_mes_anterior (%)
- gastos_de_alimentación_actuales_mes (%)
- choque_de_gastos (total_de_gastos_actual_mes - avg_de_gastos_último_mes) / std_de_gastos_último_3_mes (velocidad de cambio)
- gastos_totales_del_próximo_mes (%)
y crear un nuevo conjunto o regresor logístico para cada categoría.
También puede suponer que, dependiendo del mes, los gastos en las diferentes categorías pueden fluctuar. Por lo tanto, también se puede añadir current_month a la mezcla.
Si repites esto para todas las categorías, puede que acabes teniendo porcentajes que no sumen el 100%, pero siempre puedes relativizarlos.
También puede agrupar a los usuarios que siguen una estructura de gastos similar y utilizar los datos de varios usuarios para generalizar mejor.
Si ya tiene algunos datos (algunos meses para varios usuarios para varias categorías), sólo tiene que probar y ver cuál es el rendimiento antes de intentar desarrollar cualquier enfoque más complicado.