Nov 12, 2020 13:35
Если для каких-нибудь опытов вдруг понадобилась случайная ковариационная матрица, генерация ее при помощи очевидного кода вроде:
def get_random_covm(size = 5):
RX = np.random.normal(size = (size, size))
return np.matmul(RX.T, RX)
в принципе работает, но дает неинтерсные результаты в том смысле, что корреляционная матрица сгенерированного набора данных оказывается сплошь "темной" (отсутствуют сильно связанные величины, максимальная величина коэффициента корреляции не превышает 0.5).
Хорошие, веселые результаты дает
scipy.linalg.fractional_matrix_power(get_random_covm(size), -0.5)
, но от такой прибавки в каких-то случаях и рожа может треснуть.
программизмы,
вокруг и около компьютера