Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:
SQL Server 2019 és korábbi Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Fontos
Az adatbányászat elavult az SQL Server 2017 Analysis Servicesben, és megszűnt az SQL Server 2022 Analysis Servicesben. Az elavult és megszűnt funkciók dokumentációja nem frissül. További információkért tekintse meg az Analysis Services visszamenőleges kompatibilitását.
Amikor adatbányászati modellen hoz létre lekérdezést, létrehozhat egy tartalom-lekérdezést, amely részletesen ismerteti az elemzésben felfedezett mintákat, vagy létrehozhat egy előrejelzési lekérdezést, amely a modell mintáit használja az új adatok előrejelzéséhez. Egy idősormodell tartalomlekérdezése például további részleteket szolgáltathat az észlelt periodikus struktúrákról, míg az előrejelzési lekérdezések előrejelzést adhatnak a következő 5–10 időszelethez. A modell metaadatait lekérdezéssel is lekérheti.
Ez a szakasz bemutatja, hogyan hozhat létre kétféle lekérdezést a Microsoft Time Series algoritmuson alapuló modellekhez.
Tartalom-lekérdezések
Periodikussági tippek lekérése a modellhez
Az ARIMA-modell egyenletének lekérése
Az ARTxp-modell egyenletének lekérése
Előrejelzési lekérdezések
Az idősoradatok cseréjének és meghosszabbításának ismertetése
Előrejelzések készítése az EXTEND_MODEL_CASES segítségével
Előrejelzések készítése a REPLACE_MODEL_CASES-szel
Hiányzó értékhelyettesítés idősorozat-modellekben
Információ lekérése egy idősorozat-modellről
A modelltartalom-lekérdezések alapvető információkat nyújthatnak a modellről, például a modell létrehozásakor használt paramétereket, a modell utolsó feldolgozásának időpontját. Az alábbi példa a modell tartalmának adatbányászati sémasorkészletek használatával történő lekérdezésének alapszintaxisát mutatja be.
1. mintalekérdezés: Periodikussági tippek lekérése a modellhez
Az idősoron belül talált periodikák az ARIMA-fa vagy az ARTXP-fa lekérdezésével kérhetők le. Előfordulhat azonban, hogy a kész modell periodikái nem egyeznek meg a modell létrehozásakor tippekként megadott időszakokkal. A modell létrehozásakor paraméterekként megadott tippek lekéréséhez a bányászati modell tartalomsémasorkészletét az alábbi DMX utasítással kérdezheti le:
SELECT MINING_PARAMETERS
FROM $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = '<model name>'
Részleges eredmények:
| MINING_PARAMETERS |
|---|
| COMPLEXITY_PENALTY=0,1,MINIMUM_SUPPORT=10,PERIODICITY_HINT={1,3},.... |
Az alapértelmezett periodikussági tipp az {1} összes modellben megjelenik. Ez a mintamodell egy további tipptel lett létrehozva, amely esetleg nem szerepel a végső modellben.
Megjegyzés:
Az eredményeket itt csonkoltuk az olvashatóság érdekében.
2. mintalekérdezés: Egy ARIMA-modell egyenletének lekérése
Az ARIMA-modell egyenletét lekérheti egy adott fa bármely csomópontjának lekérdezésével. Ne feledje, hogy az ARIMA-modellben lévő összes fa más-más perioditást jelöl, és ha több adatsor is van, minden adatsornak saját periodikafái lesznek. Ezért egy adott adatsor egyenletének lekéréséhez először azonosítania kell a fát.
A TA-előtag például azt jelzi, hogy a csomópont egy ARIMA-fa része, míg a TS-előtag az ARTXP-fákhoz használatos. Az összes ARIMA-gyökérfát megtalálhatja, ha lekérdezi a csomópontok modelltartalmát 27-NODE_TYPE értékkel. A ATTRIBUTE_NAME értékével is megkeresheti egy adott adatsor ARIMA-gyökércsomópontját. Ez a lekérdezési példa megkeresi azokat az ARIMA-csomópontokat, amelyek az R250-modell által az európai régióban értékesített mennyiségeket jelölik.
SELECT NODE_UNIQUE_NAME
FROM Forecasting.CONTENT
WHERE ATTRIBUTE_NAME = 'R250 Europe: Quantity"
AND NODE_TYPE = 27
Ezzel a csomópontazonosítóval lekérheti a fa ARIMA-egyenletének részleteit. Az alábbi DMX utasítás az adatsor ARIMA-egyenletének rövid formáját kéri le. A NODE_DISTRIBUTION nevű beágyazott táblából emellett lekéri a metszetet. Ebben a példában az egyenletet a csomópont egyedi azonosítójának TA00000007 hivatkozásával nyeri ki. Előfordulhat azonban, hogy más csomópontazonosítót kell használnia, és előfordulhat, hogy kissé eltérő eredményeket kap a modelltől.
SELECT FLATTENED NODE_CAPTION as [Short equation],
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE
FROM NODE_DISTRIBUTION) as t
FROM Forecasting.CONTENT
WHERE NODE_NAME = 'TA00000007'
Példaeredmények:
| Rövid egyenlet | t.ATTRIBUTE_NAME | t.ATTRIBUTE_VALUE |
|---|---|---|
| ARIMA (2,0,7)x(1,0,2)(12) | R250 Európa:Quantity(Intercept) | 15.24.... |
| ARIMA (2,0,7)x(1,0,2)(12) | R250 Europe:Quantity(Periodicity) | 1 |
| ARIMA (2,0,7)x(1,0,2)(12) | R250 Europe:Mennyiség(Időszakosság) | 12 |
További tájékoztatás az adatok értelmezéséről itt található: Mining Model Content for Time Series Models (Analysis Services – Data Mining).
3. mintalekérdezés: EGY ARTXP-modell egyenletének lekérése
Egy ARTxp-modell esetében a rendszer a fa minden szintjén különböző információkat tárol. Az ARTxp-modellek szerkezetéről és az egyenletben szereplő információk értelmezéséről további információt az Idősormodellek bányászata (Analysis Services – Adatbányászat) című témakörben talál.
Az alábbi DMX-utasítás az ARTxp fa egy részét kéri le, amely az R250-modell európai értékesítéseinek mennyiségét jelöli.
Megjegyzés:
A beágyazott tábla oszlopának (VARIANCE) nevét szögletes zárójelek közé kell foglalni, hogy meg lehessen különböztetni az azonos nevű fenntartott kulcsszótól. A beágyazott táblaoszlopok (VALÓSZÍNŰSÉG és TÁMOGATÁS) nem szerepelnek benne, mert a legtöbb esetben üresek.
SELECT NODE_CAPTION as [Split information],
(SELECT ATTRIBUTE_NAME, ATTRIBUTE_VALUE,
[VARIANCE]
FROM NODE_DISTRIBUTION) AS t
FROM Forecasting.CONTENT
WHERE NODE_ATTRIBUTE_NAME = 'R250 Europe:Quantity'
AND NODE_TYPE = 15
További tájékoztatás az adatok értelmezéséről itt található: Mining Model Content for Time Series Models (Analysis Services – Data Mining).
Előrejelzések létrehozása idősorozat-modellen
Az SQL Server 2008 Enterprise-tól kezdve új adatokat adhat hozzá egy idősormodellhez, és automatikusan beépítheti az új adatokat a modellbe. Az idősorozat-bányászati modellhez kétféleképpen adhat hozzá új adatokat:
A PREDICTION JOIN használatával külső forrásban lévő adatokat csatlakoztathat a betanítási adatokhoz.
Egyetlen előrejelzési lekérdezés használatával egyszerre egy szeletet biztosíthat az adatokból. Az egytonos előrejelzési lekérdezések létrehozásáról további információt az Adatbányászati lekérdezési eszközök című témakörben talál.
A csere- és bővítési műveletek viselkedésének ismertetése
Amikor új adatokat ad hozzá egy idősormodellhez, megadhatja, hogy kiterjeszti vagy lecseréli-e a betanítási adatokat:
Kiterjesztése: Adatsorok kiterjesztésekor az SQL Server Analysis Services hozzáadja az új adatokat a meglévő betanítási adatok végén. A betanítási esetek száma is nő.
A modelles esetek kiterjesztése hasznos a modell új adatokkal való folyamatos frissítéséhez. Ha például azt szeretné, hogy a betanítási csoport idővel növekedjen, egyszerűen kiterjesztené a modellt.
Az adatok kibővítéséhez hozzon létre egy ELŐREJELZÉSI ILLESZTÉS függvényt egy idősormodellen, adja meg az új adatok forrását, és használja a EXTEND_MODEL_CASES argumentumot.
Helyettesít: Az adatsor adatainak cseréjekor az SQL Server Analysis Services megtartja a betanított modellt, de az új adatértékekkel lecseréli a meglévő betanítási esetek egy részét vagy mindegyikét. Ezért a betanítási adatok mérete nem változik, de maguk az eseteket folyamatosan újabb adatokkal cserélik le. Ha elegendő új adatot ad meg, a betanítási adatokat lecserélheti egy teljesen új adatsorra.
A modelles esetek cseréje akkor hasznos, ha egy modellt egy esetcsoportra szeretne betaníteni, majd ezt a modellt egy másik adatsorra alkalmazni.
Az adatok cseréjéhez hozzon létre egy PREDICTION JOIN értéket egy idősormodellen, adja meg az új adatok forrását, és használja a REPLACE_MODEL_CASES argumentumot.
Megjegyzés:
Új adatok hozzáadásakor nem készíthet előzmény-előrejelzéseket.
Függetlenül attól, hogy kiterjeszti vagy lecseréli-e a betanítási adatokat, az előrejelzések mindig az eredeti betanítási készletet záró időbélyeggel kezdődnek. Más szóval, ha az új adatok n időszeleteket tartalmaznak, és az 1–n időlépésre vonatkozó előrejelzéseket kér, az előrejelzések egybeesnek az új adatokkal azonos időszakkal, és nem kap új előrejelzéseket.
Az új adatokkal nem átfedésben lévő időszakokra vonatkozó új előrejelzések lekéréséhez vagy az n+1 időszeletnél kell előrejelzéseket indítania, vagy meg kell győződnie arról, hogy további időszeleteket kér.
Tegyük fel például, hogy a meglévő modell hat hónapnyi adatból áll. Ezt a modellt úgy szeretné kibővíteni, hogy hozzáadja az elmúlt három hónap értékesítési adatait. Ugyanakkor előrejelzést szeretne készíteni a következő három hónapról. Ha csak az új adatok hozzáadásakor szeretné megkapni az új előrejelzéseket, adja meg a kezdőpontot 4. időszeletként, a végpontot pedig 7. időszeletként. Összesen hat előrejelzést is kérhet, de az első három időszelet átfedésben lenne az újonnan hozzáadott adatokkal.
A REPLACE_MODEL_CASES és a EXTEND_MODEL_CASES szintaxisával kapcsolatos lekérdezési példákért és további információkért lásd a PredictTimeSeries (DMX) című témakört.
Előrejelzések készítése EXTEND_MODEL_CASES
Az előrejelzés viselkedése attól függően változik, hogy kiterjeszti vagy lecseréli-e a modelles eseteket. A modell kiterjesztésekor az új adatok az adatsor végéhez lesznek csatolva, és a betanítási csoport mérete nő. Az előrejelzési lekérdezésekhez használt időszeletek azonban mindig az eredeti sorozat végén kezdődnek. Ezért ha három új adatpontot ad hozzá, és hat előrejelzést kér, az első három visszaadott előrejelzés átfedésben van az új adatokkal. Ebben az esetben az SQL Server Analysis Services az előrejelzés helyett a tényleges új adatpontokat adja vissza, amíg az összes új adatpont fel nem lesz használva. Ezután az SQL Server Analysis Services az összetett sorozat alapján készít előrejelzéseket.
Ez a viselkedés lehetővé teszi új adatok hozzáadását, majd a tényleges értékesítési adatok megjelenítését az előrejelzési diagramon ahelyett, hogy előrejelzéseket látnál.
Ha például három új adatpontot szeretne hozzáadni, és három új előrejelzést szeretne készíteni, tegye a következőket:
Hozzon létre előrejelzési JOIN-t egy idősorozat-modellen, és adja meg a három hónapos új adatok forrását.
Előrejelzés kérése hat időszelethez. Ehhez adjon meg 6 időszeletet, ahol a kezdőpont az 1. időszelet, a végpont pedig a 7. időszelet. Ez csak az EXTEND_MODEL_CASES esetében igaz.
Csak az új előrejelzések lekéréséhez adja meg a kezdőpontot 4-nek, a végpontot pedig 7-nek.
Az argumentumot EXTEND_MODEL_CASES kell használnia.
A rendszer az első három alkalommal visszaadott értékesítési adatokat adja vissza, a kiterjesztett modellen alapuló előrejelzések pedig a következő három időszelethez lesznek visszaadva.
Előrejelzések készítése REPLACE_MODEL_CASES
Ha lecseréli a modellben lévő eseteket, a modell mérete változatlan marad, de az SQL Server Analysis Services lecseréli a modell egyes eseteit. Ez olyan kereszt-előrejelzéshez és forgatókönyvekhez hasznos, amelyekben fontos a betanítási adatok egységes méretben való fenntartása.
Az egyik üzlet például nem rendelkezik elegendő értékesítési adatokkal. Létrehozhat egy általános modellt úgy, hogy egy adott régió összes üzletének értékesítését átlagolja, majd betanít egy modellt. Ezután, hogy előrejelzéseket készítsen azokról a boltokról, amelyeknél nincs elegendő értékesítési adat, hozzon létre egy PREDICTION JOIN-t az új értékesítési adatokon arra a boltra. Ha ezt teszi, az SQL Server Analysis Services megőrzi a regionális modellből származó mintákat, de a meglévő betanítási eseteket lecseréli az egyes tárolók adataira. Ennek eredményeképpen az előrejelzési értékek közelebb lesznek az egyes tárolók trendvonalaihoz.
A REPLACE_MODEL_CASES argumentum használatakor az SQL Server Analysis Services folyamatosan új eseteket ad hozzá az esethalmaz végéhez, és törli a megfelelő számot az esetkészlet elejétől. Ha az eredeti betanítási készletnél több új adatot ad hozzá, az SQL Server Analysis Services elveti a legkorábbi adatokat. Ha elegendő új értéket ad meg, az előrejelzések teljesen új adatokon alapulhatnak.
Betanított például a modellt egy 1000 sort tartalmazó esetadatkészletre. Ezután 100 sornyi új adatot vehet fel. Az SQL Server Analysis Services elveti az első 100 sort a betanító adatkészletből, és 100 új sor hozzáadásával egészíti ki a készletet 1000 sorra. Ha 1100 sornyi új adatot ad hozzá, a rendszer csak a legutóbbi 1000 sort használja.
Íme egy másik példa. Ha három új havi adatot szeretne hozzáadni, és három új előrejelzést szeretne készíteni, hajtsa végre a következő műveleteket:
Hozzon létre előrejelzési JOIN-t egy idősormodellen, és használja a REPLACE_MODEL_CASE argumentumot.
Adja meg a három hónapos új adatok forrását. Ezek az adatok teljesen más forrásból származhatnak, mint az eredeti betanítási adatok.
Előrejelzés kérése hat időszelethez. Ehhez adjon meg 6 időszeletet, vagy adja meg a kezdőpontot 1. időszeletként, a végpontot pedig 7. időszeletként.
Megjegyzés:
A EXTEND_MODEL_CASES ellentétben a bemeneti adatokkal hozzáadott értékeket nem lehet visszaadni. Mind a hat visszaadott érték a frissített modellen alapuló előrejelzések, amelyek a régi és az új adatokat is tartalmazzák.
Megjegyzés:
Az időbélyeg 1-től a REPLACE_MODEL_CASES segítségével új adatokat felhasználva új előrejelzéseket kap, amelyek a régi betanítási adatokat helyettesítik.
A REPLACE_MODEL_CASES és a EXTEND_MODEL_CASES szintaxisával kapcsolatos lekérdezési példákért és további információkért lásd a PredictTimeSeries (DMX) című témakört.
Hiányzó értékhelyettesítés idősorozat-modellekben
Ha új adatokat ad hozzá egy idősormodellhez egy PREDICTION JOIN utasítással, az új adatkészlet nem rendelkezhet hiányzó értékekkel. Ha bármelyik adatsor hiányos, a modellnek null érték, numerikus középérték, adott numerikus középérték vagy előrejelzett érték használatával kell megadnia a hiányzó értékeket. Ha EXTEND_MODEL_CASES ad meg, az SQL Server Analysis Services a hiányzó értékeket az eredeti modellen alapuló előrejelzésekre cseréli. Ha REPLACE_MODEL_CASES használ, az SQL Server Analysis Services a hiányzó értékeket a MISSING_VALUE_SUBSTITUTION paraméterben megadott értékre cseréli.
Előrejelzési függvények listája
Minden Microsoft-algoritmus támogatja a függvények közös készletét. A Microsoft Time Series algoritmus azonban támogatja az alábbi táblázatban felsorolt további függvényeket.
| Előrejelzési függvény | Usage |
|---|---|
| Késés (DMX) | Több időszeletet ad vissza az aktuális eset dátuma és a betanítási csoport utolsó dátuma között. Ennek a függvénynek a tipikus használata a legutóbbi betanítási esetek azonosítása, hogy részletes adatokat lehessen lekérni az esetekről. |
| PredictNodeId (DMX) | A megadott kiszámítható oszlop csomópontazonosítóját adja vissza. Ennek a függvénynek általában az a feladata, hogy azonosítsa azt a csomópontot, amely egy adott előrejelzett értéket generált, hogy áttekinthesse a csomóponthoz társított eseteket, vagy lekérhesse az egyenletet és más részleteket. |
| PredictStdev (DMX) | A megadott kiszámítható oszlopban lévő előrejelzések szórását adja vissza. Ez a függvény felváltja a INCLUDE_STATISTICS argumentumot, amelyet az idősorozat-modellek nem támogatnak. |
| PredictVariance (DMX) | A megadott kiszámítható oszlop előrejelzéseinek varianciáját adja vissza. Ez a függvény felváltja a INCLUDE_STATISTICS argumentumot, amelyet az idősorozat-modellek nem támogatnak. |
| PredictTimeSeries (DMX) | Előrejelzett előzményértékeket vagy jövőbeli előrejelzett értékeket ad vissza egy idősorhoz. Az idősormodelleket az előrejelzés (DMX) általános előrejelzési függvényével is lekérdezheti. |
Az összes Microsoft-algoritmusra jellemző függvények listáját az Általános előrejelzési függvények (DMX) című témakörben találja. Az egyes függvények szintaxisát lásd: Adatbányászati bővítmények (DMX) függvényhivatkozása.
Lásd még:
Adatbányászati lekérdezések
Microsoft Time Series Algoritmus
Microsoft Time Series Algorithm Technical Reference
Bányászati modellek tartalma idősor modellekhez (Analysis Services – Adatbányászat)