In [12]:
import numpy
import matplotlib.pyplot as plt
%matplotlib inline

def efficiency(X):
    return 1./numpy.trace((numpy.linalg.inv(X.T.dot(X))))

In [16]:
corrs=numpy.arange(-0.9,1.0,0.1)
eff=numpy.zeros(len(corrs))
for i in range(len(corrs)):
    c=corrs[i]
    data=numpy.random.multivariate_normal([0,0],
                            [[1,c],[c,1]],100)
    eff[i]=efficiency(data)

In [18]:
plt.plot(corrs,eff)
plt.xlabel('correlation')
plt.ylabel('efficiency')


Out[18]:
<matplotlib.text.Text at 0x7fc90797b9d0>

In [ ]: