擅长:python、mysql、java
<p>使用内置:<a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.multivariate_normal.html" rel="noreferrer">http://docs.scipy.org/doc/numpy/reference/generated/numpy.random.multivariate_normal.html</a></p>
<pre><code>>>> import numpy as np
>>> mymeans = [13,5]
>>> # stdevs = sqrt(5),sqrt(2)
>>> # corr = .3 / (sqrt(5)*sqrt(2) = .134
>>> mycov = [[5,.3], [.3,2]]
>>> np.cov(np.random.multivariate_normal(mymeans,mycov,500000).T)
array([[ 4.99449936, 0.30506976],
[ 0.30506976, 2.00213264]])
>>> np.corrcoef(np.random.multivariate_normal(mymeans,mycov,500000).T)
array([[ 1. , 0.09629313],
[ 0.09629313, 1. ]])
</code></pre>
<ol>
<li>如图所示,如果你不得不调整非单位方差,事情会变得更加棘手)</li>
<li>更多参考:<a href="http://www.riskglossary.com/link/correlation.htm" rel="noreferrer">http://www.riskglossary.com/link/correlation.htm</a></li>
<li>要使协方差矩阵具有现实意义,协方差矩阵必须是<strong>对称的</strong>,并且还必须是<em>正定的</em>或<em>正半定的</em>(它必须是可逆的)。特定的反相关结构可能是不可能的。</li>
</ol>