Algoritmo Microsoft Time SeriesMicrosoft Time Series Algorithm

Si applica a: yesSQL Server Analysis Services alcunAzure Analysis ServicesAPPLIES TO: yesSQL Server Analysis Services noAzure Analysis Services

L'algoritmo MicrosoftMicrosoft Time Series rende disponibili numerosi algoritmi ottimizzati per prevedere valori continui, ad esempio vendite di prodotti, nel corso del tempo.The MicrosoftMicrosoft Time Series algorithm provides multiple algorithms that are optimized for forecasting continuous values, such as product sales, over time. Altri algoritmi MicrosoftMicrosoft , come ad esempio gli alberi delle decisioni, richiedono colonne aggiuntive di nuove informazioni come input per stimare una tendenza contrariamente a quanto accade con un modello Time Series.Whereas other MicrosoftMicrosoft algorithms, such as decision trees, require additional columns of new information as input to predict a trend, a time series model does not. Un modello Time Series può stimare le tendenze basate solo sul set di dati originale utilizzato per creare il modello.A time series model can predict trends based only on the original dataset that is used to create the model. È anche possibile aggiungere nuovi dati al modello quando viene eseguita una stima e vengono incorporati automaticamente i nuovi dati nell'analisi della tendenza.You can also add new data to the model when you make a prediction and automatically incorporate the new data in the trend analysis.

Nel diagramma seguente viene illustrato un modello tipico per la previsione delle vendite di un prodotto nel tempo, in quattro diverse regioni di vendita.The following diagram shows a typical model for forecasting sales of a product in four different sales regions over time. Il modello visualizzato nel diagramma illustra le vendite di ogni regione rappresentate con righe rosse, gialle, viola e blu.The model that is shown in the diagram shows sales for each region plotted as red, yellow, purple, and blue lines. La riga per ogni regione è composta da due parti:The line for each region has two parts:

  • Le informazioni cronologiche vengono visualizzate alla sinistra della riga verticale e rappresentano i dati utilizzati dall'algoritmo per creare il modello.Historical information appears to the left of the vertical line and represents the data that the algorithm uses to create the model.

  • Le informazioni stimate vengono visualizzate alla destra della riga verticale e rappresentano la previsione del modello.Predicted information appears to the right of the vertical line and represents the forecast that the model makes.

    La combinazione di dati di origine e dati stimati sono chiamati serie.The combination of the source data and the prediction data is called a series.

    Un esempio di una serie temporaleAn example of a time series

    Una caratteristica importante dell'algoritmo MicrosoftMicrosoft Time Series è la possibilità di eseguire stime incrociate.An important feature of the MicrosoftMicrosoft Time Series algorithm is that it can perform cross prediction. Se 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.If you train the algorithm with two separate, but related, series, you can use the resulting model to predict the outcome of one series based on the behavior of the other series. Ad esempio, le vendite osservate di un prodotto possono influenzare le vendite previste di un altro prodotto.For example, the observed sales of one product can influence the forecasted sales of another product. Incrociare la stima è anche utile per la creazione di un modello generale che possa essere applicato a più serie.Cross prediction is also useful for creating a general model that can be applied to multiple series. Ad esempio, le stime per una particolare regione sono instabili perché i dati della serie non sono di buona qualità.For example, the predictions for a particular region are unstable because the series lacks good quality data. È possibile eseguire il training di un modello generale su una media di tutte le quattro regioni e quindi applicare il modello alla serie singola per creare più stime stabili per ogni regione.You could train a general model on an average of all four regions, and then apply the model to the individual series to create more stable predictions for each region.

EsempioExample

Il team di gestione di Adventure Works CyclesAdventure Works Cycles desidera eseguire la stima delle vendite mensili di biciclette per l'anno successivo.The management team at Adventure Works CyclesAdventure Works Cycles wants to predict monthly bicycle sales for the coming year. In particolare, l'azienda intende stabilire se è possibile utilizzare le vendite di un modello di biciclette per eseguire la stima delle vendite di un altro modello.The company is especially interested in whether the sale of one bike model can be used to predict the sale of another model. Mediante l'utilizzo dell'algoritmo MicrosoftMicrosoft 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.By using the MicrosoftMicrosoft Time Series algorithm on historical data from the past three years, the company can produce a data mining model that forecasts future bike sales. Inoltre, l'azienda può eseguire stime incrociate per stabilire se le tendenze di vendita dei singoli modelli di biciclette sono correlate.Additionally, the company can perform cross predictions to see whether the sales trends of individual bike models are related.

Ogni trimestre, l'azienda intende aggiornare il modello con i recenti dati di vendita e aggiornare le stime in base alle tendenze recenti.Each quarter, the company plans to update the model with recent sales data and update their predictions to model recent trends. Per correggere i dati dei punti vendita che non aggiornano i dati in modo accurato o costante, creeranno un modello di previsione generale e lo utilizzeranno per creare previsioni per tutte le regioni.To correct for stores that do not accurately or consistently update sales data, they will create a general prediction model, and use that to create predictions for all regions.

Funzionamento dell'algoritmoHow the Algorithm Works

In SQL Server 2005SQL Server 2005, l'algoritmo MicrosoftMicrosoft Time Series usava un unico modello di serie temporale autoregressivo, denominato ARTXP.In SQL Server 2005SQL Server 2005, the MicrosoftMicrosoft Time Series algorithm used a single auto-regressive time series method, named ARTXP. L'algoritmo ARTXP è stato ottimizzato per le stime a breve termine e, pertanto, è in grado di stimare il probabile valore successivo in una serie.The ARTXP algorithm was optimized for short-term predictions, and therefore, excelled at predicting the next likely value in a series. A partire da SQL Server 2008SQL Server 2008, l'algoritmo MicrosoftMicrosoft Time Series ha aggiunto un secondo algoritmo, ARIMA, ottimizzato per la stima a lungo termine.Beginning in SQL Server 2008SQL Server 2008, the MicrosoftMicrosoft Time Series algorithm added a second algorithm, ARIMA, which was optimized for long-term prediction. Per una spiegazione dettagliata sull'implementazione degli algoritmi ARTXP e ARIMA, vedere Riferimento tecnico per l'algoritmo Microsoft Time Series.For a detailed explanation about the implementation of the ARTXP and ARIMA algorithms, see Microsoft Time Series Algorithm Technical Reference.

Per impostazione predefinita, nell'algoritmo MicrosoftMicrosoft Time Series viene usata una combinazione di algoritmi quando consente di analizzare modelli ed eseguire stime.By default, the MicrosoftMicrosoft Time Series algorithm uses a mix of the algorithms when it analyzes patterns and making predictions. L'algoritmo esegue il training di due modelli separati sugli stessi dati: un modello usa l'algoritmo ARTXP, mentre l'altro usa l'algoritmo ARIMA.The algorithm trains two separate models on the same data: one model uses the ARTXP algorithm, and one model uses the ARIMA algorithm. L'algoritmo mescola quindi i risultati dei due modelli per produrre la migliore stima per un numero variabile di intervalli di tempo.The algorithm then blends the results of the two models to yield the best prediction over a variable number of time slices. Poiché ARTXP è ottimale per le stime a breve termine, riceve un peso molto maggiore all'inizio di una serie di stime.Because ARTXP is best for short-term predictions, it is weighted more heavily at the beginning of a series of predictions. Tuttavia, con il procedere degli intervalli di tempo stimati nel futuro, ARIMA riceve un peso maggiore.However, as the time slices that you are predicting move further into the future, ARIMA is weighted more heavily.

È anche possibile controllare la combinazione di algoritmi per favorire le stime a lungo o breve termine nella serie temporale.You can also control the mix of algorithms to favor either short- or long-term prediction in the times series. A partire da SQL Server 2008SQL Server 2008 Standard, è possibile specificare l'algoritmo da usare:Beginning in SQL Server 2008SQL Server 2008 Standard, you can specify that which algorithm to use:

  • Per una stima a breve termine utilizzare solo ARTXP.Use only ARTXP for short-term prediction.

  • Per una stima a lungo termine utilizzare solo ARIMA.Use only ARIMA for long-term prediction.

  • Utilizzare la combinazione predefinita dei due algoritmi.Use the default blending of the two algorithms.

    A partire da SQL Server 2008 Enterprise EditionSQL Server 2008 Enterprise, è anche possibile personalizzare la combinazione dell'algoritmo Time Series di MicrosoftMicrosoft e dei modelli per la stima.Beginning in SQL Server 2008 Enterprise EditionSQL Server 2008 Enterprise, you can also customize how the MicrosoftMicrosoft Time Series algorithm blends the models for prediction. Quando si usa un modello misto, l'algoritmo MicrosoftMicrosoft Time Series consente di combinare i due algoritmi nella modalità seguente:When you use a mixed model, the MicrosoftMicrosoft Time Series algorithm blends the two algorithms in the following way:

  • Per eseguire la prima coppia di stime viene sempre utilizzato solo ARTXP.Only ARTXP is always used for making the first couple of predictions.

  • Dopo la prima coppia di stime, viene utilizzata una combinazione di ARIMA e ARTXP.After the first couple of predictions, a combination of ARIMA and ARTXP is used.

  • Con l'aumento del numero delle stime, le stime si basano sempre più su ARIMA fino a che ARTXP non viene più utilizzato.As the number of prediction steps increases, predictions rely more heavily on ARIMA until ARTXP is no longer used.

  • L'utente controlla il punto di combinazione, la frequenza di riduzione dello spessore di ARTXP e di aumento dello spessore di ARIMA impostando il parametro PREDICTION_SMOOTHING.You control the mixing point, the rate at which the weight of ARTXP is decreased, and the weight of ARIMA is increased by setting the PREDICTION_SMOOTHING parameter.

    Entrambi algoritmi possono rilevare la stagionalità nei dati a più livelli.Both algorithms can detect seasonality in data at multiple levels. Ad esempio, i dati potrebbero contenere cicli mensili nidificati all'interno di cicli annuali.For example, your data might contain monthly cycles nested within yearly cycles. Per rilevare questi cicli stagionali è possibile fornire un hint di periodicità o specificare che l'algoritmo deve rilevare automaticamente la periodicità.To detect these seasonal cycles, you can either provide a periodicity hint or specify that the algorithm should automatically detect periodicity.

    In aggiunta alla periodicità, esistono molti altri parametri che controllano il comportamento dell'algoritmo Time Series di MicrosoftMicrosoft quando rileva la periodicità, esegue le stime o analizza i casi.In addition to periodicity, there are several other parameters that control the behavior of the MicrosoftMicrosoft Time Series algorithm when it detects periodicity, makes predictions, or analyzes cases. Per altre informazioni sull'impostazione dei parametri dell'algoritmo, vedere Riferimento tecnico per l'algoritmo Microsoft Time Series.For information about how to set algorithm parameters, see Microsoft Time Series Algorithm Technical Reference.

Dati necessari per i modelli Time SeriesData Required for Time Series Models

Quando si preparano dati per il training di qualsiasi modello di data mining, verificare che siano chiari i requisiti per il modello specifico e il modo in cui devono essere utilizzati i dati.When you prepare data for use in training any data mining model, make sure that you understand the requirements for the particular model and how the data is used.

Ogni modello di previsione deve contenere una serie di casi, ossia la colonna che specifica gli intervalli di tempo o le altre serie in cui si verifica la modifica.Each forecasting model must contain a case series, which is the column that specifies the time slices or other series over which change occurs. Ad esempio, i dati del diagramma precedente mostrano la serie relativa alla cronologia e alle stime di vendite di biciclette per un periodo di tempo di diversi mesi.For example, the data in the previous diagram shows the series for historical and forecasted bicycle sales over a period of several months. Per questo modello, ogni regione è una serie e la colonna relativa alla data contiene la serie temporale che rappresenta anche la serie di casi.For this model, each region is a series, and the date column contains the time series, which is also the case series. In altri modelli le serie di case possono essere un campo di testo o un identificatore, ad esempio un ID cliente o un ID transazione.In other models, the case series can be a text field or some identifier such as a customer ID or transaction ID. Tuttavia, un modello Time Series deve utilizzare sempre una data, un'ora o un qualsiasi valore numerico univoco per la serie di case.However, a time series model must always use a date, time, or some other unique numeric value for its case series.

I requisiti per un modello della serie temporale sono i seguenti:The requirements for a time series model are as follows:

  • Una singola colonna chiave temporale Ogni modello deve contenere una colonna numerica o data usata come serie di case che definisce gli intervalli di tempo che il modello utilizzerà.A single key time column Each model must contain one numeric or date column that is used as the case series, which defines the time slices that the model will use. Il tipo di dati per la colonna chiave temporale può essere un tipo di dati del datetime o un tipo di dati numerici.The data type for the key time column can be either a datetime data type or a numeric data type. Tuttavia, la colonna deve contenere valori continui e i valori devono essere univoci per ogni serie.However, the column must contain continuous values, and the values must be unique for each series. Impossibile archiviare le serie di casi per un modello della serie temporale in due colonne, ad esempio una colonna annua e una colonna mensile.The case series for a time series model cannot be stored in two columns, such as a Year column and a Month column.

  • Una colonna stimabile Ogni modello deve contenere almeno una colonna stimabile che verrà usata dall'algoritmo per compilare il modello della serie temporale.A predictable column Each model must contain at least one predictable column around which the algorithm will build the time series model. Il tipo di dati della colonna stimabile deve avere valori continui.The data type of the predictable column must have continuous values. Ad esempio, è possibile stimare la modifica degli attributi numerici nel tempo, ad esempio reddito, vendite o temperatura.For example, you can predict how numeric attributes, such as income, sales, or temperature, change over time. Tuttavia, non è possibile utilizzare una colonna contenente valori discreti, ad esempio stato di acquisto o livello di istruzione, come colonna stimabile.However, you cannot use a column that contains discrete values, such as purchasing status or level of education, as the predictable column.

  • Una colonna chiave della serie facoltativa Ogni modello può avere una colonna chiave aggiuntiva contenente valori univoci che identificano una serie.An optional series key column Each model can have an additional key column that contains unique values that identify a series. La colonna chiave della serie facoltativa deve contenere valori univoci.The optional series key column must contain unique values. Ad esempio, un solo modello può contenere vendite per molti modelli del prodotto, a condizione che esista un solo record per ogni nome di prodotto di ogni intervallo di tempo.For example, a single model can contain sales for many product models, as long as there is only one record for each product name for every time slice.

    È possibile definire i dati di input per il modello Time Series di MicrosoftMicrosoft in diversi modi.You can define input data for the MicrosoftMicrosoft Time Series model in several different ways. Tuttavia, poiché il formato dei casi di input influisce sulla definizione del modello di data mining, è necessario considerare le esigenze e prepararsi di conseguenza ai dati.However, because the format of the input cases affects the definition of the mining model, you must consider your business needs and prepare your data accordingly. I due esempi seguenti illustrano il modo in cui i dati di input influiscono sul modello.The following two examples illustrate how the input data affects the model. In entrambi gli esempi, il modello di data mining completato contiene modelli per quattro serie distinte:In both examples, the completed mining model contains patterns for four distinct series:

  • Vendite del prodotto ASales for Product A

  • Vendite del prodotto BSales for Product B

  • Volume del prodotto AVolume for Product A

  • Volume del prodotto BVolume for Product B

    In entrambi gli esempi, è possibile stimare le nuove vendite future e il volume di ogni prodotto.In both examples, you can predict new future sales and volume for each product. Non è possibile stimare valori nuovi relativi al prodotto o all'ora.You cannot predict new values for product or for time.

Esempio 1: Set di dati della serie temporale con serie rappresentate come valori di colonnaExample 1: Time Series Data Set with Series Represented as Column Values

In questo esempio viene utilizzata la tabella seguente di casi di input:This example uses the following table of input cases:

TimeIDTimeID ProductProduct SalesSales VolumeVolume
1/20011/2001 AA 10001000 600600
2/20012/2001 AA 11001100 500500
1/20011/2001 BB 500500 900900
2/20012/2001 BB 300300 890890

La colonna TimeID della tabella contiene un identificatore temporale e include due voci per ogni giorno.The TimeID column in the table contains a time identifier, and has two entries for each day. La colonna TimeID diviene la serie di casi.The TimeID column becomes the case series. Pertanto, è necessario definire questa colonna come colonna chiave temporale per il modello della serie temporale.Therefore, you would designate this column as the key time column for the time series model.

La colonna Product definisce un prodotto del database.The Product column defines a product in the database. In questa colonna è contenuta la serie del prodotto.This column contains the product series. Pertanto, è necessario definire questa colonna come seconda chiave per il modello della serie temporale.Therefore, you would designate this column as a second key for the time series model.

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.The Sales column describes the gross profits of the specified product for one day, and the Volume column describes the quantity of the specified product that remains in the warehouse. In queste due colonne sono contenuti i dati utilizzati per il training del modello.These two columns contain the data that is used to train the model. Sia Sales che Volume possono essere attributi stimabili per ogni serie nella colonna Product.Both Sales and Volume can be predictable attributes for each series in the Product column.

Esempio 2: Set di dati della serie temporale con ogni serie in una colonna separataExample 2: Time Series Data Set with Each Series in Separate Column

Anche se in questo esempio vengono utilizzati fondamentalmente gli stessi dati di input del primo esempio, i dati di input vengono strutturati in modo diverso, come illustrato nella tabella seguente:Although this example uses basically the same input data as the first example, the input data is structured differently, as shown in the following table:

TimeIDTimeID A_SalesA_Sales A_VolumeA_Volume B_SalesB_Sales B_VolumeB_Volume
1/20011/2001 10001000 600600 500500 900900
2/20012/2001 11001100 500500 300300 890890

In questa tabella, la colonna TimeID contiene ancora la serie di casi per il modello Time Series che viene definito come colonna chiave temporale.In this table, the TimeID column still contains the case series for the time series model, which you designate as the key time column. Tuttavia, le colonne precedenti relative alle vendite e al volume sono suddivise in due colonne, ognuna preceduta dal nome del prodotto.However, the previous Sales and Volume columns are now split into two columns and each of those columns are preceded by the product name. Di conseguenza, la colonna TimeID include una singola voce per ogni giorno.As a result, only a single entry exists for each day in the TimeID column. In questo modo viene creato un modello Time Series contenente quattro colonne stimabili: A_Sales, A_Volume, B_Sales e B_Volume.This creates a time series model that would contain four predictable columns: A_Sales, A_Volume, B_Sales, and B_Volume.

Inoltre, poiché i prodotti sono stati separati in colonne diverse, non è necessario specificare una colonna chiave della serie aggiuntiva.Furthermore, because you have separated the products into different columns, you do not have to specify an additional series key column. Tutte le colonne del modello sono colonne della serie di casi o colonne stimabili.All the columns in the model are either a case series column or a predictable column.

Visualizzazione di un modello Time SeriesViewing a Time Series Model

In seguito al training del modello, i risultati vengono archiviati come set di modelli, esplorabili o utilizzabili per eseguire stime.After the model has been trained, the results are stored as a set of patterns, which you can explore or use to make predictions.

Per esplorare il modello è possibile usare il Visualizzatore Time Series.To explore the model, you can use the Time Series Viewer. Il visualizzatore include un grafico che illustra le stime future e una visualizzazione ad albero delle strutture periodiche dei dati.The viewer includes a chart that displays future predictions, and a tree view of the periodic structures in the data.

Per altre informazioni sul calcolo delle stime, è possibile esplorare il modello in Microsoft Generic Content Tree Viewer.If you want to know more about how the predictions are calculated, you can browse the model in the Microsoft Generic Content Tree Viewer. Nel contenuto archiviato per il modello sono inclusi dettagli, ad esempio le strutture periodiche rilevate dagli algoritmi ARIMA e ARTXP, l'equazione utilizzata per combinare gli algoritmi e altre statistiche.The content stored for the model includes details such as the periodic structures detected by the ARIMA and ARTXP algorithms, the equation used to blend the algorithms, and other statistics.

Creazione di stime basate su serie temporaliCreating Time Series Predictions

Per impostazione predefinita, quando si visualizza un modello Time Series, Analysis ServicesAnalysis Services mostra cinque stime per la serie.By default, when you view a time series model, Analysis ServicesAnalysis Services shows you five predictions for the series. Tuttavia, è possibile creare query per restituire un numero variabile di stime e colonne aggiuntive nelle stime per restituire statistiche descrittive.However, you can create queries to return a variable number of predictions, and you can extra columns to the predictions to return descriptive statistics. Per informazioni sulla creazione di query in base a un modello Time Series, vedere Esempi di query sul modello di serie temporale.For information about how to create queries against a time series model, see Time Series Model Query Examples. Per esempi su come usare DMX (Data Mining Extensions) ed eseguire stime basate su serie temporali, vedere PredictTimeSeries (DMX).For examples of how to use Data Mining Extensions (DMX) to make time series predictions, see PredictTimeSeries (DMX).

Quando si utilizza l'algoritmo MicrosoftMicrosoft Time Series per fare delle stime, è opportuno considerare i requisiti e i limiti seguenti:When using the MicrosoftMicrosoft Time Series algorithm to make predictions, you should consider the following additional restrictions and requirements:

  • La stima incrociata è disponibile solo quando si usa un modello misto o un modello basato esclusivamente sull'algoritmo ARTXP.Cross-prediction is only available when you use a mixed model, or when you use a model based solely on the ARTXP algorithm. La stima incrociata non è disponibile quando si utilizza un modello basato sull'algoritmo ARIMA.If you use a model based only on the ARIMA algorithm, cross-prediction is not possible.

  • Un modello Time Series può eseguire stime che differiscono, a volte in modo significativo, a seconda del sistema operativo a 64 bit utilizzato dal server.A time series model can make predictions that differ, sometimes significantly, depending on the 64-bit operating system that the server uses. Queste differenze sono dovute al modo in cui un sistema basato su ItaniumItaniumrappresenta e gestisce i numeri per operazioni aritmetiche a virgola mobile, che è diverso dal modo in cui tali calcoli vengono eseguiti in un sistema basato su x64x64.These differences occur due to the way that an ItaniumItanium-based system represents and handles numbers for floating-point arithmetic, which differs from the way that an x64x64-based system does these calculations. Poiché i risultati della stima possono essere specifici nel sistema operativo, si consiglia di valutare i modelli dello stesso sistema operativo che verrà utilizzato in produzione.Because prediction results can be specific to the operating system, we recommend that you evaluate models on the same operating system that you will use in production.

OsservazioniRemarks

  • Non supporta l'utilizzo del linguaggio PMML (Predictive Model Markup Language) per la creazione di modelli di data mining.Does not support using the Predictive Model Markup Language (PMML) to create mining models.

  • Supporta l'utilizzo di modelli di data mining OLAP.Supports the use of OLAP mining models.

  • Non supporta la creazione di dimensioni di data mining.Does not support the creation of data mining dimensions.

  • Supporta il drill-through.Supports drillthrough.

Vedere ancheSee Also

Algoritmi di Data Mining & #40; Analysis Services - Data Mining & #41; Data Mining Algorithms (Analysis Services - Data Mining)
Visualizzare un modello utilizzando il visualizzatore Microsoft Time Series Browse a Model Using the Microsoft Time Series Viewer
Riferimento tecnico per algoritmo Microsoft Time Series Microsoft Time Series Algorithm Technical Reference
Tempo Series Model Query Examples Time Series Model Query Examples
Contenuto del modello di data mining per i modelli Time Series & #40; Analysis Services - Data Mining & #41;Mining Model Content for Time Series Models (Analysis Services - Data Mining)