Zadałem to pytanie na stronie stosu wymiany matematyki i polecono mi tutaj.
Pracuję nad projektem hobby i potrzebuję pomocy w rozwiązaniu następującego problemu.
Trochę kontekstu
Załóżmy, że istnieje kolekcja przedmiotów z opisem funkcji i ceną. Wyobraź sobie listę samochodów i cen. Wszystkie samochody mają listę funkcji, np. Wielkość silnika, kolor, moc konia, model, rok itp. Dla każdej marki coś takiego:
Ford:
V8, green, manual, 200hp, 2007, $200
V6, red, automatic, 140hp, 2010, $300
V6, blue, manual, 140hp, 2005, $100
...
Idąc dalej, lista samochodów z cenami jest publikowana z pewnym przedziałem czasowym, co oznacza, że mamy dostęp do historycznych danych cenowych. Nie zawsze może obejmować dokładnie te same samochody.
Problem
Chciałbym zrozumieć, jak modelować ceny każdego samochodu w oparciu o te podstawowe informacje, a przede wszystkim samochody, których nie ma na początkowej liście.
Ford, v6, red, automatic, 130hp, 2009
W powyższym samochodzie jest prawie taki sam jak jeden na liście, tylko nieco różni się mocą konia i rokiem. Aby to wycenić, czego potrzeba?
To, czego szukam, jest praktyczne i proste, ale chciałbym również usłyszeć o bardziej złożonych podejściach do modelowania czegoś takiego.
Co próbowałem
Oto, z czym do tej pory eksperymentowałem:
1) przy użyciu danych historycznych do wyszukiwania samochodu X. Jeśli nie znaleziono, brak ceny. Jest to oczywiście bardzo ograniczone i można tego używać tylko w połączeniu z pewnym opóźnieniem, aby z czasem zmieniać ceny znanych samochodów.
2) za pomocą schematu ważenia funkcji samochodu wraz z wycenionym samochodem próbnym. Zasadniczo istnieje cena podstawowa, a funkcje po prostu ją zmieniają z pewnym czynnikiem. Na tej podstawie obliczana jest cena każdego samochodu.
Pierwsza okazała się niewystarczająca, a druga nie zawsze była poprawna i mogłem nie mieć najlepszego podejścia do używania odważników. Wydaje się to również trochę obciążać utrzymanie wag, dlatego pomyślałem, że może jest jakiś sposób na wykorzystanie danych historycznych jako statystyk w celu uzyskania wag lub uzyskania czegoś innego. Po prostu nie wiem od czego zacząć.
Inne ważne aspekty
- zintegrować z jakimś projektem oprogramowania, który mam. Albo przez użycie istniejących bibliotek lub samodzielnego pisania algorytmu.
- szybkie przeliczanie, gdy pojawiają się nowe dane historyczne.
Wszelkie sugestie, w jaki sposób można rozwiązać taki problem? Wszystkie pomysły są mile widziane.
Z góry dziękuję i czekam na Wasze sugestie!