Generating a set of different scenarios based on some initial observations

I have a in my hands 3 different time series which model 3 different scenarios (base, downside, upside). Every of this time-series depends on a set of 11 different attributes, which take values for different time intervals. Most of the different features of the input are highly correlated. There is also a (cdf) probability function which defines how probably every scenario is (every quintile), for every point in time. In my case, I want to create more input data based on the current observations and create different time-series/ simulations. For example, let’s take the case of the base scenario. The first idea I had was to calculate the Covariance matrix and the mean value of the different data points through time and then just draw samples from a multivariate normal distribution. But this obviously is not correct because even if the correlation between the different attributes is preserved, some of the properties of the time series are not. If I just draw random points and assign them at the different time intervals, some of these attributes can become wiggle. And for example, if one attribute is kind of similar with let’s say ‘GDP’ then it does not make sense to fluctuate for short-periods of time.

At this point I have think couple of ways how to deal with this problem but I have not come up with a complete analytical solution. Someone else had attempted to take a look before. He just basically defined normal distributions for each point in time using the values of the attributes for the 3 scenarios and the cdf. For example if the value of an attribute is [1.25, 1.5, 2] for every scenario respectively and for some values of the cdf, these points can be used in order to create a distribution and then sample different points. But, with this way all the new times series have the form of the base one (same fluctuation) and they are concentrated close to this series.

At this point I mostly interested in a simple approach on this problem that will give some reasonable results. It would be great if you could give some advice or any kind of reference to look for.

Topic data-science-model distribution sampling time-series python

Category Data Science


You could do block bootstrapping. For example GDP was 100, 150, 300, 100, 130. In percentage it is +50%, +100%, -67%, +30%. You choose blocks of two. So you have two blocks (+50%, +100%) and (-67%, +30%). So you take random blocks for your scenario. Possible variants:

  1. +50%, +100%, -67%, +30%
  2. +50%, +100%, +50%, +100%
  3. -67%, +30%, -67%, +30%
  4. -67%, +30%, +50%, +100%

The blocks allow you to hold autocorrelation in the data and if one block includes all variables then all correlations will also remain the same.

An explanation on how to do block bootstrapping on Cross Validated StackExchange site: https://stats.stackexchange.com/questions/25706/how-do-you-do-bootstrapping-with-time-series-data

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.