Zajmuję się tworzeniem aplikacji do prognozowania, której celem jest umożliwienie importerowi prognozowania popytu na jego produkty z sieci klientów-dystrybutorów. Dane dotyczące sprzedaży są dość dobrym wskaźnikiem popytu, o ile istnieją odpowiednie zapasy, aby zaspokoić popyt. Kiedy jednak zapasy są zmniejszane do zera (sytuacja, w której staramy się pomóc naszemu klientowi uniknąć), nie wiemy zbyt wiele, za czym nie udało nam się osiągnąć celu. Ile sprzedaży dokonałby klient, gdyby miał wystarczającą podaż? Standardowe podejścia oparte na regresji ML, które wykorzystują Sprzedaż jako prostą zmienną docelową, dostarczą niespójnych oszacowań związku między czasem, moimi zmiennymi opisowymi i popytem.
Modelowanie Tobit jest najbardziej oczywistym sposobem podejścia do problemu: http://en.wikipedia.org/wiki/Tobit_model . Zastanawiam się nad adaptacjami ML losowych lasów, GBMS, SVM i sieci neuronowych, które również odpowiadają za lewostronną cenzurowaną strukturę danych.
Krótko mówiąc, jak zastosować narzędzia uczenia maszynowego do danych regresji cenzurowanej z lewej strony, aby uzyskać spójne oszacowania zależności między zmiennymi zależnymi i niezależnymi? Pierwszą preferencją byłyby rozwiązania dostępne w języku R, a następnie Python.
Twoje zdrowie,
Aaron
Odpowiedzi:
Jeśli potrafisz napisać prawdopodobieństwo i odwrócić znak na minus, masz własną funkcję utraty, której można użyć w wielu modelach uczenia maszynowego. W przypadku wzmocnienia gradientu jest to powszechnie określane jako wzmocnienie modelu . Patrz np. Algorytmy przyspieszające: regularyzacja, przewidywanie i dopasowanie modelu .
Jako przykład z modelem Tobit zobacz artykuł Modele Tobit wzmocnione drzewem gradientu dla domyślnej prognozy . Metoda powinna być dostępna w gałęzi scikit-learn wspomnianej w artykule.
Ten sam pomysł stosuje się do danych poprawnie ocenzurowanych, np.
gbm
Imboost
pakiety w R dla danych poprawnie ocenzurowanych.źródło