Praca z prognozowaniem szeregów czasowych wielu zmiennych
Za pomocą Qlik Predict można trenować modele uczenia maszynowego w celu prognozowania metryk zależnych od czasu. Wykorzystując metody oparte na sieciach neuronowych, modele uczą się i przewidują złożone wzorce obejmujące powiązania czasowe, pogrupowane dane docelowe, cechy historyczne i znane zmienne przyszłe. Aby utworzyć prognozę szeregu czasowego, przygotuj zestaw danych treningowych, użyj go w eksperymencie szeregów czasowych, wdroż model, a następnie utwórz zestawy danych zastosowania, których możesz użyć do generowania prognoz.
Składniki problemu szeregów czasowych
W prognozowaniu 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
-
Kowariaty
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 (krok czasowy). Musisz zdecydować o swoim 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 zastosowania dla problemów szeregów czasowych. Indeks daty określa strukturę obu tych zestawów danych zastosowania — każdy wiersz reprezentuje krok w czasie (lub, w przypadku grup, krok w czasie dla każdej unikalnej grupy).
Po dodaniu zestawu danych treningowych w eksperymencie szeregów czasowych możliwe kolumny indeksu daty są automatycznie identyfikowane i prezentowane jako Wnioski na poziomie kolumny. Możesz je zidentyfikować na podstawie wniosku 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 dostarczą prognozy dla każdej indywidualnej 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 — spożywcze i produkty rolne — Twój model wygeneruje prognozy sprzedaży dla każdej unikalnej kombinacji tych wartości.
Powinieneś włączyć grupy do swojego 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 przez Ciebie grupami.
Możesz skonfigurować grupy do użycia dla każdej wersji eksperymentu. Jeśli nie określisz grup, ale grupy zostaną zidentyfikowane w Twoim zestawie danych treningowych, trening będzie używał grup.
Grupy są identyfikowane przez zduplikowane wartości w kolumnie indeksu daty — na przykład dla daty 14.01.2025 masz dwa rekordy: jeden dla sklepu A i drugi dla sklepu B.
Każda grupa w eksperymencie szeregów czasowych — w tym sam cel — jest uważana za oddzielny szereg czasowy w Twoim zestawie danych. Zobacz Co to jest szereg czasowy?.
Horyzont prognozy
Horyzont prognozy określa, jak daleko w przyszłość chcesz prognozować. Horyzont prognozy składa się z okna prognozy (liczba kroków czasowych, dla których potrzebujesz prognoz) i luki prognozy (opcjonalna liczba kroków czasowych po danych historycznych, dla których nie chcesz prognoz).
Ustawiasz okno prognozy i rozmiar luki 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ć przyszłość. Na przykład, jeśli Twój krok czasowy to jeden dzień, a 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 potrzebujesz prognoz. Ustawienie luki prognozy jest opcjonalne, ponieważ możesz jej potrzebować lub nie. Luka prognozy zaczyna się pod koniec zarejestrowanych historycznych danych treningowych, które dostarczyłeś. 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 takim 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.
Kowariaty
W problemach szeregów czasowych cechy są często nazywane kowariatami. Podobnie jak w innych problemach uczenia maszynowego, kowariaty to inne zmienne, co do których podejrzewasz, że mają wpływ na wynik celu. Każda kowariata jest reprezentowana jako pojedyncza kolumna w Twoim zestawie danych treningowych.
W prognozowaniu szeregów czasowych istnieje kilka typów kowariatów i mają one pewne ważne rozróżnienia:
-
Kowariaty statyczne: Kolumny, które nie zmieniają się w trakcie szeregu czasowego. Kowariaty statyczne mają zastosowanie w eksperymentach szeregów czasowych, w których używane są grupy. Na przykład załóżmy, ż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 10%, a Produkt B w Sklepie 2 ma domyślny rabat 20%, Domyślny Rabat byłby kowariatą statyczną. Oznacza to, że nie zmienia się on w danych dla grupy, w której występuje.
Kowariaty statyczne są wykrywane automatycznie z cech historycznych, które uwzględniasz w eksperymencie. Nie musisz wskazywać, które cechy są kowariatami statycznymi.
-
Kowariaty przeszłe: Zmienne zależne od czasu, które są dostępne tylko w danych historycznych i które zmieniają się w tych danych. Kowariaty przeszłe są wykrywane automatycznie z cech historycznych, które uwzględniasz w eksperymencie. Nie musisz wyraźnie wskazywać, które cechy są kowariatami przeszłymi.
-
Kowariaty przyszłe: Kowariaty przyszłe, znane również jako przyszłe cechy, to zmienne zależne od czasu, dla których będziesz znać przyszłe wartości w ramach horyzontu prognozy. Używając kowariatów przyszłych w treningu, musisz 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 się zasadnie spodziewać. W szczególności masz dostęp do przyszłych wartości dla tej cechy obejmujących wybrany przez Ciebie horyzont prognozy. Definiując przyszłe cechy, musisz dostarczyć dane historyczne oraz przyszłe.
Na przykład dla modelu przewidującego metryki, na które mogą wpływać przyszłe rabaty oferowane przez sklep, możesz 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 koncepcje
Ta sekcja przedstawia koncepcje, które są istotne dla Twojego problemu szeregów czasowych, ale których nie konfigurujesz bezpośrednio w eksperymencie lub wdrożeniu ML. Są to właściwości, które są definiowane przez Twoje dane lub przez inne właściwości, które konfigurujesz dla modelu.
Kroki czasowe
Krok czasowy jest definiowany przez Twój zestaw danych treningowych i jest ważny zarówno dla treningu, jak i prognoz.
W Twoim zestawie danych treningowych krok czasowy to interwał, w którym rejestrowane są dane w Twoim 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 być świadomym kroku czasowego użytego w Twoich danych treningowych. Inne parametry eksperymentu, które definiujesz, takie jak okno prognozy i rozmiar luki prognozy, będą podążać za tym interwałem kroku czasowego.
Po wdrożeniu modelu dane zastosowania, dla których chcesz tworzyć prognozy, będą musiały podążać za tym samym krokiem czasowym, który zdefiniowano w zestawie danych treningowych.
Jakość
Po wybraniu zestawu danych treningowych system wnioskuje o użyty krok czasowy. Jeśli w indeksie daty występują brakujące wartości lub luki, kolumny takie jak cel, grupy i kowariaty mogą być automatycznie interpolowane przez system. Jeśli jednak Twoje dane zawierają interwały czasowe, które są niespójne do tego stopnia, że wykrywane są różne kroki czasowe, dane muszą zostać najpierw naprawione. Na przykład, jeśli masz dane z kilku miesięcy rejestrowane raz dziennie, ale istnieje sekcja, w której dane są konsekwentnie rejestrowane co tydzień, zestaw danych nie może zostać użyty, ponieważ wykryte zostaną wiele kroków czasowych.
Okno zastosowania
Okno zastosowania, czyli okres wsteczny, to część danych treningowych, której algorytm może użyć do dostarczenia prognoz dla określonego przez Ciebie okna prognozy.
Okno zastosowania jest obliczane i ustawiane przez system. Jest mierzone w krokach czasowych. Okno zastosowania jest definiowane przez to, co ustawisz jako okno prognozy i lukę (horyzont prognozy). Rozmiar Twojego okna zastosowania jest pokazany w panelu konfiguracji eksperymentu oraz w Podsumowaniu treningu modelu po uruchomieniu co najmniej jednej wersji eksperymentu. Jest on również pokazany w Schemacie modelu wdrożenia ML podczas tworzenia lub edytowania konfiguracji prognozowania wsadowego.
Okno zastosowania jest identyfikowane automatycznie z Twojej konfiguracji treningu. Aby wygenerować prognozy dla danego okna prognozy, musisz dostarczyć dane historyczne obejmujące co najmniej Twoje okno zastosowania. Jest to dostarczane w Twoim zestawie danych zastosowania. Zobacz Przygotowanie zestawu danych zastosowania.
Maksymalne okno prognozy
Maksymalne okno prognozy jest szacowane podczas konfigurowania eksperymentu szeregów czasowych. Po uruchomieniu wersji treningu maksymalne okno prognozy jest potwierdzane z pewnością. Maksymalne okno prognozy jest wyświetlane jako Szacowane maksymalne prognozowanie lub Maksymalne prognozowanie w sekcji Na podstawie Twoich danych, po otwarciu Cel i typ eksperymentu w panelu konfiguracji eksperymentu. Maksymalne okno prognozy to maksymalna liczba kroków czasowych, dla których możesz generować prognozy, biorąc pod uwagę wybrane okno prognozy, ilość dostarczonych danych historycznych oraz minimalną wielkość próby oczekiwaną przez system. Im więcej danych historycznych dostarczysz, tym dalej w czasie będziesz mógł przewidywać. Jednak aby generować 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 zastosowania podczas prognozowania. Czas odcięcia prognozy to ostatnia data w Twojej próbie, dla której masz wartość docelową. Zasadniczo daty po tym czasie odcięcia to daty, dla których chcesz generować prognozy.
Co to 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. Na przykład załóżmy, że Twój 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 istnieją trzy szeregi czasowe.
Przygotowanie zestawu danych treningowych
Dla prognoz szeregów czasowych wielu zmiennych Twój zestaw danych treningowych musi zawierać następujące kolumny:
-
Indeks daty
-
Kolumna celu
-
Kolumny grup (opcjonalnie)
-
Kolumny cech (opcjonalnie — bez cech trenujesz model prognozowania jednej zmiennej)
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 kowariatów. Kolumna indeksu daty organizuje pomiary oparte na czasie sekwencyjnie wzdłuż spójnego interwału czasowego (krok czasowy).
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 przy prognozie 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 zestawu danych treningowych wielu zmiennych będzie jeden lub więcej zduplikowanych wpisów dla każdego kroku czasowego w zależności od użytych grup. Istnieje elastyczność w kroku czasowym, którego używasz — możesz na przykład rejestrować daty raz lub więcej razy w ujęciu dziennym, tygodniowym, miesięcznym itd.
Brakujące lub niespójnie zarejestrowane wartości w tej kolumnie są czasami akceptowalne, jeśli można je interpolować. Jednak wartości Twojego 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
Twój 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, dostarczasz historyczne wartości docelowe dla każdej możliwej wartości w grupach, które dodasz. Na przykład, jeśli Twoim celem jest Sprzedaż, a 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 kowariatów. Jeśli jednak uwzględnisz kowariaty, dostarcz kolumnę w zestawie danych dla każdej cechy. Dane cech powinny być generalnie danymi zarejestrowanymi historycznie, chyba że dodajesz przyszłe cechy. Kolumny przyszłych cech mogą zawierać zarówno dane historyczne, jak i przyszłe. Powinieneś uwzględniać dane przyszłych cech w zestawie danych treningowych tylko wtedy, gdy masz pewność, że przyszłe wartości tych kolumn będą znane, gdy będziesz tworzyć prognozy.
Śledź, których cech będziesz używać jako przyszłych cech, ponieważ będziesz musiał wybrać je jako takie w konfiguracji treningu.
Wolumen danych
Twój zestaw danych musi zawierać wystarczającą liczbę rekordów — wolumen danych jest określany przez zakres czasu współdzielony przez wszystkie grupy. Tylko dane z tego nakładającego się okresu są używane do trenowania eksperymentu.
Wolumen Twoich danych historycznych odgrywa rolę w określaniu, jak daleko w przyszłość możesz przewidywać. Twoje pożądane okno prognozy również wpływa na to, ile danych historycznych potrzebujesz.
Generalnie więcej danych historycznych jest lepsze niż mniej. Jednak dane muszą być dobrej jakości i wychwytywać pożądane trendy. Jeśli dane dostarczają nieistotnych informacji lub zawierają nieścisłości, nie jest pomocne posiadanie ich w modelu. Rozważ równowagę między optymalizacją wolumenu a utrzymaniem jakości i istotności.
Przykłady
Przygotowanie zestawu danych zastosowania
Po wdrożeniu modelu szeregów czasowych musisz opracować zestaw danych zastosowania, dla którego będą tworzone prognozy.
Zestaw danych zastosowania — Wymagania i walidacja
Dla modeli szeregów czasowych zestaw danych zastosowania 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.
-
Tyle samo lub więcej rekordów danych historycznych (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 uwzględnij 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 prognoz z modeli prognozowania 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 zastosowania, który jest używany do generowania prognoz z modelem prognozowania szeregów czasowych.
