我有一组 N 个样本(N~10000 到 100000):
(y_i, P_i)
他们对未知函数进行采样:
y = f(P)
在我的例子中,P 是一组 n_p 参数,其中 n_p 通常在 10 左右。
我的目标是使用样本找到最接近未知函数的 2 阶多项式。其典型结果将是最佳拟合多项式的 (n_p+1)+(n_p+1)*n_p/2 系数。
但是,我想以下列形式获得解决方案:
f(P) = (P-mu)*(C^-1)*(P-mu)^T + K
mu 为 n_p 维向量,C 为 (n_p X n_p) 对称矩阵,K 为常数。这些 mu、C 和 K 是我想要获得的。
Python 生态系统中的某个地方是否有标准实现和/或有效的方法来做到这一点?
提前致谢 !
编辑: 这是一个典型的设置,我创建假样本(P 和 Y),并且只使用它们,我想恢复原始的 mu、C 和 K:
import numpy as np
n_p = 3
N = 15
# Generate the "mu" we'll try to recover
mu = np.random.rand(n_p)
# Generate the "C" we'll try to recover
tmp = np.random.rand(n_p,n_p)
C = np.dot(tmp, tmp.T)
# Generate the "K" we'll try to recover
K = np.random.rand()
# Generate the samples
P = np.random.rand(n_p,N)
Y = np.array([np.dot(np.dot((P[:,i]-mu),np.linalg.inv(C)),(P[:,i]-mu))+K for i in range(N)])