如何在Python中生成随机协方差矩阵?

时间:2017-09-05 13:12:10

标签: python r statistics covariance

所以我想在给定以下条件的情况下为随机变量X生成50 X 50协方差矩阵:

  1. 一个方差是其他方差的10倍
  2. X的参数仅略微相关
  3. 有没有办法在Python / R等中执行此操作?或者是否有一个可以想到的协方差矩阵可以满足这些要求?

    感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

好的,你只需要一个矩阵,随机性并不重要。这是根据您的描述构建矩阵的一种方法。以50为单位的单位矩阵50开始。将10分配给第一个(左上角)元素。给所有其他元素分配一个小数字(我不知道什么适合你的问题,可能是0.1?0.01?这取决于你)。现在取这个矩阵并将其平方(即计算转置(X).X,其中X是你的矩阵)。普雷斯托!你已经对特征值求平方,所以现在你有一个协方差矩阵。

如果小元素足够小,则X已经是正定的。但是平方保证它(假设没有零特征值,你可以通过计算行列式来验证 - 如果行列式非零,那么就没有零特征值)。

我假设您可以为这些操作找到Python函数。