statsmodels.stats.correlation_tools.cov_nearest

statsmodels.stats.correlation_tools.cov_nearest(cov, method='clipped', threshold=1e-15, n_fact=100, return_all=False)[source]

找到最接近的正(半)定协方差矩阵

这使得对角线,即方差,保持不变

Parameters:
covndarray, (k,k)

初始协方差矩阵

methodstr

如果为“clipped”,则使用更快但不太准确的 corr_clipped。如果为“nearest”,则使用 corr_nearest

thresholdfloat

最小特征值的裁剪阈值,参见注释

n_factint or float

用于确定最大迭代次数的因子 corr_nearest。请参阅其文档字符串

return_allbool

如果为 False(默认),则仅返回协方差矩阵。 如果为 True,则还会额外返回相关矩阵和标准差。

Returns:
cov_ndarray

校正后的协方差矩阵

corr_ndarray, (optional)

校正后的相关矩阵

std_ndarray, (optional)

标准差

另请参阅

corr_nearest
corr_clipped

注释

这将协方差矩阵转换为相关矩阵。然后,找到最接近的半正定相关矩阵,并使用初始标准差将其转换回协方差矩阵。

中间相关矩阵的最小特征值大约等于阈值。如果阈值=0,那么相关矩阵的最小特征值可能是负的,但在数值误差范围内为零,例如在-1e-16的范围内。

假设输入协方差矩阵是对称的。


Last update: Oct 16, 2024