In [1]:
import autoreg
import GPy
import numpy as np
from matplotlib import pyplot as plt
from __future__ import print_function
%matplotlib inline

from autoreg.benchmark import tasks

In [2]:
# Function to compute root mean square error:

def comp_RMSE(a,b):
    return np.sqrt(np.square(a-b).mean())

In [3]:
# Define class for normalization
class Normalize(object):
    
    def __init__(self, data, name, norm_name):
        
        self.data_mean = data.mean(axis=0)
        self.data_std = data.std(axis=0)
        self.normalization_computed = True
        
        setattr(self, name, data)                         
        setattr(self, norm_name, (data-self.data_mean) / self.data_std )
        
    def normalize(self, data, name, norm_name):
            if hasattr(self,norm_name):
                raise ValueError("This normalization name already exist, choose another one")
            
            setattr(self, name, data )
            setattr(self, norm_name, (data-self.data_mean) / self.data_std )
            
            
                                     
    def denormalize(self, data):
                                   
        return data*self.data_std + self.data_mean

In [4]:
trainned_models_folder_name = "/Users/grigoral/work/code/RGP/examples/identif_trainded"
task_name = 'IdentificationExample5'
# task names:
# Actuator, Ballbeam, Drive, Gas_furnace, Flutter, Dryer, Tank,
# IdentificationExample1..5

In [5]:
task = getattr( tasks, task_name)
task = task()
task.load_data()
print("Data OUT train shape:  ", task.data_out_train.shape)
print("Data IN train shape:  ", task.data_in_train.shape)
print("Data OUT test shape:  ", task.data_out_test.shape)
print("Data IN test shape:  ", task.data_in_test.shape)


Data OUT train shape:   (300, 1)
Data IN train shape:   (300, 1)
Data OUT test shape:   (300, 1)
Data IN test shape:   (300, 1)

Normalize training and test data:


In [6]:
normalize = False
in_data = Normalize(task.data_in_train,'in_train','in_train_norm' )
out_data = Normalize(task.data_out_train,'out_train','out_train_norm' )

in_data.normalize(task.data_in_test, 'in_test','in_test_norm')
out_data.normalize(task.data_out_test, 'out_test','out_test_norm')

if normalize:
    out_train = out_data.out_train_norm #out_data.out_train 
    in_train = in_data.in_train_norm # in_data.in_train
    out_test = out_data.out_test_norm #out_data.out_test
    in_test = in_data.in_test_norm #in_data.in_test
else:
    out_train = out_data.out_train  #out_data.out_train 
    in_train = in_data.in_train # in_data.in_train
    out_test = out_data.out_test #out_data.out_test
    in_test = in_data.in_test #in_data.in_test

print("Training OUT mean:  ", out_train.mean(0)); 
print("Training OUT std:  ", out_train.std(0))
print("")
print("Test OUT mean:  ", out_test.mean(0)); 
print("Test OUT std:  ", out_test.std(0))
print("")
print("Training IN mean:  ", in_train.mean(0)); 
print("Training IN std:  ", in_train.std(0))
print("")
print("Test IN mean:  ", in_test.mean(0)); 
print("Test IN std:  ", in_test.std(0))


Training OUT mean:   [ 0.05968174]
Training OUT std:   [ 1.87727311]

Test OUT mean:   [ 0.23458633]
Test OUT std:   [ 1.70671659]

Training IN mean:   [ 0.16261821]
Training IN std:   [ 1.48605093]

Test IN mean:   [  9.17784367e-17]
Test IN std:   [ 1.]

Plot training and test data:


In [7]:
# Plot training:
fig1 = plt.figure(1,figsize=(20,8))
fig1.suptitle('Training data')
ax1 = plt.subplot(1,2,1)
ax1.plot(out_train)
ax1.set_title('Data OUT training')

ax2 = plt.subplot(1,2,2)
ax2.plot(in_train)
ax2.set_title('Data IN training')

fig2 = plt.figure(2,figsize=(20,8))
fig2.suptitle('Test data')
ax3 = plt.subplot(1,2,1)
ax3.plot(out_test)
ax3.set_title('Data OUT test')

ax4 = plt.subplot(1,2,2)
ax4.plot(in_test)
ax4.set_title('Data IN test')

del ax1, ax2, ax3, ax4


Model definition:


In [49]:
Q = 50 # 200 # Inducing points num
win_in = task.win_in # 20
win_out = task.win_out # 20
use_controls = True
back_cstr = False
inference_method = 'svi'

# 1 layer:
wins = [0, win_out] # 0-th is output layer
nDims = [out_train.shape[1],1]

# 2 layers:
# wins = [0, win_out, win_out]
# nDims = [out_train.shape[1],1,1]

MLP_dims = [300,200]
print("Input window:  ", win_in)
print("Output window:  ", win_out)


m = autoreg.DeepAutoreg_new(wins, out_train, U=in_train, U_win=win_in,
                        num_inducing=Q, back_cstr=back_cstr, MLP_dims=MLP_dims, nDims=nDims,
                        init='Y', # how to initialize hidden states means
                        X_variance=0.05, # how to initialize hidden states variances
                        inference_method=inference_method, # Inference method
                        # 1 layer:
                        kernels=[GPy.kern.RBF(win_out,ARD=True,inv_l=True),
                                 GPy.kern.RBF(win_in + win_out,ARD=True,inv_l=True)] )

                        # 2 layers:
                        #kernels=[GPy.kern.RBF(win_out,ARD=True,inv_l=True),
                        #         GPy.kern.RBF(win_out+win_out,ARD=True,inv_l=True),
                        #         GPy.kern.RBF(win_out+win_in,ARD=True,inv_l=True)])
        
#m = autoreg.DeepAutoreg([0,win_out],out_train, U=in_train, U_win=win_in,X_variance=0.01,
#                        num_inducing=50)

# pattern for model name: #task_name, inf_meth=?, wins=layers, Q = ?, backcstr=?,MLP_dims=?, nDims=
model_file_name = '%s--inf_meth=%s--wins=%s--Q=%i--backcstr=%i--nDims=%s' % (task.name, 
    'reg' if inference_method is None else inference_method, str(wins), Q, back_cstr, str(nDims))
if back_cstr == True:
    model_file_name += '--MLP_dims=%s' % (MLP_dims,)
    
print('Model file name:  ',  model_file_name)
print(m)
m.checkgrad(verbose=True)


Input window:   5
Output window:   5
Model file name:   IdentificationExample5--inf_meth=svi--wins=[0, 5]--Q=3--backcstr=0--nDims=[1, 1]

Name : autoreg
Objective : 68283.6643485
Number of Parameters : 690
Number of Optimization Parameters : 690
Updates : True
Parameters:
  autoreg.                         |     value  |  constraints  |  priors
  layer_1.inducing_inputs          |   (3, 10)  |               |        
  layer_1.rbf.variance             |       1.0  |      +ve      |        
  layer_1.rbf.inv_lengthscale      |     (10,)  |      +ve      |        
  layer_1.Gaussian_noise.variance  |      0.01  |      +ve      |        
  layer_1.qU_m                     |    (3, 1)  |               |        
  layer_1.qU_W                     |    (3, 3)  |               |        
  layer_1.qU_a                     |     0.001  |      +ve      |        
  layer_1.qX_0.mean                |  (300, 1)  |               |        
  layer_1.qX_0.variance            |  (300, 1)  |      +ve      |        
  layer_0.inducing_inputs          |    (3, 5)  |               |        
  layer_0.rbf.variance             |       1.0  |      +ve      |        
  layer_0.rbf.inv_lengthscale      |      (5,)  |      +ve      |        
  layer_0.Gaussian_noise.variance  |       1.0  |      +ve      |        
  layer_0.qU_m                     |    (3, 1)  |               |        
  layer_0.qU_W                     |    (3, 3)  |               |        
  layer_0.qU_a                     |     0.001  |      +ve      |        
                    Name                     |     Ratio     |  Difference   |  Analytical   |   Numerical   |   dF_ratio    
-----------------------------------------------------------------------------------------------------------------------------
 autoreg.layer_1.inducing_inputs[[0 0]]      |   0.999998    |   0.000003    |   -1.346142   |   -1.346139   |     4e-11     
 autoreg.layer_1.inducing_inputs[[0 1]]      |   0.999999    |   0.000002    |   3.704345    |   3.704343    |     1e-10     
 autoreg.layer_1.inducing_inputs[[0 2]]      |   1.000000    |   0.000000    |   0.634544    |   0.634544    |     2e-11     
 autoreg.layer_1.inducing_inputs[[0 3]]      |   0.999999    |   0.000002    |   1.930219    |   1.930217    |     6e-11     
 autoreg.layer_1.inducing_inputs[[0 4]]      |   0.999999    |   0.000005    |   -7.912492   |   -7.912487   |     2e-10     
 autoreg.layer_1.inducing_inputs[[0 5]]      |   1.000002    |   0.000004    |   2.209479    |   2.209483    |     6e-11     
 autoreg.layer_1.inducing_inputs[[0 6]]      |   0.999999    |   0.000005    |   -4.889020   |   -4.889014   |     1e-10     
 autoreg.layer_1.inducing_inputs[[0 7]]      |   0.999997    |   0.000005    |   1.654711    |   1.654706    |     5e-11     
 autoreg.layer_1.inducing_inputs[[0 8]]      |   0.999999    |   0.000002    |   -4.098848   |   -4.098845   |     1e-10     
 autoreg.layer_1.inducing_inputs[[0 9]]      |   1.000000    |   0.000002    |  -10.573926   |  -10.573924   |     3e-10     
 autoreg.layer_1.inducing_inputs[[1 0]]      |   1.000001    |   0.000006    |  -10.878424   |  -10.878430   |     3e-10     
 autoreg.layer_1.inducing_inputs[[1 1]]      |   1.000001    |   0.000007    |   -9.384894   |   -9.384901   |     3e-10     
 autoreg.layer_1.inducing_inputs[[1 2]]      |   0.999999    |   0.000004    |   -6.970983   |   -6.970979   |     2e-10     
 autoreg.layer_1.inducing_inputs[[1 3]]      |   0.999997    |   0.000006    |   1.922947    |   1.922941    |     6e-11     
 autoreg.layer_1.inducing_inputs[[1 4]]      |   1.000001    |   0.000002    |   2.013707    |   2.013709    |     6e-11     
 autoreg.layer_1.inducing_inputs[[1 5]]      |   1.000000    |   0.000005    |   21.581060   |   21.581065   |     6e-10     
 autoreg.layer_1.inducing_inputs[[1 6]]      |   0.999999    |   0.000004    |   -4.200196   |   -4.200192   |     1e-10     
 autoreg.layer_1.inducing_inputs[[1 7]]      |   1.000000    |   0.000003    |  -12.270476   |  -12.270473   |     4e-10     
 autoreg.layer_1.inducing_inputs[[1 8]]      |   1.000000    |   0.000002    |   -8.393641   |   -8.393639   |     2e-10     
 autoreg.layer_1.inducing_inputs[[1 9]]      |   1.000000    |   0.000001    |   -4.440735   |   -4.440735   |     1e-10     
 autoreg.layer_1.inducing_inputs[[2 0]]      |   0.999997    |   0.000009    |   2.562405    |   2.562396    |     8e-11     
 autoreg.layer_1.inducing_inputs[[2 1]]      |   0.999999    |   0.000002    |   -3.361960   |   -3.361958   |     1e-10     
 autoreg.layer_1.inducing_inputs[[2 2]]      |   1.000001    |   0.000003    |   -4.007747   |   -4.007750   |     1e-10     
 autoreg.layer_1.inducing_inputs[[2 3]]      |   0.999998    |   0.000006    |   -2.920183   |   -2.920176   |     9e-11     
 autoreg.layer_1.inducing_inputs[[2 4]]      |   0.999999    |   0.000006    |   -5.247209   |   -5.247202   |     2e-10     
 autoreg.layer_1.inducing_inputs[[2 5]]      |   1.000002    |   0.000004    |   -1.952637   |   -1.952641   |     6e-11     
 autoreg.layer_1.inducing_inputs[[2 6]]      |   1.000003    |   0.000005    |   1.564312    |   1.564316    |     5e-11     
 autoreg.layer_1.inducing_inputs[[2 7]]      |   0.999998    |   0.000006    |   -2.266517   |   -2.266512   |     7e-11     
 autoreg.layer_1.inducing_inputs[[2 8]]      |   1.000002    |   0.000009    |   -4.030958   |   -4.030968   |     1e-10     
 autoreg.layer_1.inducing_inputs[[2 9]]      |   1.000001    |   0.000002    |   -2.874241   |   -2.874243   |     8e-11     
 autoreg.layer_1.rbf.variance                |   1.000000    |   0.000007    |  9322.525722  |  9322.525715  |     3e-07     
 autoreg.layer_1.rbf.inv_lengthscale[[0]]    |   0.999999    |   0.000006    |   6.791581    |   6.791575    |     2e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[1]]    |   1.000000    |   0.000001    |   8.761753    |   8.761752    |     3e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[2]]    |   1.000002    |   0.000008    |   4.270346    |   4.270354    |     1e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[3]]    |   1.000000    |   0.000000    |   4.599118    |   4.599118    |     1e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[4]]    |   1.000001    |   0.000004    |   3.296944    |   3.296947    |     1e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[5]]    |   1.000000    |   0.000003    |   13.694549   |   13.694553   |     4e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[6]]    |   1.000000    |   0.000000    |   5.931463    |   5.931463    |     2e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[7]]    |   1.000001    |   0.000010    |   9.279462    |   9.279473    |     3e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[8]]    |   1.000000    |   0.000001    |   6.184572    |   6.184571    |     2e-10     
 autoreg.layer_1.rbf.inv_lengthscale[[9]]    |   1.000000    |   0.000001    |   8.201858    |   8.201860    |     2e-10     
 autoreg.layer_1.Gaussian_noise.variance     |   1.000000    |   0.000009    | -67239.511364 | -67239.511372 |     2e-06     
 autoreg.layer_1.qU_m[[0 0]]                 |   1.000000    |   0.000001    |  -28.488975   |  -28.488976   |     8e-10     
 autoreg.layer_1.qU_m[[1 0]]                 |   1.000000    |   0.000001    |   43.766536   |   43.766537   |     1e-09     
 autoreg.layer_1.qU_m[[2 0]]                 |   1.000013    |   0.000004    |   0.289397    |   0.289401    |     8e-12     
 autoreg.layer_1.qU_W[[0 0]]                 |   1.000001    |   0.000006    |   -5.010037   |   -5.010043   |     1e-10     
 autoreg.layer_1.qU_W[[0 1]]                 |   0.999999    |   0.000002    |   -3.092094   |   -3.092093   |     9e-11     
 autoreg.layer_1.qU_W[[0 2]]                 |   1.000000    |   0.000000    |   11.586715   |   11.586715   |     3e-10     
 autoreg.layer_1.qU_W[[1 0]]                 |   0.999999    |   0.000005    |   -7.609595   |   -7.609589   |     2e-10     
 autoreg.layer_1.qU_W[[1 1]]                 |   0.999999    |   0.000005    |   -3.408842   |   -3.408837   |     1e-10     
 autoreg.layer_1.qU_W[[1 2]]                 |   0.999999    |   0.000001    |   1.839007    |   1.839006    |     5e-11     
 autoreg.layer_1.qU_W[[2 0]]                 |   1.000002    |   0.000003    |   -1.709607   |   -1.709610   |     5e-11     
 autoreg.layer_1.qU_W[[2 1]]                 |   1.000000    |   0.000000    |   -1.607070   |   -1.607070   |     5e-11     
 autoreg.layer_1.qU_W[[2 2]]                 |   0.999999    |   0.000001    |   1.756737    |   1.756736    |     5e-11     
 autoreg.layer_1.qU_a                        |   1.000003    |   0.000004    |   -1.317970   |   -1.317974   |     4e-11     
 autoreg.layer_1.qX_0.mean[[0 0]]            |   1.000024    |   0.000002    |   0.088037    |   0.088039    |     3e-12     
 autoreg.layer_1.qX_0.mean[[1 0]]            |   0.999992    |   0.000003    |   0.393218    |   0.393215    |     1e-11     
 autoreg.layer_1.qX_0.mean[[2 0]]            |   0.999998    |   0.000001    |   0.647969    |   0.647968    |     2e-11     
 autoreg.layer_1.qX_0.mean[[3 0]]            |   1.000008    |   0.000002    |   0.241865    |   0.241867    |     7e-12     
 autoreg.layer_1.qX_0.mean[[4 0]]            |   1.000027    |   0.000007    |   0.259053    |   0.259060    |     8e-12     
 autoreg.layer_1.qX_0.mean[[5 0]]            |   1.000000    |   0.000015    |  -129.529108  |  -129.529093  |     4e-09     
 autoreg.layer_1.qX_0.mean[[6 0]]            |   1.000000    |   0.000007    |   65.375694   |   65.375687   |     2e-09     
 autoreg.layer_1.qX_0.mean[[7 0]]            |   1.000000    |   0.000000    |  -35.315280   |  -35.315279   |     1e-09     
 autoreg.layer_1.qX_0.mean[[8 0]]            |   1.000000    |   0.000005    |  -138.437036  |  -138.437041  |     4e-09     
 autoreg.layer_1.qX_0.mean[[9 0]]            |   1.000000    |   0.000004    |  -87.060111   |  -87.060107   |     3e-09     
 autoreg.layer_1.qX_0.mean[[10  0]]          |   1.000000    |   0.000003    |  135.077684   |  135.077687   |     4e-09     
 autoreg.layer_1.qX_0.mean[[11  0]]          |   1.000000    |   0.000001    |  -15.712591   |  -15.712591   |     5e-10     
 autoreg.layer_1.qX_0.mean[[12  0]]          |   1.000000    |   0.000011    |  -166.242763  |  -166.242775  |     5e-09     
 autoreg.layer_1.qX_0.mean[[13  0]]          |   1.000000    |   0.000001    |  -72.014655   |  -72.014656   |     2e-09     
 autoreg.layer_1.qX_0.mean[[14  0]]          |   1.000000    |   0.000004    |  -417.327461  |  -417.327457  |     1e-08     
 autoreg.layer_1.qX_0.mean[[15  0]]          |   1.000000    |   0.000006    |  164.517782   |  164.517776   |     5e-09     
 autoreg.layer_1.qX_0.mean[[16  0]]          |   1.000000    |   0.000006    |   74.792041   |   74.792035   |     2e-09     
 autoreg.layer_1.qX_0.mean[[17  0]]          |   1.000000    |   0.000006    |  -59.039093   |  -59.039099   |     2e-09     
 autoreg.layer_1.qX_0.mean[[18  0]]          |   1.000000    |   0.000001    |   35.325632   |   35.325633   |     1e-09     
 autoreg.layer_1.qX_0.mean[[19  0]]          |   1.000000    |   0.000004    |  -230.055379  |  -230.055382  |     7e-09     
 autoreg.layer_1.qX_0.mean[[20  0]]          |   1.000000    |   0.000003    |  130.899785   |  130.899782   |     4e-09     
 autoreg.layer_1.qX_0.mean[[21  0]]          |   1.000000    |   0.000002    |   91.514228   |   91.514230   |     3e-09     
 autoreg.layer_1.qX_0.mean[[22  0]]          |   0.999999    |   0.000005    |   6.446205    |   6.446200    |     2e-10     
 autoreg.layer_1.qX_0.mean[[23  0]]          |   1.000000    |   0.000012    |  218.350159   |  218.350171   |     6e-09     
 autoreg.layer_1.qX_0.mean[[24  0]]          |   1.000000    |   0.000012    |   52.769084   |   52.769072   |     2e-09     
 autoreg.layer_1.qX_0.mean[[25  0]]          |   1.000000    |   0.000005    |  143.104710   |  143.104706   |     4e-09     
 autoreg.layer_1.qX_0.mean[[26  0]]          |   1.000000    |   0.000010    |  199.361060   |  199.361049   |     6e-09     
 autoreg.layer_1.qX_0.mean[[27  0]]          |   1.000000    |   0.000002    |  191.678735   |  191.678737   |     6e-09     
 autoreg.layer_1.qX_0.mean[[28  0]]          |   1.000000    |   0.000002    |  146.565833   |  146.565835   |     4e-09     
 autoreg.layer_1.qX_0.mean[[29  0]]          |   0.999999    |   0.000018    |  -29.041813   |  -29.041796   |     9e-10     
 autoreg.layer_1.qX_0.mean[[30  0]]          |   1.000000    |   0.000001    |   21.369755   |   21.369757   |     6e-10     
 autoreg.layer_1.qX_0.mean[[31  0]]          |   1.000000    |   0.000002    |  145.960648   |  145.960650   |     4e-09     
 autoreg.layer_1.qX_0.mean[[32  0]]          |   1.000000    |   0.000012    |  136.889622   |  136.889634   |     4e-09     
 autoreg.layer_1.qX_0.mean[[33  0]]          |   1.000000    |   0.000007    |  -121.507073  |  -121.507066  |     4e-09     
 autoreg.layer_1.qX_0.mean[[34  0]]          |   1.000000    |   0.000001    |  -51.500071   |  -51.500072   |     2e-09     
 autoreg.layer_1.qX_0.mean[[35  0]]          |   1.000000    |   0.000001    |  -202.916386  |  -202.916388  |     6e-09     
 autoreg.layer_1.qX_0.mean[[36  0]]          |   1.000000    |   0.000013    |  -187.102023  |  -187.102036  |     5e-09     
 autoreg.layer_1.qX_0.mean[[37  0]]          |   1.000000    |   0.000002    |   90.473191   |   90.473193   |     3e-09     
 autoreg.layer_1.qX_0.mean[[38  0]]          |   1.000000    |   0.000005    |  145.562573   |  145.562568   |     4e-09     
 autoreg.layer_1.qX_0.mean[[39  0]]          |   1.000000    |   0.000007    |  130.422719   |  130.422726   |     4e-09     
 autoreg.layer_1.qX_0.mean[[40  0]]          |   1.000000    |   0.000011    |  105.442338   |  105.442326   |     3e-09     
 autoreg.layer_1.qX_0.mean[[41  0]]          |   1.000000    |   0.000001    |  153.578198   |  153.578199   |     4e-09     
 autoreg.layer_1.qX_0.mean[[42  0]]          |   1.000000    |   0.000008    |  130.089619   |  130.089611   |     4e-09     
 autoreg.layer_1.qX_0.mean[[43  0]]          |   1.000000    |   0.000002    |  266.761361   |  266.761359   |     8e-09     
 autoreg.layer_1.qX_0.mean[[44  0]]          |   1.000000    |   0.000003    |   51.091378   |   51.091381   |     1e-09     
 autoreg.layer_1.qX_0.mean[[45  0]]          |   1.000000    |   0.000009    |  -267.779788  |  -267.779797  |     8e-09     
 autoreg.layer_1.qX_0.mean[[46  0]]          |   1.000000    |   0.000001    |  -257.747009  |  -257.747008  |     8e-09     
 autoreg.layer_1.qX_0.mean[[47  0]]          |   1.000000    |   0.000002    |  -384.313260  |  -384.313258  |     1e-08     
 autoreg.layer_1.qX_0.mean[[48  0]]          |   1.000000    |   0.000002    |  -417.606037  |  -417.606039  |     1e-08     
 autoreg.layer_1.qX_0.mean[[49  0]]          |   1.000000    |   0.000001    |  -111.828792  |  -111.828791  |     3e-09     
 autoreg.layer_1.qX_0.mean[[50  0]]          |   1.000000    |   0.000006    |  -168.905920  |  -168.905914  |     5e-09     
 autoreg.layer_1.qX_0.mean[[51  0]]          |   1.000000    |   0.000000    |   84.714556   |   84.714557   |     2e-09     
 autoreg.layer_1.qX_0.mean[[52  0]]          |   1.000000    |   0.000009    |  142.541530   |  142.541539   |     4e-09     
 autoreg.layer_1.qX_0.mean[[53  0]]          |   1.000000    |   0.000002    |  173.527135   |  173.527136   |     5e-09     
 autoreg.layer_1.qX_0.mean[[54  0]]          |   1.000000    |   0.000005    |  109.080555   |  109.080560   |     3e-09     
 autoreg.layer_1.qX_0.mean[[55  0]]          |   1.000000    |   0.000006    |  165.067117   |  165.067111   |     5e-09     
 autoreg.layer_1.qX_0.mean[[56  0]]          |   1.000000    |   0.000001    |   93.367597   |   93.367598   |     3e-09     
 autoreg.layer_1.qX_0.mean[[57  0]]          |   1.000000    |   0.000002    |  235.667094   |  235.667096   |     7e-09     
 autoreg.layer_1.qX_0.mean[[58  0]]          |   1.000000    |   0.000008    |  -50.848247   |  -50.848255   |     1e-09     
 autoreg.layer_1.qX_0.mean[[59  0]]          |   1.000000    |   0.000004    |  342.857977   |  342.857973   |     1e-08     
 autoreg.layer_1.qX_0.mean[[60  0]]          |   1.000000    |   0.000014    |  -361.907033  |  -361.907019  |     1e-08     
 autoreg.layer_1.qX_0.mean[[61  0]]          |   1.000000    |   0.000003    |  317.041037   |  317.041035   |     9e-09     
 autoreg.layer_1.qX_0.mean[[62  0]]          |   1.000000    |   0.000008    |  -501.611875  |  -501.611867  |     1e-08     
 autoreg.layer_1.qX_0.mean[[63  0]]          |   1.000000    |   0.000007    |  561.960340   |  561.960347   |     2e-08     
 autoreg.layer_1.qX_0.mean[[64  0]]          |   1.000000    |   0.000007    |  290.159376   |  290.159369   |     8e-09     
 autoreg.layer_1.qX_0.mean[[65  0]]          |   1.000000    |   0.000004    |   76.158755   |   76.158751   |     2e-09     
 autoreg.layer_1.qX_0.mean[[66  0]]          |   1.000000    |   0.000010    |   60.196023   |   60.196013   |     2e-09     
 autoreg.layer_1.qX_0.mean[[67  0]]          |   1.000000    |   0.000006    |  158.706900   |  158.706905   |     5e-09     
 autoreg.layer_1.qX_0.mean[[68  0]]          |   1.000000    |   0.000006    |  -140.090852  |  -140.090859  |     4e-09     
 autoreg.layer_1.qX_0.mean[[69  0]]          |   1.000000    |   0.000003    |  330.226826   |  330.226823   |     1e-08     
 autoreg.layer_1.qX_0.mean[[70  0]]          |   1.000000    |   0.000002    |   40.557204   |   40.557206   |     1e-09     
 autoreg.layer_1.qX_0.mean[[71  0]]          |   1.000000    |   0.000009    |  -58.904888   |  -58.904880   |     2e-09     
 autoreg.layer_1.qX_0.mean[[72  0]]          |   1.000001    |   0.000012    |   17.115733   |   17.115744   |     5e-10     
 autoreg.layer_1.qX_0.mean[[73  0]]          |   0.999998    |   0.000010    |   -5.433556   |   -5.433547   |     2e-10     
 autoreg.layer_1.qX_0.mean[[74  0]]          |   1.000000    |   0.000005    |   42.499533   |   42.499538   |     1e-09     
 autoreg.layer_1.qX_0.mean[[75  0]]          |   1.000000    |   0.000003    |  -241.029328  |  -241.029331  |     7e-09     
 autoreg.layer_1.qX_0.mean[[76  0]]          |   1.000000    |   0.000003    |   38.490031   |   38.490034   |     1e-09     
 autoreg.layer_1.qX_0.mean[[77  0]]          |   1.000000    |   0.000003    |  167.359173   |  167.359176   |     5e-09     
 autoreg.layer_1.qX_0.mean[[78  0]]          |   1.000000    |   0.000002    |  183.070408   |  183.070406   |     5e-09     
 autoreg.layer_1.qX_0.mean[[79  0]]          |   1.000000    |   0.000004    |  148.842405   |  148.842410   |     4e-09     
 autoreg.layer_1.qX_0.mean[[80  0]]          |   1.000000    |   0.000009    |  161.752878   |  161.752869   |     5e-09     
 autoreg.layer_1.qX_0.mean[[81  0]]          |   1.000000    |   0.000005    |  217.310297   |  217.310291   |     6e-09     
 autoreg.layer_1.qX_0.mean[[82  0]]          |   1.000000    |   0.000002    |   8.064841    |   8.064839    |     2e-10     
 autoreg.layer_1.qX_0.mean[[83  0]]          |   1.000000    |   0.000001    |  -587.786236  |  -587.786235  |     2e-08     
 autoreg.layer_1.qX_0.mean[[84  0]]          |   1.000000    |   0.000006    |  -273.065482  |  -273.065489  |     8e-09     
 autoreg.layer_1.qX_0.mean[[85  0]]          |   1.000000    |   0.000005    |  -357.208252  |  -357.208257  |     1e-08     
 autoreg.layer_1.qX_0.mean[[86  0]]          |   1.000000    |   0.000001    |  -218.342940  |  -218.342939  |     6e-09     
 autoreg.layer_1.qX_0.mean[[87  0]]          |   1.000000    |   0.000006    |  -37.343713   |  -37.343707   |     1e-09     
 autoreg.layer_1.qX_0.mean[[88  0]]          |   1.000000    |   0.000003    |   8.740852    |   8.740855    |     3e-10     
 autoreg.layer_1.qX_0.mean[[89  0]]          |   1.000000    |   0.000009    |   77.198018   |   77.198027   |     2e-09     
 autoreg.layer_1.qX_0.mean[[90  0]]          |   1.000000    |   0.000010    |  -35.885784   |  -35.885794   |     1e-09     
 autoreg.layer_1.qX_0.mean[[91  0]]          |   1.000000    |   0.000001    |  248.586263   |  248.586264   |     7e-09     
 autoreg.layer_1.qX_0.mean[[92  0]]          |   1.000001    |   0.000018    |   29.079977   |   29.079994   |     9e-10     
 autoreg.layer_1.qX_0.mean[[93  0]]          |   1.000000    |   0.000016    |  -250.340452  |  -250.340468  |     7e-09     
 autoreg.layer_1.qX_0.mean[[94  0]]          |   1.000000    |   0.000009    |  -163.094299  |  -163.094308  |     5e-09     
 autoreg.layer_1.qX_0.mean[[95  0]]          |   1.000000    |   0.000001    |  -69.877257   |  -69.877256   |     2e-09     
 autoreg.layer_1.qX_0.mean[[96  0]]          |   1.000000    |   0.000006    |  -55.184143   |  -55.184137   |     2e-09     
 autoreg.layer_1.qX_0.mean[[97  0]]          |   1.000000    |   0.000012    |  -99.181062   |  -99.181074   |     3e-09     
 autoreg.layer_1.qX_0.mean[[98  0]]          |   1.000000    |   0.000001    |  -12.899399   |  -12.899400   |     4e-10     
 autoreg.layer_1.qX_0.mean[[99  0]]          |   1.000000    |   0.000001    |  -169.588696  |  -169.588697  |     5e-09     
 autoreg.layer_1.qX_0.mean[[100   0]]        |   1.000000    |   0.000006    |  -75.923491   |  -75.923497   |     2e-09     
 autoreg.layer_1.qX_0.mean[[101   0]]        |   1.000000    |   0.000015    |  -52.720905   |  -52.720919   |     2e-09     
 autoreg.layer_1.qX_0.mean[[102   0]]        |   1.000000    |   0.000003    |  -151.934214  |  -151.934211  |     4e-09     
 autoreg.layer_1.qX_0.mean[[103   0]]        |   1.000000    |   0.000003    |   34.128814   |   34.128818   |     1e-09     
 autoreg.layer_1.qX_0.mean[[104   0]]        |   1.000000    |   0.000011    |   82.313203   |   82.313192   |     2e-09     
 autoreg.layer_1.qX_0.mean[[105   0]]        |   1.000000    |   0.000000    |  150.795910   |  150.795910   |     4e-09     
 autoreg.layer_1.qX_0.mean[[106   0]]        |   1.000000    |   0.000011    |  284.645041   |  284.645030   |     8e-09     
 autoreg.layer_1.qX_0.mean[[107   0]]        |   1.000000    |   0.000006    |  -73.708471   |  -73.708477   |     2e-09     
 autoreg.layer_1.qX_0.mean[[108   0]]        |   1.000000    |   0.000007    |  339.311955   |  339.311962   |     1e-08     
 autoreg.layer_1.qX_0.mean[[109   0]]        |   1.000000    |   0.000003    |  -249.012377  |  -249.012381  |     7e-09     
 autoreg.layer_1.qX_0.mean[[110   0]]        |   1.000000    |   0.000003    |  222.698651   |  222.698654   |     7e-09     
 autoreg.layer_1.qX_0.mean[[111   0]]        |   1.000000    |   0.000004    |   95.387205   |   95.387200   |     3e-09     
 autoreg.layer_1.qX_0.mean[[112   0]]        |   1.000000    |   0.000001    |  -89.871929   |  -89.871930   |     3e-09     
 autoreg.layer_1.qX_0.mean[[113   0]]        |   1.000000    |   0.000002    |  -23.787599   |  -23.787601   |     7e-10     
 autoreg.layer_1.qX_0.mean[[114   0]]        |   1.000000    |   0.000002    |   17.046803   |   17.046805   |     5e-10     
 autoreg.layer_1.qX_0.mean[[115   0]]        |   1.000000    |   0.000010    |   47.137747   |   47.137757   |     1e-09     
 autoreg.layer_1.qX_0.mean[[116   0]]        |   1.000000    |   0.000001    |  182.492956   |  182.492957   |     5e-09     
 autoreg.layer_1.qX_0.mean[[117   0]]        |   1.000000    |   0.000007    |  243.345029   |  243.345035   |     7e-09     
 autoreg.layer_1.qX_0.mean[[118   0]]        |   1.000000    |   0.000010    |   96.953726   |   96.953736   |     3e-09     
 autoreg.layer_1.qX_0.mean[[119   0]]        |   1.000000    |   0.000009    |  -158.213921  |  -158.213930  |     5e-09     
 autoreg.layer_1.qX_0.mean[[120   0]]        |   1.000000    |   0.000003    |  -303.217112  |  -303.217115  |     9e-09     
 autoreg.layer_1.qX_0.mean[[121   0]]        |   1.000000    |   0.000004    |  -247.029110  |  -247.029115  |     7e-09     
 autoreg.layer_1.qX_0.mean[[122   0]]        |   1.000000    |   0.000002    |  -187.369109  |  -187.369107  |     5e-09     
 autoreg.layer_1.qX_0.mean[[123   0]]        |   1.000000    |   0.000002    |  -458.153592  |  -458.153590  |     1e-08     
 autoreg.layer_1.qX_0.mean[[124   0]]        |   1.000000    |   0.000002    |  314.974639   |  314.974641   |     9e-09     
 autoreg.layer_1.qX_0.mean[[125   0]]        |   1.000000    |   0.000004    |  -123.803290  |  -123.803286  |     4e-09     
 autoreg.layer_1.qX_0.mean[[126   0]]        |   1.000000    |   0.000007    |  341.128841   |  341.128834   |     1e-08     
 autoreg.layer_1.qX_0.mean[[127   0]]        |   0.999999    |   0.000003    |   -2.307799   |   -2.307796   |     7e-11     
 autoreg.layer_1.qX_0.mean[[128   0]]        |   1.000000    |   0.000015    |  -250.492456  |  -250.492471  |     7e-09     
 autoreg.layer_1.qX_0.mean[[129   0]]        |   1.000000    |   0.000006    |  -294.028804  |  -294.028810  |     9e-09     
 autoreg.layer_1.qX_0.mean[[130   0]]        |   1.000000    |   0.000003    |  -10.104542   |  -10.104544   |     3e-10     
 autoreg.layer_1.qX_0.mean[[131   0]]        |   1.000000    |   0.000003    |  -96.535489   |  -96.535492   |     3e-09     
 autoreg.layer_1.qX_0.mean[[132   0]]        |   1.000000    |   0.000012    |  101.801673   |  101.801685   |     3e-09     
 autoreg.layer_1.qX_0.mean[[133   0]]        |   1.000000    |   0.000003    |  134.505314   |  134.505317   |     4e-09     
 autoreg.layer_1.qX_0.mean[[134   0]]        |   1.000000    |   0.000002    |  161.791873   |  161.791875   |     5e-09     
 autoreg.layer_1.qX_0.mean[[135   0]]        |   1.000000    |   0.000003    |  333.433530   |  333.433527   |     1e-08     
 autoreg.layer_1.qX_0.mean[[136   0]]        |   1.000000    |   0.000013    |  -30.076642   |  -30.076655   |     9e-10     
 autoreg.layer_1.qX_0.mean[[137   0]]        |   1.000000    |   0.000003    |  -98.768734   |  -98.768731   |     3e-09     
 autoreg.layer_1.qX_0.mean[[138   0]]        |   1.000000    |   0.000002    |  -134.321594  |  -134.321592  |     4e-09     
 autoreg.layer_1.qX_0.mean[[139   0]]        |   1.000000    |   0.000008    |  -363.434222  |  -363.434214  |     1e-08     
 autoreg.layer_1.qX_0.mean[[140   0]]        |   1.000000    |   0.000001    |  -69.220348   |  -69.220347   |     2e-09     
 autoreg.layer_1.qX_0.mean[[141   0]]        |   1.000000    |   0.000007    |  -80.477126   |  -80.477119   |     2e-09     
 autoreg.layer_1.qX_0.mean[[142   0]]        |   1.000000    |   0.000001    |  -67.190499   |  -67.190500   |     2e-09     
 autoreg.layer_1.qX_0.mean[[143   0]]        |   1.000000    |   0.000015    |  -140.829557  |  -140.829572  |     4e-09     
 autoreg.layer_1.qX_0.mean[[144   0]]        |   1.000000    |   0.000009    |  -150.631951  |  -150.631960  |     4e-09     
 autoreg.layer_1.qX_0.mean[[145   0]]        |   1.000000    |   0.000002    |  -234.338693  |  -234.338695  |     7e-09     
 autoreg.layer_1.qX_0.mean[[146   0]]        |   1.000000    |   0.000007    |  354.379386   |  354.379379   |     1e-08     
 autoreg.layer_1.qX_0.mean[[147   0]]        |   1.000000    |   0.000001    |  -165.523371  |  -165.523372  |     5e-09     
 autoreg.layer_1.qX_0.mean[[148   0]]        |   1.000000    |   0.000001    |  -217.658474  |  -217.658475  |     6e-09     
 autoreg.layer_1.qX_0.mean[[149   0]]        |   1.000000    |   0.000007    |   50.900264   |   50.900271   |     1e-09     
 autoreg.layer_1.qX_0.mean[[150   0]]        |   1.000000    |   0.000003    |   54.283740   |   54.283737   |     2e-09     
 autoreg.layer_1.qX_0.mean[[151   0]]        |   1.000000    |   0.000007    |  146.975114   |  146.975108   |     4e-09     
 autoreg.layer_1.qX_0.mean[[152   0]]        |   1.000000    |   0.000009    |   97.235918   |   97.235927   |     3e-09     
 autoreg.layer_1.qX_0.mean[[153   0]]        |   1.000000    |   0.000007    |  245.703370   |  245.703377   |     7e-09     
 autoreg.layer_1.qX_0.mean[[154   0]]        |   1.000000    |   0.000002    |  121.383937   |  121.383935   |     4e-09     
 autoreg.layer_1.qX_0.mean[[155   0]]        |   1.000000    |   0.000012    |  -272.852599  |  -272.852587  |     8e-09     
 autoreg.layer_1.qX_0.mean[[156   0]]        |   1.000000    |   0.000007    |  -47.135859   |  -47.135865   |     1e-09     
 autoreg.layer_1.qX_0.mean[[157   0]]        |   1.000000    |   0.000002    |  -69.174208   |  -69.174210   |     2e-09     
 autoreg.layer_1.qX_0.mean[[158   0]]        |   1.000000    |   0.000001    |  -118.854294  |  -118.854296  |     3e-09     
 autoreg.layer_1.qX_0.mean[[159   0]]        |   1.000000    |   0.000001    |   77.056852   |   77.056851   |     2e-09     
 autoreg.layer_1.qX_0.mean[[160   0]]        |   1.000002    |   0.000004    |   -1.742428   |   -1.742432   |     5e-11     
 autoreg.layer_1.qX_0.mean[[161   0]]        |   1.000000    |   0.000008    |   88.315188   |   88.315181   |     3e-09     
 autoreg.layer_1.qX_0.mean[[162   0]]        |   1.000000    |   0.000004    |  153.496647   |  153.496643   |     4e-09     
 autoreg.layer_1.qX_0.mean[[163   0]]        |   1.000000    |   0.000002    |  309.617995   |  309.617993   |     9e-09     
 autoreg.layer_1.qX_0.mean[[164   0]]        |   1.000000    |   0.000003    |  141.137224   |  141.137221   |     4e-09     
 autoreg.layer_1.qX_0.mean[[165   0]]        |   1.000000    |   0.000010    |  -41.005633   |  -41.005624   |     1e-09     
 autoreg.layer_1.qX_0.mean[[166   0]]        |   1.000000    |   0.000006    |  -44.602274   |  -44.602268   |     1e-09     
 autoreg.layer_1.qX_0.mean[[167   0]]        |   1.000000    |   0.000000    |  144.217272   |  144.217272   |     4e-09     
 autoreg.layer_1.qX_0.mean[[168   0]]        |   1.000000    |   0.000007    |   64.028704   |   64.028711   |     2e-09     
 autoreg.layer_1.qX_0.mean[[169   0]]        |   1.000000    |   0.000001    |  226.156290   |  226.156291   |     7e-09     
 autoreg.layer_1.qX_0.mean[[170   0]]        |   1.000000    |   0.000001    |   16.160701   |   16.160702   |     5e-10     
 autoreg.layer_1.qX_0.mean[[171   0]]        |   1.000000    |   0.000005    |  283.632838   |  283.632842   |     8e-09     
 autoreg.layer_1.qX_0.mean[[172   0]]        |   1.000000    |   0.000004    |  -53.290463   |  -53.290467   |     2e-09     
 autoreg.layer_1.qX_0.mean[[173   0]]        |   1.000000    |   0.000002    |  336.372798   |  336.372796   |     1e-08     
 autoreg.layer_1.qX_0.mean[[174   0]]        |   1.000000    |   0.000008    |  -180.809941  |  -180.809933  |     5e-09     
 autoreg.layer_1.qX_0.mean[[175   0]]        |   1.000000    |   0.000001    |  193.797126   |  193.797125   |     6e-09     
 autoreg.layer_1.qX_0.mean[[176   0]]        |   1.000000    |   0.000009    |   76.049639   |   76.049648   |     2e-09     
 autoreg.layer_1.qX_0.mean[[177   0]]        |   1.000000    |   0.000002    |  130.202055   |  130.202054   |     4e-09     
 autoreg.layer_1.qX_0.mean[[178   0]]        |   1.000000    |   0.000003    |  231.086228   |  231.086226   |     7e-09     
 autoreg.layer_1.qX_0.mean[[179   0]]        |   1.000000    |   0.000002    |  126.135975   |  126.135972   |     4e-09     
 autoreg.layer_1.qX_0.mean[[180   0]]        |   1.000000    |   0.000003    |  233.810181   |  233.810184   |     7e-09     
 autoreg.layer_1.qX_0.mean[[181   0]]        |   1.000000    |   0.000001    |   25.247349   |   25.247347   |     7e-10     
 autoreg.layer_1.qX_0.mean[[182   0]]        |   1.000000    |   0.000002    |   45.242940   |   45.242938   |     1e-09     
 autoreg.layer_1.qX_0.mean[[183   0]]        |   1.000000    |   0.000010    |  -26.347904   |  -26.347894   |     8e-10     
 autoreg.layer_1.qX_0.mean[[184   0]]        |   1.000000    |   0.000011    |  -270.558816  |  -270.558827  |     8e-09     
 autoreg.layer_1.qX_0.mean[[185   0]]        |   1.000000    |   0.000012    |   53.707374   |   53.707387   |     2e-09     
 autoreg.layer_1.qX_0.mean[[186   0]]        |   1.000000    |   0.000012    |   77.695896   |   77.695884   |     2e-09     
 autoreg.layer_1.qX_0.mean[[187   0]]        |   1.000000    |   0.000001    |  182.594332   |  182.594333   |     5e-09     
 autoreg.layer_1.qX_0.mean[[188   0]]        |   1.000000    |   0.000006    |  337.549144   |  337.549151   |     1e-08     
 autoreg.layer_1.qX_0.mean[[189   0]]        |   1.000000    |   0.000003    |  -484.499765  |  -484.499767  |     1e-08     
 autoreg.layer_1.qX_0.mean[[190   0]]        |   1.000000    |   0.000008    |  142.420206   |  142.420198   |     4e-09     
 autoreg.layer_1.qX_0.mean[[191   0]]        |   1.000000    |   0.000008    |  124.764315   |  124.764323   |     4e-09     
 autoreg.layer_1.qX_0.mean[[192   0]]        |   1.000000    |   0.000006    |  210.199743   |  210.199738   |     6e-09     
 autoreg.layer_1.qX_0.mean[[193   0]]        |   1.000000    |   0.000001    |  169.376798   |  169.376799   |     5e-09     
 autoreg.layer_1.qX_0.mean[[194   0]]        |   1.000000    |   0.000010    |   27.085317   |   27.085327   |     8e-10     
 autoreg.layer_1.qX_0.mean[[195   0]]        |   1.000000    |   0.000000    |  193.625295   |  193.625296   |     6e-09     
 autoreg.layer_1.qX_0.mean[[196   0]]        |   1.000000    |   0.000003    |  -111.754776  |  -111.754773  |     3e-09     
 autoreg.layer_1.qX_0.mean[[197   0]]        |   1.000000    |   0.000006    |  292.908792   |  292.908786   |     9e-09     
 autoreg.layer_1.qX_0.mean[[198   0]]        |   1.000000    |   0.000008    |  -101.807651  |  -101.807644  |     3e-09     
 autoreg.layer_1.qX_0.mean[[199   0]]        |   1.000000    |   0.000001    |  -328.423535  |  -328.423535  |     1e-08     
 autoreg.layer_1.qX_0.mean[[200   0]]        |   1.000000    |   0.000000    |  -250.348319  |  -250.348319  |     7e-09     
 autoreg.layer_1.qX_0.mean[[201   0]]        |   1.000000    |   0.000010    |  -127.027251  |  -127.027241  |     4e-09     
 autoreg.layer_1.qX_0.mean[[202   0]]        |   1.000000    |   0.000000    |   0.674947    |   0.674947    |     2e-11     
 autoreg.layer_1.qX_0.mean[[203   0]]        |   1.000000    |   0.000003    |  -41.971044   |  -41.971041   |     1e-09     
 autoreg.layer_1.qX_0.mean[[204   0]]        |   1.000000    |   0.000002    |  -122.479510  |  -122.479512  |     4e-09     
 autoreg.layer_1.qX_0.mean[[205   0]]        |   1.000000    |   0.000004    |  -110.577825  |  -110.577821  |     3e-09     
 autoreg.layer_1.qX_0.mean[[206   0]]        |   1.000000    |   0.000002    |  -33.126436   |  -33.126438   |     1e-09     
 autoreg.layer_1.qX_0.mean[[207   0]]        |   1.000000    |   0.000001    |  -182.806731  |  -182.806732  |     5e-09     
 autoreg.layer_1.qX_0.mean[[208   0]]        |   1.000000    |   0.000008    |  -297.509680  |  -297.509672  |     9e-09     
 autoreg.layer_1.qX_0.mean[[209   0]]        |   1.000000    |   0.000008    |  -267.010125  |  -267.010117  |     8e-09     
 autoreg.layer_1.qX_0.mean[[210   0]]        |   1.000000    |   0.000003    |  -141.402797  |  -141.402794  |     4e-09     
 autoreg.layer_1.qX_0.mean[[211   0]]        |   1.000000    |   0.000000    |  -250.359379  |  -250.359379  |     7e-09     
 autoreg.layer_1.qX_0.mean[[212   0]]        |   1.000000    |   0.000009    |  -54.288206   |  -54.288197   |     2e-09     
 autoreg.layer_1.qX_0.mean[[213   0]]        |   1.000000    |   0.000006    |  -75.869656   |  -75.869662   |     2e-09     
 autoreg.layer_1.qX_0.mean[[214   0]]        |   1.000000    |   0.000004    |  -303.144607  |  -303.144610  |     9e-09     
 autoreg.layer_1.qX_0.mean[[215   0]]        |   1.000000    |   0.000006    |   89.498491   |   89.498484   |     3e-09     
 autoreg.layer_1.qX_0.mean[[216   0]]        |   1.000000    |   0.000007    |   59.711987   |   59.711994   |     2e-09     
 autoreg.layer_1.qX_0.mean[[217   0]]        |   1.000000    |   0.000004    |   87.596647   |   87.596643   |     3e-09     
 autoreg.layer_1.qX_0.mean[[218   0]]        |   1.000000    |   0.000003    |   77.003304   |   77.003300   |     2e-09     
 autoreg.layer_1.qX_0.mean[[219   0]]        |   1.000000    |   0.000011    |   88.220750   |   88.220761   |     3e-09     
 autoreg.layer_1.qX_0.mean[[220   0]]        |   1.000000    |   0.000004    |   87.390031   |   87.390035   |     3e-09     
 autoreg.layer_1.qX_0.mean[[221   0]]        |   1.000000    |   0.000002    |  -75.690840   |  -75.690841   |     2e-09     
 autoreg.layer_1.qX_0.mean[[222   0]]        |   1.000000    |   0.000004    |  -374.946551  |  -374.946554  |     1e-08     
 autoreg.layer_1.qX_0.mean[[223   0]]        |   1.000000    |   0.000003    |  -116.907494  |  -116.907497  |     3e-09     
 autoreg.layer_1.qX_0.mean[[224   0]]        |   1.000000    |   0.000009    |  -144.569617  |  -144.569625  |     4e-09     
 autoreg.layer_1.qX_0.mean[[225   0]]        |   1.000000    |   0.000001    |   23.265079   |   23.265078   |     7e-10     
 autoreg.layer_1.qX_0.mean[[226   0]]        |   1.000000    |   0.000015    |  105.884392   |  105.884406   |     3e-09     
 autoreg.layer_1.qX_0.mean[[227   0]]        |   1.000000    |   0.000005    |  172.167840   |  172.167835   |     5e-09     
 autoreg.layer_1.qX_0.mean[[228   0]]        |   1.000000    |   0.000012    |  156.686289   |  156.686277   |     5e-09     
 autoreg.layer_1.qX_0.mean[[229   0]]        |   1.000000    |   0.000013    |   35.539959   |   35.539946   |     1e-09     
 autoreg.layer_1.qX_0.mean[[230   0]]        |   1.000000    |   0.000012    |  -45.252671   |  -45.252658   |     1e-09     
 autoreg.layer_1.qX_0.mean[[231   0]]        |   1.000000    |   0.000015    |  -227.756690  |  -227.756675  |     7e-09     
 autoreg.layer_1.qX_0.mean[[232   0]]        |   1.000000    |   0.000000    |  -178.264192  |  -178.264192  |     5e-09     
 autoreg.layer_1.qX_0.mean[[233   0]]        |   1.000000    |   0.000010    |  -218.123659  |  -218.123649  |     6e-09     
 autoreg.layer_1.qX_0.mean[[234   0]]        |   1.000000    |   0.000005    |  -114.953208  |  -114.953204  |     3e-09     
 autoreg.layer_1.qX_0.mean[[235   0]]        |   1.000000    |   0.000005    |  -84.099751   |  -84.099745   |     2e-09     
 autoreg.layer_1.qX_0.mean[[236   0]]        |   1.000000    |   0.000006    |  -67.743894   |  -67.743887   |     2e-09     
 autoreg.layer_1.qX_0.mean[[237   0]]        |   1.000000    |   0.000008    |  209.925107   |  209.925100   |     6e-09     
 autoreg.layer_1.qX_0.mean[[238   0]]        |   1.000000    |   0.000008    |  122.492325   |  122.492333   |     4e-09     
 autoreg.layer_1.qX_0.mean[[239   0]]        |   1.000000    |   0.000005    |  134.597374   |  134.597380   |     4e-09     
 autoreg.layer_1.qX_0.mean[[240   0]]        |   1.000000    |   0.000003    |  168.751680   |  168.751678   |     5e-09     
 autoreg.layer_1.qX_0.mean[[241   0]]        |   1.000000    |   0.000009    |  312.737628   |  312.737619   |     9e-09     
 autoreg.layer_1.qX_0.mean[[242   0]]        |   1.000000    |   0.000010    |   64.213088   |   64.213098   |     2e-09     
 autoreg.layer_1.qX_0.mean[[243   0]]        |   1.000000    |   0.000003    |  198.198384   |  198.198381   |     6e-09     
 autoreg.layer_1.qX_0.mean[[244   0]]        |   1.000000    |   0.000001    |   89.373577   |   89.373578   |     3e-09     
 autoreg.layer_1.qX_0.mean[[245   0]]        |   1.000000    |   0.000004    |   99.532273   |   99.532277   |     3e-09     
 autoreg.layer_1.qX_0.mean[[246   0]]        |   1.000000    |   0.000002    |  145.332170   |  145.332167   |     4e-09     
 autoreg.layer_1.qX_0.mean[[247   0]]        |   1.000000    |   0.000004    |  330.898820   |  330.898816   |     1e-08     
 autoreg.layer_1.qX_0.mean[[248   0]]        |   1.000000    |   0.000006    |  -243.753943  |  -243.753937  |     7e-09     
 autoreg.layer_1.qX_0.mean[[249   0]]        |   1.000000    |   0.000002    |  195.453785   |  195.453787   |     6e-09     
 autoreg.layer_1.qX_0.mean[[250   0]]        |   1.000000    |   0.000011    |   56.667366   |   56.667377   |     2e-09     
 autoreg.layer_1.qX_0.mean[[251   0]]        |   1.000000    |   0.000000    |  -239.916124  |  -239.916124  |     7e-09     
 autoreg.layer_1.qX_0.mean[[252   0]]        |   1.000000    |   0.000016    |  115.046415   |  115.046430   |     3e-09     
 autoreg.layer_1.qX_0.mean[[253   0]]        |   1.000000    |   0.000002    |  -77.740015   |  -77.740013   |     2e-09     
 autoreg.layer_1.qX_0.mean[[254   0]]        |   1.000000    |   0.000009    |  -141.507526  |  -141.507517  |     4e-09     
 autoreg.layer_1.qX_0.mean[[255   0]]        |   1.000000    |   0.000002    |   68.436350   |   68.436348   |     2e-09     
 autoreg.layer_1.qX_0.mean[[256   0]]        |   1.000000    |   0.000004    |  154.696976   |  154.696972   |     5e-09     
 autoreg.layer_1.qX_0.mean[[257   0]]        |   1.000000    |   0.000006    |  125.579971   |  125.579965   |     4e-09     
 autoreg.layer_1.qX_0.mean[[258   0]]        |   1.000000    |   0.000006    |  -142.255294  |  -142.255289  |     4e-09     
 autoreg.layer_1.qX_0.mean[[259   0]]        |   1.000000    |   0.000011    |  -254.194023  |  -254.194012  |     7e-09     
 autoreg.layer_1.qX_0.mean[[260   0]]        |   1.000000    |   0.000009    |  198.385324   |  198.385314   |     6e-09     
 autoreg.layer_1.qX_0.mean[[261   0]]        |   1.000000    |   0.000013    |   99.278519   |   99.278506   |     3e-09     
 autoreg.layer_1.qX_0.mean[[262   0]]        |   1.000000    |   0.000001    |  262.339889   |  262.339890   |     8e-09     
 autoreg.layer_1.qX_0.mean[[263   0]]        |   1.000000    |   0.000006    |  140.580479   |  140.580472   |     4e-09     
 autoreg.layer_1.qX_0.mean[[264   0]]        |   1.000000    |   0.000002    |  294.106778   |  294.106780   |     9e-09     
 autoreg.layer_1.qX_0.mean[[265   0]]        |   1.000000    |   0.000000    |  -271.424811  |  -271.424811  |     8e-09     
 autoreg.layer_1.qX_0.mean[[266   0]]        |   1.000000    |   0.000007    |  -68.266745   |  -68.266752   |     2e-09     
 autoreg.layer_1.qX_0.mean[[267   0]]        |   1.000000    |   0.000007    |  -253.461455  |  -253.461461  |     7e-09     
 autoreg.layer_1.qX_0.mean[[268   0]]        |   1.000000    |   0.000001    |  230.067154   |  230.067155   |     7e-09     
 autoreg.layer_1.qX_0.mean[[269   0]]        |   1.000000    |   0.000005    |  126.375589   |  126.375584   |     4e-09     
 autoreg.layer_1.qX_0.mean[[270   0]]        |   1.000000    |   0.000004    |  174.239733   |  174.239736   |     5e-09     
 autoreg.layer_1.qX_0.mean[[271   0]]        |   1.000000    |   0.000008    |  169.587868   |  169.587860   |     5e-09     
 autoreg.layer_1.qX_0.mean[[272   0]]        |   1.000000    |   0.000003    |  -41.830561   |  -41.830564   |     1e-09     
 autoreg.layer_1.qX_0.mean[[273   0]]        |   1.000000    |   0.000007    |  -112.744769  |  -112.744761  |     3e-09     
 autoreg.layer_1.qX_0.mean[[274   0]]        |   1.000000    |   0.000000    |  363.856001   |  363.856001   |     1e-08     
 autoreg.layer_1.qX_0.mean[[275   0]]        |   1.000000    |   0.000003    |  -37.284332   |  -37.284335   |     1e-09     
 autoreg.layer_1.qX_0.mean[[276   0]]        |   1.000000    |   0.000002    |  -137.678007  |  -137.678006  |     4e-09     
 autoreg.layer_1.qX_0.mean[[277   0]]        |   1.000000    |   0.000006    |  -172.949191  |  -172.949185  |     5e-09     
 autoreg.layer_1.qX_0.mean[[278   0]]        |   1.000000    |   0.000006    |  -475.091385  |  -475.091379  |     1e-08     
 autoreg.layer_1.qX_0.mean[[279   0]]        |   1.000000    |   0.000001    |  129.369213   |  129.369211   |     4e-09     
 autoreg.layer_1.qX_0.mean[[280   0]]        |   1.000000    |   0.000009    |  131.134586   |  131.134577   |     4e-09     
 autoreg.layer_1.qX_0.mean[[281   0]]        |   1.000000    |   0.000005    |  179.274463   |  179.274459   |     5e-09     
 autoreg.layer_1.qX_0.mean[[282   0]]        |   1.000000    |   0.000003    |  170.017058   |  170.017054   |     5e-09     
 autoreg.layer_1.qX_0.mean[[283   0]]        |   1.000000    |   0.000001    |  -103.341271  |  -103.341270  |     3e-09     
 autoreg.layer_1.qX_0.mean[[284   0]]        |   1.000000    |   0.000005    |  -417.177706  |  -417.177711  |     1e-08     
 autoreg.layer_1.qX_0.mean[[285   0]]        |   1.000000    |   0.000004    |  -338.302398  |  -338.302401  |     1e-08     
 autoreg.layer_1.qX_0.mean[[286   0]]        |   1.000000    |   0.000008    |  153.823413   |  153.823421   |     5e-09     
 autoreg.layer_1.qX_0.mean[[287   0]]        |   0.999999    |   0.000004    |   -4.341211   |   -4.341207   |     1e-10     
 autoreg.layer_1.qX_0.mean[[288   0]]        |   1.000000    |   0.000006    |  175.525266   |  175.525260   |     5e-09     
 autoreg.layer_1.qX_0.mean[[289   0]]        |   1.000000    |   0.000011    |   86.208132   |   86.208122   |     3e-09     
 autoreg.layer_1.qX_0.mean[[290   0]]        |   1.000000    |   0.000007    |  -49.170056   |  -49.170063   |     1e-09     
 autoreg.layer_1.qX_0.mean[[291   0]]        |   1.000000    |   0.000002    |   5.709042    |   5.709044    |     2e-10     
 autoreg.layer_1.qX_0.mean[[292   0]]        |   1.000000    |   0.000011    |   93.379200   |   93.379211   |     3e-09     
 autoreg.layer_1.qX_0.mean[[293   0]]        |   1.000000    |   0.000001    |   64.508683   |   64.508684   |     2e-09     
 autoreg.layer_1.qX_0.mean[[294   0]]        |   1.000000    |   0.000002    |  -127.571528  |  -127.571526  |     4e-09     
 autoreg.layer_1.qX_0.mean[[295   0]]        |   0.999997    |   0.000012    |   -4.358448   |   -4.358437   |     1e-10     
 autoreg.layer_1.qX_0.mean[[296   0]]        |   1.000000    |   0.000005    |  -121.849237  |  -121.849233  |     4e-09     
 autoreg.layer_1.qX_0.mean[[297   0]]        |   1.000000    |   0.000001    |  -65.953310   |  -65.953311   |     2e-09     
 autoreg.layer_1.qX_0.mean[[298   0]]        |   1.000000    |   0.000003    |  -39.551571   |  -39.551574   |     1e-09     
 autoreg.layer_1.qX_0.mean[[299   0]]        |   1.000000    |   0.000004    |  -213.321026  |  -213.321022  |     6e-09     
 autoreg.layer_1.qX_0.variance[[0 0]]        |   1.000001    |   0.000000    |   -0.476204   |   -0.476204   |     1e-11     
 autoreg.layer_1.qX_0.variance[[1 0]]        |   1.000008    |   0.000004    |   -0.461583   |   -0.461587   |     1e-11     
 autoreg.layer_1.qX_0.variance[[2 0]]        |   0.999981    |   0.000009    |   -0.458241   |   -0.458233   |     1e-11     
 autoreg.layer_1.qX_0.variance[[3 0]]        |   0.999988    |   0.000006    |   -0.460938   |   -0.460932   |     1e-11     
 autoreg.layer_1.qX_0.variance[[4 0]]        |   1.000003    |   0.000001    |   -0.456907   |   -0.456908   |     1e-11     
 autoreg.layer_1.qX_0.variance[[5 0]]        |   0.999993    |   0.000013    |   1.940766    |   1.940753    |     6e-11     
 autoreg.layer_1.qX_0.variance[[6 0]]        |   0.999993    |   0.000013    |   1.936866    |   1.936853    |     6e-11     
 autoreg.layer_1.qX_0.variance[[7 0]]        |   0.999995    |   0.000010    |   1.937794    |   1.937784    |     6e-11     
 autoreg.layer_1.qX_0.variance[[8 0]]        |   0.999998    |   0.000004    |   1.963909    |   1.963905    |     6e-11     
 autoreg.layer_1.qX_0.variance[[9 0]]        |   1.000000    |   0.000000    |   1.950262    |   1.950262    |     6e-11     
 autoreg.layer_1.qX_0.variance[[10  0]]      |   0.999994    |   0.000011    |   1.953613    |   1.953602    |     6e-11     
 autoreg.layer_1.qX_0.variance[[11  0]]      |   0.999995    |   0.000011    |   1.953612    |   1.953602    |     6e-11     
 autoreg.layer_1.qX_0.variance[[12  0]]      |   0.999998    |   0.000005    |   1.955004    |   1.954999    |     6e-11     
 autoreg.layer_1.qX_0.variance[[13  0]]      |   0.999996    |   0.000008    |   1.951783    |   1.951776    |     6e-11     
 autoreg.layer_1.qX_0.variance[[14  0]]      |   0.999997    |   0.000007    |   1.937180    |   1.937173    |     6e-11     
 autoreg.layer_1.qX_0.variance[[15  0]]      |   0.999997    |   0.000006    |   1.940889    |   1.940884    |     6e-11     
 autoreg.layer_1.qX_0.variance[[16  0]]      |   0.999993    |   0.000014    |   1.935623    |   1.935608    |     6e-11     
 autoreg.layer_1.qX_0.variance[[17  0]]      |   0.999993    |   0.000013    |   1.940460    |   1.940447    |     6e-11     
 autoreg.layer_1.qX_0.variance[[18  0]]      |   0.999997    |   0.000006    |   1.939441    |   1.939436    |     6e-11     
 autoreg.layer_1.qX_0.variance[[19  0]]      |   0.999990    |   0.000019    |   1.939578    |   1.939559    |     6e-11     
 autoreg.layer_1.qX_0.variance[[20  0]]      |   0.999996    |   0.000007    |   1.952728    |   1.952722    |     6e-11     
 autoreg.layer_1.qX_0.variance[[21  0]]      |   0.999994    |   0.000011    |   1.982979    |   1.982968    |     6e-11     
 autoreg.layer_1.qX_0.variance[[22  0]]      |   1.000000    |   0.000001    |   1.988986    |   1.988985    |     6e-11     
 autoreg.layer_1.qX_0.variance[[23  0]]      |   0.999992    |   0.000014    |   1.838932    |   1.838918    |     5e-11     
 autoreg.layer_1.qX_0.variance[[24  0]]      |   0.999995    |   0.000010    |   2.042539    |   2.042529    |     6e-11     
 autoreg.layer_1.qX_0.variance[[25  0]]      |   0.999997    |   0.000006    |   2.049891    |   2.049885    |     6e-11     
 autoreg.layer_1.qX_0.variance[[26  0]]      |   0.999995    |   0.000010    |   1.964875    |   1.964865    |     6e-11     
 autoreg.layer_1.qX_0.variance[[27  0]]      |   0.999999    |   0.000001    |   1.963200    |   1.963199    |     6e-11     
 autoreg.layer_1.qX_0.variance[[28  0]]      |   0.999996    |   0.000009    |   1.957649    |   1.957640    |     6e-11     
 autoreg.layer_1.qX_0.variance[[29  0]]      |   0.999997    |   0.000005    |   1.941013    |   1.941007    |     6e-11     
 autoreg.layer_1.qX_0.variance[[30  0]]      |   1.000001    |   0.000002    |   1.956946    |   1.956949    |     6e-11     
 autoreg.layer_1.qX_0.variance[[31  0]]      |   0.999993    |   0.000013    |   1.956125    |   1.956112    |     6e-11     
 autoreg.layer_1.qX_0.variance[[32  0]]      |   0.999996    |   0.000008    |   1.950590    |   1.950582    |     6e-11     
 autoreg.layer_1.qX_0.variance[[33  0]]      |   0.999996    |   0.000007    |   1.969631    |   1.969624    |     6e-11     
 autoreg.layer_1.qX_0.variance[[34  0]]      |   0.999997    |   0.000006    |   1.966159    |   1.966153    |     6e-11     
 autoreg.layer_1.qX_0.variance[[35  0]]      |   0.999994    |   0.000013    |   1.987222    |   1.987210    |     6e-11     
 autoreg.layer_1.qX_0.variance[[36  0]]      |   0.999999    |   0.000001    |   1.966518    |   1.966517    |     6e-11     
 autoreg.layer_1.qX_0.variance[[37  0]]      |   0.999997    |   0.000006    |   1.957901    |   1.957895    |     6e-11     
 autoreg.layer_1.qX_0.variance[[38  0]]      |   0.999999    |   0.000003    |   1.976670    |   1.976667    |     6e-11     
 autoreg.layer_1.qX_0.variance[[39  0]]      |   0.999998    |   0.000004    |   1.994119    |   1.994114    |     6e-11     
 autoreg.layer_1.qX_0.variance[[40  0]]      |   0.999998    |   0.000003    |   1.994168    |   1.994165    |     6e-11     
 autoreg.layer_1.qX_0.variance[[41  0]]      |   0.999999    |   0.000001    |   1.969050    |   1.969049    |     6e-11     
 autoreg.layer_1.qX_0.variance[[42  0]]      |   0.999998    |   0.000004    |   1.957666    |   1.957662    |     6e-11     
 autoreg.layer_1.qX_0.variance[[43  0]]      |   0.999995    |   0.000010    |   1.939438    |   1.939428    |     6e-11     
 autoreg.layer_1.qX_0.variance[[44  0]]      |   0.999994    |   0.000011    |   1.947872    |   1.947861    |     6e-11     
 autoreg.layer_1.qX_0.variance[[45  0]]      |   0.999998    |   0.000003    |   1.949349    |   1.949345    |     6e-11     
 autoreg.layer_1.qX_0.variance[[46  0]]      |   0.999996    |   0.000007    |   1.951034    |   1.951026    |     6e-11     
 autoreg.layer_1.qX_0.variance[[47  0]]      |   0.999997    |   0.000005    |   1.949831    |   1.949826    |     6e-11     
 autoreg.layer_1.qX_0.variance[[48  0]]      |   0.999998    |   0.000003    |   1.947093    |   1.947090    |     6e-11     
 autoreg.layer_1.qX_0.variance[[49  0]]      |   0.999996    |   0.000009    |   1.952512    |   1.952503    |     6e-11     
 autoreg.layer_1.qX_0.variance[[50  0]]      |   0.999994    |   0.000012    |   1.948201    |   1.948189    |     6e-11     
 autoreg.layer_1.qX_0.variance[[51  0]]      |   0.999997    |   0.000006    |   1.964900    |   1.964894    |     6e-11     
 autoreg.layer_1.qX_0.variance[[52  0]]      |   0.999992    |   0.000015    |   1.971553    |   1.971537    |     6e-11     
 autoreg.layer_1.qX_0.variance[[53  0]]      |   0.999997    |   0.000006    |   1.973966    |   1.973960    |     6e-11     
 autoreg.layer_1.qX_0.variance[[54  0]]      |   0.999996    |   0.000008    |   1.988659    |   1.988650    |     6e-11     
 autoreg.layer_1.qX_0.variance[[55  0]]      |   0.999994    |   0.000012    |   1.967263    |   1.967252    |     6e-11     
 autoreg.layer_1.qX_0.variance[[56  0]]      |   0.999997    |   0.000006    |   1.972002    |   1.971996    |     6e-11     
 autoreg.layer_1.qX_0.variance[[57  0]]      |   0.999995    |   0.000010    |   1.948344    |   1.948334    |     6e-11     
 autoreg.layer_1.qX_0.variance[[58  0]]      |   0.999996    |   0.000008    |   1.948204    |   1.948196    |     6e-11     
 autoreg.layer_1.qX_0.variance[[59  0]]      |   0.999998    |   0.000004    |   1.949837    |   1.949833    |     6e-11     
 autoreg.layer_1.qX_0.variance[[60  0]]      |   0.999996    |   0.000008    |   1.950830    |   1.950822    |     6e-11     
 autoreg.layer_1.qX_0.variance[[61  0]]      |   0.999996    |   0.000008    |   1.950823    |   1.950815    |     6e-11     
 autoreg.layer_1.qX_0.variance[[62  0]]      |   0.999996    |   0.000008    |   1.950823    |   1.950815    |     6e-11     
 autoreg.layer_1.qX_0.variance[[63  0]]      |   0.999997    |   0.000006    |   1.950821    |   1.950815    |     6e-11     
 autoreg.layer_1.qX_0.variance[[64  0]]      |   0.999995    |   0.000009    |   1.951777    |   1.951768    |     6e-11     
 autoreg.layer_1.qX_0.variance[[65  0]]      |   0.999999    |   0.000002    |   1.950497    |   1.950495    |     6e-11     
 autoreg.layer_1.qX_0.variance[[66  0]]      |   0.999995    |   0.000010    |   1.950673    |   1.950662    |     6e-11     
 autoreg.layer_1.qX_0.variance[[67  0]]      |   0.999997    |   0.000006    |   1.951018    |   1.951012    |     6e-11     
 autoreg.layer_1.qX_0.variance[[68  0]]      |   0.999997    |   0.000006    |   1.951353    |   1.951346    |     6e-11     
 autoreg.layer_1.qX_0.variance[[69  0]]      |   1.000001    |   0.000002    |   1.952705    |   1.952707    |     6e-11     
 autoreg.layer_1.qX_0.variance[[70  0]]      |   0.999993    |   0.000013    |   1.952407    |   1.952394    |     6e-11     
 autoreg.layer_1.qX_0.variance[[71  0]]      |   0.999998    |   0.000004    |   1.956014    |   1.956010    |     6e-11     
 autoreg.layer_1.qX_0.variance[[72  0]]      |   0.999996    |   0.000007    |   1.951586    |   1.951579    |     6e-11     
 autoreg.layer_1.qX_0.variance[[73  0]]      |   0.999997    |   0.000006    |   1.946834    |   1.946828    |     6e-11     
 autoreg.layer_1.qX_0.variance[[74  0]]      |   0.999993    |   0.000013    |   1.916071    |   1.916058    |     6e-11     
 autoreg.layer_1.qX_0.variance[[75  0]]      |   0.999996    |   0.000007    |   1.936481    |   1.936474    |     6e-11     
 autoreg.layer_1.qX_0.variance[[76  0]]      |   0.999996    |   0.000007    |   1.959786    |   1.959779    |     6e-11     
 autoreg.layer_1.qX_0.variance[[77  0]]      |   0.999995    |   0.000009    |   1.958071    |   1.958062    |     6e-11     
 autoreg.layer_1.qX_0.variance[[78  0]]      |   0.999998    |   0.000004    |   1.959085    |   1.959081    |     6e-11     
 autoreg.layer_1.qX_0.variance[[79  0]]      |   0.999998    |   0.000004    |   1.964979    |   1.964974    |     6e-11     
 autoreg.layer_1.qX_0.variance[[80  0]]      |   0.999995    |   0.000011    |   1.956312    |   1.956301    |     6e-11     
 autoreg.layer_1.qX_0.variance[[81  0]]      |   0.999993    |   0.000014    |   1.943044    |   1.943030    |     6e-11     
 autoreg.layer_1.qX_0.variance[[82  0]]      |   0.999996    |   0.000009    |   1.951384    |   1.951375    |     6e-11     
 autoreg.layer_1.qX_0.variance[[83  0]]      |   0.999995    |   0.000009    |   1.950817    |   1.950808    |     6e-11     
 autoreg.layer_1.qX_0.variance[[84  0]]      |   0.999997    |   0.000006    |   1.946994    |   1.946988    |     6e-11     
 autoreg.layer_1.qX_0.variance[[85  0]]      |   0.999999    |   0.000002    |   1.943017    |   1.943015    |     6e-11     
 autoreg.layer_1.qX_0.variance[[86  0]]      |   0.999991    |   0.000018    |   1.949742    |   1.949724    |     6e-11     
 autoreg.layer_1.qX_0.variance[[87  0]]      |   0.999998    |   0.000005    |   1.952464    |   1.952460    |     6e-11     
 autoreg.layer_1.qX_0.variance[[88  0]]      |   0.999995    |   0.000011    |   1.953933    |   1.953922    |     6e-11     
 autoreg.layer_1.qX_0.variance[[89  0]]      |   0.999995    |   0.000011    |   1.951903    |   1.951892    |     6e-11     
 autoreg.layer_1.qX_0.variance[[90  0]]      |   0.999997    |   0.000005    |   1.949969    |   1.949964    |     6e-11     
 autoreg.layer_1.qX_0.variance[[91  0]]      |   0.999998    |   0.000003    |   1.943353    |   1.943350    |     6e-11     
 autoreg.layer_1.qX_0.variance[[92  0]]      |   0.999995    |   0.000010    |   1.969539    |   1.969529    |     6e-11     
 autoreg.layer_1.qX_0.variance[[93  0]]      |   0.999992    |   0.000015    |   1.931483    |   1.931468    |     6e-11     
 autoreg.layer_1.qX_0.variance[[94  0]]      |   0.999996    |   0.000008    |   1.925044    |   1.925036    |     6e-11     
 autoreg.layer_1.qX_0.variance[[95  0]]      |   0.999999    |   0.000002    |   1.913142    |   1.913140    |     6e-11     
 autoreg.layer_1.qX_0.variance[[96  0]]      |   1.000001    |   0.000002    |   1.941325    |   1.941327    |     6e-11     
 autoreg.layer_1.qX_0.variance[[97  0]]      |   0.999994    |   0.000012    |   1.950558    |   1.950546    |     6e-11     
 autoreg.layer_1.qX_0.variance[[98  0]]      |   0.999996    |   0.000007    |   1.955894    |   1.955887    |     6e-11     
 autoreg.layer_1.qX_0.variance[[99  0]]      |   1.000000    |   0.000001    |   1.985908    |   1.985907    |     6e-11     
 autoreg.layer_1.qX_0.variance[[100   0]]    |   0.999997    |   0.000005    |   1.969287    |   1.969282    |     6e-11     
 autoreg.layer_1.qX_0.variance[[101   0]]    |   0.999996    |   0.000008    |   1.973044    |   1.973036    |     6e-11     
 autoreg.layer_1.qX_0.variance[[102   0]]    |   1.000001    |   0.000002    |   1.971826    |   1.971828    |     6e-11     
 autoreg.layer_1.qX_0.variance[[103   0]]    |   1.000001    |   0.000001    |   2.002539    |   2.002540    |     6e-11     
 autoreg.layer_1.qX_0.variance[[104   0]]    |   0.999999    |   0.000001    |   1.973161    |   1.973160    |     6e-11     
 autoreg.layer_1.qX_0.variance[[105   0]]    |   0.999995    |   0.000010    |   1.957592    |   1.957582    |     6e-11     
 autoreg.layer_1.qX_0.variance[[106   0]]    |   0.999995    |   0.000011    |   1.943899    |   1.943888    |     6e-11     
 autoreg.layer_1.qX_0.variance[[107   0]]    |   0.999999    |   0.000002    |   1.939059    |   1.939057    |     6e-11     
 autoreg.layer_1.qX_0.variance[[108   0]]    |   0.999998    |   0.000005    |   1.952086    |   1.952081    |     6e-11     
 autoreg.layer_1.qX_0.variance[[109   0]]    |   0.999995    |   0.000009    |   1.950810    |   1.950801    |     6e-11     
 autoreg.layer_1.qX_0.variance[[110   0]]    |   0.999995    |   0.000009    |   1.951239    |   1.951230    |     6e-11     
 autoreg.layer_1.qX_0.variance[[111   0]]    |   0.999999    |   0.000002    |   1.938171    |   1.938170    |     6e-11     
 autoreg.layer_1.qX_0.variance[[112   0]]    |   1.000000    |   0.000001    |   1.946581    |   1.946581    |     6e-11     
 autoreg.layer_1.qX_0.variance[[113   0]]    |   0.999998    |   0.000004    |   1.951896    |   1.951892    |     6e-11     
 autoreg.layer_1.qX_0.variance[[114   0]]    |   1.000000    |   0.000000    |   1.959888    |   1.959888    |     6e-11     
 autoreg.layer_1.qX_0.variance[[115   0]]    |   0.999997    |   0.000006    |   1.966952    |   1.966946    |     6e-11     
 autoreg.layer_1.qX_0.variance[[116   0]]    |   0.999998    |   0.000003    |   1.955322    |   1.955319    |     6e-11     
 autoreg.layer_1.qX_0.variance[[117   0]]    |   0.999997    |   0.000006    |   1.933723    |   1.933717    |     6e-11     
 autoreg.layer_1.qX_0.variance[[118   0]]    |   0.999994    |   0.000012    |   1.953170    |   1.953158    |     6e-11     
 autoreg.layer_1.qX_0.variance[[119   0]]    |   0.999999    |   0.000001    |   1.952563    |   1.952561    |     6e-11     
 autoreg.layer_1.qX_0.variance[[120   0]]    |   0.999992    |   0.000016    |   1.940790    |   1.940774    |     6e-11     
 autoreg.layer_1.qX_0.variance[[121   0]]    |   0.999994    |   0.000011    |   1.952624    |   1.952612    |     6e-11     
 autoreg.layer_1.qX_0.variance[[122   0]]    |   0.999994    |   0.000012    |   1.952872    |   1.952860    |     6e-11     
 autoreg.layer_1.qX_0.variance[[123   0]]    |   0.999996    |   0.000008    |   1.950808    |   1.950801    |     6e-11     
 autoreg.layer_1.qX_0.variance[[124   0]]    |   0.999996    |   0.000007    |   1.950822    |   1.950815    |     6e-11     
 autoreg.layer_1.qX_0.variance[[125   0]]    |   0.999998    |   0.000005    |   1.950798    |   1.950793    |     6e-11     
 autoreg.layer_1.qX_0.variance[[126   0]]    |   0.999996    |   0.000008    |   1.950664    |   1.950655    |     6e-11     
 autoreg.layer_1.qX_0.variance[[127   0]]    |   0.999997    |   0.000005    |   1.950944    |   1.950939    |     6e-11     
 autoreg.layer_1.qX_0.variance[[128   0]]    |   0.999993    |   0.000014    |   1.950306    |   1.950291    |     6e-11     
 autoreg.layer_1.qX_0.variance[[129   0]]    |   0.999994    |   0.000011    |   1.946810    |   1.946799    |     6e-11     
 autoreg.layer_1.qX_0.variance[[130   0]]    |   0.999999    |   0.000002    |   1.949573    |   1.949571    |     6e-11     
 autoreg.layer_1.qX_0.variance[[131   0]]    |   0.999999    |   0.000002    |   1.952418    |   1.952416    |     6e-11     
 autoreg.layer_1.qX_0.variance[[132   0]]    |   0.999998    |   0.000005    |   1.954400    |   1.954395    |     6e-11     
 autoreg.layer_1.qX_0.variance[[133   0]]    |   0.999995    |   0.000009    |   1.954826    |   1.954817    |     6e-11     
 autoreg.layer_1.qX_0.variance[[134   0]]    |   0.999996    |   0.000008    |   1.950685    |   1.950677    |     6e-11     
 autoreg.layer_1.qX_0.variance[[135   0]]    |   0.999993    |   0.000013    |   1.949410    |   1.949396    |     6e-11     
 autoreg.layer_1.qX_0.variance[[136   0]]    |   0.999996    |   0.000007    |   1.952656    |   1.952649    |     6e-11     
 autoreg.layer_1.qX_0.variance[[137   0]]    |   0.999998    |   0.000003    |   1.951190    |   1.951186    |     6e-11     
 autoreg.layer_1.qX_0.variance[[138   0]]    |   0.999996    |   0.000008    |   1.949812    |   1.949804    |     6e-11     
 autoreg.layer_1.qX_0.variance[[139   0]]    |   0.999996    |   0.000009    |   1.956528    |   1.956520    |     6e-11     
 autoreg.layer_1.qX_0.variance[[140   0]]    |   0.999997    |   0.000006    |   1.943989    |   1.943983    |     6e-11     
 autoreg.layer_1.qX_0.variance[[141   0]]    |   0.999993    |   0.000013    |   1.948966    |   1.948953    |     6e-11     
 autoreg.layer_1.qX_0.variance[[142   0]]    |   0.999997    |   0.000006    |   1.979197    |   1.979191    |     6e-11     
 autoreg.layer_1.qX_0.variance[[143   0]]    |   0.999995    |   0.000011    |   1.983379    |   1.983368    |     6e-11     
 autoreg.layer_1.qX_0.variance[[144   0]]    |   0.999995    |   0.000011    |   1.988275    |   1.988265    |     6e-11     
 autoreg.layer_1.qX_0.variance[[145   0]]    |   0.999998    |   0.000003    |   1.961514    |   1.961511    |     6e-11     
 autoreg.layer_1.qX_0.variance[[146   0]]    |   0.999996    |   0.000007    |   1.950837    |   1.950830    |     6e-11     
 autoreg.layer_1.qX_0.variance[[147   0]]    |   0.999996    |   0.000008    |   1.956804    |   1.956796    |     6e-11     
 autoreg.layer_1.qX_0.variance[[148   0]]    |   0.999991    |   0.000017    |   1.942552    |   1.942535    |     6e-11     
 autoreg.layer_1.qX_0.variance[[149   0]]    |   0.999998    |   0.000004    |   2.008387    |   2.008383    |     6e-11     
 autoreg.layer_1.qX_0.variance[[150   0]]    |   0.999998    |   0.000004    |   1.997684    |   1.997680    |     6e-11     
 autoreg.layer_1.qX_0.variance[[151   0]]    |   0.999997    |   0.000006    |   2.000188    |   2.000183    |     6e-11     
 autoreg.layer_1.qX_0.variance[[152   0]]    |   0.999997    |   0.000006    |   2.000269    |   2.000263    |     6e-11     
 autoreg.layer_1.qX_0.variance[[153   0]]    |   0.999999    |   0.000002    |   1.910632    |   1.910630    |     6e-11     
 autoreg.layer_1.qX_0.variance[[154   0]]    |   1.000002    |   0.000003    |   1.924102    |   1.924105    |     6e-11     
 autoreg.layer_1.qX_0.variance[[155   0]]    |   0.999995    |   0.000010    |   1.948628    |   1.948618    |     6e-11     
 autoreg.layer_1.qX_0.variance[[156   0]]    |   0.999997    |   0.000007    |   1.956061    |   1.956054    |     6e-11     
 autoreg.layer_1.qX_0.variance[[157   0]]    |   0.999996    |   0.000008    |   1.962770    |   1.962762    |     6e-11     
 autoreg.layer_1.qX_0.variance[[158   0]]    |   0.999995    |   0.000010    |   1.870550    |   1.870540    |     5e-11     
 autoreg.layer_1.qX_0.variance[[159   0]]    |   0.999997    |   0.000006    |   1.987434    |   1.987428    |     6e-11     
 autoreg.layer_1.qX_0.variance[[160   0]]    |   0.999994    |   0.000012    |   1.950638    |   1.950626    |     6e-11     
 autoreg.layer_1.qX_0.variance[[161   0]]    |   0.999997    |   0.000007    |   2.027081    |   2.027075    |     6e-11     
 autoreg.layer_1.qX_0.variance[[162   0]]    |   0.999999    |   0.000003    |   1.998788    |   1.998786    |     6e-11     
 autoreg.layer_1.qX_0.variance[[163   0]]    |   1.000000    |   0.000001    |   1.923335    |   1.923334    |     6e-11     
 autoreg.layer_1.qX_0.variance[[164   0]]    |   0.999995    |   0.000011    |   1.944190    |   1.944180    |     6e-11     
 autoreg.layer_1.qX_0.variance[[165   0]]    |   0.999999    |   0.000003    |   1.950127    |   1.950124    |     6e-11     
 autoreg.layer_1.qX_0.variance[[166   0]]    |   0.999996    |   0.000007    |   1.947075    |   1.947068    |     6e-11     
 autoreg.layer_1.qX_0.variance[[167   0]]    |   0.999997    |   0.000005    |   1.953404    |   1.953398    |     6e-11     
 autoreg.layer_1.qX_0.variance[[168   0]]    |   0.999997    |   0.000005    |   1.955026    |   1.955021    |     6e-11     
 autoreg.layer_1.qX_0.variance[[169   0]]    |   0.999993    |   0.000013    |   1.948297    |   1.948283    |     6e-11     
 autoreg.layer_1.qX_0.variance[[170   0]]    |   0.999994    |   0.000011    |   1.951663    |   1.951652    |     6e-11     
 autoreg.layer_1.qX_0.variance[[171   0]]    |   0.999998    |   0.000004    |   1.945333    |   1.945329    |     6e-11     
 autoreg.layer_1.qX_0.variance[[172   0]]    |   0.999995    |   0.000009    |   1.950686    |   1.950677    |     6e-11     
 autoreg.layer_1.qX_0.variance[[173   0]]    |   0.999998    |   0.000005    |   1.950362    |   1.950357    |     6e-11     
 autoreg.layer_1.qX_0.variance[[174   0]]    |   0.999993    |   0.000013    |   1.943923    |   1.943910    |     6e-11     
 autoreg.layer_1.qX_0.variance[[175   0]]    |   0.999996    |   0.000008    |   1.934379    |   1.934372    |     6e-11     
 autoreg.layer_1.qX_0.variance[[176   0]]    |   0.999999    |   0.000003    |   1.971343    |   1.971341    |     6e-11     
 autoreg.layer_1.qX_0.variance[[177   0]]    |   0.999997    |   0.000006    |   1.972438    |   1.972432    |     6e-11     
 autoreg.layer_1.qX_0.variance[[178   0]]    |   0.999994    |   0.000011    |   1.939512    |   1.939501    |     6e-11     
 autoreg.layer_1.qX_0.variance[[179   0]]    |   0.999997    |   0.000007    |   1.986758    |   1.986751    |     6e-11     
 autoreg.layer_1.qX_0.variance[[180   0]]    |   0.999996    |   0.000007    |   1.913934    |   1.913926    |     6e-11     
 autoreg.layer_1.qX_0.variance[[181   0]]    |   0.999998    |   0.000005    |   1.966842    |   1.966837    |     6e-11     
 autoreg.layer_1.qX_0.variance[[182   0]]    |   0.999995    |   0.000010    |   1.947114    |   1.947104    |     6e-11     
 autoreg.layer_1.qX_0.variance[[183   0]]    |   0.999998    |   0.000003    |   1.926226    |   1.926222    |     6e-11     
 autoreg.layer_1.qX_0.variance[[184   0]]    |   0.999994    |   0.000012    |   1.949037    |   1.949025    |     6e-11     
 autoreg.layer_1.qX_0.variance[[185   0]]    |   0.999998    |   0.000003    |   1.953445    |   1.953442    |     6e-11     
 autoreg.layer_1.qX_0.variance[[186   0]]    |   0.999996    |   0.000008    |   1.951835    |   1.951827    |     6e-11     
 autoreg.layer_1.qX_0.variance[[187   0]]    |   0.999995    |   0.000011    |   1.950709    |   1.950699    |     6e-11     
 autoreg.layer_1.qX_0.variance[[188   0]]    |   0.999996    |   0.000008    |   1.950590    |   1.950582    |     6e-11     
 autoreg.layer_1.qX_0.variance[[189   0]]    |   0.999998    |   0.000004    |   1.950820    |   1.950815    |     6e-11     
 autoreg.layer_1.qX_0.variance[[190   0]]    |   0.999994    |   0.000012    |   1.953876    |   1.953864    |     6e-11     
 autoreg.layer_1.qX_0.variance[[191   0]]    |   0.999996    |   0.000008    |   1.959605    |   1.959597    |     6e-11     
 autoreg.layer_1.qX_0.variance[[192   0]]    |   0.999995    |   0.000009    |   1.949398    |   1.949389    |     6e-11     
 autoreg.layer_1.qX_0.variance[[193   0]]    |   0.999997    |   0.000006    |   1.956184    |   1.956178    |     6e-11     
 autoreg.layer_1.qX_0.variance[[194   0]]    |   0.999996    |   0.000008    |   1.956557    |   1.956549    |     6e-11     
 autoreg.layer_1.qX_0.variance[[195   0]]    |   0.999998    |   0.000003    |   1.947712    |   1.947708    |     6e-11     
 autoreg.layer_1.qX_0.variance[[196   0]]    |   0.999996    |   0.000007    |   1.951230    |   1.951223    |     6e-11     
 autoreg.layer_1.qX_0.variance[[197   0]]    |   0.999995    |   0.000011    |   1.949043    |   1.949033    |     6e-11     
 autoreg.layer_1.qX_0.variance[[198   0]]    |   0.999995    |   0.000009    |   1.949995    |   1.949986    |     6e-11     
 autoreg.layer_1.qX_0.variance[[199   0]]    |   0.999997    |   0.000005    |   1.952094    |   1.952088    |     6e-11     
 autoreg.layer_1.qX_0.variance[[200   0]]    |   0.999998    |   0.000004    |   1.950368    |   1.950364    |     6e-11     
 autoreg.layer_1.qX_0.variance[[201   0]]    |   0.999997    |   0.000005    |   1.940038    |   1.940032    |     6e-11     
 autoreg.layer_1.qX_0.variance[[202   0]]    |   0.999999    |   0.000001    |   1.955218    |   1.955217    |     6e-11     
 autoreg.layer_1.qX_0.variance[[203   0]]    |   0.999996    |   0.000008    |   1.958317    |   1.958309    |     6e-11     
 autoreg.layer_1.qX_0.variance[[204   0]]    |   0.999994    |   0.000012    |   1.942184    |   1.942171    |     6e-11     
 autoreg.layer_1.qX_0.variance[[205   0]]    |   1.000000    |   0.000001    |   1.955100    |   1.955101    |     6e-11     
 autoreg.layer_1.qX_0.variance[[206   0]]    |   0.999998    |   0.000003    |   1.957862    |   1.957858    |     6e-11     
 autoreg.layer_1.qX_0.variance[[207   0]]    |   0.999998    |   0.000004    |   1.966463    |   1.966459    |     6e-11     
 autoreg.layer_1.qX_0.variance[[208   0]]    |   0.999994    |   0.000011    |   1.946090    |   1.946079    |     6e-11     
 autoreg.layer_1.qX_0.variance[[209   0]]    |   0.999994    |   0.000011    |   1.955003    |   1.954992    |     6e-11     
 autoreg.layer_1.qX_0.variance[[210   0]]    |   0.999996    |   0.000007    |   1.948574    |   1.948567    |     6e-11     
 autoreg.layer_1.qX_0.variance[[211   0]]    |   1.000001    |   0.000002    |   1.954415    |   1.954417    |     6e-11     
 autoreg.layer_1.qX_0.variance[[212   0]]    |   0.999994    |   0.000011    |   1.948520    |   1.948509    |     6e-11     
 autoreg.layer_1.qX_0.variance[[213   0]]    |   0.999995    |   0.000010    |   1.951800    |   1.951790    |     6e-11     
 autoreg.layer_1.qX_0.variance[[214   0]]    |   0.999995    |   0.000009    |   1.945316    |   1.945307    |     6e-11     
 autoreg.layer_1.qX_0.variance[[215   0]]    |   0.999999    |   0.000001    |   1.971546    |   1.971544    |     6e-11     
 autoreg.layer_1.qX_0.variance[[216   0]]    |   1.000000    |   0.000001    |   1.988882    |   1.988883    |     6e-11     
 autoreg.layer_1.qX_0.variance[[217   0]]    |   0.999997    |   0.000007    |   2.006134    |   2.006127    |     6e-11     
 autoreg.layer_1.qX_0.variance[[218   0]]    |   0.999996    |   0.000008    |   2.004957    |   2.004948    |     6e-11     
 autoreg.layer_1.qX_0.variance[[219   0]]    |   0.999995    |   0.000011    |   1.995195    |   1.995184    |     6e-11     
 autoreg.layer_1.qX_0.variance[[220   0]]    |   0.999999    |   0.000002    |   1.941817    |   1.941815    |     6e-11     
 autoreg.layer_1.qX_0.variance[[221   0]]    |   0.999993    |   0.000014    |   1.962187    |   1.962173    |     6e-11     
 autoreg.layer_1.qX_0.variance[[222   0]]    |   0.999994    |   0.000011    |   1.902667    |   1.902656    |     6e-11     
 autoreg.layer_1.qX_0.variance[[223   0]]    |   0.999996    |   0.000009    |   1.966307    |   1.966298    |     6e-11     
 autoreg.layer_1.qX_0.variance[[224   0]]    |   0.999998    |   0.000003    |   1.944721    |   1.944718    |     6e-11     
 autoreg.layer_1.qX_0.variance[[225   0]]    |   0.999994    |   0.000012    |   1.950703    |   1.950692    |     6e-11     
 autoreg.layer_1.qX_0.variance[[226   0]]    |   0.999997    |   0.000005    |   1.963612    |   1.963606    |     6e-11     
 autoreg.layer_1.qX_0.variance[[227   0]]    |   0.999995    |   0.000011    |   2.206976    |   2.206965    |     6e-11     
 autoreg.layer_1.qX_0.variance[[228   0]]    |   0.999998    |   0.000006    |   2.242128    |   2.242123    |     7e-11     
 autoreg.layer_1.qX_0.variance[[229   0]]    |   0.999998    |   0.000004    |   2.403100    |   2.403096    |     7e-11     
 autoreg.layer_1.qX_0.variance[[230   0]]    |   0.999996    |   0.000009    |   2.480536    |   2.480527    |     7e-11     
 autoreg.layer_1.qX_0.variance[[231   0]]    |   0.999996    |   0.000008    |   2.164642    |   2.164634    |     6e-11     
 autoreg.layer_1.qX_0.variance[[232   0]]    |   0.999995    |   0.000011    |   2.059253    |   2.059242    |     6e-11     
 autoreg.layer_1.qX_0.variance[[233   0]]    |   0.999992    |   0.000015    |   2.035173    |   2.035158    |     6e-11     
 autoreg.layer_1.qX_0.variance[[234   0]]    |   0.999996    |   0.000008    |   1.995032    |   1.995024    |     6e-11     
 autoreg.layer_1.qX_0.variance[[235   0]]    |   0.999994    |   0.000012    |   1.984937    |   1.984925    |     6e-11     
 autoreg.layer_1.qX_0.variance[[236   0]]    |   0.999994    |   0.000011    |   1.946991    |   1.946981    |     6e-11     
 autoreg.layer_1.qX_0.variance[[237   0]]    |   0.999999    |   0.000002    |   1.934512    |   1.934510    |     6e-11     
 autoreg.layer_1.qX_0.variance[[238   0]]    |   0.999995    |   0.000009    |   1.967493    |   1.967484    |     6e-11     
 autoreg.layer_1.qX_0.variance[[239   0]]    |   0.999993    |   0.000013    |   1.965257    |   1.965243    |     6e-11     
 autoreg.layer_1.qX_0.variance[[240   0]]    |   0.999997    |   0.000005    |   1.954618    |   1.954613    |     6e-11     
 autoreg.layer_1.qX_0.variance[[241   0]]    |   0.999998    |   0.000004    |   1.924961    |   1.924956    |     6e-11     
 autoreg.layer_1.qX_0.variance[[242   0]]    |   0.999998    |   0.000003    |   1.987708    |   1.987704    |     6e-11     
 autoreg.layer_1.qX_0.variance[[243   0]]    |   0.999995    |   0.000010    |   1.962642    |   1.962631    |     6e-11     
 autoreg.layer_1.qX_0.variance[[244   0]]    |   0.999997    |   0.000006    |   1.984371    |   1.984365    |     6e-11     
 autoreg.layer_1.qX_0.variance[[245   0]]    |   0.999994    |   0.000012    |   1.985665    |   1.985652    |     6e-11     
 autoreg.layer_1.qX_0.variance[[246   0]]    |   0.999996    |   0.000007    |   1.976681    |   1.976674    |     6e-11     
 autoreg.layer_1.qX_0.variance[[247   0]]    |   0.999997    |   0.000006    |   1.969164    |   1.969158    |     6e-11     
 autoreg.layer_1.qX_0.variance[[248   0]]    |   0.999996    |   0.000009    |   1.950598    |   1.950590    |     6e-11     
 autoreg.layer_1.qX_0.variance[[249   0]]    |   0.999997    |   0.000007    |   1.950756    |   1.950750    |     6e-11     
 autoreg.layer_1.qX_0.variance[[250   0]]    |   0.999995    |   0.000009    |   1.951181    |   1.951172    |     6e-11     
 autoreg.layer_1.qX_0.variance[[251   0]]    |   0.999997    |   0.000006    |   1.949868    |   1.949862    |     6e-11     
 autoreg.layer_1.qX_0.variance[[252   0]]    |   0.999993    |   0.000013    |   1.947365    |   1.947352    |     6e-11     
 autoreg.layer_1.qX_0.variance[[253   0]]    |   0.999995    |   0.000010    |   1.950418    |   1.950408    |     6e-11     
 autoreg.layer_1.qX_0.variance[[254   0]]    |   0.999997    |   0.000006    |   1.952079    |   1.952074    |     6e-11     
 autoreg.layer_1.qX_0.variance[[255   0]]    |   0.999995    |   0.000009    |   1.946001    |   1.945991    |     6e-11     
 autoreg.layer_1.qX_0.variance[[256   0]]    |   0.999997    |   0.000006    |   1.945881    |   1.945875    |     6e-11     
 autoreg.layer_1.qX_0.variance[[257   0]]    |   0.999996    |   0.000008    |   1.951922    |   1.951914    |     6e-11     
 autoreg.layer_1.qX_0.variance[[258   0]]    |   0.999994    |   0.000013    |   1.950675    |   1.950662    |     6e-11     
 autoreg.layer_1.qX_0.variance[[259   0]]    |   0.999996    |   0.000009    |   1.947506    |   1.947497    |     6e-11     
 autoreg.layer_1.qX_0.variance[[260   0]]    |   0.999994    |   0.000012    |   1.951606    |   1.951594    |     6e-11     
 autoreg.layer_1.qX_0.variance[[261   0]]    |   0.999997    |   0.000006    |   1.951236    |   1.951230    |     6e-11     
 autoreg.layer_1.qX_0.variance[[262   0]]    |   0.999996    |   0.000008    |   1.950620    |   1.950611    |     6e-11     
 autoreg.layer_1.qX_0.variance[[263   0]]    |   0.999992    |   0.000015    |   1.951034    |   1.951019    |     6e-11     
 autoreg.layer_1.qX_0.variance[[264   0]]    |   0.999994    |   0.000013    |   1.948303    |   1.948290    |     6e-11     
 autoreg.layer_1.qX_0.variance[[265   0]]    |   0.999996    |   0.000008    |   1.951194    |   1.951186    |     6e-11     
 autoreg.layer_1.qX_0.variance[[266   0]]    |   0.999996    |   0.000008    |   1.951056    |   1.951048    |     6e-11     
 autoreg.layer_1.qX_0.variance[[267   0]]    |   0.999995    |   0.000010    |   1.949821    |   1.949811    |     6e-11     
 autoreg.layer_1.qX_0.variance[[268   0]]    |   0.999995    |   0.000009    |   1.949238    |   1.949229    |     6e-11     
 autoreg.layer_1.qX_0.variance[[269   0]]    |   0.999999    |   0.000002    |   1.947783    |   1.947781    |     6e-11     
 autoreg.layer_1.qX_0.variance[[270   0]]    |   0.999995    |   0.000010    |   1.949450    |   1.949440    |     6e-11     
 autoreg.layer_1.qX_0.variance[[271   0]]    |   0.999995    |   0.000011    |   1.953940    |   1.953929    |     6e-11     
 autoreg.layer_1.qX_0.variance[[272   0]]    |   0.999998    |   0.000004    |   1.949066    |   1.949062    |     6e-11     
 autoreg.layer_1.qX_0.variance[[273   0]]    |   0.999997    |   0.000006    |   1.951113    |   1.951106    |     6e-11     
 autoreg.layer_1.qX_0.variance[[274   0]]    |   0.999997    |   0.000005    |   1.950420    |   1.950415    |     6e-11     
 autoreg.layer_1.qX_0.variance[[275   0]]    |   0.999997    |   0.000006    |   1.950880    |   1.950873    |     6e-11     
 autoreg.layer_1.qX_0.variance[[276   0]]    |   0.999998    |   0.000005    |   1.950893    |   1.950888    |     6e-11     
 autoreg.layer_1.qX_0.variance[[277   0]]    |   0.999996    |   0.000009    |   1.950889    |   1.950881    |     6e-11     
 autoreg.layer_1.qX_0.variance[[278   0]]    |   0.999995    |   0.000010    |   1.950774    |   1.950764    |     6e-11     
 autoreg.layer_1.qX_0.variance[[279   0]]    |   0.999996    |   0.000008    |   1.949012    |   1.949003    |     6e-11     
 autoreg.layer_1.qX_0.variance[[280   0]]    |   0.999995    |   0.000011    |   1.949109    |   1.949098    |     6e-11     
 autoreg.layer_1.qX_0.variance[[281   0]]    |   0.999995    |   0.000011    |   1.949050    |   1.949040    |     6e-11     
 autoreg.layer_1.qX_0.variance[[282   0]]    |   0.999999    |   0.000003    |   1.949035    |   1.949033    |     6e-11     
 autoreg.layer_1.qX_0.variance[[283   0]]    |   0.999999    |   0.000002    |   1.953619    |   1.953616    |     6e-11     
 autoreg.layer_1.qX_0.variance[[284   0]]    |   0.999995    |   0.000010    |   1.950025    |   1.950015    |     6e-11     
 autoreg.layer_1.qX_0.variance[[285   0]]    |   0.999995    |   0.000011    |   1.950491    |   1.950481    |     6e-11     
 autoreg.layer_1.qX_0.variance[[286   0]]    |   0.999995    |   0.000010    |   1.949588    |   1.949578    |     6e-11     
 autoreg.layer_1.qX_0.variance[[287   0]]    |   0.999994    |   0.000012    |   1.956961    |   1.956949    |     6e-11     
 autoreg.layer_1.qX_0.variance[[288   0]]    |   0.999996    |   0.000007    |   1.951805    |   1.951797    |     6e-11     
 autoreg.layer_1.qX_0.variance[[289   0]]    |   0.999997    |   0.000007    |   1.959917    |   1.959910    |     6e-11     
 autoreg.layer_1.qX_0.variance[[290   0]]    |   0.999997    |   0.000007    |   1.932370    |   1.932363    |     6e-11     
 autoreg.layer_1.qX_0.variance[[291   0]]    |   0.999997    |   0.000006    |   1.949941    |   1.949935    |     6e-11     
 autoreg.layer_1.qX_0.variance[[292   0]]    |   0.999995    |   0.000009    |   1.959359    |   1.959350    |     6e-11     
 autoreg.layer_1.qX_0.variance[[293   0]]    |   0.999994    |   0.000011    |   1.956975    |   1.956963    |     6e-11     
 autoreg.layer_1.qX_0.variance[[294   0]]    |   0.999997    |   0.000006    |   1.949963    |   1.949957    |     6e-11     
 autoreg.layer_1.qX_0.variance[[295   0]]    |   0.999992    |   0.000015    |   1.957211    |   1.957196    |     6e-11     
 autoreg.layer_1.qX_0.variance[[296   0]]    |   0.999994    |   0.000011    |   1.958401    |   1.958389    |     6e-11     
 autoreg.layer_1.qX_0.variance[[297   0]]    |   0.999994    |   0.000011    |   1.965444    |   1.965433    |     6e-11     
 autoreg.layer_1.qX_0.variance[[298   0]]    |   0.999991    |   0.000017    |   1.944924    |   1.944907    |     6e-11     
 autoreg.layer_1.qX_0.variance[[299   0]]    |   0.999995    |   0.000010    |   1.961499    |   1.961489    |     6e-11     
 autoreg.layer_0.inducing_inputs[[0 0]]      |   1.000000    |   0.000001    |   2.611806    |   2.611807    |     8e-11     
 autoreg.layer_0.inducing_inputs[[0 1]]      |   1.000001    |   0.000003    |   2.663122    |   2.663124    |     8e-11     
 autoreg.layer_0.inducing_inputs[[0 2]]      |   1.000003    |   0.000002    |   -0.558530   |   -0.558532   |     2e-11     
 autoreg.layer_0.inducing_inputs[[0 3]]      |   0.999999    |   0.000002    |   -2.904804   |   -2.904802   |     9e-11     
 autoreg.layer_0.inducing_inputs[[0 4]]      |   1.000000    |   0.000001    |   2.451861    |   2.451859    |     7e-11     
 autoreg.layer_0.inducing_inputs[[1 0]]      |   0.999998    |   0.000002    |   -1.061404   |   -1.061402   |     3e-11     
 autoreg.layer_0.inducing_inputs[[1 1]]      |   0.999997    |   0.000001    |   -0.351532   |   -0.351531   |     1e-11     
 autoreg.layer_0.inducing_inputs[[1 2]]      |   1.000002    |   0.000003    |   -1.514589   |   -1.514592   |     4e-11     
 autoreg.layer_0.inducing_inputs[[1 3]]      |   1.000002    |   0.000002    |   -1.008795   |   -1.008797   |     3e-11     
 autoreg.layer_0.inducing_inputs[[1 4]]      |   1.000001    |   0.000002    |   -2.879590   |   -2.879591   |     8e-11     
 autoreg.layer_0.inducing_inputs[[2 0]]      |   1.000007    |   0.000005    |   0.701084    |   0.701089    |     2e-11     
 autoreg.layer_0.inducing_inputs[[2 1]]      |   1.000001    |   0.000001    |   -1.306048   |   -1.306049   |     4e-11     
 autoreg.layer_0.inducing_inputs[[2 2]]      |   1.000045    |   0.000004    |   -0.077711   |   -0.077715   |     2e-12     
 autoreg.layer_0.inducing_inputs[[2 3]]      |   1.000002    |   0.000004    |   -2.327510   |   -2.327513   |     7e-11     
 autoreg.layer_0.inducing_inputs[[2 4]]      |   1.000000    |   0.000000    |   -8.039736   |   -8.039737   |     2e-10     
 autoreg.layer_0.rbf.variance                |   1.000000    |   0.000001    |   91.036273   |   91.036272   |     3e-09     
 autoreg.layer_0.rbf.inv_lengthscale[[0]]    |   1.000000    |   0.000000    |   5.280265    |   5.280264    |     2e-10     
 autoreg.layer_0.rbf.inv_lengthscale[[1]]    |   1.000000    |   0.000000    |   4.300433    |   4.300433    |     1e-10     
 autoreg.layer_0.rbf.inv_lengthscale[[2]]    |   1.000001    |   0.000004    |   3.865014    |   3.865018    |     1e-10     
 autoreg.layer_0.rbf.inv_lengthscale[[3]]    |   1.000000    |   0.000001    |   4.431705    |   4.431706    |     1e-10     
 autoreg.layer_0.rbf.inv_lengthscale[[4]]    |   0.999999    |   0.000003    |   3.717988    |   3.717985    |     1e-10     
 autoreg.layer_0.Gaussian_noise.variance     |   1.000000    |   0.000006    |  -317.078704  |  -317.078709  |     9e-09     
 autoreg.layer_0.qU_m[[0 0]]                 |   1.000000    |   0.000000    |   3.302979    |   3.302979    |     1e-10     
 autoreg.layer_0.qU_m[[1 0]]                 |   1.000000    |   0.000001    |   -2.128268   |   -2.128269   |     6e-11     
 autoreg.layer_0.qU_m[[2 0]]                 |   1.000000    |   0.000002    |   -6.936379   |   -6.936381   |     2e-10     
 autoreg.layer_0.qU_W[[0 0]]                 |   1.000001    |   0.000003    |   4.386599    |   4.386602    |     1e-10     
 autoreg.layer_0.qU_W[[0 1]]                 |   1.000000    |   0.000001    |   4.191564    |   4.191563    |     1e-10     
 autoreg.layer_0.qU_W[[0 2]]                 |   1.000000    |   0.000000    |  -10.847777   |  -10.847776   |     3e-10     
 autoreg.layer_0.qU_W[[1 0]]                 |   1.000004    |   0.000004    |   -0.924326   |   -0.924330   |     3e-11     
 autoreg.layer_0.qU_W[[1 1]]                 |   1.000001    |   0.000004    |   -3.768381   |   -3.768386   |     1e-10     
 autoreg.layer_0.qU_W[[1 2]]                 |   1.000000    |   0.000002    |   5.147185    |   5.147187    |     2e-10     
 autoreg.layer_0.qU_W[[2 0]]                 |   1.000000    |   0.000000    |   8.227296    |   8.227296    |     2e-10     
 autoreg.layer_0.qU_W[[2 1]]                 |   1.000001    |   0.000003    |   4.424427    |   4.424430    |     1e-10     
 autoreg.layer_0.qU_W[[2 2]]                 |   1.000000    |   0.000000    |   2.233297    |   2.233297    |     7e-11     
 autoreg.layer_0.qU_a                        |   1.000001    |   0.000001    |   -1.304825   |   -1.304827   |     4e-11     
Out[49]:
True

Model initialization:


In [36]:
# Here layer numbers are different than in initialization. 0-th layer is the top one
for i in range(m.nLayers):
    m.layers[i].kern.inv_l[:]  = np.mean( 1./((m.layers[i].X.mean.values.max(0)-m.layers[i].X.mean.values.min(0))/np.sqrt(2.)) )
    m.layers[i].likelihood.variance[:] = 0.01*out_train.var()
    m.layers[i].kern.variance.fix(warning=False)
    m.layers[i].likelihood.fix(warning=False)
print(m)


Name : autoreg
Objective : 15409.2757564
Number of Parameters : 6471
Number of Optimization Parameters : 6467
Updates : True
Parameters:
  autoreg.                         |            value  |  constraints  |  priors
  layer_1.inducing_inputs          |         (50, 10)  |               |        
  layer_1.rbf.variance             |              1.0  |   +ve fixed   |        
  layer_1.rbf.inv_lengthscale      |            (10,)  |      +ve      |        
  layer_1.Gaussian_noise.variance  |  0.0352415434704  |   +ve fixed   |        
  layer_1.qU_m                     |          (50, 1)  |               |        
  layer_1.qU_W                     |         (50, 50)  |               |        
  layer_1.qU_a                     |            0.001  |      +ve      |        
  layer_1.qX_0.mean                |         (300, 1)  |               |        
  layer_1.qX_0.variance            |         (300, 1)  |      +ve      |        
  layer_0.inducing_inputs          |          (50, 5)  |               |        
  layer_0.rbf.variance             |              1.0  |   +ve fixed   |        
  layer_0.rbf.inv_lengthscale      |             (5,)  |      +ve      |        
  layer_0.Gaussian_noise.variance  |  0.0352415434704  |   +ve fixed   |        
  layer_0.qU_m                     |          (50, 1)  |               |        
  layer_0.qU_W                     |         (50, 50)  |               |        
  layer_0.qU_a                     |            0.001  |      +ve      |        

In [37]:
print(m.layer_1.kern.inv_l)
print(m.layer_0.kern.inv_l)
print( np.mean(1./((m.layer_1.X.mean.values.max(0)-m.layer_1.X.mean.values.min(0))/np.sqrt(2.))) )


  index  |  autoreg.layer_1.rbf.inv_lengthscale  |  constraints  |  priors
  [0]    |                           0.20364643  |      +ve      |        
  [1]    |                           0.20364643  |      +ve      |        
  [2]    |                           0.20364643  |      +ve      |        
  [3]    |                           0.20364643  |      +ve      |        
  [4]    |                           0.20364643  |      +ve      |        
  [5]    |                           0.20364643  |      +ve      |        
  [6]    |                           0.20364643  |      +ve      |        
  [7]    |                           0.20364643  |      +ve      |        
  [8]    |                           0.20364643  |      +ve      |        
  [9]    |                           0.20364643  |      +ve      |        
  index  |  autoreg.layer_0.rbf.inv_lengthscale  |  constraints  |  priors
  [0]    |                           0.12300233  |      +ve      |        
  [1]    |                           0.12300233  |      +ve      |        
  [2]    |                           0.12300233  |      +ve      |        
  [3]    |                           0.12300233  |      +ve      |        
  [4]    |                           0.12300233  |      +ve      |        
0.203646429392

In [38]:
# Plot initialization of hidden layer:
def plot_hidden_states(fig_no, layer, layer_start_point=None, layer_end_point=None,
                              data_start_point=None, data_end_point=None):
    if layer_start_point is None: layer_start_point=0;
    if layer_end_point is None: layer_end_point = len(layer.mean)
    
    if data_start_point is None: data_start_point=0;
    if data_end_point is None: layer_end_point = len(out_train)
        
    data = out_train[data_start_point:data_end_point]
    layer_means = layer.mean[layer_start_point:layer_end_point]
    layer_vars = layer.variance[layer_start_point:layer_end_point]

    fig4 = plt.figure(fig_no,figsize=(10,8))
    ax1 = plt.subplot(1,1,1)
    fig4.suptitle('Hidden layer plotting')
    ax1.plot(out_train[data_start_point:data_end_point], label="Orig data Train_out", color = 'b')
    ax1.plot( layer_means, label = 'pred mean', color = 'r' )
    ax1.plot( layer_means +\
                     2*np.sqrt( layer_vars ), label = 'pred var', color='r', linestyle='--' )
    ax1.plot( layer_means -\
                     2*np.sqrt( layer_vars ), label = 'pred var', color='r', linestyle='--' )
    ax1.legend(loc=4)        
    ax1.set_title('Hidden layer vs Training data')

    del ax1

plot_hidden_states(5,m.layer_1.qX_0)
#plot_hidden_states(6,m.layer_2.qX_0)


Model training:


In [39]:
#init_runs = 50 if out_train.shape[0]<1000 else 100
init_runs = 100
print("Init runs:  ", init_runs)
m.optimize('bfgs',messages=1,max_iters=init_runs)
for i in range(m.nLayers):
    m.layers[i].kern.variance.constrain_positive(warning=False)
    m.layers[i].likelihood.constrain_positive(warning=False)
m.optimize('bfgs',messages=1,max_iters=10000)

print(m)


Init runs:   100
Running L-BFGS-B (Scipy implementation) Code:
  runtime   i     f              |g|        
    00s11  001   1.540928e+04   4.002577e+06 
    01s23  015   2.122730e+03   7.647174e+04 
    04s35  054   1.009164e+03   2.701847e+04 
    08s20  102   6.928191e+02   5.026328e+03 
Runtime:     08s20
Optimization status: Maximum number of f evaluations reached

Running L-BFGS-B (Scipy implementation) Code:
  runtime   i       f              |g|        
    00s18  00002   6.303080e+02   5.814468e+05 
    03s29  00041   4.868468e+02   1.091685e+03 
    04s33  00053   4.747719e+02   3.797151e+03 
    14s86  00173   4.435939e+02   6.000586e+02 
    20s08  00229   4.404461e+02   4.280249e+02 
    59s53  00659   4.363617e+02   3.818287e+01 
 01m07s86  00760   4.360309e+02   7.395294e+01 
 03m09s39  02135   4.343032e+02   1.293935e+01 
 07m58s16  05615   4.337770e+02   1.346399e+01 
Runtime:  07m58s16
Optimization status: Converged


Name : autoreg
Objective : 433.776951463
Number of Parameters : 6471
Number of Optimization Parameters : 6471
Updates : True
Parameters:
  autoreg.                         |              value  |  constraints  |  priors
  layer_1.inducing_inputs          |           (50, 10)  |               |        
  layer_1.rbf.variance             |      24.8967901913  |      +ve      |        
  layer_1.rbf.inv_lengthscale      |              (10,)  |      +ve      |        
  layer_1.Gaussian_noise.variance  |    0.0252376880307  |      +ve      |        
  layer_1.qU_m                     |            (50, 1)  |               |        
  layer_1.qU_W                     |           (50, 50)  |               |        
  layer_1.qU_a                     |  3.12959436094e-05  |      +ve      |        
  layer_1.qX_0.mean                |           (300, 1)  |               |        
  layer_1.qX_0.variance            |           (300, 1)  |      +ve      |        
  layer_0.inducing_inputs          |            (50, 5)  |               |        
  layer_0.rbf.variance             |      18.8966092153  |      +ve      |        
  layer_0.rbf.inv_lengthscale      |               (5,)  |      +ve      |        
  layer_0.Gaussian_noise.variance  |     0.116395672828  |      +ve      |        
  layer_0.qU_m                     |            (50, 1)  |               |        
  layer_0.qU_W                     |           (50, 50)  |               |        
  layer_0.qU_a                     |   0.00031457685719  |      +ve      |        

Look at trained parameters


In [40]:
if hasattr(m, 'layer_1'):
    print("Layer 1:  ")
    print("States means (min and max), shapes:  ", m.layer_1.qX_0.mean.min(), 
          m.layer_1.qX_0.mean.max(), m.layer_1.qX_0.mean.shape)
    print("States variances (min and max), shapes:  ", m.layer_1.qX_0.variance.min(), 
          m.layer_1.qX_0.variance.max(), m.layer_1.qX_0.mean.shape)
    print("Inverse langthscales (min and max), shapes:  ", m.layer_1.rbf.inv_lengthscale.min(),
          m.layer_1.rbf.inv_lengthscale.max(), m.layer_1.rbf.inv_lengthscale.shape )
    
if hasattr(m, 'layer_0'):
    print("")
    print("Layer 0 (output):  ")
    print("Inverse langthscales (min and max), shapes:  ", m.layer_0.rbf.inv_lengthscale.min(),
          m.layer_0.rbf.inv_lengthscale.max(), m.layer_0.rbf.inv_lengthscale.shape )


Layer 1:  
States means (min and max), shapes:   -1.82693539616 2.12233556682 (300, 1)
States variances (min and max), shapes:   0.00070198191 0.865057396343 (300, 1)
Inverse langthscales (min and max), shapes:   1.31769235383e-08 0.753964668733 (10,)

Layer 0 (output):  
Inverse langthscales (min and max), shapes:   1.44814063387e-08 0.746273629423 (5,)

In [41]:
print(m.layer_0.rbf.inv_lengthscale)


  index  |  autoreg.layer_0.rbf.inv_lengthscale  |  constraints  |  priors
  [0]    |                           0.00221387  |      +ve      |        
  [1]    |                           0.00000001  |      +ve      |        
  [2]    |                           0.01447472  |      +ve      |        
  [3]    |                           0.74627363  |      +ve      |        
  [4]    |                           0.32789038  |      +ve      |        

In [42]:
print(m.layer_1.rbf.inv_lengthscale)


  index  |  autoreg.layer_1.rbf.inv_lengthscale  |  constraints  |  priors
  [0]    |                           0.00008952  |      +ve      |        
  [1]    |                           0.00000003  |      +ve      |        
  [2]    |                           0.00000004  |      +ve      |        
  [3]    |                           0.00167606  |      +ve      |        
  [4]    |                           0.75396467  |      +ve      |        
  [5]    |                           0.00000008  |      +ve      |        
  [6]    |                           0.00000001  |      +ve      |        
  [7]    |                           0.00007849  |      +ve      |        
  [8]    |                           0.00016292  |      +ve      |        
  [9]    |                           0.00149943  |      +ve      |        

Analyze and plot model on test data:


In [43]:
# Free-run on the train data

# initialize to last part of trained latent states
#init_Xs = [None, m.layer_1.qX_0[0:win_out]] # init_Xs for train prediction

# initialize to zeros
init_Xs = None
predictions_train = m.freerun(init_Xs = init_Xs, U=in_train, m_match=True)

# initialize to last part of trainig latent states
#init_Xs = [None, m.layer_1.qX_0[-win_out:] ] # init_Xs for test prediction
#U_test = np.vstack( (in_train[-win_in:], in_test) )

# initialize to zeros
init_Xs = None
U_test = in_test

# Free-run on the test data
predictions_test = m.freerun(init_Xs = init_Xs, U=U_test, m_match=True)
del init_Xs, U_test

In [44]:
# Plot predictions
def plot_predictions(fig_no,posterior_train, posterior_test=None, layer_no = None):
    """
    Plots the output data along with posterior of the layer.
    Used for plotting the hidden states or
    
    layer_no: int or Normal posterior
        plot states of this layer (0-th is output). There is also some logic about compting
        the MSE, and aligning with actual data.
    """
    
    if layer_no is None: #default
        layer_no = 1

    if posterior_test is None:
        no_test_data = True
    else:
        no_test_data = False

    if isinstance(posterior_train, list): 
        layer_in_list = len(predictions_train)-1-layer_no # standard layer no (like in printing the model)
        predictions_train_layer = predictions_train[layer_in_list]
    else:
        predictions_train_layer = posterior_train

    if not no_test_data:
        if isinstance(posterior_test, list): 
            predictions_test_layer = predictions_test[layer_in_list]
        else:
            predictions_test_layer = posterior_test

    # Aligning the data ->
    # training of test data can be longer than leyer data because of the initial window.
    if out_train.shape[0] > predictions_train_layer.mean.shape[0]:
        out_train_tmp = out_train[win_out:]
    else:
        out_train_tmp = out_train
        
    if out_test.shape[0] > predictions_test_layer.mean.shape[0]:
        out_test_tmp = out_test[win_out:]
    else:
        out_test_tmp = out_test
    # Aligning the data <-
        
    if layer_no == 0:
        # Not anymore! Compute RMSE ignoring first output values of length "win_out"
        train_rmse = [comp_RMSE(predictions_train_layer.mean,
                                out_train_tmp)]
        print("Train overall RMSE: ", str(train_rmse))
        
        if not no_test_data:
            # Compute RMSE ignoring first output values of length "win_out"
            test_rmse = [comp_RMSE(predictions_test_layer.mean,
                                   out_test_tmp)]
            print("Test overall RMSE: ", str(test_rmse))
    
    # Plot predictions:
    if not no_test_data:
        fig5 = plt.figure(10,figsize=(20,8))
    else:
        fig5 = plt.figure(10,figsize=(10,8))
        
    fig5.suptitle('Predictions on Training and Test data')
    if not no_test_data:
        ax1 = plt.subplot(1,2,1)
    else:
        ax1 = plt.subplot(1,1,1)
    ax1.plot(out_train_tmp, label="Train_out", color = 'b')
    ax1.plot( predictions_train_layer.mean, label = 'pred mean', color = 'r' )
    ax1.plot( predictions_train_layer.mean +\
                     2*np.sqrt( predictions_train_layer.variance ), label = 'pred var', color='r', linestyle='--' )
    ax1.plot( predictions_train_layer.mean -\
                     2*np.sqrt( predictions_train_layer.variance ), label = 'pred var', color='r', linestyle='--' )
    ax1.legend(loc=4)        
    ax1.set_title('Predictions on Train')

    if not no_test_data:
        ax2 = plt.subplot(1,2,2)
        ax2.plot(out_test_tmp, label="Test_out", color = 'b')

        ax2.plot( predictions_test_layer.mean, label = 'pred mean', color = 'r' )
        #ax2.plot( predictions_test_layer.mean +\
        #                 2*np.sqrt( predictions_test_layer.variance ), label = 'pred var', color='r', linestyle='--' )
        #ax2.plot( predictions_test_layer.mean -\
        #                 2*np.sqrt( predictions_test_layer.variance ), label = 'pred var', color='r', linestyle='--' )
        ax2.legend(loc=4)        
        ax2.set_title('Predictions on Test')

        del ax2
    del ax1 
plot_predictions(7,predictions_train, predictions_test , layer_no = 0)


Train overall RMSE:  [1.7609920132306214]
Test overall RMSE:  [1.9121407759057965]

In [ ]:


In [45]:
comp_RMSE(np.zeros( (len(out_train[20:]),1) ), out_train[20:] )


Out[45]:
1.8982884835906451

In [46]:
out_train[20:].mean(0)


Out[46]:
array([ 0.07638323])

In [47]:
plot_hidden_states(8,m.layer_1.qX_0)
#plot_hidden_states(9,m.layer_2.qX_0)



In [ ]: