擅长:python、mysql、java
<p>如果您只想通过高斯Copula(*)进行相关,那么可以使用numpy和scipy在几步内计算出相关。</p>
<ul>
<li><p>创建具有期望协方差的多变量随机变量,<code>numpy.random.multivariate_normal</code>,并创建(nobs by k_variables)数组</p></li>
<li><p>应用<code>scipy.stats.norm.cdf</code>将正态随机变量转换为均匀随机变量,对于每个列/变量获得均匀的边际分布</p></li>
<li><p>应用<code>dist.ppf</code>将均匀边距转换为所需分布,其中<code>dist</code>可以是<code>scipy.stats</code></p>中的分布之一</li>
</ul>
<p>(*)高斯copula只是一个选择,当我们对尾部行为感兴趣时,它不是最好的,但是它是最容易使用的
例如<a href="http://archive.wired.com/techbiz/it/magazine/17-03/wp_quant?currentPage=all" rel="nofollow noreferrer">http://archive.wired.com/techbiz/it/magazine/17-03/wp_quant?currentPage=all</a></p>
<p>两个参考文献</p>
<p><a href="https://stats.stackexchange.com/questions/37424/how-to-simulate-from-a-gaussian-copula">https://stats.stackexchange.com/questions/37424/how-to-simulate-from-a-gaussian-copula</a></p>
<p><a href="http://www.mathworks.com/products/demos/statistics/copulademo.html" rel="nofollow noreferrer">http://www.mathworks.com/products/demos/statistics/copulademo.html</a></p>
<p>(我以前在python中可能已经这样做了,但现在没有任何脚本或函数。)</p>