In [18]:
import cov_utils as mu

In [19]:
import numpy as np

In [20]:
def generateCov(dims, seed=None, low=-0.5, high=0.5):
    if seed is not None:
        np.random.seed(seed)
    x = np.random.uniform(low, high, size=dims)
    y = np.random.uniform(low, high,size=dims)
    m = np.outer(x, y)
    return np.dot(m, m.transpose())

In [21]:
cov = generateCov(dims=3, seed=42)

In [22]:
cov


Out[22]:
array([[ 0.00387832, -0.01393287, -0.0071716 ],
       [-0.01393287,  0.05005381,  0.02576395],
       [-0.0071716 ,  0.02576395,  0.01326135]])

In [23]:
Cov = mu.covariance(cov, paramNames=['x0', 'x1', 'x2'])

In [24]:
Cov


Out[24]:
x0 x1 x2
x0 0.003878 -0.013933 -0.007172
x1 -0.013933 0.050054 0.025764
x2 -0.007172 0.025764 0.013261

In [26]:
mu.subcovariance(Cov, paramList=['x0', 'x2'])


Out[26]:
x0 x2
x0 0.003878 -0.007172
x2 -0.007172 0.013261

In [27]:
Cov.ix[['x0', 'x1'],['x0', 'x1']].values


Out[27]:
array([[ 0.00387832, -0.01393287],
       [-0.01393287,  0.05005381]])

In [28]:
dfc = mu.covariance(cov, paramNames=['x0', 'x1', 'x2']); dfc


Out[28]:
x0 x1 x2
x0 0.003878 -0.013933 -0.007172
x1 -0.013933 0.050054 0.025764
x2 -0.007172 0.025764 0.013261

In [29]:
Cov


Out[29]:
x0 x1 x2
x0 0.003878 -0.013933 -0.007172
x1 -0.013933 0.050054 0.025764
x2 -0.007172 0.025764 0.013261

In [31]:
mu.log_covariance(Cov, 'x0', 55.0)


Out[31]:
x0 x1 x2
x0 0.000001 -0.000253 -0.000130
x1 -0.000253 0.050054 0.025764
x2 -0.000130 0.025764 0.013261

In [32]:
isinstance('1', str)


Out[32]:
True

In [33]:
Cov.iloc[0]


Out[33]:
x0    0.000001
x1   -0.000253
x2   -0.000130
Name: x0, dtype: float64

In [34]:
Cov.values


Out[34]:
array([[  1.28209084e-06,  -2.53324946e-04,  -1.30392694e-04],
       [ -2.53324946e-04,   5.00538076e-02,   2.57639484e-02],
       [ -1.30392694e-04,   2.57639484e-02,   1.32613495e-02]])

In [35]:
Cov.values.diagonal()


Out[35]:
array([  1.28209084e-06,   5.00538076e-02,   1.32613495e-02])

In [ ]: