我试图对高度相关的数据进行广义最小二乘拟合。这些数据的协方差矩阵很大,许多元素接近1。
# X and Y correspond to my predictor and dependent variables
# C is the covariance matrix of Y
# BF are the best-fit parameters
# BFCM is the covariance matrix of BF
from pylab import *
BF = inv(X.T @ inv(C) @ X) @ (X.T @ inv(C) @ Y)
BFCM = inv(X.T @ inv(C) @ X)
我在最佳拟合参数(BFCM
)的相关矩阵中得到负对角项,这绝对是错误的。这些负值似乎来自float
使用的有限numpy.linalg
精度。在这种情况下,有没有办法避免这种浮点精度问题?
感谢您的任何建议。