Udostępnij za pośrednictwem


PredictTimeSeries (DMX)

Zwraca przewidywane przyszłe wartości czas serii danych.Czas serii danych jest stałe i mogą być przechowywane w tabela zagnieżdżonej lub przypadek tabela.The PredictTimeSeries funkcja always returns a nested tabela.

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, aby prognozować.kolumna mogą zawierać dane wartość skalarna lub tabelarycznej.

  • n
    Określa liczbę kolejnych instrukcji 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 zostanie dokonany przewidywanie co najmniej jeden.

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

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

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

  • <source query>
    Definiuje danych zewnętrznych, który jest używany 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, należy zastąpić nowymi danymi.Jednak prognoz są oparte na wzorce w istniejących modeli wyszukiwania.

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

    Te argumenty mogą być używane tylko wtedy, gdy nowe dane są dodawane przy użyciu instrukcja łączyć przewidywanie.Jeśli za pomocą kwerendy łączyć przewidywanie, a argument nie zostanie określony, domyślnie jest EXTEND_MODEL_CASES.

Zwracany typ

A <table expression>.

Remarks

The Microsoft czas Series algorithm does not support historical przewidywanie when you use the przewidywanie łączyć instrukcja to add new data.

W operacji łączyć przewidywanie proces przewidywanie zawsze uruchamia na etapie czas natychmiast po zakończeniu oryginalnej serii szkolenia.Dzieje się tak nawet wtedy, gdy dodawania nowych danych.Dlatego też n Parametr i n-start wartości parametru musi być liczbą całkowitą większą niż 0.

Uwaga

Długość nowych danych nie ma wpływu na punkt wyjścia dla prognozowania.Dlatego, jeśli chcesz dodać nowe dane i również wprowadzać nowe prognoz, upewnij się, że użytkownik albo zestaw przewidywanie Uruchom punkt na wartość większa niż długość nowych danych lub rozszerzyć punkt końcowy przewidywanie nowych danych.

Przykłady

Następujące przykłady pokazują, jak tworzyć prognoz dla istniejącego modelu serii czas:

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

  • W drugim przykładzie pokazano, jak użyć parametru REPLACE_MODEL_CASES się wzorce w określonym modelu do nowego zestaw danych.

  • W trzecim przykładzie przedstawiono sposób aktualizowania model wyszukiwania przy użyciu świeże danych za pomocą parametru EXTEND_MODEL_CASES.

Aby uzyskać więcej informacji na temat pracy z modelami serii czas, zobacz samouczek wyszukiwanie danych, Lekcja 2: Tworzenie scenariusza prognozowania (samouczek wyszukiwanie danych pośrednich) i Samouczek dotyczący czasu seria prognozowania DMX.

Uwaga

Różne wyniki mogą uzyskać z modelu, wyniki poniższe przykłady są dostarczane tylko dla zilustrowania format wyniku.

Przykład 1: Przewidywana szereg plasterki czas

W poniższym przykładzie użyto PredictTimeSeries funkcja zwracająca przewidywanie dla następnego czas trzy kroki i ogranicza wyniki do serii M200 w Europie i Pacyfiku regionów. W określonym modelu przewidywalne atrybut jest ilość, trzeba używać [Quantity] jako pierwszy argument funkcji 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

t. $ czas

t.Quantity

Europa M200

7/25/2004 12:00:00 AM

121

Europa M200

8/25/2004 12:00:00 AM

142

Europa M200

9/25/2004 12:00:00 AM

152

M200 Pacyfiku

7/25/2004 12:00:00 AM

46

M200 Pacyfiku

8/25/2004 12:00:00 AM

44

M200 Pacyfiku

9/25/2004 12:00:00 AM

42

W tym przykładzie użyto słowo kluczowe FLATTENED czytelność wyniki.Jeśli nie FLATTENED słowo kluczowe i zamiast zwracać hierarchiczną zestawu zestaw wierszy, ta kwerenda zwraca dwie kolumny.Pierwsza kolumna zawiera wartości dla [ModelRegion], a druga kolumna zawiera zagnieżdżona tabela z dwiema kolumnami: czas $, który pokazuje wycinki czas, które są jest przewidywane i ilość, która zawiera przewidywane wartości.

Przykład 2: Dodając nowe dane i za pomocą REPLACE_MODEL_CASES

Załóżmy, że okaże się, że dane była nieprawidłowa dla danego region i ma do użytkowania w modelu, ale aby dopasować prognoz do nowych danych.Ewentualnie można stwierdzić, że inny region ma trendów bardziej niezawodne i chcesz zastosować najbardziej niezawodny modelu do danych z innego regionu.

W takich sytuacjach należy użyć parametru REPLACE_MODEL_CASES i określ nowe dane zostaną użyte jako danych historycznych.W ten sposób rzuty będą oparte na wzorce w określonym modelu, ale będzie nadal płynnie od końca nowe punkty danych.Aby pełną przegląd tego scenariusza zobacz Dodawanie agregowanych Model prognozowania (samouczek wyszukiwanie danych pośrednich).

Następująca kwerenda łączyć przewidywanie ilustruje Składnia służąca do zastępowania danych i tworzenie nowych prognoz.W przypadku wymiany danych w przykładzie pobiera wartość kolumny Kwota i ilość i mnoży każde przez dwa:

SELECT [Forecasting].[Model Region],
    PredictTimeSeries([Forecasting].[Quantity], 3, REPLACE_MODEL_CASES) 
FROM
    [Forecasting]
PREDICTION JOIN
  OPENQUERY([Adventure Works DW2008],
    '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 z przewidywanie.

Oryginalny prognoz

Zaktualizowane prognoz

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

Przykład 3: Dodając nowe dane i za pomocą EXTEND_MODEL_CASES

Przykład 3 ilustruje użycie EXTEND_MODEL_CASES Opcja nowych danych, która jest dodawana na końcu istniejących 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, znajdujący się fizyczne łączyć przewidywanie.Może dostarczać wielu wierszy nowe dane wejściowe z następującej składni, ale każdy nowy wiersz danych wejściowych 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 Po wybraniu opcji Analysis Services wykonuje następujące akcje dla 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.W związku z tym pierwsze dwa prognoz reprezentują nowe rzeczywiste dane sprzedaży, właśnie dodanych do modelu.

  • Zwraca nowe prognoz dla trzech pozostały czas wycinki oparty na modelu nowo rozwinięty.

W poniższej tabela przedstawiono wyniki kwerendy z przykładu 2.Należy zauważyć, dwie pierwsze wartości zwracane dla Europy M200 są dokładnie takie same, jak nowe wartości, które zostanie dostarczone.To zachowanie jest zgodne z projektem; do przewidywania jest uruchamiana po zakończeniu nowe dane, należy określić datę początkową i końcową krok czas.Aby zapoznać się z przykładem sposobu wykonania tego zadania Zobacz Lekcja 5: Rozszerzanie modelu czasu serii.

Należy również zwrócić uwagę, że nie dostarczyła nowe dane dla region Pacyfiku.Dlatego też Analysis Services Zwraca nowe prognoz dla wszystkich pięciu czas wycinki.

Ilość

EXTEND_MODEL_CASES

Europa M200

CZAS $Ilość
7/25/2004 0:0010
8/25/2004 0:0015
9/25/2004 0:0072
10/25/2004 0:0069
11/25/2004 0:0068

M200 Pacyfiku

CZAS $Ilość
7/25/2004 0:0046
8/25/2004 0:0044
9/25/2004 0:0042
10/25/2004 0:0042
11/25/2004 0:0038

Przykład 4: Zwraca statystykę w czas seria prognozowania

The PredictTimeSeries funkcja does not support INCLUDE_STATISTICS as a parameter. Jednak następujące kwerendy można wyznaczyć statystyki przewidywanie czas kwerendy serii.Tej metody można również z modelami, które zostały zagnieżdżone kolumn tabela.

W określonym modelu przewidywalne atrybut jest ilość, trzeba używać [Quantity] jako pierwszy argument funkcji PredictTimeSeries Funkcja. Jeśli model używa innego 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

t. $ czas

t.przewidywanie

t.VARIANCE

t.STDEV

Europa M200

7/25/2004 12:00:00 AM

121

11.6050581415597

3.40661975300439

Europa M200

8/25/2004 12:00:00 AM

142

10.678201866621

3.26775180615374

Europa M200

9/25/2004 12:00:00 AM

152

9.86897842568614

3.14149302493037

M200 Ameryka Północna

7/25/2004 12:00:00 AM

163

1.20434529288162

1.20434529288162

M200 Ameryka Północna

8/25/2004 12:00:00 AM

178

1.65031343900634

1.65031343900634

M200 Ameryka Północna

9/25/2004 12:00:00 AM

156

1.68969399185442

1.68969399185442

Uwaga

Słowo kluczowe FLATTENED została użyta w tym przykładzie ułatwiające prezentowanie w tabela wyniki; jednak, jeśli dostawca obsługuje hierarchicznych zestawów wierszy można pominąć słowo kluczowe FLATTENED.Pominięcie FLATTENED słowo kluczowe, kwerenda zwraca dwóch kolumn z pierwszej kolumna zawierającej wartość, która identyfikuje [Model Region] serie danych, a drugą kolumna zawierającą zagnieżdżona tabela statystyk.