Stime basate su serie temporali utilizzando dati di sostituzione (Esercitazione intermedia sul data mining)
In questa attività verrà compilato un nuovo modello basato sui dati di vendita mondiali. Verrà quindi creata una query di stima che applica il modello delle vendite mondiali a una delle singole aree.
Compilazione di un modello generale
L'analisi dei risultati del modello di data mining originale ha rivelato differenze rilevanti tra aree e linee di prodotti. Ad esempio, le vendite in America del nord sono state elevate per il modello M200, mentre le vendite del modello T1000 non sono andate altrettanto bene. Tuttavia, l'analisi è complicata dal fatto che alcune serie non hanno molti dati o dati iniziati in un momento diverso. Alcuni dati erano inoltre mancanti.
Per risolvere alcuni dei problemi di qualità dei dati, si uniranno i dati dalle vendite di tutto il mondo e si utilizzerà tale set di tendenze di vendita generali per compilare un modello che possa essere applicato per stimare le vendite future in tutte le aree.
Quando si creano stime, si utilizza il modello generato eseguendo il training sui dati di vendita mondiali, sostituendo tuttavia i punti dati cronologici con i dati di vendita di ogni singola area. In tal modo la forma della tendenza viene mantenuta, ma i valori stimati vengono allineati con le cifre delle vendite cronologiche per ogni area e modello.
Esecuzione di stime incrociate con un modello Time Series
Il processo che prevede l'utilizzo dei dati di una serie per stimare le tendenze in un'altra serie è detto stima incrociata. È possibile utilizzare la stima incrociata in molti scenari, ad esempio, decidere che le vendite di televisori costituiscono una buona stima dell'attività economica complessiva e applicare un modello di cui è stato eseguito il training sulle vendite di televisori ai dati economici generali.
In SQL Server data mining si esegue una stima incrociata usando il parametro REPLACE_MODEL_CASES all'interno degli argomenti della funzione PredictTimeSeries (DMX).
Nell'attività successiva verrà illustrato come utilizzare REPLACE_MODEL_CASES. Si utilizzeranno i dati delle vendite mondiali uniti per compilare un modello, quindi si creerà una query di stima che esegue il mapping del modello generale ai dati di sostituzione.
Presupponendo che a questo punto l'utente abbia acquisito familiarità con la compilazione di modelli di data mining, le istruzioni per la compilazione del modello sono state semplificate.
Per compilare una struttura e un modello di data mining utilizzando i dati aggregati
In Esplora soluzioni fare clic con il pulsante destro del mouse su Strutture di data mining e quindi scegliere Nuova struttura di data mining per avviare la Creazione guidata data mining.
Nella Creazione guidata modello di data mining effettuare le seguenti selezioni:
Algoritmo: Microsoft Time Series
Utilizzare l'origine dati compilata precedentemente in questa lezione avanzata come origine per il modello. Vedere Advanced Time Series Predictions (Esercitazione sul data mining intermedio).
Visualizzazione origine dati:
AllRegions
Scegliere le colonne seguenti per le chiavi della serie e temporale:
Tempo chiave: ReportingDate
Chiave: Area
Scegliere le colonne seguenti per
Input
ePredict
:SumQty
SumAmt
AvgAmt
MediaQty
Per il nome della struttura di data mining digitare:
All Regions
Per il nome del modello di data mining digitare:
All Regions
Elaborare la nuova struttura e il nuovo modello.
Per compilare la query di stima ed eseguire il mapping dei dati di sostituzione
Se il modello non è già aperto, fare doppio clic sulla struttura AllRegions e in Data Mining Designer fare clic sulla scheda Stima modello di data mining.
Nel riquadro Modello di data mining il modello AllRegions deve essere già selezionato. Se non è selezionata, fare clic su Seleziona modello e quindi selezionare il modello AllRegions.
Nel riquadro Seleziona tabelle di input fare clic su Seleziona tabella case.
Nella finestra di dialogo Seleziona tabella modificare l'origine dati in T1000 Pacific Region e quindi fare clic su OK.
Fare clic con il pulsante destro del mouse sulla riga di join tra il modello di data mining e i dati di input e selezionare Modifica connessioni. Eseguire il mapping dei dati nella vista origine dati al modello come segue:
Verificare che la colonna ReportingDate nel modello di data mining venga mappata alla colonna ReportingDate nei dati di input.
Nella finestra di dialogo Modifica mapping nella riga per la colonna modello AvgQty fare clic su Colonna tabella e quindi selezionare T1000 Pacific.Quantity. Fare clic su OK.
Con questo passaggio viene eseguito il mapping della colonna creata nel modello per stimare la quantità media in base ai dati effettivi dalla serie T1000 per la quantità delle vendite.
Non eseguire il mapping dell'area della colonna nel modello a qualsiasi colonna di input.
Poiché il modello ha aggregato i dati in tutte le serie, non è presente alcuna corrispondenza per i valori della serie come T1000 Pacific e viene generato un errore quando viene eseguita la query di stima.
A questo punto si compilerà la query di stima.
Aggiungere innanzitutto una colonna ai risultati in cui viene restituita l'etichetta AllRegions dal modello insieme alle stime. In questo modo si saprà che i risultati sono basati sul modello generale.
Nella griglia fare clic sulla prima riga vuota, in Origine e quindi selezionare AllRegions mining model (Modello di data mining AllRegions).
Per Campo selezionare Area.
Per Alias digitare Modello usato.
Aggiungere quindi un'altra etichetta ai risultati in modo da visualizzare le serie a cui si riferisce la stima.
Fare clic su una riga vuota e in Origine selezionare Espressione personalizzata.
Nella colonna Alias digitare ModelRegion.
Nella colonna Criteri/Argomento digitare
'T1000 Pacific'
.
A questo punto si configurerà la funzione di stima incrociata.
Fare clic su una riga vuota e in Origine selezionare Funzione di stima.
Nella colonna Campo selezionare PredictTimeSeries.
Per Alias digitare Valori stimati.
Trascinare il campo AvgQty dal riquadro Modello di data mining nella colonna Criteri/Argomento usando l'operazione di trascinamento e rilascio.
Nella colonna Criteri/Argomento , dopo il nome del campo, digitare il testo seguente:
,5, REPLACE_MODEL_CASES
Il testo completo della casella di testo Criteri/Argomento deve essere il seguente:
[AllRegions].[AvgQty],5,REPLACE_MODEL_CASES
Fare clic su Risultati.
Creazione della query di stima incrociata in DMX
È possibile che si sia notato un problema durante la stima incrociata, ovvero che per applicare il modello generale a una serie di dati diversa, ad esempio il modello del prodotto T1000 nell'area America del Nord, è necessario creare una query diversa per ogni serie per poter eseguire il mapping di ogni set di input al modello.
Anziché compilare la query nella finestra di progettazione, è tuttavia possibile passare a vista DMX e modificare l'istruzione DMX creata. Ad esempio, l'istruzione DMX seguente rappresenta la query che è stata appena compilata:
SELECT
([All Regions].[Region]) as [Model Used],
('T-1000 Pacific') as [ModelRegion],
(PredictTimeSeries([All Regions].[Avg Qty],5, REPLACE_MODEL_CASES)) as [Predicted Quantity]
FROM [All Regions]
PREDICTION JOIN
OPENQUERY([Adventure Works DW2003R2], 'SELECT [ReportingDate] FROM
(
SELECT ReportingDate, ModelRegion, Quantity, Amount
FROM dbo.vTimeSeries
WHERE (ModelRegion = N''T1000 Pacific'')
) as [T1000 Pacific] ')
AS t
ON
[All Regions].[Reporting Date] = t.[ReportingDate]
AND
[All Regions].[Avg Qty] = t.[Quantity]
Per applicare questo codice a un modello diverso, è sufficiente modificare l'istruzione della query in modo da sostituire la condizione di filtro e aggiornare le etichette associate a ogni risultato.
Se ad esempio si modificano le condizioni di filtro e le etichette delle colonne sostituendo "Pacific" con "America del Nord", si otterranno stime per il prodotto T1000 in America del Nord, sulla base degli schemi nel modello generale.
Attività successiva della lezione
Confronto delle stime per i modelli di previsione (Esercitazione intermedia sul data mining)