Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server Analysis Services
Zaman serisi verileri için öngörülen gelecekteki değerleri döndürür. Zaman serisi verileri süreklidir ve iç içe bir tabloda veya vaka tablosunda depolanabilir. PredictTimeSeries fonksiyonu her zaman iç içe bir tablo döndürür.
Syntax
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>
Arguments
<tablo sütun referansı>, <skaler sütun referansı>
Tahmin edilecek sütunun adını belirtir. Sütun hem skaler hem de tablo şeklinde veriler içerebilir.
n
Tahmin edilecek sonraki adımların sayısını belirtir.
Eğer n için bir değer belirtilmemişse, varsayılan değer 1'dir.
n 0 olamaz. Fonksiyon, en az bir tahmin yapmazsanız hata döndürür.
N-başlangıç, n-son
Zaman serisi adımları aralığını belirtir.
n-start tam sayı olmalı ve 0 olamaz.
n-end , n-start'tan büyük bir tam sayı olmalıdır.
<Kaynak sorgusu>
Tahmin yapmak için kullanılan harici verileri tanımlar.
REPLACE_MODEL_CASES | EXTEND_MODEL_CASES
Yeni verilerin nasıl işleneceğini gösterir.
REPLACE_MODEL_CASES, modeldeki veri noktalarının yeni verilerle değiştirilmesi gerektiğini belirtir. Ancak, tahminler mevcut madencilik modelindeki desenlere dayanır.
EXTEND_MODEL_CASES, yeni verinin orijinal eğitim veri setine eklenmesi gerektiğini belirtir. Bileşik veri seti üzerinde gelecekteki tahminler, yeni veriler tükendikten sonra yapılır.
Bu argümanlar yalnızca yeni veri eklendiğinde PREDICTION JOIN ifadesi kullanılarak kullanılabilir. Eğer bir PREDICTION JOIN sorgusu kullanırsanız ve argüman belirtmiyorsanız, varsayılan EXTEND_MODEL_CASES.
Dönüş Türü
Bir <masa ifadesi>.
Remarks
Microsoft Zaman Serisi algoritması, yeni veri eklemek için PREDICTION JOIN ifadesini kullandığınızda tarihsel tahmini desteklemez.
PREDICTION JOIN'da, tahmin süreci her zaman orijinal eğitim serisinin hemen ardından zaman adımında başlar. Yeni veri ekleseniz bile bu doğrudur. Bu nedenle, n parametre ve n-başlangıç parametre değerleri 0'dan büyük bir tam sayı olmalıdır.
Note
Yeni verinin süresi, tahmin için başlangıç noktasını etkilemez. Bu nedenle, yeni veri eklemek ve yeni tahminler yapmak istiyorsanız, tahmin başlangıç noktasını yeni verinin uzunluğundan büyük bir değere ayarlayın ya da tahmin noktasını yeni verinin uzunluğuyla uzatın.
Examples
Aşağıdaki örnekler, mevcut bir zaman serisi modeline karşı tahminlerin nasıl yapılacağını gösterir:
İlk örnek, mevcut modele dayalı belirli sayıda tahmin yapılmasını gösterir.
İkinci örnek, belirtilen modeldeki desenleri yeni bir veri setine uygulamak için REPLACE_MODEL_CASES parametresinin nasıl uygulanacağını gösterir.
Üçüncü örnek, EXTEND_MODEL_CASES parametresinin bir madencilik modelini taze verilerle güncellemek için nasıl kullanılacağını gösterir.
Zaman serisi modelleri ile çalışma hakkında daha fazla bilgi edinmek için veri madenciliği eğitimi, Ders 2: Tahmin Senaryosu Oluşturma (Ara Veri Madenciliği Eğitimi) ve Zaman Serisi Tahmin DMX Eğitimi'ne bakabilirsiniz.
Note
Modelinizden farklı sonuçlar alabilirsiniz; Aşağıdaki örneklerin sonuçları yalnızca sonuç formatını göstermek için sunulmaktadır.
Örnek 1: Zaman Dilimi Sayısını Tahmin Etmek
Aşağıdaki örnek, sonraki üç zaman adımı için tahmin döndürmek amacıyla PredictTimeSeries fonksiyonunu kullanır ve sonuçları Avrupa ve Pasifik bölgelerindeki M200 serileriyle sınırlar. Bu özel modelde öngörülebilir öznitelik Nicelik'tir, bu yüzden [Quantity] PredictTimeSeries fonksiyonunun ilk argümanı olarak kullanmalısınız.
SELECT FLATTENED
[Forecasting].[Model Region],
PredictTimeSeries([Forecasting].[Quantity],3)AS t
FROM
[Forecasting]
WHERE [Model Region] = 'M200 Europe'
OR [Model Region] = 'M200 Pacific'
Beklenen sonuçlar:
| Model Bölgesi | t.$TIME | t.Miktar |
|---|---|---|
| M200 Avrupa | 25/07/2008 00:00:00 | 121 |
| M200 Avrupa | 25/08/2008 00:00:00 | 142 |
| M200 Avrupa | 25/09/2008 00:00:00 | 152 |
| M200 Pacific | 25/07/2008 00:00:00 | 46 |
| M200 Pacific | 25/08/2008 00:00:00 | 44 |
| M200 Pacific | 25/09/2008 00:00:00 | 42 |
Bu örnekte, sonuçların okunmasını kolaylaştırmak için FLATTENED anahtar kelimesi kullanılmıştır. FLATTENED anahtar kelimesini kullanmazsanız ve bunun yerine hiyerarşik bir sıra kümesi döndürerseniz, bu sorgu iki sütun döner. İlk sütunda [ModelRegion] değeri bulunurken, ikinci sütunda iki sütunlu iç içe bir tablo bulunur: tahmin edilen zaman dilimlerini gösteren $TIME ve tahmin edilen değerleri içeren Nicelik.
Örnek 2: Yeni Veri Ekleme ve REPLACE_MODEL_CASES Kullanımı
Diyelim ki veriler belirli bir bölge için yanlış oldu ve modeldeki kalıpları kullanmak istiyorsun, ancak tahminleri yeni veriye uyacak şekilde ayarlamak istiyorsun. Ya da başka bir bölgenin daha güvenilir eğilimlere sahip olduğunu ve en güvenilir modeli farklı bir bölgeden gelen verilere uygulamak isteyebileceğinizi görebilirsiniz.
Böyle durumlarda, REPLACE_MODEL_CASES parametresini kullanarak tarihsel veri olarak kullanılacak yeni bir veri seti belirleyebilirsiniz. Bu şekilde, projeksiyonlar belirlenen modeldeki desenlere dayanacak ancak yeni veri noktalarının sonundan itibaren sorunsuz devam edecektir. Bu senaryonun tam bir rehberi için Gelişmiş Zaman Serisi Tahminleri'ne (Ara Veri Madenciliği Eğitimi) bakınız.
Aşağıdaki PREDICTION JOIN sorgusu, veriyi değiştirip yeni tahminler yapma sözdizimini göstermektedir. Yerine geçen veri için, örnek Miktar ve Miktar sütunlarının değerini alır ve her birini ikiye çarpar:
SELECT [Forecasting].[Model Region],
PredictTimeSeries([Forecasting].[Quantity], 3, REPLACE_MODEL_CASES)
FROM
[Forecasting]
PREDICTION JOIN
OPENQUERY([Adventure Works DW Multidimensional 2012],
'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]
Aşağıdaki tablolar tahmin sonuçlarını karşılaştırmaktadır.
Orijinal tahminler:
| Model Bölgesi | Raporlama Tarihi | Miktar |
|---|---|---|
| M200 Pacific | 25/07/2008 00:00:00 | 46 |
| M200 Pacific | 25/08/2008 00:00:00 | 44 |
| M200 Pacific | 25/09/2008 00:00:00 | 42 |
Güncellenmiş tahminler:
| Model Bölgesi | Raporlama Tarihi | Miktar |
|---|---|---|
| M200 Pacific | 25/07/2008 00:00:00 | 91 |
| M200 Pacific | 25/08/2008 00:00:00 | 89 |
| M200 Pacific | 25/09/2008 00:00:00 | 84 |
Örnek 3: Yeni Veri Eklemek ve EXTEND_MODEL_CASES Kullanmak
Örnek 3, mevcut veri serisinin sonuna eklenen yeni veri sağlamak için EXTEND_MODEL_CASES seçeneğinin kullanımını gösterir. Mevcut veri noktalarının yerini almak yerine, yeni veriler modele eklenir.
Aşağıdaki örnekte, yeni veriler NATURAL PREDICTION JOIN'den sonra gelen SELECT ifadesinde sağlanmıştır. Bu sözdizimi ile birden fazla yeni giriş satırı sağlayabilirsiniz, ancak her yeni giriş satırının benzersiz bir zaman damgası olmalıdır:
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')
Sorgu EXTEND_MODEL_CASES seçeneğini kullandığı için, Analiz Hizmetleri tahminleri için aşağıdaki işlemleri gerçekleştirir:
Modele iki yeni aylık veri ekleyerek eğitim vakalarının toplam boyutunu artırır.
Tahminleri önceki vaka verilerinin sonunda başlatır. Bu nedenle, ilk iki tahmin, modele yeni eklediğiniz gerçek satış verilerini temsil eder.
Yeni genişletilmiş modele dayalı olarak kalan üç zaman dilimi için yeni tahminler döndürür.
Aşağıdaki tablo, Örnek 2 sorgusunun sonuçlarını listeler. M200 Europe için geri dönen ilk iki değerin, verdiğiniz yeni değerlerle tamamen aynı olduğunu unutmayın. Bu davranış kasıtlı olarak yapılmıştır; Yeni verilerin sonundan sonra tahminlere başlamak istiyorsanız, bir başlangıç ve bitiş zaman adımı belirtmelisiniz.
Ayrıca, Pasifik bölgesi için yeni veri sağlamadığınızı fark edin. Bu nedenle, Analysis Services tüm beş zaman dilimi için yeni tahminler döndürür.
Miktar: M200 Avrupa. EXTEND_MODEL_CASES:
| $TIME | Miktar |
|---|---|
| 7/25/2008 0:00 | 10 |
| 8/25/2008 0:00 | 15 |
| 9/25/2008 0:00 | 72 |
| 10/25/2008 0:00 | 69 |
| 11/25/2008 0:00 | 68 |
Miktar: M200 Pacific. EXTEND_MODEL_CASES:
| $TIME | Miktar |
|---|---|
| 7/25/2008 0:00 | 46 |
| 8/25/2008 0:00 | 44 |
| 9/25/2008 0:00 | 42 |
| 10/25/2008 0:00 | 42 |
| 11/25/2008 0:00 | 38 |
Örnek 4: Zaman Serisi Tahmininde İstatistikleri Geri Getirmek
PredictTimeSeries fonksiyonu INCLUDE_STATISTICS parametre olarak desteklemez. Ancak, aşağıdaki sorgu, bir zaman serisi sorgusu için tahmin istatistiklerini döndürmek için kullanılabilir. Bu yaklaşım, iç içe yerleştirilmiş tablo sütunlarına sahip modellerle de kullanılabilir.
Bu özel modelde öngörülebilir öznitelik Nicelik'tir, bu yüzden [Quantity] PredictTimeSeries fonksiyonunun ilk argümanı olarak kullanmalısınız. Modeliniz farklı bir öngörülebilir özellik kullanıyorsa, farklı bir sütun adı koyabilirsiniz.
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'
Örnek sonuçlar:
| Model Bölgesi | t.$TIME | t.TAHMIN | t.VARYANS | t.STDEV |
|---|---|---|---|---|
| M200 Avrupa | 25/07/2008 00:00:00 | 121 | 11.6050581415597 | 3.40661975300439 |
| M200 Avrupa | 25/08/2008 00:00:00 | 142 | 10.678201866621 | 3.26775180615374 |
| M200 Avrupa | 25/09/2008 00:00:00 | 152 | 9.86897842568614 | 3.14149302493037 |
| M200 Kuzey Amerika | 25/07/2008 00:00:00 | 163 | 1.20434529288162 | 1.20434529288162 |
| M200 Kuzey Amerika | 25/08/2008 00:00:00 | 178 | 1.65031343900634 | 1.65031343900634 |
| M200 Kuzey Amerika | 25/09/2008 00:00:00 | 156 | 1.68969399185442 | 1.68969399185442 |
Note
Bu örnekte, sonuçların tabloda sunulmasını kolaylaştırmak için FLATTENED anahtar kelimesi kullanılmıştır; ancak sağlayıcınız hiyerarşik sıra kümelerini destekliyorsa, FLATTENED anahtar kelimesini çıkarabilirsiniz. FLATTENED anahtar kelimesini çıkarırsanız, sorgu iki sütun döner: ilk sütun veri serisini [Model Region] tanımlayan değeri, ikinci sütun ise içiçe istatistik tablosunu içerir.