statsmodels.stats.correlation_tools.corr_nearest

statsmodels.stats.correlation_tools.corr_nearest(corr, threshold=1e-15, n_fact=100)[source]

找到最接近的半正定相关矩阵。

该函数通过裁剪差分矩阵的特征值来迭代调整相关矩阵。对角元素设置为1。

Parameters:
corrndarray, (k, k)

初始相关矩阵

thresholdfloat

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

n_factint or float

用于确定最大迭代次数的因子。最大迭代次数是相关矩阵中列数的整数部分乘以 n_fact。

Returns:
corr_newndarray, (optional)

校正后的相关矩阵

另请参阅

corr_clipped
cov_nearest

注释

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

假设输入的相关矩阵是对称的。

如果在第一步后相关矩阵已经是半正定或正定的,则停止,使得最小特征值高于阈值。在这种情况下,返回的数组不是原始数组,但在数值精度范围内等于它。


Last update: Oct 16, 2024