Praca z prognozowaniem wielowymiarowych szeregów czasowych
Dzięki Qlik Predict możesz trenować modele uczenia maszynowego do prognozowania metryk specyficznych dla czasu. Korzystając z metod opartych na sieciach neuronowych, modele uczą się i przewidują złożone wzorce obejmujące powiązania specyficzne dla czasu, pogrupowane dane docelowe, historyczne cechy i znane przyszłe zmienne. Aby utworzyć prognozę szeregów czasowych, przygotuj zestaw danych treningowych, użyj go w eksperymencie szeregów czasowych, wdróż model, a następnie utwórz zestawy danych aplikacyjnych, których możesz użyć do generowania prognoz.
Składniki problemu szeregów czasowych
W przypadku prognozowania szeregów czasowych celem jest przewidywanie wartości docelowych dla określonych dat w przyszłości. Na przykład możesz chcieć przewidzieć sprzedaż na następny tydzień, miesiąc lub kwartał.
Podczas opracowywania problemu szeregów czasowych zdefiniuj następujące składniki:
-
Cel i grupy
-
Indeks daty
-
Horyzont prognozy
-
Zmienne towarzyszące
Uproszczona ilustracja przedstawiająca składniki problemu prognozowania szeregów czasowych w Qlik Predict.

Cel
Podobnie jak w przypadku innych typów eksperymentów, cel to kolumna, dla której model ma przewidywać przyszłe wartości. W przypadku eksperymentów szeregów czasowych cel musi zawierać dane liczbowe — na przykład sprzedaż lub zapasy.
Jeśli używasz grup w prognozie szeregów czasowych, modele będą przewidywać jedną wartość docelową na grupę na krok czasowy w oknie prognozy. Jeśli nie używasz grup, wytrenowane modele będą przewidywać jedną wartość docelową dla każdego kroku czasowego w oknie prognozy.
Indeks daty
Indeks daty śledzi metryki szeregów czasowych w ciągłym przedziale czasu (kroku czasowym). Musisz zdecydować o kroku czasowym na wczesnym etapie: jak często musisz przewidywać przyszłe wartości?
W szczególności indeks daty to kolumna, która pojawia się w zestawach danych treningowych i aplikacyjnych dla problemów szeregów czasowych. Indeks daty określa strukturę obu tych zestawów danych aplikacyjnych — każdy wiersz reprezentuje krok w czasie (lub, w przypadku grup, krok w czasie dla każdego unikalnego grupowania).
Po dodaniu zestawu danych treningowych w eksperymencie szeregów czasowych możliwe kolumny indeksu daty są automatycznie identyfikowane i prezentowane jako Spostrzeżenia na poziomie kolumny. Można je zidentyfikować na podstawie spostrzeżenia Możliwy indeks daty w widoku schematu.
Grupy
Grupy to cechy zawierające informacje kategoryczne, dla których chcesz generować prognozy oddzielnie. Klasyczne przykłady grup obejmują numer sklepu i produkt, które mogły zostać użyte do uporządkowania danych dla celu, takiego jak sprzedaż. Wybierając numer sklepu i typ produktu jako grupy, modele szeregów czasowych będą dostarczać prognozy dla każdej pojedynczej wartości w tych kolumnach. Na przykład, przy celu sprzedaży, jeśli masz trzy numery sklepów — 1, 2 i 3 — oraz dwa typy produktów — artykuły spożywcze i produkty rolne — Twój model wygeneruje prognozy sprzedaży dla każdej unikalnej kombinacji tych wartości.
Należy włączyć grupy do problemu szeregów czasowych, jeśli masz dane i potrzebujesz indywidualnych prognoz według kategorii. Kolejną zaletą grup jest to, że modele mogą uczyć się globalnie, lepiej rozumiejąc wzorce istniejące między różnymi zdefiniowanymi grupowaniami.
Możesz skonfigurować grupy do użycia dla każdej wersji eksperymentu. Jeśli nie określisz grup, ale grupy zostaną zidentyfikowane w zestawie danych treningowych, trening użyje grup.
Grupy są identyfikowane przez zduplikowane wartości w kolumnie indeksu daty — na przykład dla daty 14.01.2025 r. masz dwa rekordy: jeden dla sklepu A, a drugi dla sklepu B.
Każda grupa w eksperymencie szeregów czasowych — w tym sam cel — jest uważana za oddzielny szereg czasowy w zestawie danych. Zobacz Czym jest szereg czasowy?.
Grupy podstawowe i drugorzędne
W przypadku problemów szeregów czasowych z dwiema kolumnami grup, jedna grupa jest grupą podstawową, a druga grupą drugorzędną. Przykłady można znaleźć w Przygotowanie zestawu danych treningowych, Przykład zestawu danych treningowych — dwie grupy oraz Przykład zestawu danych zastosowania — dwie grupy.
Podstawowe grupowanie definiuje niezależne szeregi czasowe. Na przykład każdy sklep staje się własnym, oddzielnym szeregiem czasowym, co pozwala modelowi uczyć się różnych zachowań i wzorców w poszczególnych sklepach.
Drugorzędne grupowanie jest traktowane inaczej. Zamiast tworzyć w pełni oddzielne serie, system przestawia te wartości na dodatkowe cechy (zmienne towarzyszące), umożliwiając powiązanym podseriom dostarczanie sobie nawzajem informacji kontekstowych.
Zazwyczaj nie musisz wiedzieć, która grupa jest podstawowa, a która drugorzędna, chociaż opcjonalnie możesz wybrać grupę podstawową w swoim eksperymencie. Pewne kwestie mają zastosowanie do przewidywania za pomocą wdrożonych modeli szeregów czasowych — zobacz Przygotowanie zestawu danych aplikacyjnych.
Wszystkie grupy podstawowe powinny współdzielić te same grupy drugorzędne. Na przykład, jeśli sklepy są grupami podstawowymi, a produkty grupami drugorzędnymi, każdy sklep powinien zawierać ten sam zestaw produktów. Brakujące grupy drugorzędne doprowadziłyby do niespójnych wymiarów cech w szeregach czasowych.
Jeśli spodziewasz się, że wartości grupy drugorzędnej nie będą zgodne z wartościami grupy podstawowej w czasie przewidywania, jednym z możliwych podejść jest połączenie oryginalnych wartości grupy podstawowej i drugorzędnej w nową kolumnę grupowania i użycie jej jako grupy podstawowej podczas ponownego trenowania modelu. W tej konfiguracji model nie zależy już od grup drugorzędnych, ale skorelowane informacje między grupami mogą zostać zredukowane.
Horyzont prognozy
Horyzont prognozy określa, jak daleko w przyszłość chcesz prognozować. Horyzont prognozy składa się z okna prognozy (liczby kroków czasowych, dla których potrzebujesz prognoz) i luki prognozy (opcjonalnej liczby kroków czasowych po danych historycznych, dla których nie chcesz prognoz).
Okno prognozy i rozmiar luki ustawia się podczas konfigurowania wersji eksperymentu. Wartości te są używane zarówno podczas trenowania modelu, jak i podczas generowania prognoz z modeli wdrożonych jako wdrożenia ML.
Okno prognozy to liczba kroków czasowych, dla których chcesz przewidywać w przyszłość. Na przykład, jeśli Twój krok czasowy to jeden dzień i chcesz prognozować sprzedaż na następne dwa tygodnie, ustawisz okno prognozy na 14.
Luka prognozy to ilość czasu w przyszłości, dla której nie wymagasz prognoz. Ustawienie luki prognozy jest opcjonalne, ponieważ możesz jej potrzebować lub nie. Luka prognozy zaczyna się na końcu dostarczonych zarejestrowanych historycznych danych treningowych. Okno prognozy zaczyna się tam, gdzie kończy się luka prognozy.
Na przykład możesz chcieć przewidzieć przyszłą sprzedaż, ale interesuje Cię tylko przyszła sprzedaż dla dat późniejszych niż tydzień po zakończeniu danych wejściowych. W tym przypadku, przy kroku czasowym wynoszącym dni, możesz ustawić rozmiar luki prognozy na siedem kroków czasowych.
Wybrane okno prognozy, oprócz ilości posiadanych danych treningowych, ogranicza to, jak daleko w przyszłość możesz prognozować. Aby uzyskać więcej informacji, zobacz Maksymalne okno prognozy.
Zmienne towarzyszące
W problemach szeregów czasowych cechy są często nazywane zmiennymi towarzyszącymi. Podobnie jak w innych problemach uczenia maszynowego, zmienne towarzyszące to inne zmienne, o których podejrzewasz, że mają wpływ na wynik celu. Każda zmienna towarzysząca jest reprezentowana jako pojedyncza kolumna w zestawie danych treningowych.
W prognozowaniu szeregów czasowych istnieje kilka typów zmiennych towarzyszących i mają one pewne ważne różnice:
-
Statyczne zmienne towarzyszące: Kolumny, które nie zmieniają się w trakcie szeregu czasowego. Statyczne zmienne towarzyszące mają zastosowanie w eksperymentach szeregów czasowych, w których używane są grupy. Załóżmy na przykład, że masz grupy dla Produktu i Numeru sklepu, a istnieje cecha Domyślny rabat. Jeśli Produkt A w Sklepie 1 ma domyślny rabat w wysokości 10%, a Produkt B w Sklepie 2 ma domyślny rabat w wysokości 20%, Domyślny rabat byłby statyczną zmienną towarzyszącą. Oznacza to, że nie zmienia się w obrębie danych dla grupy, w której występuje.
Statyczne zmienne towarzyszące są wykrywane automatycznie z historycznych cech uwzględnionych w eksperymencie. Nie musisz wskazywać, które cechy są statycznymi zmiennymi towarzyszącymi.
-
Przeszłe zmienne towarzyszące: Zmienne zależne od czasu, które są dostępne tylko w danych historycznych i które różnią się w tych danych. Przeszłe zmienne towarzyszące są wykrywane automatycznie z historycznych cech uwzględnionych w eksperymencie. Nie musisz jawnie wskazywać, które cechy są przeszłymi zmiennymi towarzyszącymi.
-
Przyszłe zmienne towarzyszące: Przyszłe zmienne towarzyszące, znane również jako przyszłe cechy, to zmienne zależne od czasu, dla których będziesz znać przyszłe wartości w horyzoncie prognozy. W przypadku korzystania z przyszłych zmiennych towarzyszących w treningu należy wskazać je jako przyszłe cechy w konfiguracji treningu.
Przyszłe cechy
Dzięki przyszłym cechom możesz dostarczyć swoim modelom dodatkowe dane o przyszłych informacjach, które już znasz lub których możesz racjonalnie oczekiwać. W szczególności masz dostęp do przyszłych wartości dla tej cechy obejmujących wybrany horyzont prognozy. Definiując przyszłe cechy, musisz podać dane historyczne, a także przyszłe.
Na przykład w przypadku modelu przewidującego metryki, na które mogą mieć wpływ przyszłe rabaty oferowane przez sklep, można uwzględnić historycznie zaobserwowane rabaty, a także rabaty dla przyszłych okresów w oknie prognozy. Innymi przykładami przyszłych cech mogą być informacje o pogodzie lub kalendarzu.
Inne ważne pojęcia
W tej sekcji opisano pojęcia, które są istotne dla problemu szeregów czasowych, ale których nie konfiguruje się bezpośrednio w eksperymencie lub wdrożeniu ML. Są to właściwości zdefiniowane przez dane lub przez inne właściwości skonfigurowane dla modelu.
Kroki czasowe
Krok czasowy jest definiowany przez zestaw danych treningowych i jest ważny zarówno dla treningu, jak i prognoz.
W zestawie danych treningowych krok czasowy to interwał, w którym rejestrowane są dane w indeksie daty. Na przykład krok czasowy może być dzienny, co godzinę, co minutę lub co sekundę. Najmniejszy wykryty krok czasowy to milisekundy.
Ważne jest, aby zdawać sobie sprawę z kroku czasowego używanego w danych treningowych. Inne zdefiniowane parametry eksperymentu, takie jak okno prognozy i rozmiar luki prognozy, będą podążać za tym interwałem kroku czasowego.
Po wdrożeniu modelu dane aplikacyjne, dla których chcesz utworzyć prognozy, będą musiały podążać za tym samym krokiem czasowym, co zdefiniowano w zestawie danych treningowych.
Jakość
Po wybraniu zestawu danych treningowych system wnioskuje o używanym kroku czasowym. Jeśli w indeksie daty brakuje pewnych wartości lub występują luki, kolumny takie jak cel, grupy i zmienne towarzyszące mogą być automatycznie interpolowane przez system. Jeśli jednak dane zawierają przedziały czasowe, które są niespójne do tego stopnia, że wykrywane są różne kroki czasowe, dane należy najpierw naprawić. Na przykład, jeśli masz kilka miesięcy danych rejestrowanych raz dziennie, ale istnieje sekcja, w której dane są konsekwentnie rejestrowane co tydzień, zestawu danych nie można użyć, ponieważ zostanie wykrytych wiele kroków czasowych.
Okno aplikacyjne
Okno aplikacyjne, czyli okres wsteczny, to część danych treningowych, której algorytm może użyć do dostarczenia prognoz dla określonego okna prognozy.
Okno aplikacyjne jest obliczane i ustawiane przez system. Jest mierzone w krokach czasowych. Okno aplikacyjne jest definiowane przez to, co ustawisz jako okno prognozy i lukę (horyzont prognozy). Rozmiar okna aplikacyjnego jest wyświetlany w panelu konfiguracji eksperymentu i w Podsumowaniu trenowania modelu po uruchomieniu co najmniej jednej wersji eksperymentu. Jest on również wyświetlany w Schemacie modelu wdrożenia ML podczas tworzenia lub edytowania konfiguracji prognozowania wsadowego.
Okno aplikacyjne jest identyfikowane automatycznie na podstawie konfiguracji treningu. Aby wygenerować prognozy dla danego okna prognozy, musisz podać dane historyczne obejmujące co najmniej okno aplikacyjne. Są one podane w zestawie danych aplikacyjnych. Zobacz Przygotowanie zestawu danych aplikacyjnych.
Maksymalne okno prognozy
Maksymalne okno prognozy jest szacowane podczas konfigurowania eksperymentu szeregów czasowych. Po uruchomieniu wersji treningu maksymalne okno prognozy jest potwierdzane z całą pewnością. Maksymalne okno prognozy jest wyświetlane jako Szacowana maksymalna prognoza lub Maksymalna prognoza w sekcji Na podstawie Twoich danych po otwarciu opcji Cel i typ eksperymentu w panelu konfiguracji eksperymentu. Maksymalne okno prognozy to maksymalna liczba kroków czasowych, dla których można wygenerować prognozy, biorąc pod uwagę wybrane okno prognozy, ilość dostarczonych danych historycznych i minimalny rozmiar próby oczekiwany przez system. Im więcej danych historycznych podasz, tym dalej w czasie będziesz w stanie przewidywać. Jednak aby wygenerować wiarygodne prognozy, ważne jest, aby wybrać rozsądne okno prognozy.
Maksymalne okno prognozy może wynosić do 180 kroków czasowych.
Czas odcięcia prognozy
Czas odcięcia prognozy jest szczególnie ważny podczas definiowania zestawu danych aplikacyjnych podczas prognozowania. Czas odcięcia prognozy to ostatnia data w próbie, dla której masz wartość docelową. Zasadniczo daty po tym czasie odcięcia to daty, dla których chcesz wygenerować prognozy.
Czym jest szereg czasowy?
W prognozowaniu szeregów czasowych Qlik Predict każda grupa — w tym sam cel — jest uważana za oddzielny szereg czasowy w zestawie danych treningowych. Załóżmy na przykład, że zestaw danych treningowych zawiera metryki sprzedaży. Te metryki sprzedaży są zdefiniowane dla każdego sklepu i typu produktu. Z kolumnami Sklep i Typ produktu zdefiniowanymi jako grupy, w zestawie danych treningowych znajdują się trzy szeregi czasowe.
Przygotowanie zestawu danych treningowych
W przypadku prognoz wielowymiarowych szeregów czasowych zestaw danych treningowych musi zawierać następujące kolumny:
-
Indeks daty
-
Kolumna celu
-
Kolumny grup (opcjonalnie)
-
Kolumny cech (opcjonalnie — bez cech trenujesz jednowymiarowy model prognozowania)
Ilustracje przedstawiające wymagane kolumny i dane dla zestawów danych treningowych szeregów czasowych. Opisano scenariusze bez grup, z jedną grupą i z dwiema grupami.

Diagram liniowy przedstawiający potrzebne składniki i oś czasu zestawu danych treningowych dla modelu prognozowania szeregów czasowych.

Kolumna indeksu daty
Potrzebujesz indeksu daty zawierającego pełne daty lub znaczniki czasu. Ta kolumna to chronologiczny indeks, wzdłuż którego śledzone są metryki celu i zmiennych towarzyszących. Kolumna indeksu daty organizuje pomiary oparte na czasie sekwencyjnie wzdłuż spójnego przedziału czasu (kroku czasowego).
Kolumna indeksu daty jest zorganizowana w następujący sposób, w zależności od tego, czy używasz grup, czy nie:
-
Brak grup: Pojedynczy rekord dla każdego kroku czasowego. Na przykład w przypadku prognozy dziennej każdy wiersz reprezentuje jeden dzień.
-
Z grupami: Jeden lub więcej zduplikowanych wpisów dla każdego kroku czasowego w zależności od użytych grup.
W przypadku wielowymiarowego zestawu danych treningowych dla każdego kroku czasowego będzie jeden lub więcej zduplikowanych wpisów w zależności od użytych grup. Istnieje elastyczność w używanym kroku czasowym — możesz na przykład rejestrować daty raz lub więcej razy dziennie, co tydzień lub co miesiąc i tak dalej.
Brakujące lub niespójnie zarejestrowane wartości w tej kolumnie są czasami dopuszczalne, jeśli można je interpolować. Jednak wartości indeksu daty nie mogą zawierać wielu różnych kroków czasowych. Na przykład, jeśli interwał zostanie określony jako raz dziennie, ale w pewnym momencie zostanie zidentyfikowany interwał dwa razy dziennie, podczas treningu wystąpi błąd.
Kolumna celu i kolumny grup
Zestaw danych musi mieć kolumnę celu zawierającą metrykę liczbową, którą chcesz prognozować. Częstym przykładem jest sprzedaż.
Jeśli używasz grup, podajesz historyczne wartości docelowe dla każdej możliwej wartości w dodanych grupach. Na przykład, jeśli Twoim celem jest Sprzedaż i dodasz grupę Numer sklepu, która zawiera dane dla Sklepu A i Sklepu B, Twój zestaw danych musi zawierać dwa oddzielne rekordy dla każdego kroku czasowego: jeden z wartością sprzedaży dla Sklepu A, a drugi z wartością sprzedaży dla Sklepu B.
Kolumny cech
Możesz wytrenować model szeregów czasowych bez żadnych zmiennych towarzyszących. Jeśli jednak uwzględnisz zmienne towarzyszące, podaj kolumnę w zestawie danych dla każdej cechy. Dane cech powinny być na ogół historycznie zarejestrowanymi danymi, chyba że dodajesz przyszłe cechy. Kolumny przyszłych cech mogą zawierać zarówno dane historyczne, jak i przyszłe. Dane przyszłych cech należy uwzględniać w zestawie danych treningowych tylko wtedy, gdy masz pewność, że przyszłe wartości tych kolumn będą znane podczas tworzenia prognoz.
Śledź, których cech użyjesz jako przyszłych cech, ponieważ będziesz musiał wybrać je jako takie w konfiguracji treningu.
Wolumen danych
Zestaw danych musi zawierać wystarczającą liczbę rekordów — wolumen danych jest określany przez zakres czasu współdzielony przez wszystkie grupy. Do trenowania eksperymentu używane są tylko dane z tego nakładającego się okresu.
Wolumen danych historycznych odgrywa rolę w określaniu, jak daleko w przyszłość możesz przewidywać. Pożądane okno prognozy wpływa również na to, ile danych historycznych potrzebujesz.
Ogólnie rzecz biorąc, więcej danych historycznych jest lepsze niż mniej. Jednak dane muszą być dobrej jakości i uchwycić pożądane trendy. Jeśli dane dostarczają nieistotnych informacji lub zawierają nieścisłości, posiadanie ich w modelu nie jest pomocne. Rozważ równowagę między optymalizacją wolumenu a utrzymaniem jakości i trafności.
Przykłady
Przygotowanie zestawu danych aplikacyjnych
Po wdrożeniu modelu szeregów czasowych musisz opracować zestaw danych aplikacyjnych, dla którego będą dokonywane prognozy.
Zestaw danych aplikacyjnych — Wymagania i walidacja
W przypadku modeli szeregów czasowych zestaw danych aplikacyjnych wymaga:
-
Kolumny i nagłówki kolumn dla wszystkich kolumn uwzględnionych w zbiorze danych treningowych.
-
Taki sam krok czasowy jak w zbiorze danych treningowych.
-
Wszystkie grupy i wartości grup, które były obecne w zbiorze danych treningowych.
InformacjaJeśli w zbiorze danych zastosowania obecne są nowe wartości grup (które nie były obecne w danych treningowych), predykcje dla tych wierszy nie są generowane. Jeśli wymagane są predykcje dla tych nowych wartości grup, zaleca się ponowne wytrenowanie modelu przy użyciu danych treningowych, które je uwzględniają.InformacjaW czasie predykcji lub w zbiorze danych zastosowania brakujące wartości grup są obsługiwane w następujący sposób:
-
Brak wartości grupy podstawowej — na których trenowany jest model — jest dozwolony.
-
Brakujące wartości grupy dodatkowej nie są dozwolone. Predykcja kończy się błędem.
Najlepiej jest gromadzić i dostarczać wszystkie dane grupy dodatkowej podczas predykcji, gdy tylko jest to możliwe. Jeśli jednak przewiduje się, że grup dodatkowych będzie brakować głównie w czasie predykcji, jednym z możliwych rozwiązań jest całkowite unikanie korzystania z grup dodatkowych.
Zamiast tego można połączyć oryginalne wartości grupy podstawowej i dodatkowej w jedną nową kolumnę grupującą, użyć jej jako nowej grupy podstawowej i ponownie wytrenować model w oparciu o tę strukturę. W tej konfiguracji nowy model zależy tylko od nowo wprowadzonych grup podstawowych.
Kompromis polega na tym, że można utracić część skorelowanych informacji między grupami, ponieważ będą one teraz traktowane jako w pełni oddzielne szeregi czasowe, a nie powiązane podszeregi dostarczające sobie nawzajem informacji kontekstowych.
-
-
Tyle samo lub więcej historycznych rekordów danych (na cel i grupę) przed czasem odcięcia prognozy, co liczba rekordów w oknie zastosowania dla modelu. Muszą to być pełne rekordy zawierające historycznie zaobserwowaną datę lub znacznik czasu, cel oraz wartości zmiennych towarzyszących. Okno zastosowania jest określane przez okno prognozy i lukę skonfigurowane podczas trenowania — im dalej w przyszłość musisz przewidywać, tym więcej danych historycznych potrzebujesz w zbiorze danych zastosowania, aby uruchomić predykcje.
-
Rekordy dla wszystkich przyszłych kroków czasowych w horyzoncie prognozy. W przypadku tych przyszłych rekordów należy uwzględnić tylko wartości dla kolumny indeksu daty, a także wszelkie przyszłe cechy. Pozostaw wartości dla pozostałych kolumn puste.
Ilustracje przedstawiające wymagane kolumny i dane dla zestawów danych zastosowania używanych do generowania predykcji z modeli prognozowania szeregów czasowych. Opisano scenariusze bez grup, z jedną grupą i z dwiema grupami.

Schemat liniowy przedstawiający potrzebne komponenty i oś czasu zestawu danych zastosowania, który jest używany do generowania predykcji za pomocą modelu prognozowania szeregów czasowych.
