ag-csw / LDStreamHMMLearn

1 stars 0 forks source link

Evaluation Plots Non-Stationary MM #4

Closed alexlafleur closed 7 years ago

alexlafleur commented 8 years ago

Performance Non-Stationary

performance-nonstat

Error Non-Stationary

error-nonstat

greenTara commented 8 years ago

Now that we have the stationary MM case running (almost) smoothly, let's look at this non-stationary case again. We should be able to copy the scripts for the stationary case, and then replace the calls to the stationary Markov model to similar calls to the nonstationary Markov model (although there will be some extra parameters that need to be set.)

One change that needs to be made is in the temporal value that is used to get the "ground truth" transition matrix that is compared to the estimated transition matrix in each case. If my calculations are correct, this value should be: Naive: t_k = (w-1)/2 + k * shift Bayes: t_k = (k+1/2) * shift -1/2 +w* math.pow(r, k+1)/2

where w = window_size and the last value used in the data has index t = w + k * shift -1

greenTara commented 8 years ago

The following is currently going on in the heatmap scrip for the stationary case:

  1. an MMFamily1 is constructed ( a generator of scaled familes of stationary MaMs)
  2. a sample from MMFamily1 is taken, which is of class MMMScaled
  3. applying the .eval method to the MMMScaled gives us a single SpectralMM
  4. then simulation of this gives the trajectories

Then various parameters are modified to create the heatmaps. However, there are two parameters that are not investigated: timescaledisp, statconc. The first step is to add heatmaps for these. (A separate issue will be opened for this.)

The next step is to execute the stationary tests using non-stationary models with delta =0.

Based on the previously developed non-stationary tests, the MMFamily1 is used to create a QMMFamily1 instance. Then the eval method is called, as before. With delta=0, default values of the other parameters can be used, since they are irrelevant in this case.

We want to verify that the results are the same after making this change of classes. To do that, we need to specify the seed that is used in the .sample method on MMFamily1 (in both scripts).

alexlafleur commented 7 years ago

I wanted to run the stationary tests using the non-stationary models, and set delta to 0. The eval function needs an additional parameter "tauquasi". What value should I assign to this variable?

alexlafleur commented 7 years ago

MM Performance:

performance

QMM Performance with Delta=0:

performance0

MM Error:

error

QMM Error with Delta=0:

error0

greenTara commented 7 years ago

Discussion continuing at #25