2017-09-05 382 views
0

所以想以產生用於給定下列條件的隨機變量X 50 X 50的協方差矩陣:如何在Python中生成隨機協方差矩陣?

  1. 一個方差比其它
  2. 的X的參數僅略微相關大10倍

有沒有在Python/R等這樣做的方法嗎?或者是否存在可以滿足這些要求的協方差矩陣?

謝謝你的幫助!

+0

你需要多少個這種協方差矩陣的實例?你只需要一個?或者你需要生成很多實例嗎? 「隨機性」是否重要 - 您能製作一個合適的矩陣還是需要對它們進行採樣?感謝您的額外信息。 –

+0

感謝您的回覆!我只需要一個協方差矩陣,而隨機性部分並不重要 - 只要一個合適的矩陣就足夠了。 – tattybojangler

回答

2

好的,你只需要一個矩陣和隨機性並不重要。根據您的描述,這是一種構建矩陣的方法。以50的單位矩陣50開始。將10分配給第一個(左上角)元素。爲所有其他元素分配一個小數字(我不知道什麼適合您的問題,也許0.1?0.01?取決於您)。現在取該矩陣並對其進行平方(即計算轉置(X)。X,其中X是矩陣)。普雷斯托!你已經平方的特徵值,所以現在你有一個協方差矩陣。

如果小元素足夠小,X已經是正定的。但是平方保證它(假設沒有零特徵值,可以通過計算行列式來驗證 - 如果行列式非零則不存在零特徵值)。

我假設你可以找到這些操作的Python函數。

+0

謝謝!我會給它一個去! – tattybojangler