whiten#
- Ковариация.whiten(x)[источник]#
Выполнить преобразование отбеливания данных.
«Отбеливание» («белый» как в «белом шуме», где каждая частота имеет одинаковую величину) преобразует набор случайных величин в новый набор случайных величин с ковариацией с единичной диагональю. Когда преобразование отбеливания применяется к выборке точек, распределённых согласно многомерному нормальному распределению с нулевым средним, ковариация преобразованной выборки приблизительно равна единичной матрице.
- Параметры:
- xarray_like
Массив точек. Последнее измерение должно соответствовать размерности пространства, т.е. количеству столбцов в ковариационной матрице.
- Возвращает:
- x_array_like
Преобразованный массив точек.
Ссылки
[1]“Whitening Transformation”. Wikipedia. https://en.wikipedia.org/wiki/Whitening_transformation
[2]Новак, Лукаш и Мирослав Вореховский. «Обобщение линейного преобразования раскраски». Transactions of VSB 18.2 (2018): 31-35. DOI:10.31490/tces-2018-0013
Примеры
>>> import numpy as np >>> from scipy import stats >>> rng = np.random.default_rng() >>> n = 3 >>> A = rng.random(size=(n, n)) >>> cov_array = A @ A.T # make matrix symmetric positive definite >>> precision = np.linalg.inv(cov_array) >>> cov_object = stats.Covariance.from_precision(precision) >>> x = rng.multivariate_normal(np.zeros(n), cov_array, size=(10000)) >>> x_ = cov_object.whiten(x) >>> np.cov(x_, rowvar=False) # near-identity covariance array([[0.97862122, 0.00893147, 0.02430451], [0.00893147, 0.96719062, 0.02201312], [0.02430451, 0.02201312, 0.99206881]])