# Tutorial 3 - Time series

In this tutorial we will build a simple model from multivariate time series data.

The data consists of a single time series over the two continuous variables $X1$ and $X2$. A chart of X1 and X2 is shown below.

The following concepts will be covered:

• Temporal nodes - Dynamic Bayesian networks
• Nodes with multiple variables
• Creating a Data Connection
• Learning parameters from data
• Time Series predictions

## Creating the model

We will create the simple Dynamic Bayesian network shown below.

• Click New on the File tab to create a new empty network.

• To add the temporal X node, click the Node drop down on the Network tab, Editing group, and select the Continuous (Temporal) menu item, to create a new node. This will launch the New node window.

• Enter X in the Name text box.

• This node will contain two continuous variables, so in the Variable section, click the Multiple tab.

• Click the Add Continuous toolbar button twice, to add two new continuous variables to the node.

• Rename the new variables to the following, by clicking on the name of each new variable, and typing the new name.

• X1
• X2

The New Node window should look like this:

• Click the OK button to create the new node.

Note that we could have added the nodes automatically using the Add nodes from data feature.

• To add the first temporal link, click the Link button on the Network tab, Editing group. This will launch the New link window.

• Select X as the From node.

• Also select X as the To node.

• Ensure the Range checkbox is checked, which makes it easier to add multiple links in one step.

• Enter the value 1 in the Minimum text box.

• Enter the value 4 in the Maximum text box.

• The New Link window should look like this:

• Click the OK button to create the new link.

You can either evaluate a time series model on unseen data with different Temporal orders to determine the best model, or you can use Structural learning.

To understand the structure of a Dynamic Bayesian network, click the Unroll button on the Network tab, Refactoring group, to see what the equivalent Bayesian network would look like. Note that unrolling is not required to work with Dynamic Bayesian networks.

## Learning the distributions

We could now enter the distribution parameters for the nodes manually using the Distribution editor, however in this tutorial we will learn the parameter values from data.

For convenience, we will use Microsoft Excel as the data source, however another database can be substituted.

Although Microsoft Excel is a convenient way of storing data, in practice we recommend using a database as the data source.

Note: You can skip this step, and instead use the pre-installed Tutorial data connection (Walkthrough Data in earlier versions).

• Select the data (including the header) in the data section and copy it to the clipboard (Ctrl+C).
• Open Microsoft Excel and paste the data into a new Microsoft Excel spreadsheet (Ctrl+V).
• In Bayes Server, click the Data Connections button on the Data tab, Data Sources group. This will launch the Data connection manager.
• Click the New button on the toolbar. This will launch the Data connection editor.
• In the list of data providers, select the appropriate Excel Driver for the version of Microsoft Excel you are using.
• Next to the File Name text box, click the Ellipsis (...) button, and select the Microsoft Excel spreadsheet created in an earlier step.
• Click the Test Connection button, to ensure the new data connection is working.
• Click OK to add the new Data Connection.

### Parameter learning

• Click the Parameter Learning button, on the Data tab. This will launch the Data tables window.

• In the Data Connection drop down, select the new Data Connection created in an earlier step, or the Tutorial data connection if you skipped that step. This should enable the Time series / sequential Data drop down.

• In the Time series / sequential Data drop down, select the worksheet that contains the data. (If the data is on the first worksheet, select Sheet1\$). If you are using the pre-installed Tutorial data connection, select Tutorial 3 - Time series.

• Click the OK button. This will launch the Data map window.

• In the Data map window, ensure that the variables $X1$ and $X2$ have automatically been mapped to columns X1 and X2 respectively.

• Select the Case data column in the Case Id Column drop down, if it has not already been automatically mapped.

Using a Case Id column in this example is optional as we only have a single multivariate time series.

• Select the Time data column in the Time Column drop down, if it has not already been automatically mapped.

The window should look like this:

• Click the OK button. This will launch the Parameter learning wizard.

• Click Next in the wizard, accepting all the default settings, until you reach the Options page.

• Ensure the Time Series mode is set to Rolling.

• Click Next in the wizard, until you reach the Run page. Click the Run button to start learning.

• When learning has completed, click the Finish button on the wizard. This will launch the Candidate Networks window.

• Click the OK button in the Candidate Networks window.

• The network distributions have now been learned.

## Time Series Prediction

### Enter evidence

Before predicting future values, we will enter some evidence.

• Ensure Data explorer is open by clicking the Data Explorer button on the View toolbar tab, Explorers group.

You can enter evidence manually using the Evidence window, however we will use Data Explorer here for convenience.

• Click in Data Explorer to ensure it has focus.

A contextual tab should appear on the toolbar, with the title Data Explorer. If the tab's contents are not visible, click on the Data Explorer tab.

• Click the Load button on the Data Explorer tab, Data group. This will launch the Data tables window.

• In the Data Connection drop down, select the Data Connection created earlier. This should enable the Time Series / Sequential data drop down.

• In the Time series / sequential Data drop down, select the worksheet that contains the data. (If the data is on the first worksheet, select Sheet1\$). If you are using the pre-installed Tutorial data connection, select Tutorial 3 - Time series.

• Click the OK button. This will launch the Data map window.

• In the Data map window, ensure that the variables $X1$ and $X2$ have automatically been mapped to columns X1 and X2 respectively.

• Select the Case data column in the Case Id Column drop down, if it has not already been automatically mapped.

• Select the Time data column in the Time Column drop down, if it has not already been automatically mapped. The window should look like this:

• Click the OK button. This will load the data into Data explorer.

Data explorer should look like this.

Data Explorer loads data into memory, so should not be used for large data sets.

• Select the only case in the top pane of Data Explorer with id 0, and click the Apply button in the Data Explorer tab, Apply group. This will set evidence on the network.

Instead of clicking the Apply button, you can double click the case in the top pane of Data Explorer to apply evidence.

• To check that the evidence has been set correctly, and to see how you might enter evidence manually, click the Edit Evidence button in the Query tab, Evidence group. This will launch the Evidence window.

Double clicking a node, also opens the Evidence window.

• Click the Discard changes button on the Evidence tab, Close group, to close the evidence window.

### Time Series Query

• Click the All button with the green arrow at the bottom of network viewer, or use the shortcut F6 to query all the nodes in the network. This will launch the Series query window.

• Ensure the min and max times are set as follows:

Time Time Type
Min 1 Relative
Max 25 Relative

Relative means that times starts from the maximum evidence time.

You can also plot a custom time series predictions from the Query tab, Temporal group

• Click the OK button.

• You can change the display by clicking the Toggle Chart Display Type button on the Node toolbar shown below.

The network should look like this:

## More complex models

The network created in this tutorial can be extended by adding additional nodes, to model more complex data.

For example, discrete nodes could be added, that represent different regimes/contexts, allowing the Gaussian distributions to vary. This could be a node that is mapped to data, or a latent (cluster) variable, similar to that used in Tutorial 2 - Mixture model however is typically a temporal node.

## Data

Case Time X1 X2
0 0 2.318745783 20.46006463
0 1 5.933818502 17.67586928
0 2 7.504462149 15.1712915
0 3 8.851967996 13.46621753
0 4 12.60817163 12.45778021
0 5 13.53426343 11.28238594
0 6 14.08388741 11.36542721
0 7 13.3766438 11.32797101
0 8 15.68526939 10.8970169
0 9 15.11022927 14.1524426
0 10 13.20119013 14.26016682
0 11 9.494001085 16.08702792
0 12 8.304703769 18.63487888
0 13 6.593647849 22.21299995
0 14 4.118074113 23.21864609
0 15 2.111678085 26.50607334
0 16 2.476215264 26.69056302
0 17 -0.231077926 28.01168052
0 18 0.087771397 30.26062659
0 19 1.315852301 29.6079087
0 20 2.810231967 30.05485261
0 21 2.552855638 26.86816415
0 22 4.900436683 25.76875809
0 23 7.913171459 23.26273577
0 24 9.737370988 21.25918873
0 25 12.66258445 19.13469172
0 26 15.64544348 15.71762796
0 27 20.58203988 15.42579064
0 28 22.86777997 10.63982879
0 29 23.57926162 10.27021685
0 30 27.02910891 9.817333981
0 31 25.58107867 9.061899103
0 32 26.94255966 9.584602154
0 33 27.16040423 9.442765674
0 34 27.04495789 10.51641975
0 35 24.90688221 11.75130635
0 36 23.98954889 14.35173433
0 37 22.28610935 16.40809747
0 38 19.78816701 17.39167485
0 39 16.91941516 19.96761072
0 40 17.29332335 22.57813982
0 41 14.01409456 24.24254295
0 42 13.87122505 25.42334936
0 43 13.44463368 27.31677309
0 44 14.83781008 26.23227138
0 45 15.68276374 26.56970664
0 46 15.13583588 27.03137041
0 47 16.43886985 25.07092718
0 48 20.7979978 21.18958008
0 49 23.48791794 20.8674994
0 50 26.72710284 18.26751923
0 51 30.28903693 15.61215805
0 52 30.51520286 13.53912436
0 53 35.46528278 10.30766893
0 54 37.84679647 9.496972103
0 55 38.08298043 6.199712849
0 56 40.39095686 5.590196774
0 57 40.07846242 6.959696004
0 58 40.08610277 7.152498131
0 59 40.05179382 6.732313676
0 60 38.15557619 10.37673309
0 61 34.99846217 10.03214111
0 62 34.6842111 13.81602026
0 63 31.58501235 14.62634965
0 64 29.21931264 18.37806697
0 65 28.79983427 19.48749404
0 66 27.62649704 22.95728553
0 67 24.91441719 21.98144367
0 68 27.14508364 23.12311523
0 69 26.36169102 25.70715991
0 70 25.42262786 22.91309475
0 71 26.68629076 24.76868418
0 72 29.69233279 21.08297546
0 73 30.99710698 19.63166555
0 74 34.02657121 19.00319207
0 75 39.27729696 13.73228031
0 76 39.67147284 11.96785476
0 77 44.18986124 10.81560819
0 78 45.904526 7.002139952
0 79 49.52983788 5.68254081
0 80 51.30622996 4.286459901
0 81 50.67634617 4.42147376
0 82 53.11851589 3.747526155
0 83 51.48325685 3.070023993
0 84 50.63623668 4.0580626
0 85 51.8926161 5.507954661
0 86 48.70427797 9.596489359
0 87 47.51607953 11.35891616
0 88 46.67047755 13.64482398
0 89 43.05034733 15.68684769
0 90 41.62091455 17.72461027
0 91 39.80023298 19.58704864
0 92 39.29655794 20.00115014
0 93 38.93020152 23.13560737
0 94 38.88239321 21.07024372
0 95 39.63691083 22.20872048
0 96 40.17065414 21.28034691
0 97 42.31931906 20.13211517
0 98 43.81657518 17.76721478
0 99 48.32749664 15.14488814