statsmodels.stats.correlation_tools.corr_clipped¶
-
statsmodels.stats.correlation_tools.corr_clipped(corr, threshold=
1e-15)[source]¶ 找到一个接近的相关矩阵,该矩阵是半正定的
此函数裁剪特征值,将小于阈值的特征值替换为阈值。新矩阵是归一化的,因此对角元素为1。与corr_nearest相比,原始相关矩阵与正定相关矩阵之间的距离更大,但由于它只计算一次特征值,因此速度更快。
另请参阅
注释
修正相关矩阵的最小特征值大约等于
阈值。在示例中,最小特征值可能比阈值小10倍,例如阈值1e-8可能导致最小特征值在1e-9到1e-8之间。如果阈值=0,则相关矩阵的最小特征值可能为负,但在数值误差范围内为零,例如在-1e-16范围内。假设输入的相关矩阵是对称的。返回的相关矩阵的对角元素设置为1。
如果给定阈值时相关矩阵已经是半正定的,则返回原始相关矩阵。
cov_clipped比cov_nearest在简单示例中快40倍以上,但具有稍大的近似误差。
Last update:
Oct 16, 2024