Hice esta pregunta en el sitio matemathics stackexchange y me recomendó preguntar aquí.
Estoy trabajando en un proyecto de hobby y necesitaría ayuda con el siguiente problema.
Un poco de contexto
Digamos que hay una colección de artículos con una descripción de características y un precio. Imagine una lista de autos y precios. Todos los automóviles tienen una lista de características, por ejemplo, tamaño del motor, color, potencia, modelo, año, etc. Para cada marca, algo como esto:
Ford:
V8, green, manual, 200hp, 2007, $200
V6, red, automatic, 140hp, 2010, $300
V6, blue, manual, 140hp, 2005, $100
...
Yendo aún más lejos, la lista de automóviles con precios se publica con un intervalo de tiempo, lo que significa que tenemos acceso a datos históricos de precios. Puede que no siempre incluya exactamente los mismos autos.
Problema
Me gustaría entender cómo modelar los precios de cualquier automóvil con base en esta información básica, lo más importante es que los autos no están en la lista inicial.
Ford, v6, red, automatic, 130hp, 2009
Para el auto anterior, es casi igual a uno en la lista, solo que ligeramente diferente en potencia y año. Para valorar esto, ¿qué se necesita?
Lo que estoy buscando es algo práctico y simple, pero también me gustaría escuchar acerca de enfoques más complejos sobre cómo modelar algo como esto.
Lo que he intentado
Esto es lo que he estado experimentando hasta ahora:
1) uso de datos históricos para buscar el automóvil X. Si no se encuentra, no hay precio. Por supuesto, esto es muy limitado y solo se puede usar esto en combinación con cierta disminución del tiempo para alterar los precios de los automóviles conocidos con el tiempo.
2) usar un esquema de ponderación de características del automóvil junto con un automóvil de muestra con precio. Básicamente, hay un precio base y las características solo lo alteran con algún factor. En base a esto, se deriva el precio de cualquier automóvil.
El primero resultó ser insuficiente y el segundo no siempre fue correcto y es posible que no haya tenido el mejor enfoque para usar las pesas. Esto también parece ser un poco pesado para mantener los pesos, por eso pensé que tal vez haya alguna forma de usar los datos históricos como estadísticas de alguna manera para obtener pesos u otra cosa. Simplemente no sé por dónde empezar.
Otros aspectos importantes.
- integrar en algún proyecto de software que tengo. Ya sea usando bibliotecas existentes o escribiendo algoritmos yo mismo.
- recálculo rápido cuando entran nuevos datos históricos.
¿Alguna sugerencia de cómo podría abordarse un problema como este? Todas las ideas son más que bienvenidas.
¡Muchas gracias de antemano y espero leer sus sugerencias!