Condividi tramite


Algoritmo Microsoft Time Series

Data aggiornamento: 15 settembre 2007

L'algoritmo Microsoft Time Series è un algoritmo di regressione disponibile in Microsoft SQL Server 2005 Analysis Services (SSAS) che consente di creare modelli di data mining per la stima di colonne continue, relative ad esempio alle vendite di un prodotto, in uno scenario di previsione. Mentre altri algoritmi Microsoft creano modelli che eseguono la stima della colonna stimabile in base alle colonne di input, come ad esempio un modello di struttura decisionale, la stima eseguita da un modello Time Series è basata solo sulle tendenze che l'algoritmo deriva dal set di dati originale durante la creazione del modello. Nel diagramma seguente viene illustrato un modello tipico per la previsione delle vendite di un prodotto nel tempo.

Esempio di serie temporale.

Il modello illustrato nel diagramma è costituito da due parti: le informazioni cronologiche. sul lato sinistro del grafico, e le informazioni stimate, sul lato destro del grafico. I dati cronologici rappresentano le informazioni utilizzate dall'algoritmo per creare il modello, mentre i dati stimati rappresentano le previsioni eseguite dal modello. La linea ottenuta dalla combinazione dei dati cronologici e dei dati stimati viene chiamata serie. Ogni modello di previsione deve contenere una serie del case, ovvero la colonna che distingue i punti di una serie. Ad esempio, poiché i dati del diagramma mostrano la serie relativa alle vendite di biciclette cronologiche e previste per un periodo di diversi mesi, la serie del case è rappresentata dalla colonna relativa alla data.

Una funzionalità importante dell'algoritmo Microsoft Time Series è la stima incrociata. Se pertanto si esegue il training dell'algoritmo con due serie separate ma correlate, è possibile utilizzare il modello risultante per eseguire la stima dei risultati di una serie in base al comportamento dell'altra serie. Ad esempio, le vendite osservate per un prodotto possono influenzare le vendite previste per un altro prodotto.

Esempio

Il team di gestione dell'azienda Adventure Works Cycles desidera eseguire la stima delle vendite mensili di biciclette per il prossimo anno. In particolare, l'azienda intende stabilire se le vendite di modelli di biciclette diversi sono correlate, ovvero se è possibile eseguire la stima delle vendite di un modello in base alle vendite di un altro modello. Mediante l'utilizzo dell'algoritmo Microsoft Time Series sui dati cronologici dei tre anni precedenti, l'azienda può generare un modello di data mining che prevede le vendite di biciclette future. Inoltre, l'azienda può eseguire stime incrociate per stabilire se le tendenze di vendita dei singoli modelli di biciclette sono correlate.

Funzionamento dell'algoritmo

L'algoritmo Microsoft Decision Trees esegue il training di un modello mediante una struttura decisionale con regressione automatica. Ogni modello contiene una colonna chiave temporale, che definisce gli intervalli di tempo che verranno specificati dal modello. L'algoritmo collega un numero variabile di elementi precedenti a ogni elemento corrente da stimare.

Per una descrizione più dettagliata del funzionamento dell'algoritmo Microsoft Time Series, vedere Modelli di struttura autoregressivi per l'analisi di serie temporali.

È possibile definire i dati di input per il modello Microsoft Time Series in due modi. Per comprendere il funzionamento del primo metodo, è necessario considerare la seguente tabella dei casi di input:

TimeID Product Sales Volume

1/2001

A

1000

600

2/2001

A

1100

500

1/2001

B

500

900

2/2001

B

300

890

La colonna TimeID della tabella contiene un identificatore temporale e include due voci per ogni giorno. La colonna Product definisce un prodotto del database. La colonna Sales descrive i profitti lordi del prodotto specificato per un giorno e la colonna Volume descrive la quantità del prodotto specificato che rimane nel warehouse. In questo case, il modello contiene due colonne stimabili: Sales e Volume.

In alternativa, è possibile definire i dati di input per il modello Time Series come illustrato nella tabella seguente:

TimeID A_Sales A_Volume B_Sales B_Volume

1/2001

1000

600

500

900

2/2001

1100

500

300

890

In questa tabella, le colonne relative alle vendite e al volume sono suddivise in due colonne, ognuna preceduta dal nome del prodotto. Di conseguenza, la colonna TimeID include una singola voce per ogni giorno. Il modello contiene quattro colonne stimabili: A_Sales, A_Volume, B_Sales e B_Volume.

Anche se entrambi i metodi di definizione dei dati di input determinano la visualizzazione delle stesse informazioni nel modello, il formato dei case di input modifica la definizione del modello di data mining.

Utilizzo dell'algoritmo

Un algoritmo Time Series richiede che la colonna o le colonne da stimare siano continue. Per ogni modello è consentita solo una serie del case.

L'algoritmo Microsoft Time Series supporta tipi di contenuto specifici delle colonne di input, tipi di contenuto specifici delle colonne stimabili e flag di modellazione, elencati nella tabella seguente.

Tipi di contenuto delle colonne di input

Continuous, Key, Key Time e Table

Tipi di contenuto delle colonne stimabili

Continuous e Table

Flag di modellazione

NOT NULL e REGRESSOR

Tutti gli algoritmi Microsoft supportano un set comune di funzioni. L'algoritmo Microsoft Time Series supporta tuttavia funzioni aggiuntive, elencate nella tabella seguente.

Lag

PredictTimeSeries

PredictNodeId

PredictVariance

PredictStdev

Per un elenco delle funzioni comuni a tutti gli algoritmi Microsoft, vedere Algoritmi di data mining. Per ulteriori informazioni sull'utilizzo di queste funzioni, vedere Guida di riferimento alle funzioni DMX (Data Mining Extensions).

L'algoritmo Microsoft Time Series non supporta l'utilizzo dello standard PMML (Predictive Model Markup Language) per la creazione dei modelli di data mining.

L'algoritmo Microsoft Time Series supporta vari parametri che influiscono sulle prestazioni e sull'accuratezza del modello di data mining risultante. Nella tabella seguente viene descritto ogni parametro.

Parametro Descrizione

MINIMUM_SUPPORT

Specifica il numero minimo di intervalli di tempo necessari per generare una divisione in ogni struttura di serie temporali.

Il valore predefinito è 10.

COMPLEXITY_PENALTY

Controlla l'espansione della struttura decisionale. Se questo valore diminuisce, aumentano le probabilità di una divisione. Se il valore aumenta, diminuiscono le probabilità di una divisione.

Il valore predefinito è 0,1.

PERIODICITY_HINT

Fornisce un hint all'algoritmo in riferimento alla periodicità dei dati. Se ad esempio le vendite variano in base all'anno e l'unità di misura della serie sono i mesi, la periodicità è 12. Il parametro viene espresso nel formato {n [, n]}, dove n è qualsiasi numero positivo. Il valore n all'interno delle parentesi quadre [] è facoltativo e può essere ripetuto con la frequenza necessaria.

Il valore predefinito è {1}.

MISSING_VALUE_SUBSTITUTION

Specifica il metodo utilizzato per riempire i gap nei dati cronologici. Per impostazione predefinita, non sono consentiti gap irregolari o margini discontinui nei dati. I metodi disponibili per riempire i gap o i margini irregolari sono: in base al valore precedente, in base al valore medio o in base a una costante numerica specifica.

AUTO_DETECT_PERIODICITY

Specifica un valore numerico compreso tra 0 e 1 utilizzato per il rilevamento della periodicità. L'impostazione di un valore prossimo a 1 favorisce l'individuazione di numerosi modelli quasi-periodici e la generazione automatica di hint di periodicità. La gestione di un numero elevato di hint di periodicità porterà probabilmente a tempi di training del modello significativamente più lunghi e a modelli più accurati. Se il valore è prossimo allo zero, la periodicità viene rilevata solo per i dati fortemente periodici.

Il valore predefinito è 0,6.

HISTORIC_MODEL_COUNT

Specifica il numero di modelli cronologici che verranno creati.

Il valore predefinito è 1.

HISTORICAL_MODEL_GAP

Specifica l'intervallo di tempo tra due modelli cronologici consecutivi. Se ad esempio si imposta questo valore su g, verranno creati modelli cronologici per i dati suddivisi in periodi temporali in corrispondenza degli intervalli di tempo g, 2*g, 3*g e così via.

Il valore predefinito è 10.

[!NOTA] L'hint di periodicità dipende in gran parte dalla qualità del modello. Se l'hint fornito è diverso dalla periodicità effettiva, i risultati possono essere influenzati negativamente.

Cronologia modifiche

Versione Cronologia

15 settembre 2007

Contenuto modificato:
  • Descrizioni aggiornate del grafico della serie temporale.

Vedere anche

Concetti

Algoritmi di data mining
Creazione guidata modello di data mining
Utilizzo degli strumenti di data mining
Visualizzazione di un modello di data mining con il Visualizzatore Microsoft Time Series

Altre risorse

CREATE MINING MODEL (DMX)

Guida in linea e informazioni

Assistenza su SQL Server 2005