Szeregi czasowe
Podcast

10 przykładów jak uczenie maszynowe może pomóc Twojemu biznesowi

Szeregi czasowe

Z tego odcinka dowiesz się:

  • jak uczenie maszynowe może pomóc Twojemu biznesowi?
  • czym są szeregi czasowe?
  • jakie problemy rozwiązuje możliwość prognozowania popytu w przedziale czasowym?
  • jakie problemy w biznesie może rozwiązać predykcja sprzedaży w przedziale czasowym?
  • czy można przewidzieć, ilu klientów zamierza odejść w pewnej perspektywie czasowej?
  • czy dzięki prognozowaniu można usprawnić pracę w call center?
  • kto może skorzystać z prognozowania ilości awarii w przedziale czasowym?
  • czy jest możliwość przewidzenia, jakie będzie zanieczyszczenie powietrza?
  • od czego zależy dynamiczna zmiana cen?
  • czy można przewidzieć wystąpienie choroby?
  • dlaczego warto przerobić kurs na DataWorkshop?

 

 

Praktyczna prognoza szeregów czasowych

Zapraszam Cię do mojego autorskiego kursu „Praktyczne prognozy szeregów czasowych” w Python 🙂

 

Skupimy się na rozwiązaniu praktycznych problemów biznesowych takich jak:

  • prognozowanie popytu na produkty dla sieci sklepów (900k+ klientów, 2,5k+ unikalnych produktów, ~1k magazynów)
  • prognozowanie sprzedaży w siecie sklepów (łączna sprzedaż 5 mld+, 1,1k+ sklepów, 4k+ klientów)
  • prognozowanie popytu energii w Polsce (rzeczywiste dane)
  • prognozowanie cen na paliwa w Niemczech (rzeczywiste dane)
  • wiele innych

Poznasz takie algorytmy jak:

👉 ARMA, ARIMA, SARIMA

👉 Exponential Smoothing, czyli modele (Browna, Holta, Wintersa)

👉 Generalized additive model (GAM)

👉 Boosting model (+ inżynieria cech dla szeregów czasowych)

👉 Deep Learning: LSTM

 

Jak to działa?

👉 6 tygodni = 6 modułów

👉 100% online

👉 gotowe środowisko pracy = niczego nie instalujesz lokalnie

👉 wiedzę o narzędziach i bibliotekach zdobywasz pracując z danymi

👉 wykonujesz swój projekt w trakcie, który zasila Twoje CV

👉 uczysz się tylko tego, co sprawdzone w praktyce

👉 kodujesz od samego początku.

 

W trakcie kursu poznasz, jak działać efektywnie w tym obszarze, w szczególności chodzi mi o zastosowanie uczenia maszynowego i dlaczego podejście ML zwykle (chociaż kusi mnie, żeby powiedzieć: zawsze) zachowuje się lepiej niż inne metody. W ciągu 6 tygodni poznasz wiele praktycznych przykładów, np. predykcję popytu, predykcję kosztu paliwa. Podzielę się z Tobą również moim doświadczeniem w predykcji kryptowalut. Polecam kurs osobom, które już przerobiły mój pierwszy kurs, lub mają pewne podstawy uczenia maszynowego.

 

Szeregi czasowe
Szeregi czasowe

Biznesy mają pewne elementy wspólne. Każdy biznes ma zarabiać, bo właśnie po to został stworzony. Ostatnio nawet usłyszałem bardziej agresywną definicję. Tworząc własny biznes, musisz założyć, że chcesz zarabiać co najmniej 5 lub 10 razy więcej w 2-3 lata. Bo biznes to podejmowanie ryzyka i jeśli rośnie wolniej, to bardziej opłaca się pracować na etacie (zakładając, że ktoś inny osiągnął podobny wynik, żeby pokryć koszty). Akurat ta agresywna definicja może być dość kontrowersyjna. Pytanie: jakim kosztem się to osiąga? Odpowiedź na to pytanie zostawiam Tobie.

Umiejętność zarządzaniem ryzykiem jest sztuką. Jak już ustaliliśmy wcześniej, biznes zawsze wiąże się z ryzykiem, zawsze coś pójdzie inaczej, niż było zaplanowane. Pamiętam, że jeszcze jako programista nauczyłem się, że czas pomiędzy stworzeniem buga w kodzie i jego wykryciem oraz naprawieniem ma wykładniczy wpływ na koszty. To oznacza, że czym później wykryjesz błąd w kodzie, tym znacznie więcej to będzie kosztować firmę i ten koszt z czasem ma wzrost wykładniczy. To stąd, tak zwany „legacy code” i zawarty w nim dług techniczny jest tak drogi, a w pewnym momencie potrafi wywrócić do góry nogami nawet potężny biznes.

Potem zauważyłem, że to jest ogólna zasada życiowa, również dla biznesu. Dobrze, że popełniamy błędy, bo w ten sposób się uczymy, problem polega na tym, że zbyt dużo czasu potrzebujemy, żeby je zidentyfikować, wyciągnąć wnioski i wprowadzić zmiany do strategii firmy. Zobacz, jak ważna jest ta zasada dla biznesu. Jak już mówiłem, biznes ma ambicje rosnąć bardzo szybko, co oznacza, że trzeba biec. Pytanie tylko: dokąd? Ktoś mądry powiedział: że „możesz spieszyć się jedynie wtedy, gdy biegniesz we właściwym kierunku”.

Wszystko brzmi bardzo prosto i logiczne, ale jak to często bywa w życiu, rozumienie i wdrażanie to są dwie różne historie. Jak uczenie maszynowe może nam w tym pomóc?

Z lotu ptaka, uczenie maszynowe pomaga w dwóch możliwych poziomach: podejmowaniu właściwych decyzji i usprawnieniu produktu (lub usługi). Dzisiaj powiem o obu przypadkach, mówiąc precyzyjniej, skupimy się na jednej grupie problemów, predykcji tak zwanych szeregów czasowych i jak te rozwiązania mogą być pomocne dla Twojego biznesu. Od razu powiem, że to jest grupa problemów, które występują w każdej firmie, pytanie tylko, czy chcesz mieć nad tym kontrolę :).

Zaczniemy od zrozumienia, czym są szeregi czasowe.

Klasyczna definicja brzmi, że szeregi czasowe to sekwencja punktów danych przechowywanych w kolejności czasowej. Myślę, że będzie to bardziej zrozumiałe na przykładzie. Problem, który dla mnie jest nieco odkrywczy, ale podobno wiele osób martwi się o wagę. Jak zacząłem więcej czasu spędzać z ludźmi, a akurat teraz spędzam więcej, wcześniej czy później pojawiał się temat wagi, diet, ćwiczeń. Skoro jest to tak popularny problem, to łatwiej będzie wyjaśnić, o co chodzi z szeregami czasowymi właśnie przy pomocy tego przykładu.

Jeśli miałbym bawić się w odchudzanie się w sposób skuteczny, to zacząłbym zbierać dane, czym więcej, tym lepiej, ale co najmniej byłaby to waga i pewnie jeszcze kilka innych parametrów.

Należałoby zbierać dane przez jakiś dłuższy czas, np. przez miesiąc, rok czy nawet kilka lat. Warto byłoby robić to konsekwentne. Następnie na podstawie uzyskanych danych historycznych, można próbować przewidzieć przyszłość, czyli zrobić predykcję, jaka waga będzie jutro, za tydzień czy może nawet za miesiąc.

To jest przykład szeregów czasowych. Wyobraź sobie na chwilę wykres: na osi X będą daty, a na osi Y wartość, w tym przypadku wartością jest Twoja waga. Zobacz też, że mając dane, możemy przejść cztery poziomy interpretacji. Po pierwsze widzimy, w których okresach w przeszłości było gorzej (pewnie w okolicy Sylwestra są pewne „podwyżki wagowe”). Drugi poziom to stwierdzenie, dlaczego tak było? Na przykład, dlatego, że był o jeden obiadek za dużo. Trzeci poziom jest taki, że możemy powiedzieć, że skoro kilka ostatnich lat w okolicy Sylwestra przybywało nam kilka dodatkowych kilogramów, to w tym roku będzie tak samo. Już w tym momencie przewidujemy, jaka może być nasza przyszłość dotycząca wagi. I w końcu czwarty poziom jest taki, skoro wiemy, że na Sylwestra w tym roku przybędzie nam trochę kilogramów, a tego nie chcemy (lub chcemy – ludzie mają różne problemy), to pewnie warto zrobić coś, żeby sytuacja była zgodna z naszymi oczekiwaniami. To coś, nie zawsze jest oczywiste, ale w tym przypadku pewnie warto zamknąć lodówkę na kłódkę lub zrobić coś podobnego.

Ostatni, czwarty poziom jest najciekawszy, bo wtedy próbujemy zdefiniować przyszłość, a nie tylko się z nią pogodzić. W ten sposób zarządzają decyzjami rozwinięte, technologiczne firmy (wiele przykładów podam poniżej), ale nie tylko firmy technologiczne, również dokładnie w ten sam sposób wygrywa się wybory i pewnie już w kilku krajach było to skutecznie zastosowane.

Podsumujmy i przejdźmy do przykładów. Prognozowanie szeregów czasowych to prognoza przyszłej wartości na osi czasu, bazująca na danych z przeszłości. Mając dane z kilku miesięcy czy lat wstecz, robimy prognozę na tydzień czy kilka tygodni do przodu.

Przejdźmy do praktyki, konkretnych zastosowań, wtedy to powinno być jeszcze bardziej zrozumiałe. Opowiem Ci o 10 przypadkach użycia.

10 przypadków użycia

Przykład #1 Prognozowanie popytu w przedziale czasowym (ang. demand forecasting)

Prognozowanie popytu jest jednym z kluczowych zadań w logistyce. Zarządzanie magazynami jest wyzwaniem, ale jak już to opanujesz, może się okazać, że wniesie to wiele korzyści dla Twojego biznesu.

Jakie są problemy?

Pierwszy problem, który mają firmy zarządzające magazynem to zamrożenie kapitału. Dla firmy z większym kapitałem mogą być to dziesiątki, setki milionów lub nawet więcej. Wystarczy zoptymalizować jedynie kilka procent i już pojawiają się bardzo namacalne wyniki.

Drugi problem to brak dostępnych produktów, co oznacza, że biznes traci. Jeśli biznes zarabia, wtedy gdy sprzedaje, to można sformułować bardzo prosty wniosek, że biznes traci wtedy, kiedy klient jest gotowy kupić, ale produkt nie jest dostępny. Dlatego, dość często, opłaca się mieć większe zapasy, bo koszty magazynu są niższe. Są pewne wyjątki, które potwierdzają istnienie tej reguły.

Trzeci problem ma trochę inny wymiar i jest to lojalność klienta. Jeśli klient przyjdzie do sklepu po zakup towaru i po raz kolejny go nie ma, to więcej nie będzie chciał tam wrócić. Inny przykład związany z lojalnością to Otto Group. Jest to niemiecka firma, która jest agregatem rzeczy do kupowania. Problem jest w tym, że jak klient coś zamówi, to spodziewa się otrzymać produkt jak najszybciej. Natomiast fizyka tego świata ma swoje prawa i logistyka potrzebuje czasu na realizację. Dlatego, żeby zminimalizować czas dostawy do klienta, należy zacząć realizować zamówienia jeszcze przed rzeczywistym zakupem klienta. Innymi słowy, Otto Group wie wcześniej, że ktoś kupi towar X i zamawia go z wyprzedzeniem (kupują ok. 200 000 towarów z wyprzedzeniem). Dzięki temu udało im się zminimalizować czas dostawy i zwiększyć grupę lojalnych klientów.

Inny przykład. Czy słyszałeś o startupie HelloFresh? Jest niedaleko polskiej granicy – w Berlinie. Natomiast już teraz wyszli na rynki zagraniczne, również do Stanów Zjednoczonych. Jaki problem próbują rozwiązać? Być może czasem masz taki problem, że chcesz przygotować fajny obiad czy kolacje, otwierasz lodówkę i czegoś tam brakuje. Trochę szkoda, bo był zapał i tutaj znów kończy się jedynie na zwykłym makaronie :). W HelloFresh możesz wybrać, co chcesz ugotować i wtedy dostaniesz koszyk ze wszystkimi składnikami. W ten sposób, po pierwsze oszczędzasz czas na chodzenie po sklepach, po drugie pobudzasz swoją wyobraźnię i stajesz się bardziej kreatywnym, bo chociażby na stronie możesz wybierać przeróżne dania. Po trzecie jesteś bardziej zmotywowany, żeby zrobić to, co zaplanowałeś, bo trochę szkoda, żeby zmarnowały się produkty z Twojej lodówki. Po czwarte czujesz się bardziej szczęśliwy, bo nawet jeśli to był totalnie zły dzień i nie udało Ci się nic zrobić, to przynajmniej ugotowałeś fajny obiadek :).

Teraz pomyśl o tym, jakie wyzwania ma HelloFresh? Przecież te wszystkie produkty trzeba zamawiać z wyprzedzeniem. O ile kasze mogą poleżeć trochę dłużej i nic się nie stanie, natomiast są takie produkty, które psują się znacznie szybciej np. W ciągu kilku dni. Dlatego zarządzanie popytem w tym przypadku również było kluczowe. Swoją drogą, czy nie zastanawia Cię, czemu tak wiele produktów potrafi nie psuć się przez dłuższy czas. Na przykład mleko. O ile go nie otworzysz, to może stać w kartonie nawet ponad 30 dni. Mieszkałem na wsi i wiem, jak szybko psują się naturalne produkty, czy to oznacza, że w tych produktach są pewne dodatki, które „zabijają” szybkie psucie się? A jeśli tak, to jak to wpływa na nasze zdrowia i te wszystkie obecne choroby cywilizacyjne. Co o tym myślisz?

Jakie są pułapki?

Predykcja popytu jest dość podchwytliwym zadaniem. Może się okazać, że są pewne pułapki, których algorytm może nie przewidzieć. Od razu wyjaśnię, że ten problem wynika z tego, że uczenie maszynowe jest bardzo ograniczone do przewidywania przypadków, które już wydarzyły się w przeszłości. Jak na razie, dość słabo sobie radzi z tak zwanym rozumowaniem. To dlatego przeciętny człowiek w pewnych sytuacjach radzi sobie lepiej niż ML.

Podam Ci przykład. Wyobraź sobie, że w dzień, kiedy temperatura powietrza wynosi do 20 stopni, ludzie kupują zwykle 100 butelek wody (założyłem 100, jako konkretną liczbę, na której będzie łatwo dalej robić obliczenia). Mamy 15 stopni, zwykle sprzedaje się 100 butelek. Mamy 18 stopni, sprzedaje się też około 100 butelek. Jak myślisz, ile sprzedamy, kiedy będzie 25 stopni? Pewnie na poziomie intuicji czujesz, że więcej, np. 120 (czyli 20% więcej). Jak myślisz, ile sprzeda się butelek wody, kiedy temperatura będzie około 30 stopni? Pewnie Twoja odpowiedź brzmi: jeszcze trochę więcej np. 150 butelek. I jeszcze jedno pytanie, jaka będzie sprzedaż przy 35 stopniach? Jeśli pomyślisz, co dla Ciebie oznacza 35 stopni ciepła, to wtedy czujesz, że chcesz się napić po raz kolejny, więc pewnie Twoja odpowiedź będzie, że co najmniej 200 lub więcej butelek.

Zobacz, że w pewnym momencie wzrost popytu na wodę jest wykładniczy. Jak zaczniesz o tym myśleć, to jest bardzo oczywiste, przecież jak jest temperatura około 35 stopni, to pijemy znacznie więcej wody. Teraz uwaga! O ile taka sytuacja nie pojawiła się wcześniej (z odpowiednią powtarzalnością, a nie tylko jako wyjątek), bo wtedy algorytm może się tego nauczyć, ale bardzo ciężko jest się algorytmowi domyśleć, że będzie punkt przegięcia w przyszłości, jeśli wcześniej nie widział danych. Tym bardziej że wzrost po tym punkcie jest wykładniczy. To jest przykład z życia wzięty, kiedy mimo tego, że popyt na wodę przy temperaturze wyższej niż 20 stopni był mnożony na wszelki wypadek przez współczynnik X, to i tak przy większych temperaturach popyt rósł gwałtownie i zaczęło brakować wody w sklepie.

Kolejna pułapka jest taka, że model uczy się na dostępnych danych. Jeśli widzimy, że wszystkie produkty zostały sprzedane, to oznacza, że dobraliśmy idealną wartość produktów i nic się nie marnuje. Prawda? Dlatego model traktuje, że to jest „idealna” wartość popytu i próbuje optymalizować model, opierając się na tych liczbach. Jak na razie wszystko brzmi zgodnie z planem. Pomyśl jeszcze trochę. A co jeśli w połowie dnia zabrakło chleba? W drugiej połowie dnia przyszło setki chętnych po chleb, a jego już nie było. Naturalnie to oznacza, że chleba musi być więcej, a jeśli patrzymy tylko na dane, to wydaje się, że mamy sytuację idealną i chleba jest w sam raz. Bo w danych brakuje kontekstu, że przyszło jeszcze 100 osób chętnych i wyszli bez chleba.

To dlatego, tak naprawdę idealnie jest, gdy coś zostaje na półce, niż gdy sprzedaje się wszystko. Bo wtedy wiemy, jak dużo zostało. Czy to jeden bochenek chleba, czy może druga skrajność, np. tysiąc? Wtedy model lepiej rozumie kontekst. Z drugiej strony, jest to dość kosztowne dla biznesu. Co to oznacza, że coś zostanie na półce? Dość często oznacza to marnowanie produktów, w szczególności, jeśli mówimy o takich, które szybko się psują. Co zrobić? To już bardzo zależy od odwagi i mądrości osób zarządzających biznesem, warto próbować znaleźć złoty środek. Ewentualnie chociaż raz na jakiś czas próbować zamawiać trochę więcej niż model powiedział, żeby sprawdzić, jak duży jest popyt :).

Przykład #2 Prognozowanie sprzedaży w przedziale czasowym (ang. sales forecasting)

Firma, która umie zarządzać lejkiem sprzedażowym pod kątem prognoz, ma znacznie większą przewagę nad firmami, które tego nie potrafią. Oczywiście predykcja sprzedaży z dużym wyprzedzeniem jest bardzo trudnym tematem, bo rozbieżność prognozowanych wyników może być ogromna. Z drugiej strony, kontrola w tym obszarze jest kluczowa. Dlatego, po pierwsze sprzedaż należy traktować jako proces, lecz potrzeba czegoś więcej niż zwykła intuicja, żeby firma była w stanie przewidzieć potencjalne problemy i mieć czas, żeby na to odpowiednio zareagować.

Tak naprawdę ten temat jest znacznie szerszy, niż tylko powiedzenie, że pod koniec miesiąca firma zarobi X złotych. Gdzieś tam pod spodem pojawia się konieczność wykonania kilku kroków. Przerabiałem te problemy na własnej skórze i to dlatego wiem, na ile one potrafią być trudne.

Jakie to są problemy?

Może być ich wiele i to bardzo zależy od firmy. Od tego jaka jest kultura sprzedaży, jak wyglądają procesy sprzedaży i czy w ogóle są jakiekolwiek. Jak pokazuje doświadczenie, to bardzo zależy od osób zarządzających. Przykład z życia wzięty. Zespół, który sprzedawał był raczej otwarty na spójność, natomiast kierownik tego zespołu czuł się mało komfortowo, żeby być spójnym z procesami. Swoją drogą, od razu powiem, że często widzę ludzi, którzy mają fajne talenty, ale pracują na cudzym miejscu… Mało tego, bardzo mocno trzymają się tego miejsca (co jest dość łatwo wyjaśnić, bo boją się stracić regularną kasę, a kredyty i inne rzeczy cisną). Natomiast, czy jest to dobra strategia na dłuższy czas? Zadam Ci pytanie do rozważenia. Jak myślisz, czy Twoje obecne miejsce pracy jest Twoje, czy jednak zajmujesz cudze? Pomyśl.

Wracam lejka sprzedażowego. Robiłem osobną prezentację na jednej z konferencji, gdzie bardziej szczegółowo wyjaśniłem jeszcze wiele innych potencjalnych problemów, które osobiście spotkałem. Jeśli będzie na to zainteresowanie, być może nagram osobny webinar na ten temat. Proszę, daj mi znać, czy jesteś tym zainteresowany.

Podsumowując: predykcja sprzedaży jest możliwa tylko wtedy, kiedy został wdrożony proces sprzedaży. Każdy w zespole (wraz z kierownikiem) pilnuje spójności, a wszystkie zdarzenia, które występują, trafiają do CRM-a lub innego systemu. Teraz bardziej nowoczesne systemy zarządzania są tak zrobione, żeby zebrać jak najwięcej danych, nie prosząc o to użytkownika. Na przykład, dzwoniąc poprzez CRM, zostawiasz w systemie ślad, że był kontakt z klientem. Podobnie, kiedy wysyłasz e-mail.

Cyfrowy ślad aktywności sprzedawcy z klientem jest bardzo istotny, bo pamiętaj, że model uczy się na danych, które posiada. Jeśli np. sprzedawca spotyka się klientem na lunch, wysyła mu SMS-y lub dokonuje innych czynności, które nie są zarejestrowane w systemie, to ciężko potem zbudować dobry model, który skutecznie „poznał” rzeczywistość. Jeśli masz dobre dane, spójny proces sprzedaży to uczenie maszynowe może Ci pomóc robić skuteczne prognozy.

Przykład #3 Prognozowanie odchodzenia klientów (ang. churn prediction)

Pozyskiwanie nowych klientów jest dosyć drogą zabawą. Trzeba najpierw zapłacić za reklamę, żeby klient dowiedział się, że Twoja firma istnieje, następnie trzeba zbudować zaufanie (i to czasem jest dość czasochłonny proces), następnie zaoferować odpowiednią usługę i następnie klient to kupuje. Dlatego opłaca się zatrzymać klientów, których już masz.

Ludzie po jakimś czasie się frustrują. Ktoś na to potrzebuje więcej czasu, ktoś inny mniej. Mówi się, że wszędzie dobrze, gdzie nas nie ma. Dlatego, nawet jeśli starasz się dbać o klienta, to i tak Twoja firma ma swoje ograniczenia. Tym bardziej, jeśli mało dbasz o klientów, to przyspieszasz decyzję klienta o odejściu. Pojawia się kluczowe pytanie, co zrobić z tą informacją? Oprócz tego, że świadomość boli (w szczególności na początku), to może warto podjąć konkretne działania, żeby ratować sytuację. Można spróbować odświeżyć relacje z klientem, dając mu jakąś dodatkową wartość.

Najbardziej uniwersalna wartość to dać pieniądze wprost. Jednak to zaburza cały system biznesu, przecież pieniądze wprost daje klient, dlatego ta opcja raczej odpada (bo inaczej nie wiadomo, kto na kim robi biznes). Wtedy można pomyśleć o takiej wartości, która dla biznesu „kosztuje” mniej, ale jest zauważalna dla klienta – na przykład, jakaś dodatkowa usługa gratis. Oczywiście zakładam, że już masz odrobioną pracę domową i wiesz, co jest wartością dodatkową dla klienta. Tylko jest jeden problem biznesowy, jeśli dajesz dodatkową wartość wszystkim klientom, to nagle okazuje się, że firma ma znacznie więcej wydatków, niż planowała. Wtedy dział finansowy ma stres i proponuje zmienić strategię. Właśnie i to jest moment, kiedy biznes zastanawia się, czy jest możliwość przewidzieć, ilu klientów zamierza odejść w pewnej perspektywie czasowej.

Uwaga. Predykcja prawdopodobieństwa, że klient odejdzie, to jest zadanie zwykłej klasyfikacji binarnej. Gdzie na wejściu modelu są klienci z różnymi cechami (jak długo są klientami, ile płacą, jak używają naszej usługi itd.), a na wyjściu wartość pomiędzy 0 i 1. Gdzie 1 oznacza, że klient odejdzie na 100%.

Natomiast, można na to popatrzeć z trochę innej perspektywy czasowej: ilu klientów odchodzi w pewnym przedziale czasowym. Akurat takie podejście ma sens dla firm z większą liczbą klientów, np. 50 tysięcy lub jeszcze więcej. Wtedy można zobaczyć dynamikę i próbować już na poziomie strategicznym naprawić sytuację. Zrozumieć jak te lub inne czynniki wpływają na odchodzenie klientów oraz jak podejmowane działania pomagają (lub nie) rozwiązać ten problem.

Jakie mogą być pułapki?

Decyzja o odejściu może być dość często złożonym, emocjonalnym i niejednokrotnie irracjonalnym procesem. Dlatego warto zdawać sobie sprawę, w jakim stopniu ważny jest kontekst. Podam Ci przykład. Akcja ratownicza ma być dobrana do kontekstu. Część osób może zmienić zdanie nawet w ostatniej chwili, wystarczy odpowiednio pokazać wartości. Dla innych osób taka decyzja jest podejmowana z pewnym wyprzedzeniem i zobowiązaniem wobec innych. Nawet, wtedy gdy klient zobaczy dodatkowe wartości i przekona się, że to ma sens, to i tak decyzja o odejściu została już podjęta. Dlatego aby stwierdzić, czy akcja ratunkowa jest skuteczna, trzeba uważnie przeanalizować kontekst.

Przykład #4 Prognozowanie wartości kryptowalut w przedziale czasowym

Kryptowaluty są teraz bardzo gorącym tematem. Chociaż ten przykład dotyczy również zwykłych rynków finansowych. Gdy mówimy na temat predykcji na rynku finansowym, istnieją dwa podejścia: analiza fundamentalna i analiza techniczna. Jedna ze szkół skupia się tylko na patrzeniu na wykres, zdarzeniach z przeszłości, żeby powiedzieć o tym co będzie w przyszłości. Takie podejście jest bardzo krytykowane. Wiele osób twierdzi, że jest to proces zbyt chaotyczny, żeby zakładać, że w przeszłości był wzorzec X i on powtórzy się w przyszłości.

Jak to zwykle bywa, każdy ma trochę racji. Rynki finansowe są bardzo ciekawym przykładem. Okazuje się, że jeśli odpowiednio podejść do analizy technicznej, to można budować bardzo ciekawe modele, które zaczynają działać.

Jeśli krzywisz się, jak to mówię, i pytasz siebie lub mnie: dlaczego takie podejście ma prawo działać? Podam Ci kilka powodów, w jaki sposób model może zacząć zachowywać się w sposób bardziej kontrolowany.

Jest hipoteza, którą można zauważyć, że ten rynek jest regulowany w taki sposób, że więksi gracze budują sztuczne fale. Dlaczego to robią? Odpowiedź jest bardzo prosta: na panice zarabia się najlepiej. Najpierw trzeba zacząć udawać, że łódź tonie, a następnie, gdy ludzie na emocjach zaczynają sprzedawać i kurs spada, kupić je z powrotem. Ostatecznie twórca fal zostaje na plusie, czasem nawet na dużym.

Swoją drogą, mam pytanie, czemu fala oceanu może podchwycić i ponieść w ocean dużego słonia, natomiast mała rybka całkiem komfortowo czuje się w wodzie i płynie tam gdzie chce?
Jak myślisz?

Wracam do strategii finansowej. Dlatego sprawdza się strategia, żeby być rybką, która surfuje razem z dużą falą i korzysta z jej potencjału.

O tym planuję nagrać osobny odcinek, podczas którego opowiem więcej o modelach, które udało się zbudować i jak one działają. Również będę uczył jak robić predykcje w swoim kursie, o którym trochę później.

Mniej oczekiwany przykład. Czy zwracasz uwagę, że cena paliwa zmienia się w czasie? Oczywiście w dłuższym okresie czasu jak rok jest to zrozumiałe. Natomiast teraz mam na myśli krótsze przedziały czasowe, np. kilka dni czy tydzień. Może się okazać, że przewidując koszt paliwa, można będzie zaoszczędzić na kosztach. Ten przykład również będziemy przerabiać w trakcie kursu.

Przykład #5 Prognozowanie ilości telefonów w call center w przedziale czasowym

Jak często dzwonisz gdzieś i słyszysz, że jesteś dziesiąty w kolejce? Moim rekordem było, że jestem sto pięćdziesiąty w kolejce. Z czego to wynika? Są dwa elementy kluczowe. Jak dużo osób dzwoni po jednej stronie i dużo osób odbiera po drugiej stronie. Zakładając, że każda rozmowa ma pewną długość, to wtedy wiedząc, ile osób zadzwoni w pewnym przedziale czasowym, możemy lepiej zarządzać potrzebną ilością osób w call center w tym dniu.

Oczywiście ten problem jest dość złożony. Bo jak człowiek przyjeżdża do pracy, to raczej będzie pracować co najmniej kilka godzin. Mam teraz na myśli, że wdrożenia pewnych pomysłów jest mniej elastyczne w praktyce, niż w teorii. Natomiast nadal taka informacja może być bardzo pomocna do zarządzania zespołem. W szczególności, jeśli Twój zespół, który odpowiada za odbieranie telefonów to kilkaset czy kilka tysięcy osób.

Przykład #6 Prognozowanie ile będzie awarii w przedziale czasowym

Zgodnie z prawem Murphy’ego, Jeżeli coś może się zepsuć – zepsuje się na pewno (w szczególności na produkcji). Osobiście nauczyłem się tego, gdy byłem odpowiedzialny za architekturę większych systemów. Wtedy już jest oczywiste, jak bardzo istotne jest, by znajdować z wyprzedzeniem słabe ogniwa. Jeśli nie można ich naprawić, to przynajmniej możemy się zabezpieczyć przed negatywnymi skutkami.

Nieco inna perspektywa jest, jeśli działasz w świecie materialnym (a skoro słuchasz tego podcastu, to myślę, że tak jest), to wszystko psuje się wcześniej lub później. Jak na razie nie mamy jeszcze Perpetuum Mobile. Znów z mojego doświadczenia, jeśli tylko mogę komuś delegować rzeczy związane z utrzymaniem serwera – to chętnie to robię. To jest trochę taka choroba zawodowa. Jeśli jesteś początkujący, to wydaje Ci się, że potrafisz wszystko. Czym więcej serwerów, przeróżnych technologii, tym czujesz się bardziej potężny. Z czasem biegun zmienia się i każdy kolejny serwer kojarzy się z problemami, które potencjalnie (jest to bardzo realne) mogą się wydarzyć. Mój kolega, który przez dłuższy czas pracuje jako iOS developer, boi się otwierać aplikacji na iPhonie, bo podejrzewa, że zaraz coś się popsuje :). Tak to już jest z tym chorobami zawodowymi.

Awarie zdarzają się, to możemy tylko zaakceptować. Natomiast skutki i koszt naprawy awarii mogą być wysokie. Jeśli jesteśmy w stanie powiedzieć, że coś może się popsuć, to wtedy możemy się na to przygotować. Na przykład zorganizować ekipę naprawczą, być może zamówić jakieś potrzebne do naprawy części itd. W ten sposób można wiele zaoszczędzić, ale też zachować twarz w trudnej sytuacji.

Osobiście miałem okazję robić predykcję na danych jednej firmy telekomunikacyjnej, w wyniku czego proces chaosu już staje się bardziej kontrolowany.

Jest wiele innych firm, które mogą skorzystać z takiej predykcji. Przede wszystkim firmy serwisowe. Zobacz, jak bardzo można usprawnić proces i zwiększyć lojalność klienta, kiedy z góry będzie wiadomo, że któraś część się zepsuje. O tym już wspomniałem wcześniej, np. Konica Minolta zrobiła prototyp (być może jest to już wdrożone na produkcję), próbują przewidzieć z wyprzedzeniem, że jakaś część w drukarce może się popsuć.

Do tej grupy można również dołączyć przykłady z prognozą przeróżnych anomalii. Przykład trochę z innej branży. Jeśli spodziewaliśmy się na stronie, np. tysiąca użytkowników w punkcie czasowym X, a jest tylko stu, to oznacza, że coś poszło nie tak. Dość często przyczyną może być jakaś awaria lub tak zwany „zepsuty deployment”, czyli ostatnio wprowadzili zmiany i coś się gdzieś popsuło. Dość często w złożonych systemach jest tak, że zmieniasz coś w obszarze X i testujesz go, wszystko jest OK, wrzucasz zmiany na produkcję i potem okazuje się, że popsuło się coś w obszarze Y.

Przykład #7 Prognozowanie zanieczyszczenie powietrza w przedziale czasowym

Kraków jest pięknym miastem, w którym mieszkam już ponad 12 lat i bardzo go lubię. Natomiast to miasto ma jedno wyzwanie, w szczególności w zimie, jest to jakość powietrza. Są ludzie bardziej uczuleni na zanieczyszczenia powietrza, którzy muszą na to bardzo uważać. Czasem nawet muszą zakładać maski.

Kiedyś rozważałem przeprowadzkę do innego miasta. Być może gdzieś w góry, np. do Zakopanego. Jednakże okazało się, że w zimie w górskich miasteczkach jest często znacznie gorzej, bo ludzi palą w piecach przeróżnymi cudami. Z ciekawości zacząłem analizować sprawę i okazało się, że w Warszawie, w szczególności w ostatnich latach, sytuacja też wygląda dość podejrzanie. Żartobliwie mówię, że Warszawa obraziła się na Kraków, próbuje wybić się na pierwsze miejsce i chyba ma szansę na to….

Pytanie, czy jest możliwość przewidzenia, jakie będzie zanieczyszczenie? Do tego są potrzebne dane. W Krakowie jakiś czas temu powstał startup – airly. Można zamówić sobie miernik jakości powietrza i zamontować go np. na swoim balkonie. Dzięki coraz większej ilości czujników siatka jest coraz gęstsza. Mając dane, można robić dokładniejsze predykcje, próbować również wyciągać bardziej globalne wnioski. Jak na to wpływa na przykład pogoda lub inne zewnętrzne czynniki.

Przykład #8 Prognozowanie dynamicznej ceny

Gdy jest duży popyt na Ubera czy Taxify, to cena nagle zauważalnie się zwiększa, ale i tak są chętni. Jak to działa? Robi się predykcję w czasie, ile będzie wart przejazd taksówką w zależności od pewnych parametrów środowiska. W dużym uproszczeniu, czym więcej zamówień tym drożej, ale tak naprawdę jest tam znacznie więcej różnych parametrów. Między innymi dostępność samochodów na tym obszarze.

Podobnie jest z samolotami. Cena bardzo zależy od tego, kiedy kupujesz. Są firmy, które specjalizują się tylko w tym, żeby przewidzieć koszt na moment X w zależności od różnych czynników.

Przykład #9 Prognozowanie wystąpienia choroby w przedziale czasowym

Już wcześniej wspomniałem, że świat materialny jest tak skonstruowany, że wszystkie jego części psują się z czasem. Jest to pewien cykl. Kwestia tylko, kiedy to się stanie. Podobnie jest z ludźmi. Jeśli mówimy o ciele człowieka, to w dużym uproszczeniu możemy je potraktować jako „pojazd”, który też się zużywa i ostatecznie z czasem się psuje. Dlatego uczenie maszynowe można również zastosować do prognozowania, co stanie się z człowiekiem w czasie, w zależności od tego, co jest teraz.

Mało tego, taka prognoza może znacznie poprawić jakość, jeśli do tego dodamy analizę genetyczną, która teraz rozwija się bardzo szybko.

Przykład #10 Prognozowanie pojazdów, tirów, kontenerów, palet…

Już mówiłem na temat logistyki, na koniec jeszcze opowiem o trochę innym wyzwaniu. Logistyka próbuje łączyć wiele kropek, np. ile towarów trzeba będzie przewieźć z punktu A do punktu B? Ile będzie do tego potrzebnych pojazdów? Ile będzie potrzebnych dodatkowych rzeczy, np. kontenerów czy palet?

Umiejętne odpowiedzi na wszystkie wyżej wymienione pytania, pomogą sporo zaoszczędzić, chociażby na kosztach utrzymania całej infrastruktury, ale też mogą poprawić inne metryki, jak na przykład dostawę towarów na czas.

Już wspomniałem w poprzednim przykładzie temat taksówek. Można dodać jako przykład logistyczną predykcję, w których obszarach będzie potrzeba najwięcej samochodów i jak zarządzać nimi z wyprzedzeniem.

Mam nadzieję, że teraz w Twojej głowie lepiej poukłada się, czym są szeregi czasowe i jakie korzyści dla biznesu mogą przynieść. Moim celem było podać więcej przykładów, żeby umożliwić Twojej wyobraźni, zaadaptować to myślenie dla Twojego przykładu.

 

 

Praktyczna prognoza szeregów czasowych

Zapraszam Cię do mojego autorskiego kursu „Praktyczne prognozy szeregów czasowych” w Python 🙂

 

Skupimy się na rozwiązaniu praktycznych problemów biznesowych takich jak:

  • prognozowanie popytu na produkty dla sieci sklepów (900k+ klientów, 2,5k+ unikalnych produktów, ~1k magazynów)
  • prognozowanie sprzedaży w siecie sklepów (łączna sprzedaż 5 mld+, 1,1k+ sklepów, 4k+ klientów)
  • prognozowanie popytu energii w Polsce (rzeczywiste dane)
  • prognozowanie cen na paliwa w Niemczech (rzeczywiste dane)
  • wiele innych

Poznasz takie algorytmy jak:

👉 ARMA, ARIMA, SARIMA

👉 Exponential Smoothing, czyli modele (Browna, Holta, Wintersa)

👉 Generalized additive model (GAM)

👉 Boosting model (+ inżynieria cech dla szeregów czasowych)

👉 Deep Learning: LSTM 

 

Jak to działa?

👉 6 tygodni = 6 modułów

👉 100% online

👉 gotowe środowisko pracy = niczego nie instalujesz lokalnie

👉 wiedzę o narzędziach i bibliotekach zdobywasz pracując z danymi

👉 wykonujesz swój projekt w trakcie, który zasila Twoje CV

👉 uczysz się tylko tego, co sprawdzone w praktyce

👉 kodujesz od samego początku.

 

W trakcie kursu poznasz, jak działać efektywnie w tym obszarze, w szczególności chodzi mi o zastosowanie uczenia maszynowego i dlaczego podejście ML zwykle (chociaż kusi mnie, żeby powiedzieć: zawsze) zachowuje się lepiej niż inne metody. W ciągu 6 tygodni poznasz wiele praktycznych przykładów, np. predykcję popytu, predykcję kosztu paliwa. Podzielę się z Tobą również moim doświadczeniem w predykcji kryptowalut. Polecam kurs osobom, które już przerobiły mój pierwszy kurs, lub mają pewne podstawy uczenia maszynowego.

 


Michał Czarnecki
Michał Czarnecki

 

I na koniec zapraszam Cię do posłuchania opinii Michała, który jest absolwentem drugiej edycji kursu.

Cześć Michał. Przedstaw się, kim jesteś, czym się zajmujesz, gdzie mieszkasz.

Cześć. Nazywam się Michał Czarnecki. Pochodzę z Trójmiasta, obecnie mieszkam w Warszawie. Jestem przedsiębiorcą, działającym w obszarze technologii IT i od kilku lat współpracuję z dużym wydawnictwem, w którym wspieram procesy produkcji, utrzymanie portali, wdrożenia e-commerce oraz przetwarzanie dużych zbiorów danych.

Michale, co ostatnio czytałeś?

Jestem w trakcie czytania „Far Future. Historia jutra” napisanej przez Infuture Institute Natalii Hatalskiej. Książka w formie raportu przedstawia prognozy dla świata w 2068 roku i stara się odpowiedzieć: gdzie będziemy mieszkać, co będziemy jeść, jak będziemy pracować, jak będziemy uprawiać seks w przyszłości. Prognozy te mogą rodzić przerażenie, czy zasmucać, że wkrótce roboty zaczną za nas myśleć. Na szczęście przyszłość tworzymy my sami, ona nie jest nam dana i wszystko, co jest prognozowane, możemy jeszcze zmienić. Także polecam tę książkę jak najbardziej.

Brzmi ciekawie. Tym bardziej że w ciągu 50 lat naprawdę wiele rzeczy może się wydarzyć i pozmieniać. Teraz przejdę do dzisiejszego tematu. Jak to się stało, że zainteresowałeś się tematem uczenia maszynowego?

Pierwszy raz ze sztuczną inteligencją zetknąłem się jeszcze w trakcie studiów, działając w kole naukowym Politechniki Gdańskiej. Prowadzącym to koło był doktor Buler, który działał w zespole Hugo de Garisa. Oni na japońskim uniwersytecie w Kioto prowadzili badania pod nazwą Roboconeco, które miały na celu zbudowanie sztucznego mózgu, który będzie w stanie symulować mózg kota. W ramach tego koła naukowego robiliśmy pierwsze sieci neuronowe, przetwarzaliśmy dane, niestety po wielu miesiącach prób wyniki nie były zadowalające, skończyło się finansowanie tego projektu w Japonii i cały projekt upadł.

Jest to dość imponujące, powiedz dokładnie, kiedy to było?

To było 95-96 rok, oni postawili sobie za cel, że do 2001 zbudują ten mózg, ale niestety to się nie udało.

Od tej pory minęło już 20 lat. W tym czasie naprawdę wiele się zmieniło, w szczególności, jeśli chodzi o dostępność bibliotek, budowanie sieci neuronowych, teraz to środowisko wygląda bardziej komfortowo i przyjemniej niż wtedy. Przejdźmy do twojej opinii na temat kursu. Jesteś absolwentem drugiej edycji kursu „Praktyczne uczenie maszynowe” na DataWorkshop, gdzie między innymi było pokazane, jak tworzyć sieci neuronowe. Powiedz, co Ci się najbardziej spodobało w kursie.

Przede wszystkim praktyka, było bardzo dużo ćwiczeń, dużo pracy samodzielnej, była wymiana zdań w trakcie sesji podsumowującej na koniec tygodnia, no i konkurs, który zorganizowałeś z fajną nagrodą. Ten konkurs wzniecił w uczestnikach jeszcze większe zaangażowanie w pogłębianie wiedzy, no i była ta nutka rywalizacji. Wydaje mi się, że niejeden z uczestników zarwał nockę, żeby uzyskać jak najlepszy wynik, zwłaszcza pod sam koniec konkursu widać było duże emocje i cały czas próbowaliśmy ulepszać swoje rozwiązania. Także było to bardzo motywujące.

Czy coś Cię zaskoczyło w trakcie kursu?

Nie spodziewałem się, że będzie aż tak mocno praktycznie. Oczywiście na początku, jeszcze przed kursem, sygnalizowałeś, żeby wykroić sobie ten czas, żeby nic nam nie przeszkadzało, żeby się całkowicie poświęcić temu wszystkiemu i rzeczywiście trzeba było poświęcić ten czas, wykonać dużo pracy, ale to praktyczne podejście, praktyczne przykłady z życia bardzo mi się podobały i mnie zaskoczyły. Dzięki temu dużo łatwiej było liznąć trochę teorii i zanurzyć się w rozwiązywanie konkretnych życiowych problemów. Sam często musiałem gdzieś dociekać, doczytywać, szperać w Internecie, jak zrealizować jakieś zadanie, jak coś pracuje – to też rozwijało całą wiedzę w obszarze machine learning.

Już od dawna zajmujesz się tematami IT, a teraz już nie tylko programujesz samodzielnie, bo masz również zespół. Zastanawiam się, czy już masz plan na zastosowanie uczenia maszynowego w praktyce, być może masz własny pomysł na projekt, być może chcesz uczestniczyć w jakimś konkursie. Powiedz, jak zamierzasz wykorzystać wiedzę zdobytą w kursie?

Tak praktycznie to wyszło dosyć naturalnie – w firmie, z którą współpracuję, toczą się tematy e-commerce, gdzie są duże zbiory danych i tak naprawdę w tych obecnie wdrażanych projektach bazy danych są po naszej stronie i po stronie dostawców, zadaniem postawionym przed nami jest „zmatchowanie” tych baz, połączenie produktów z jednej bazy z drugą. W zespole, z którym współpracuję, z zastosowanie znalazły sieci neuronowe, które na podstawie podanych cech uczą się łączyć te produkty. W tym momencie skuteczność tego dochodzi do 70-75%, co jest weryfikowane jeszcze czynnikiem ludzkim, ale pozwoli nam w przyszłości wykluczyć pracę człowieka na tym polu. Myślę, że automat będzie w stanie świetnie to wykonywać. Drugim obszarem jest rozpoznawanie zdjęć z produktami odzieżowymi. Budowane rozwiązanie będzie w stanie rozróżniać kolory, rodzaje ubioru, czy jest to bluzka, sukienka, jakiego rodzaju bluzka, czy to jest t-shirt, czy bluzka z długim rękawem i tak. Wspieramy się też już gotowymi narzędziami dostępnymi na platformach Google czy Microsoftu. Efekty są całkiem obiecujące.

Brzmi to bardzo ciekawie. Bardzo się cieszę, że starasz się wykorzystać w praktyce wiedzę zdobytą z kursu. Jest to dla mnie bardzo ważne. Komu poleciłbyś przerobienie kursu na DataWorkshop?

Kurs polecam developerom, którzy chcieliby poszerzyć swoją wiedzę o obszary uczenia maszynowego i sztucznej inteligencji. Myślę, że każdy developer prędzej czy później trafi na problem do rozwiązania, w którym będzie mógł zaimplementować uczenie maszynowe. Widziałbym tutaj także managerów zarządzających zespołami IT, aby mogli trochę lepiej zrozumieć tworzone rozwiązania i wspierać zespół swoją wiedzą. Myślę także, że osoby, które są spoza branży IT, mogą zafascynować się przetwarzaniem ogromnych ilości danych, usprawnianiem otaczającego nas świata, może w przyszłości one znajdą pracę w tej branży, bo jest ona tak naprawdę obecna w każdej dziedzinie życia od samochodów poprzez inteligentne lodówki po tematy zdrowia i opieki.

Michale, bardzo dziękuję Ci za znalezienie czasu i podzielenie się swoją opinią. Życzę Ci samych sukcesów również w wykorzystaniu uczenia maszynowego. Do usłyszenia, do zobaczenia na przykład na konferencji 13 października w Warszawie.

Dziękuję bardzo Vladimir. Życzę również dużo sukcesów. Mam nadzieję, że szybko do zobaczenia na kolejnej edycji kursu na jeszcze bardziej zaawansowanym poziomie i również na konferencji. Dzięki.

Od 2013 roku zacząłem pracować z uczeniem maszynowym (od strony praktycznej). W 2015 założyłem inicjatywę DataWorkshop. Pomagać ludziom zaczać stosować uczenie maszynow w praktyce. W 2017 zacząłem nagrywać podcast BiznesMyśli. Jestem perfekcjonistą w sercu i pragmatykiem z nawyku. Lubię podróżować.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *