Share via


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 contenevano molti dati o che i dati sono stati avviati in una data e un'ora diverse. Alcuni dati erano inoltre mancanti.

Serie per la stima delle quantità M200 e T1000

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 Data mining di SQL Server la stima incrociata viene eseguita utilizzando il parametro REPLACE_MODEL_CASES all'interno degli argomenti per la 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

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse su Strutture di data mining e scegliere Nuova struttura di data mining per aprire la Creazione guidata modello di data mining.

  2. 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 Stime avanzate basate su serie temporali (Esercitazione intermedia sul data mining).

      Vista origine dati: AllRegions

    • Scegliere le colonne seguenti per le chiavi della serie e temporale:

      Key time: ReportingDate

      Chiave: Region

    • Scegliere le colonne seguenti per Input e Predict:

      SumQty

      SumAmt

      AvgAmt

      AvgQty

    • In Nome struttura di data mining digitare All Regions

    • In Nome modello di data mining digitare All Regions

  3. Elaborare la nuova struttura e il nuovo modello.

Per compilare la query di stima ed eseguire il mapping dei dati di sostituzione

  1. Se il modello non è già aperto, fare doppio clic sulla struttura AllRegions, quindi in Progettazione modelli di data mining fare clic sulla scheda Stima modello di data mining.

  2. Nel riquadro Modello di data mining il modello AllRegions dovrebbe essere già selezionato. In caso contrario, fare clic su Seleziona modello e selezionare il modello AllRegions.

  3. Nel riquadro Seleziona tabella/e di input fare clic su Seleziona tabella del case.

  4. Nella finestra di dialogo Seleziona tabella impostare l'origine dati su T1000 Pacific Region, quindi scegliere OK.

  5. Fare clic con il pulsante destro del mouse sulla linea di join tra il modello di data mining e i dati di input, quindi scegliere Modifica connessioni. Eseguire il mapping dei dati nella vista origine dati al modello come segue:

    1. Verificare che sia stato eseguito il mapping della colonna ReportingDate nel modello di data mining alla colonna ReportingDate nei dati di input.

    2. Nella finestra di dialogo Modifica mapping, nella riga relativa alla colonna del modello AvgQty fare clic in Colonna tabella, quindi selezionare T1000 Pacific.Quantity. Scegliere 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.

    3. Non eseguire il mapping della colonna Region nel modello ad alcuna 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.

  6. 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.

    1. Nella griglia fare clic sulla prima riga vuota in Origine, quindi selezionare AllRegions mining model.

    2. In Campo selezionare Region.

    3. In Alias digitare Model Used.

  7. Aggiungere quindi un'altra etichetta ai risultati in modo da visualizzare le serie a cui si riferisce la stima.

    1. Fare clic su una riga vuota, quindi in Origine selezionare Espressione personalizzata.

    2. Nella colonna Alias digitare ModelRegion.

    3. Nella colonna Criteri/Argomento digitare 'T1000 Pacific'.

  8. A questo punto si configurerà la funzione di stima incrociata.

    1. Fare clic su una riga vuota, quindi in Origine selezionare Funzione di stima.

    2. Nella colonna Campo selezionare PredictTimeSeries.

    3. In Alias digitare Predicted Values.

    4. Trascinare il campo AvgQty dal riquadro Modello di data mining e rilasciarlo nella colonna Criteri/Argomento mediante un'operazione di trascinamento.

    5. Nella colonna Criteri/Argomento digitare dopo il nome del campo il testo seguente: ,5, REPLACE_MODEL_CASES

      Il testo completo nella casella di testo Criteri/Argomento dovrebbe risultare analogo al seguente: [AllRegions].[AvgQty],5,REPLACE_MODEL_CASES

  9. 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 North America, è 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 "North America", si otterranno stime per il prodotto T1000 in Nord America, sulla base degli schemi nel modello generale.

Attività successiva della lezione

Confronto delle stime per i modelli di previsione (Esercitazione intermedia sul data mining)

Vedere anche

Riferimento

PredictTimeSeries (DMX)

Concetti

Esempi di query sul modello di serie temporale