I did this a bit flippantly before, but I want to fomalize the process by which we estimate the uncertainty on emulator predictions.


In [1]:
from pearce.emulator import NashvilleHot
from GPy.kern import *
import numpy as np
from os import path

In [2]:
import matplotlib
#matplotlib.use('Agg')
from matplotlib import pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()

In [3]:
training_file = '/home/users/swmclau2/scratch/xi_gg_zheng07_cosmo_v3/PearceXiggCosmo.hdf5'
test_file = '/home/users/swmclau2/scratch/xi_gg_zheng07_cosmo_test_v3/PearceXiggCosmoTest.hdf5'

In [4]:
fixed_params = {'z':0.0}

In [5]:
hyperparams = {'kernel': ( RBF(input_dim=7, ARD=False)+Bias(input_dim=7),
                            RBF(input_dim=4, ARD=False)+Bias(input_dim=4) ), \
               'optimize': True}

In [6]:
emu = NashvilleHot(training_file, hyperparams=hyperparams,fixed_params = fixed_params, downsample_factor = 0.1)


0 ***************
Optimization restart 1/5, f = -14877.9415991
Optimization restart 2/5, f = -14877.9408714
Optimization restart 3/5, f = -14877.941564
Optimization restart 4/5, f = -14877.9416854
Optimization restart 5/5, f = -14877.9415817
1 ***************
Optimization restart 1/5, f = -14459.5592928
Optimization restart 2/5, f = -15348.8828817
Optimization restart 3/5, f = -14459.0628592
Optimization restart 4/5, f = -15348.8829769
Optimization restart 5/5, f = -15348.8795973
2 ***************
Optimization restart 1/5, f = -14912.3766433
Optimization restart 2/5, f = -15805.3587306
Optimization restart 3/5, f = -15805.3587337
Optimization restart 4/5, f = -15805.3587326
Optimization restart 5/5, f = -15805.3587379
3 ***************
Optimization restart 1/5, f = -15243.6828342
Optimization restart 2/5, f = -16172.7221935
Optimization restart 3/5, f = -16172.7221926
Optimization restart 4/5, f = -15243.4924968
Optimization restart 5/5, f = -16172.7221941
4 ***************
Optimization restart 1/5, f = -16463.6657877
Optimization restart 2/5, f = -16463.6657866
Optimization restart 3/5, f = -16463.665785
Optimization restart 4/5, f = -16463.6657846
Optimization restart 5/5, f = -16463.6657861
5 ***************
 /home/users/swmclau2/.local/lib/python2.7/site-packages/GPy/kern/src/stationary.py:168: RuntimeWarning:overflow encountered in divide
Optimization restart 1/5, f = -16657.7264295
Optimization restart 2/5, f = -15633.5018977
Optimization restart 3/5, f = -15633.759048
Optimization restart 4/5, f = 38039.1002485
Optimization restart 5/5, f = -16657.7263767
6 ***************
Optimization restart 1/5, f = -16284.7124437
Optimization restart 2/5, f = nan
Optimization restart 3/5, f = -16284.7124655
Optimization restart 4/5, f = -16284.7124659
Optimization restart 5/5, f = -16284.712465
7 ***************
Optimization restart 1/5, f = -17022.1480337
Optimization restart 2/5, f = -15534.6726094
Optimization restart 3/5, f = -17022.1480343
Optimization restart 4/5, f = -17022.1480341
Optimization restart 5/5, f = -17022.1480339
8 ***************
Optimization restart 1/5, f = -17549.5952619
Optimization restart 2/5, f = -17549.5952627
Optimization restart 3/5, f = -17549.5952631
Optimization restart 4/5, f = -17549.5952631
Optimization restart 5/5, f = -17549.5952628
9 ***************
Optimization restart 1/5, f = -17530.57917
Optimization restart 2/5, f = -17530.5791315
Optimization restart 3/5, f = -17530.5791702
Optimization restart 4/5, f = -17530.5791697
Optimization restart 5/5, f = -17530.5791552
10 ***************
Optimization restart 1/5, f = -17605.6373912
Optimization restart 2/5, f = -17605.6373912
Optimization restart 3/5, f = -17605.6373912
Optimization restart 4/5, f = -17605.6373912
Optimization restart 5/5, f = -17605.6373912
11 ***************
Optimization restart 1/5, f = -18375.4582039
Optimization restart 2/5, f = -18375.4582102
Optimization restart 3/5, f = -18375.4582095
Optimization restart 4/5, f = -18375.4582102
Optimization restart 5/5, f = -18375.4582102
12 ***************
Optimization restart 1/5, f = -19831.5225127
Optimization restart 2/5, f = -19831.5225778
Optimization restart 3/5, f = -17825.6619457
Optimization restart 4/5, f = -19831.5225778
Optimization restart 5/5, f = -19831.5225777
13 ***************
Optimization restart 1/5, f = -20854.5849513
Optimization restart 2/5, f = -20854.5848518
Optimization restart 3/5, f = -20854.5849489
Optimization restart 4/5, f = -20854.5849511
Optimization restart 5/5, f = -20854.5849501
14 ***************
Optimization restart 1/5, f = -21192.8642154
Optimization restart 2/5, f = -21192.8642112
Optimization restart 3/5, f = -21192.8642144
Optimization restart 4/5, f = -21192.8642153
Optimization restart 5/5, f = -21192.8642149
15 ***************
Optimization restart 1/5, f = -19222.4410008
Optimization restart 2/5, f = -21036.2124471
Optimization restart 3/5, f = -19222.4323599
Optimization restart 4/5, f = -21036.2124469
Optimization restart 5/5, f = -21036.212445
16 ***************
Optimization restart 1/5, f = -20930.2159773
Optimization restart 2/5, f = -19119.935235
Optimization restart 3/5, f = -20930.2159751
Optimization restart 4/5, f = -20930.2159772
Optimization restart 5/5, f = -20930.2159731
17 ***************
Optimization restart 1/5, f = -20298.9497176
Optimization restart 2/5, f = -20298.9497197
Optimization restart 3/5, f = -20298.9497196
Optimization restart 4/5, f = -20298.9497182
Optimization restart 5/5, f = -20298.9497197

In [7]:
x = emu.save_as_default_kernel()

In [8]:
from ast import literal_eval

In [9]:
import h5py
f = h5py.File(training_file)
print f.attrs.keys()
f.close()


[u'obs', u'min_ptcl', u'cosmo_param_names', u'scale_factors', u'hod_param_names', u'scale_bins', u'cosmo_param_vals', u'hod_param_vals', u'nh_kernel']

In [10]:
emu2 = NashvilleHot(training_file, hyperparams={},fixed_params = fixed_params, downsample_factor = 0.1)


 /home/users/swmclau2/.local/lib/python2.7/site-packages/paramz/transformations.py:111: RuntimeWarning:overflow encountered in expm1

In [11]:
emu._kernels[0][0]


Out[11]:
sum. valueconstraintspriors
rbf.variance 0.42703565894 +ve
rbf.lengthscale4.01371774995 +ve
bias.variance 2.58577489641 +ve

In [12]:
emu2._kernels[0][0]


Out[12]:
sum. valueconstraintspriors
rbf.variance 0.42703565894 +ve
rbf.lengthscale4.01371774995 +ve
bias.variance 2.58577489641 +ve

In [ ]: