机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
通常的协方差最大似然估计能够使用缩水(shrinkage
)的方法正则化。Ledoit and Wolf在2004年提出,通过最小化MSE
的准则,计算渐近最优的缩水参数,产生了以他们的名字命名的Ledoit-Wolf
协方差估计法。chen
等人进一步在2010年提出了Ledoit-Wolf缩水参数的改进,即,OAS
系数,在正态假设下,它的收敛性更好。
在这个例子里,使用正态分布的数据,我们通过计算LW and OAS的MSE, 比较这两种协方差估计法。这里使用的协方差矩阵是模拟自时间序列AR(1)
过程,计算不同样本量下估计的MSE与缩水系数,作图比较。
实例代码
import numpy as np
import matplotlib.pyplot as plt
from scipy.linalg import toeplitz, cholesky
from sklearn.covariance import LedoitWolf, OAS
np.random.seed(0)
n_features = 100
# simulation covariance matrix (AR(1) process)
r = 0.1
real_cov = toeplitz(r ** np.arange(n_features))
coloring_matrix = cholesky(real_cov)
n_samples_range = np.arange(6, 31, 1