PredictTimeSeries (DMX)

Zwraca przewidywane przyszłe wartości dla czas serii danych.Czas serii danych jest ciągła i mogą być przechowywane w tabela zagnieżdżonej lub przypadek tabela.PredictTimeSeries Funkcja zawsze zwraca tabela zagnieżdżonej.

Składnia

PredictTimeSeries(<table column reference>)
PredictTimeSeries(<table column reference>, n)
PredictTimeSeries(<table column reference>, n-start, n-end)
PredictTimeSeries(<scalar column reference>)
PredictTimeSeries(<scalar column reference>, n)
PredictTimeSeries(<scalar column reference>, n-start, n-end)
PredictTimeSeries(<table column reference>, n, REPLACE_MODEL_CASES | EXTEND_MODEL_CASES) PREDICTION JOIN <source query>
PredictTimeSeries(<table column reference>, n-start, n-end, REPLACE_MODEL_CASES | EXTEND_MODEL_CASES) PREDICTION JOIN <source query>
PredictTimeSeries(<scalar column reference>, n, REPLACE_MODEL_CASES | EXTEND_MODEL_CASES) PREDICTION JOIN <source query>
PredictTimeSeries(<scalar column reference>, n-start, n-end, REPLACE_MODEL_CASES | EXTEND_MODEL_CASES) PREDICTION JOIN <source query>

Argumenty

  • <table column reference>, <scalar column referenc>
    Określa nazwę kolumna do przewidywania.Kolumna może zawierać dane wartość skalarna lub tabelarycznej.

  • n
    Określa liczbę następne kroki do przewidywania.Jeżeli nie określono wartości dla n, wartością domyślną jest 1.

    n nie może wynosić 0.Funkcja zwraca błąd, jeśli nie wprowadzisz przewidywanie co najmniej jeden.

  • n-start, n-end
    Określa zakres czas serii kroków.

    n-start musi być liczbą całkowitą i nie może wynosić 0.

    n-endmusi być liczbą całkowitą większą niż n-start.

  • <source query>
    Definiuje danych zewnętrznych, które jest używane do tworzenia prognoz.

  • REPLACE_MODEL_CASES | EXTEND_MODEL_CASES
    Wskazuje sposób obsługi nowych danych.

    REPLACE_MODEL_CASES Określa, że punkty danych w modelu powinny zostać zastąpione nowymi danymi.Jednakże przewidywań są oparte na wzorców w istniejących model wyszukiwania.

    EXTEND_MODEL_CASES Określa, że nowe dane powinny zostać dodane do oryginalnego zestaw danych szkoleniowych.Przewidywania przyszłych są wykonywane na złożonego zestaw danych tylko wtedy, gdy zostały wykorzystane nowe dane.

    Argumenty te można tylko podczas dodawania danych przy użyciu instrukcja JOIN PROGNOZOWANIA.Jeśli kwerenda PRZYŁĄCZYĆ PRZEWIDYWANIA i argument nie zostanie określony, domyślnie jest EXTEND_MODEL_CASES.

Zwracany typ

A <table expression>.

Uwagi

Microsoft Czasu serii algorytm nie obsługuje przewidywanie historycznych, korzystając z instrukcja JOIN przewidywanie, aby dodać nowe dane.

W PRZYŁĄCZYĆ przewidywanie procesu przewidywanie zawsze rozpoczyna się od czas kroku natychmiast po zakończeniu oryginalnej serii szkolenia.Jest to prawdą, nawet jeśli dodanie nowych danych.Dlatego n parametr i n-start wartości parametru musi być liczbą całkowitą większą niż 0.

Ostrzeżenie

Długość nowych danych nie wpływa na punkt wyjścia dla przewidywanie.Dlatego, jeśli chcesz dodać nowe dane i również wprowadzać nowe prognoz, upewnij się, że możesz albo zestaw przewidywanie start wskaż wartość większa niż długość nowych danych lub rozszerzyć punkt końcowy przewidywanie według długości nowych danych.

Przykłady

Następujące przykłady przedstawiają sposób przewidywania przeciwko istniejącego czas model serii:

  • Pierwszy przykład przedstawia sposób określoną liczbę prognoz opartych na bieżącym modelu.

  • Drugi przykład przedstawia sposób użycia parametru REPLACE_MODEL_CASES do zastosowania wzorców w określonym modelu do nowego zestaw danych.

  • W trzecim przykładzie przedstawiono sposób użycia parametru EXTEND_MODEL_CASES do aktualizacji model wyszukiwania z danymi świeże.

Aby dowiedzieć się więcej o pracy z czas modele serii zobacz samouczek górnictwo danych Lekcja 2: Tworzenie scenariusza prognozowania (samouczek wyszukiwania danych pośrednich) i Czas serii przewidywania DMX samouczek.

Ostrzeżenie

Może uzyskać różne wyniki z modelu; wyniki poniższe przykłady są dostarczane jedynie dla zilustrowania format wynik.

Przykład 1: Przewidywana liczba przedziały czasu

W poniższym przykładzie użyto PredictTimeSeries funkcja zwraca przewidywanie dla trzech dalej czas kroki i zawęża wyniki do serii M200 w regionach Europy i Pacyfiku.W szczególności modelu przewidywalne atrybut jest Quantity, trzeba używać [Quantity] jako pierwszy argument PredictTimeSeries funkcja.

SELECT FLATTENED
    [Forecasting].[Model Region],
    PredictTimeSeries([Forecasting].[Quantity],3)AS t 
FROM
    [Forecasting]
WHERE [Model Region] = 'M200 Europe'
OR [Model Region] = 'M200 Pacific'

Oczekiwane wyniki:

Region modelu

CZAS $ t.

t.Quantity

M200 Europy

7/25/2008 12:00:00 AM

121

M200 Europy

8/25/2008 12:00:00 AM

142

M200 Europy

9/25/2008 12:00:00 AM

152

M200 Pacyfiku

7/25/2008 12:00:00 AM

46

M200 Pacyfiku

8/25/2008 12:00:00 AM

44

M200 Pacyfiku

9/25/2008 12:00:00 AM

42

W tym przykładzie użyto słowa kluczowego FLATTENED czytelność wyniki.Jeśli nie FLATTENED słowo kluczowe i zamiast zwracać hierarchiczną zestawu zestaw wierszy, ta kwerenda zwraca dwóch kolumn.Pierwsza kolumna zawiera wartość dla [ModelRegion], a druga kolumna zawiera zagnieżdżoną tabela z dwiema kolumnami: $TIME, która zawiera czas plasterki, które są przewidywane są, i Quantity, który zawiera przewidywane wartości.

Przykład 2: Dodawanie nowych danych i przy użyciu REPLACE_MODEL_CASES

Załóżmy, że okaże się, że dane była nieprawidłowa dla danego region i chcesz używać deseni w modelu, ale także dostosowanie prognoz do nowych danych.Lub może się okazać, że inny region ma bardziej wiarygodnych tendencji i chcesz zastosować najbardziej niezawodny model danych z innego regionu.

W takich przypadkach można użyć parametru REPLACE_MODEL_CASES i określić nowy zestaw danych jako danych historycznych.W ten sposób rzuty będą oparte na wzorców w określonym modelu, ale będzie nadal płynnie od końca nowe punkty danych.Na zakończenie Instruktaż ten scenariusz, zobacz Dodawanie zagregowane Model prognozowania (samouczek wyszukiwania danych pośrednich).

Następująca kwerenda PRZYŁĄCZYĆ PRZEWIDYWANIA ilustruje składnię zastępowania danych i tworzenie nowych prognoz.Dla danych zastąpienie przykład pobiera wartość Amount i Quantity kolumny i mnoży każdą przez dwa:

SELECT [Forecasting].[Model Region],
    PredictTimeSeries([Forecasting].[Quantity], 3, REPLACE_MODEL_CASES) 
FROM
    [Forecasting]
PREDICTION JOIN
  OPENQUERY([Adventure Works DW2008R2],
    'SELECT [ModelRegion], 
    ([Quantity] * 2) as Quantity,
    ([Amount] * 2) as Amount,
      [ReportingDate]
    FROM [dbo].vTimeSeries
    WHERE ModelRegion = N''M200 Pacific''
    ') AS t
ON
  [Forecasting].[Model Region] = t.[ Model Region] AND
[Forecasting].[Reporting Date] = t.[ReportingDate] AND
[Forecasting].[Quantity] = t.[Quantity] AND
[Forecasting].[Amount] = t.[Amount]

W poniższej tabela porównano wyniki przewidywanie.

Oryginalny prognoz

Zaktualizowane prognoz

M200 Pacyfiku7/25/2008 12:00:00 AM46
M200 Pacyfiku8/25/2008 12:00:00 AM44
M200 Pacyfiku9/25/2008 12:00:00 AM42
M200 Pacyfiku7/25/2008 12:00:00 AM91
M200 Pacyfiku8/25/2008 12:00:00 AM89
M200 Pacyfiku9/25/2008 12:00:00 AM84

Przykład 3: Dodawanie nowych danych i przy użyciu EXTEND_MODEL_CASES

Przykład 3 ilustruje użycie EXTEND_MODEL_CASES opcję, aby zapewnić nowych danych, który jest dodawany na końcu istniejącego serii danych.Zamiast zastępowania istniejących punktów danych, nowe dane są dodawane do modelu.

W poniższym przykładzie nowe dane są dostarczane w instrukcja SELECT, występujący w naturalnych PRZYŁĄCZYĆ PRZEWIDYWANIA.Można podać wiele wierszy wprowadzania nowych o następującej składni, ale każdego nowego wiersza input musi mieć unikatowy czas:

SELECT [Model Region],
    PredictTimeSeries([Forecasting].[Quantity], 5, EXTEND_MODEL_CASES) 
FROM
    [Forecasting]
NATURAL PREDICTION JOIN
    (SELECT
        1 as [Reporting Date],
        10 as [Quantity],
        'M200 Europe' AS [Model Region]
    UNION SELECT 
        2 as [Reporting Date],
        15 as [Quantity],
        'M200 Europe' AS [Model Region]
) AS T
WHERE ([Model Region] = 'M200 Europe'
 OR [Model Region] = 'M200 Pacific')

Ponieważ w kwerendzie użyto EXTEND_MODEL_CASES opcji, Usługi Analysis Services wykonuje następujące akcje do jego prognoz:

  • Całkowity rozmiar przypadkach szkolenie zwiększa przez dodanie dwóch miesięcy nowych danych do modelu.

  • Uruchamia prognoz na końcu poprzednie dane przypadek.Dlatego dwie pierwsze prognoz reprezentują nowe rzeczywiste dane sprzedaży dodany do modelu.

  • Zwraca nowy prognoz dla pozostałych trzech czas plasterków opartych na modelu nowo rozwinięte.

W poniższej tabela przedstawiono wyniki kwerendy z przykładu 2.Należy zauważyć, że pierwsze dwie wartości zwracane dla Europy M200 są dokładnie takie same, jak nowe wartości, które podane.To zachowanie jest zgodne z projektem; uruchomić prognoz po zakończeniu nowych danych, należy określić początkowy i końcowy czas kroku.Na przykład jak to zrobić, zobacz Lekcja 5: Rozszerzanie modelu szeregu czasowego.

Należy również zwrócić uwagę, że aby nie dostarczyły nowe dane dla Pacyfiku region.Dlatego Usługi Analysis Services zwraca nowy prognoz dla wszystkich pięciu czas plasterki.

Ilość

EXTEND_MODEL_CASES

M200 Europy

$TIMEIlość
7/25/2008 0:0010
8/25/2008 0:0015
9/25/2008 0:0072
10/25/2008 0:0069
11/25/2008 0:0068

M200 Pacyfiku

$TIMEIlość
7/25/2008 0:0046
8/25/2008 0:0044
9/25/2008 0:0042
10/25/2008 0:0042
11/25/2008 0:0038

Przykład 4: Zwracanie statystyki w przewidywaniu serii czasu

PredictTimeSeries Nie obsługuje funkcja INCLUDE_STATISTICS jako parametr.Jednak można użyć następującej kwerendy Zwraca statystykę przewidywanie czas serii kwerendy.To podejście może również z modeli, które zostały zagnieżdżone kolumn tabela.

W szczególności modelu przewidywalne atrybut jest Quantity, trzeba używać [Quantity] jako pierwszy argument PredictTimeSeries funkcja.Jeśli model korzysta inny atrybut przewidywalny, można zastąpić inną nazwę kolumna.

SELECT FLATTENED [Model Region],
(SELECT 
     $Time,
     [Quantity] as [PREDICTION], 
     PredictVariance([Quantity]) AS [VARIANCE],
     PredictStdev([Quantity]) AS [STDEV]
FROM
      PredictTimeSeries([Quantity], 3) AS t
) AS t
FROM Forecasting
WHERE [Model Region] = 'M200 Europe'
OR [Model Region] = 'M200 North America'

Przykładowe wyniki:

Region modelu

CZAS $ t.

t.PREDICTION

t.VARIANCE

t.StDev

M200 Europy

7/25/2008 12:00:00 AM

121

11.6050581415597

3.40661975300439

M200 Europy

8/25/2008 12:00:00 AM

142

10.678201866621

3.26775180615374

M200 Europy

9/25/2008 12:00:00 AM

152

9.86897842568614

3.14149302493037

M200 Ameryka Północna

7/25/2008 12:00:00 AM

163

1.20434529288162

1.20434529288162

M200 Ameryka Północna

8/25/2008 12:00:00 AM

178

1.65031343900634

1.65031343900634

M200 Ameryka Północna

9/25/2008 12:00:00 AM

156

1.68969399185442

1.68969399185442

Ostrzeżenie

Słowo kluczowe FLATTENED została użyta w tym przykładzie ułatwiają wyniki do przedstawienia w tabela; jednak dostawca obsługuje hierarchicznych zestawów wierszy można pominąć słowo kluczowe FLATTENED.Jeżeli pominięto słowa kluczowego FLATTENED kwerenda zwraca dwie kolumna pierwszej kolumna zawierającej wartość, która identyfikuje [Model Region] serii danych i drugiej kolumna zawierające tabela zagnieżdżonej statystyki.