Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Prognozowanie jest ważnym aspektem analizy danych, ponieważ pozwala firmom podejmować świadome decyzje dotyczące przyszłości na podstawie danych historycznych. Skutecznym sposobem wykonania tego zadania jest wykorzystanie modelu prognozowania usługi LuckyTemplates przy użyciu języka Python. LuckyTemplates to popularne narzędzie analizy biznesowej, które umożliwia użytkownikom tworzenie interaktywnych wizualizacji danych, raportów i pulpitów nawigacyjnych. 

W tym samouczku dowiemy się, jak utworzyć model prognozy w usłudze LuckyTemplates przy użyciu języka Python. Będziemy używać Pythona w Power Query do tworzenia prognozowanych wartości i umieszczania ich w wizualizacjach LuckyTemplates. Możesz obejrzeć pełny film tego samouczka na dole tego bloga .

Spis treści

Przykłady modeli prognozowania usługi LuckyTemplates

Poniżej przedstawiono niektóre modele prognozowania usługi LuckyTemplates, które pokazują, co chcemy osiągnąć w tym samouczku. Są to rzeczywiste wyświetlenia strony ujawniające tygodniową sezonowość i niektóre sezonowe wartości szczytowe danych. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Pod koniec widzimy rosnący trend w naszych danych, który chcemy wykorzystać w naszym modelu.

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Model prognozowania usługi LuckyTemplates: kontrole i ograniczenia 

Poniżej znajduje się model prognozy 30-dniowej utworzonej przy użyciu usługi LuckyTemplates. Ma taką samą sezonowość jak rzeczywiste odsłony stron, aw LuckyTemplates mamy również opcje kontrolowania niektórych danych.

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Możemy to zrobić, otwierając Analytics w okienku Wizualizacje . Następnie najedź kursorem na Prognoza > Opcje

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Umieść 30 dni w długości prognozy i ustaw przedział ufności na 95%. System może przewidywać sezonowość przy domyślnych ustawieniach, ale możemy też dodać 7 , aby reprezentować tygodniową sezonowość. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Kliknij Zastosuj i powinniśmy otrzymać model podobny do powyższego.

Analiza trendów dla modeli prognozowania w Pythonie i LuckyTemplates

Usługa LuckyTemplates świetnie radzi sobie z modelowaniem sezonowości. Jednak jego linia trendu nie działa tak samo.

Aby rozpocząć analizę trendu , włącz linię trendu w panelu Wizualizacje .

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Od razu widać trend wzrostowy. Powinniśmy być w stanie dodać ten trend do naszych danych, który następnie wpłynie na prognozę. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Możemy to zrobić za pomocą naszego modelu Pythona . Jak widać na poniższym modelu, trend nabrał sezonowości, zamiast pozostawać na stałym poziomie.

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Używanie kodu Pythona do prognozowania

Wykorzystanie Pythona do osiągnięcia naszego celu nie jest trudnym zadaniem. Aby rozpocząć, otwórz notatnik Jupyter

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Wprowadź dane, których potrzebujemy: pandas, matplotlib.pyplot, seaborn i ExponentialSmoothing

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Istnieją inne modele, które prawdopodobnie będą dokładniejsze, ale będą wymagały większej optymalizacji. 

Wprowadzimy również sezonowość_dekompozycję , aby zobaczyć sezonowość i trend. Następnie użyj prognozy internetowej web_forecast.xlsx , aby odczytać nasze dane. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Następnie zmień datę, korzystając z poniższego kodu. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Ustaw indeks naszego zestawu danych na Date i nazwij go ts. Następnie ustaw częstotliwość zbioru danych. Wiemy, że mamy dane dzienne, więc ustawmy częstotliwość jako d jak w dzień i zapiszmy jako ts

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Na koniec wykreśl wykres za pomocą ts.plot ( ).

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Po wykreśleniu powinniśmy zobaczyć dokładnie to, co widzieliśmy w naszym notatniku LuckyTemplates.  

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Aby lepiej zrozumieć składowe naszego aktualnego trendu, możemy użyć następującego kodu.

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Pierwszy model to nasze Actuals . Obok znajduje się linia trendu, którą wybieramy za pomocą funkcji season_decompose(ts).plot(); .

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

To jest trend, który musimy dodać do modelu. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Mamy również sezonowość , którą możemy dodać zarówno do modelu LuckyTemplates, jak i modelu Wygładzanie wykładnicze. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Nasz ostatni model pokazuje Reszty lub te, które są nieoczekiwane w danych, które są reprezentowane przez punkty. Zauważ, że gdy zbliżamy się do końca naszych danych, widzimy, że dzieje się o wiele więcej zdarzeń. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Szkolenie modelu

W naszym modelu musimy trenować nasze dane, po czym zwykle przeprowadzane są testy. Jednak w tym przypadku nie będziemy testować naszego modelu, ponieważ wykorzystamy tylko to, co daje nam model. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

W naszym zbiorze danych jest 298 dni, ale w tym przykładzie potrzebujemy, aby model pamiętał tylko 290 z tych dni. Dzieje się tak, ponieważ nie chcemy przekazywać modelowi wszystkich danych, których nie może się nauczyć i które w końcu po prostu skopiuje. 

Zasadniczo mamy ten zestaw treningowy obejmujący 290 dni z 298. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Następnie użyj ExponentialSmoothing dla naszego modelu. Następnie przekaż zestaw danych szkoleniowych, który wynosi 290 dni, i użyj add (additive) dla naszego trendu, mul (multiplikatywnego) dla naszego sezonu i 7 dla okresów sezonowych. Następnie dopasuj te dane do modelu.

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Trendy addytywne i multiplikatywne

Przyjrzyjmy się szybko trendom addytywnym i multiplikatywnym.

W modelu addytywnym trend dodaje się powoli, podczas gdy w modelu multiplikatywnym rośnie wykładniczo i też sporo się dzieje. Możemy użyć jednego z dwóch, aby uzyskać inny typ prognozy. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Możemy bawić się metodami addytywnymi i multiplikatywnymi, aby zmodyfikować nasze przewidywania. Nasze obecne dane wyraźnie rosną, więc konieczne jest użycie dodatku, ale możemy też spróbować użyć multiplikatywu, aby zobaczyć, co otrzymamy. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Na przykład zmień sezonowość z mul na add

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Uruchom dane i obserwuj, jak zmienia się prognoza.

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Podobnie możemy zmienić trend z add na mul

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

To powinno dać trend multiplikatywny, który jest nieco większy. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Po wypróbowaniu możliwych kombinacji okazało się, że użycie mul zarówno dla trendu, jak i sezonowości daje NAJLEPSZY wynik. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Gdy mamy ten model prognozy, możemy go użyć do prognozowania z 30-dniowym wyprzedzeniem. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Implementacja usługi LuckyTemplates 

Utwórzmy ten sam model prognozowania usługi LuckyTemplates w naszym notesie usługi LuckyTemplates.

W naszej prognozie LuckyTemplates przejdź do Wizualizacje > Analiza > Opcje. Zwróć uwagę, jak ustawiliśmy Długość prognozy na 30 dni. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Zobaczmy, jak możemy bardzo łatwo zaimplementować ten kod w dodatku Power Query. 

Kliknij Przekształć dane. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

W edytorze dodatku Power Query wprowadź dane i dodaj kolumnę niestandardową dla kategorii . Użyj Rzeczywistych , abyśmy mogli później oddzielić Rzeczywiste od Prognoz. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Jeśli przejdziemy do zapytania Forecasts , zobaczymy mniejszy zestaw danych odpowiadający 30 dniom w przyszłość.

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Przeglądanie skryptu Pythona 

Nasz skrypt Pythona zawiera podobne informacje. Najpierw wprowadzamy zestaw danych, zapisujemy go jako df , zmieniamy datę na datetime i ustawiamy częstotliwość na d (dzień). 

Wprowadzamy również nasz model ExponentialSmoothing firmy holtwinters . Bierzemy pierwsze 290 dni jako nasz zestaw treningowy, a następnie dodajemy te dane do modelu. 

W naszym modelu ExponentialSmoothing dodajemy dane treningowe i ustawiamy zarówno trendy, jak i sezonowość na mul (multiplikatywną), a okresy sezonowe na 7 dni. Następnie dopasowujemy nasz model.

Następnie otrzymujemy nową ramkę danych lub tabelę z naszą prognozą. Zresetowaliśmy indeks i upewniliśmy się, że mają nazwy Data i Pageviews , aby odpowiadały tym, które mamy w naszych oryginalnych danych. Na koniec klikamy OK. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Na wyjściu otrzymujemy wszystkie te zmienne w danych. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Przejdź do zastosowanych kroków i kliknij opcję Dodano kolumnę . Spowoduje to otwarcie tabeli z naszymi przewidywanymi wartościami i niestandardową kolumną, której kategorią  jest prognoza .

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

W następnym zapytaniu po prostu dołączamy dwa zestawy danych, w których mamy Rzeczywiste i Prognozy

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Kliknij Zamknij i zastosuj. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python

Model nieco się zmienił, gdy zastosowaliśmy metodę multiplikatywną. 

W porównaniu do LuckyTemplates, możemy z łatwością wykonać prognozę i nieco bardziej zoptymalizować model, zmieniając addytywny charakter trendu i sezonowość w Pythonie . Możemy również dodać te prognozy do naszego rzeczywistego zbioru danych. 

Model prognozowania usługi LuckyTemplates przy użyciu języka Python


Tworzenie prognoz przyszłych w usłudze LuckyTemplates przy użyciu języka DAX
Jak przeprowadzać analizę trendów w usłudze LuckyTemplates przy użyciu języka DAX
Zarządzanie sezonowością w analizie budżetu — zaawansowana usługa LuckyTemplates

Wniosek

W tym blogu omówiliśmy proces tworzenia modelu prognozy w usłudze LuckyTemplates przy użyciu języka Python . Integrując Pythona z LuckyTemplates, możemy uzyskać dostęp do szerokiej gamy narzędzi do analizy i modelowania danych, co pozwala nam tworzyć bardziej zaawansowane prognozy. 

Dzięki umiejętnościom nabytym w tym samouczku możesz teraz tworzyć własne modele prognostyczne w usłudze LuckyTemplates i używać ich do bezpiecznego planowania przyszłości. Pamiętaj, że prognozowanie to proces iteracyjny, więc nie wahaj się eksperymentować z różnymi algorytmami i technikami, aby znaleźć ten, który najlepiej sprawdza się w przypadku Twoich danych, i stale sprawdzaj i aktualizuj swój model w miarę napływu nowych danych.

Wszystkiego najlepszego,

Gaelim Holland


Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.

Pomysły na materializację pamięci podręcznych danych w DAX Studio

Pomysły na materializację pamięci podręcznych danych w DAX Studio

W tym samouczku omówiono idee materializacji pamięci podręcznych danych oraz ich wpływ na wydajność języka DAX w dostarczaniu wyników.

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Raportowanie biznesowe przy użyciu usługi LuckyTemplates

Jeśli do tej pory nadal korzystasz z programu Excel, jest to najlepszy moment, aby zacząć korzystać z usługi LuckyTemplates na potrzeby raportowania biznesowego.

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć

Co to jest brama LuckyTemplates? Wszystko co musisz wiedzieć