Algorytm czas Microsoft serii techniczne

Microsoft Algorytm szeregu czasowego obejmuje dwa oddzielne algorytmy:

  • Algorytm ARTXP, który został wprowadzony w SQL Server 2005, jest zoptymalizowany pod kątem przewidywaniu następna wartość prawdopodobne w serii.

  • Algorytm ARIMA został dodany w SQL Server 2008 Aby zwiększyć dokładność w długoterminowe przewidywanie.

Domyślnie Usługi Analysis Services każdy algorytm oddzielnie do szkolić modelu i następnie miesza wyniki dają najlepsze przewidywanie dotyczące zmienna liczba prognoz.Można także użyć tylko jednej algorytmy, w oparciu o wymogi dotyczące danych i przewidywanie.Począwszy od SQL Server 2008 Enterprise, można również dostosować Punkt odcięcia steruje mieszania algorytmy podczas przewidywanie.

Ten temat zawiera dodatkowe informacje dotyczące sposobu implementacji każdy algorytm i jak dostosować algorytm przez ustawienie parametrów dopracować wyniki analizy i przewidywanie.

Implementacja algorytmów serii czasu

MicrosoftBadań opracowane oryginalnego algorytmu ARTXP, używany w programie SQL Server 2005, oparcie wykonania na Microsoft algorytm drzewa decyzji.Dlatego algorytmu ARTXP można opisać jako wzór drzewa autoregressive reprezentującego czas okresowe serii danych.Ten algorytm dotyczy zmienna liczba w przeszłości elements każdego bieżącym element , przewidywane.Nazwa ARTXP pochodzi z fakt zastosowana metoda drzewa autoregressive (algorytm ART) do wielu stanów uprzedniego nieznany.Uzyskać szczegółowy opis algorytmu ARTXP, Autoregressive drzewa modeli dla szeregu czasowego analizy.

Algorytm ARIMA została dodana do algorytm serii czasowych firmy Microsoft programu SQL Server 2008 w celu poprawy przewidywanie długoterminowe.Jest implementacja procesu przetwarzania autoregressive zintegrowane ze średnich opisana przez pole i Jenkins.Metodologia ARIMA czyni w celu określenia zależności w obserwacje dokonane sekwencyjnie w czasi można dołączyć losowe wstrząsy jako części modelu.Metoda ARIMA obsługuje również multiplikatywne wahań sezonowych.Czytelnikom, którzy chcą dowiedzieć się więcej o algorytm ARIMA są zachęcani do odczytu seminal pracy przez pole i Jenkins; Ta sekcja jest przeznaczona do podać szczegóły dotyczące sposobu metodologii ARIMA została zaimplementowana w algorytm serii czasowych firmy Microsoft.

Domyślnie algorytm serii czasowych firmy Microsoft używane obie metody, ARTXP i ARIMA i miesza wyniki, aby zwiększyć dokładność przewidywanie.Jeśli chcesz użyć określonej metoda, zestaw parametry algorytmu tylko ARTXP lub tylko ARIMA lub kontrolować sposób łączenia wyniki algorytmów.Należy zauważyć, że przewidywanie krzyżowych obsługuje algorytmu ARTXP, ale nie obsługuje algorytmu ARIMA.Dlatego przewidywanie krzyżowych jest dostępne tylko wtedy, gdy używasz mieszania algorytmów lub skonfigurować model do używania tylko ARTXP.

Opis kolejności różnica ARIMA

W tej sekcji wprowadza niektóre terminologii potrzebne do zrozumienia modelu ARIMA i omówiono określonej implementacji różnicowy w algorytm serii czasowych firmy Microsoft.Pełne wyjaśnienie tych terminów i pojęć zaleca się przegląd pole i Jenkins.

  • A termin jest składnikiem równania matematyczne.Na przykład określenie w równaniu wielomianowej może zawierać kombinacji zmiennych i stałych.

  • Formuła ARIMA w algorytm serii czasowych firmy Microsoft używa zarówno autoregressive i oredniej ruchomej warunki.

  • Modele serii czasu może być stacjonarnych lub nonstationary.Stacjonarne modele są przywrócić średniej, chociaż może mieć cykli, dlatego nonstationary modeli nie ma fokusu równowagi i podlegają większe odchylenie lub zmiana wprowadzona przez wstrząsy, lub zmiennych zewnętrznych.

  • Celem różnicowy jest czas serii stabilizację i stają się postoju.

  • Zamówienia różnica reprezentuje liczbę czaswykonanej dla różnicy pomiędzy wartościami s czas serii.

algorytm serii czasowych firmy Microsoft Działa przez pobranie wartości w serii danych i próby dopasowanie danych na wzorzec.Jeśli dane serii nie są już stacjonarnych, algorytm dotyczy zamówienia różnicy.Każdy wzrost w kolejności od różnicy sprawia, że czas więcej stacjonarnych serii.

Na przykład, jeśli masz czas serii (z1 z2, …, zn) i wykonywania obliczeń przy użyciu jednego zamówienia różnica, uzyskać nową serię (y1 i y2 …., yn-1), gdzie yi = zi + 1- zi.W przypadku zamówienia różnica 2 algorytm generuje innej serii (x 1, x 2, …, xn 2), w zależności od serii y, która pochodzi z równania pierwszego zamówienia.Poprawną kwotę różnicowy zależy od danych.Pojedynczego zamówienia różnicowych jest najczęściej w modelach, które przedstawiają stałą trend; drugiego zamówienia różnicowych można wskazać trend, która zależy od czas.

Domyślnie używany zamówienia różnica w algorytm serii czasowych firmy Microsoft jest -1, co oznacza algorytm automatycznie wykryje najlepszy dla zamówienia różnicy.Zazwyczaj najlepiej wartość jest 1 (różnicowych jest wymagany), ale w niektórych okolicznościach algorytm zwiększy tej wartości do maksymalnej wysokości 2.

algorytm serii czasowych firmy Microsoft Określa optymalnej kolejności różnica ARIMA przy użyciu wartości autoregression.Algorytm sprawdza wartości AR i ustawia parametru hidden, ARIMA_AR_ORDER, reprezentujące zamówienie warunki AR.Ten parametr ukryte, ARIMA_AR_ORDER, ma zakres wartości od -1 do 8.Wartość domyślną -1 algorytm automatycznie wybierz kolejność właściwe różnica.

W każdym przypadku, gdy wartość ARIMA_AR_ORDER jest większa niż 1, algorytm mnoży czas serii przez wielomianowej termin.Jeśli jeden warunek wielomianowej formuły do głównego 1 lub zbliżona do 1, algorytm próbę zachowania stabilności modelu usuwając termin i zwiększenie zamówienia różnicy przez 1.Kolejność różnica jest już maksymalna, termin zostanie usunięty, a nie zmienia kolejność różnicy.

Na przykład jeśli wartość AR = 2, wynikowy AR wielomianowej termin może wyglądać następująco: 1 – 1.4B + .45b ^ 2 = (1-.9b) (1 - 0.5B).Uwaga określenie (1-.9B) posiada głównym około 0,9.Algorytm eliminuje ten termin z wielomianową formuły, ale nie można zwiększyć zamówienia różnicy przez jeden, ponieważ jest on już przy maksymalnej wartości 2.

Warto zauważyć, że jedyny sposób, który można życie zmiany w kolejności różnica jest użycie nieobsługiwany parametr ARIMA_DIFFERENCE_ORDER.Ten parametr ukryte kontroluje liczbę czass algorytm wykonuje różnicowych na czas serii i zestaw, wpisując parametr algorytmu niestandardowe.Jednak nie zaleca zmienić tę wartość, o ile nie są przygotowane do eksperymentowania i zaznajomiony z zaangażowanych obliczeń.Należy również zauważyć, że obecnie nie istnieje mechanizm, w tym ukryte parametry pozwalają określić próg, jaką wzrost różnica zamówienia zostanie wywołany.

Wreszcie należy zauważyć, że formuła opisanych powyżej jest przypadek uproszczonej, nie wskazówki sezonowość.Jeśli podano wskazówki sezonowość następnie oddzielne termin wielomianowej AR dodaje się po lewej stronie równanie każdego wskazówka sezonowość i samego strategii jest stosowany do wyeliminowania terminy, które mogą zdestabilizować serii differenced.

Dostosowywanie czasu Microsoft algorytm serii

Microsoft Algorytm szeregu czasowego obsługuje kilka parametrów, które wpływają na zachowanie, wydajność i dokładność wyniku model wyszukiwania.

Wykrywanie sezonowość

Both algorithms support detection of seasonality or periodicity.Usługi Analysis Services uses Fast Fourier transformation to detect seasonality before training.

Aby osiągnąć najlepsze wyniki, można kontrolować sezonowość wykrywania przez ustawienie parametrów algorytmu.Zmieniając wartość AUTODETECT_SEASONALITY, mogą mieć wpływ liczba możliwych czas segmenty, które są generowane.Ustawiając wartość lub wiele wartości dla PERIODICITY_HINT, zapewniają algorytmu, informacje o znanych powtarzanej okresów i zwiększyć dokładność wykrywania.

Ostrzeżenie

Algorytmy zarówno ARTxp, jak i ARIMA są wrażliwe na sezonowość wskazówek.Dlatego zapewniając niewłaściwy wskazówka może niekorzystnie wpłynąć na wyniki.

Mieszanie algorytmy

Domyślnie Usługi Analysis Services łączy i jednakowo przeprowadzi algorytmów.Jednakże, począwszy od SQL Server 2008 Enterprise, można dostosować mieszania wyniki, wybierając opcję MIESZANEJ i ustawiając parametr tej wagi wyników kierunku krótkim lub długoterminowe przewidywanie.

Chcesz użyć przewidywanie krzyżowych, należy użyć ARTXP lub opcję MIESZANEJ, ponieważ ARIMA nie obsługuje przewidywanie krzyżowych.

Do sterowania wybór algorytmu, który zestaw FORECAST_METHOD parametru.Domyślnie FORECAST_METHOD parametr jest zestaw do mieszane, i Usługi Analysis Services używa Oba algorytmy, a następnie przeprowadzi ich wartości, aby zmaksymalizować mocnych każdy algorytm.Można jednak zestaw FORECAST_METHOD ARTXP, jeśli chcesz używać jedynie algorytmu ARTxp lub ARIMA, jeśli chcesz używać tylko algorytm ARIMA.

Począwszy od SQL Server 2008 Enterprise, można także dostosować sposób Usługi Analysis Services miesza kombinacji algorytmów ARIMA i ARTXP. Można kontrolować zarówno punktu początkowego mieszaniny i stopień zmian przez ustawienie PREDICTION_SMOOTHING parametr:

  • Jeśli użytkownik zestaw PREDICTION_SMOOTHING 0, staje się model czystego ARTxp.

  • Jeśli użytkownik zestaw PREDICTION_SMOOTHING 1, staje się model czystego ARIMA.

  • Jeśli użytkownik set PREDICTION_SMOOTHING wartości między 0 i 1, model przeprowadzi algorytm ARTxp jako wykładniczy zmniejszającej funkcja przewidywanie kroki.W tym samym czas, model również przeprowadzi algorytm ARIMA jako uzupełnienie 1 wagi ARTxp.Model używa normalizacji i stabilizacji stała wygładzania krzywych.

Ogólnie, jeśli przewidywania maksymalnie 5 czas plasterków ARTxp prawie zawsze jest lepszym wyborem.Jednakże, jak możesz zwiększyć liczbę czas plasterków do przewidywania ARIMA zazwyczaj wykonuje lepiej.

Poniższy diagram ilustruje, jak model przejścia algorytmy po PREDICTION_SMOOTHING jest zestaw domyślną wartość 0,5.ARIMA i ARTxp są liczone tak samo na pierwsze, ale jako liczba wzrasta kroki przewidywanie, ARIMA waży się bardziej intensywnie.

krzywa domyślna służąca do mieszania algorytmów szeregu czasowego

Natomiast poniższy diagram ilustruje algorytmów mieszania po PREDICTION_SMOOTHING jest zestaw do 0,2.Dla etapu 0, model masa ARIMA 0,2 i ARTXP jako 0,8.W okresie późniejszym waga ARIMA wykładniczo zwiększa i wagi ARTxp wykładniczo maleje.

krzywa zanikania służąca do mieszania modeli szeregów czasowych

Ustawianie parametrów algorytmu

W poniższej tabela opisano parametry, których można używać z Microsoft algorytm szeregu czasowego.

Parametr

Opis

AUTO_DETECT_PERIODICITY

Określa wartość liczbową między 0 i okresowość wykrywa 1. Wartość domyślna wynosi 0,6.

Jeśli wartość jest bliżej 0, okresowość jest wykrywany tylko dla danych zdecydowanie okresowych.

Ustawienie tej wartości bliżej 1 preferuje odnajdowania wiele wzorców, które są prawie okresowe i automatyczne generowanie okresowość wskazówek.

UwagaUwaga:
Zajmowanie się wiele wskazówki okresowość będzie prawdopodobnie doprowadzić do czasu szkolenia modelu znacznie dłużej, ale bardziej szczegółowych modeli.

COMPLEXITY_PENALTY

Kontroluje wzrostu drzewo decyzyjne.Wartość domyślna to 0,1.

Zmniejszenie wartości zwiększa ryzyko podziału.Zwiększenie tej wartości zmniejsza ryzyko podziału.

UwagaUwaga:
Ten parametr jest dostępny tylko w SQL Server przedsiębiorstwa.

FORECAST_METHOD

Określa, który algorytm dla analizy i przewidywanie.Możliwe wartości to ARTXP, ARIMA lub mieszane.Wartością domyślną jest mieszane.

HISTORIC_MODEL_COUNT

Określa liczbę modeli historycznych, które zostanie zbudowana.Wartość domyślna to 1.

UwagaUwaga:
Ten parametr jest dostępny tylko w SQL Server przedsiębiorstwa.

HISTORICAL_MODEL_GAP

Określa czas zwłoki między dwoma kolejnymi modelami historycznych.Wartość domyślna to 10.Wartość reprezentuje liczbę czas jednostek, których jednostki są zdefiniowane przez model.

Na przykład, ustawienie wartości g powoduje, że modele historyczne mają zostać zbudowane dla danych, który jest obcięty przez czas plasterki w odstępach g, 2 * g, 3 * g, itd.

UwagaUwaga:
Ten parametr jest dostępny tylko w SQL Server przedsiębiorstwa.

INSTABILITY_SENSITIVITY

Określa punkt, w którym przewidywanie odchylenie przekracza określony próg i algorytm ARTxp pomija prognoz.Wartość domyślna to 1.

UwagaUwaga:
Ten parametr nie dotyczą modeli używających tylko ARIMA.

The default value of 1 provides the same behavior as in SQL Server 2005.Usługi Analysis Services monitors the normalized standard deviation for each prediction.Jak najszybciej odchyleń Normalizuj dla dowolnego przewidywanie przekracza próg, czas algorytm serii zwraca wartość NULL i zatrzymuje proces prognozowania.

Wartość 0 zatrzymuje wykrywanie niestabilności.Oznacza to, że można utworzyć nieograniczoną liczbę prognoz, niezależnie od odchylenie.

UwagaUwaga:
Ten parametr można modyfikować tylko w SQL Server przedsiębiorstwa.W SQL Server Standardowy, Usługi Analysis Services używa tylko domyślnej wartości 1.

MAXIMUM_SERIES_VALUE

Określa maksymalną wartość dla prognoz.Ten parametr jest używany, wraz z MINIMUM_SERIES_VALUE, aby ograniczyć przewidywania niektórych oczekiwanego zakres.Na przykład można określić, że przewidywane ilości sprzedaży dla każdego dnia nigdy nie powinna przekraczać liczba produktów w magazynie.

UwagaUwaga:
Ten parametr jest dostępny tylko w SQL Server przedsiębiorstwa.

MINIMUM_SERIES_VALUE

Określa minimalną wartość można przewidzieć.Ten parametr jest używany, wraz z MAXIMUM_SERIES_VALUE, aby ograniczyć przewidywania niektórych oczekiwanego zakres.Na przykład można określić, przewidywane ilości sprzedaży powinien nigdy być liczbą ujemną.

UwagaUwaga:
Ten parametr jest dostępny tylko w SQL Server przedsiębiorstwa.

MINIMUM_SUPPORT

Określa minimalną liczbę czas plasterki, które są wymagane do generowania podział w każdym czas serii drzewa.Wartość domyślna to 10.

MISSING_VALUE_SUBSTITUTION

Określa, w jaki sposób wypełnienia luk w danych historycznych.Domyślnie odstępy w danych nie są dozwolone.

W poniższej tabela przedstawiono możliwe wartości tego parametru:

WartośćOpis
PreviousPowtarza wartości z poprzedniego czas plasterka.
MeanŚrednia ruchoma używa czas plasterki w szkolenia.
stała liczbowejUżywa określonej liczby w celu zastąpienia wszystkich brakujących wartości.
BrakZastępuje brak wartości z wartościami są wykreślane wzdłuż krzywej przeszkolony modelu.Jest to wartość domyślna.

Jeśli dane zawierają wiele serii danych, serii nie może mieć również nierównych krawędzi.Oznacza to, że wszystkie serie powinny mieć ten sam punkt początkowy i końcowy.

Usługi Analysis Servicestakże używa wartości tego parametru do wypełnienia odstępów w nowych danych podczas wykonywania PREDICTION JOIN na czas serii modelu.

PERIODICITY_HINT

Zawiera wskazówkę algorytm jako okresowość danych.Na przykład jeśli sprzedaż zależy od roku i jednostkę miary w serii jest miesięcy, okresowość wynosi 12.Ten parametr ma format {n [, n]}, gdzie n jest dowolną liczbą dodatnią.

n w nawiasy kwadratowe [] jest opcjonalne i można powtórzyć, często potrzebne.Na przykład zapewnić wskazówki okresowość wiele danych dostarczanych co miesiąc, może wprowadzić {12, 3, 1} do wykrywać wzorców rok, kwartał i miesiąc.Okresowość ma jednak silny wpływ na jakość modelu.Wskazówkę, która daje różni się od rzeczywistej okresowość, wyniki można negatywny wpływ.

Wartość domyślna to {1}.

UwagaUwaga:
Wymagane są nawiasy klamrowe.Ponadto ten parametr ma typ danych ciąg.Dlatego jeśli ten parametr jest typu jako część instrukcja danych górnictwa rozszerzenia (DMX), należy ująć liczby i nawiasy klamrowe w cudzysłów.

PREDICTION_SMOOTHING

Określa, jak należy zmieszać modelu optymalizacji prognozowania.Można wpisać dowolną wartość między 0 i 1 lub użyj jednej z następujących wartości:

UwagaUwaga:
Użyj FORECAST_METHOD parametru sterowania szkolenia.
WartośćOpis
0Określa przewidywanie tylko używa ARTxp.Prognozowanie jest zoptymalizowany dla mniej prognoz.
1Określa przewidywanie tylko używa ARIMA.Prognozowanie jest zoptymalizowany dla wielu prognoz.
0.5(Domyślnie) Określa przejściowe dla przewidywanie Oba algorytmy, które powinny być używane i wyniki.
UwagaUwaga:
Ten parametr jest dostępny tylko w SQL Server przedsiębiorstwa.

Modelowanie flag

Microsoft Obsługuje algorytm szeregu czasowego flagi modelowania.Podczas tworzenia struktura wyszukiwania lub modelu górnictwo zdefiniować flagi modelowania, aby określić sposób obsługi wartości w każdej kolumnie podczas analizy.Aby uzyskać więcej informacji, zobacz Flagi modelowania (wyszukiwania danych).

Flaga modelowania

Opis

NOT NULL

Wskazuje, że kolumna nie może zawierać wartość null.Spowoduje błąd, jeśli usługi Analysis Services napotka null podczas szkolenia modelu.

Stosuje się do struktura wyszukiwania kolumny.

MODEL_EXISTENCE_ONLY

Oznacza, że kolumna będą traktowane jako posiadające dwa możliwe stany: Brak i istniejących.Wartość null jest wartość Brak.

Stosuje się do model wyszukiwania kolumny.

Wymagania

A czas model serii musi zawierać klucz czas kolumna zawierającej wartości unikatowe, wprowadzania kolumna i co najmniej jedną przewidywalna kolumna.

Dane wejściowe i przewidywalny kolumn

Microsoft Algorytm szeregu czasowego obsługuje kolumna wprowadzania określonych typów zawartości, przewidywalna kolumna typów zawartości i flagi modelowania, które są wymienione w poniższej tabela.

Kolumna

Typy zawartości

Atrybut wejściowy

Ciągłe, klucz, klucz czas i tabeli

Przewidywalne atrybut

Ciągłe, tabela

Ostrzeżenie

Obsługiwane są typy zawartości Cyclical i Zamówione, ale algorytm traktuje je jako dyskretnych wartości i nie wykonuje przetwarzania specjalnego.

Historia zmian

Zaktualizowana zawartość

  • Dodaje nową sekcję, opisujący wykonania różnicowy w algorytmie ARIMA.