我有一个数据集和这些数据的核密度估计。我相信KDE应该用exponentinally modified Gaussian来合理地描述,所以我试着从KDE中取样,并用该类型的函数拟合这些样本。但是,当我试着用scipy.optimize.curve U拟合,我的拟合与数据完全不匹配。我的代码是
import scipy.special as sse
from scipy.optimize import curve_fit
def fit_func(x, l, s, m):
return 0.5*l*n.exp(0.5*l*(2*m+l*s*s-2*x))*sse.erfc((m+l*s*s-x)/(n.sqrt(2)*s)) # exponential gaussian
popt, pcov = curve_fit(fit_func, n.linspace(0,1,100), data)
我的“数据集”(从我的KDE采样)是
^{pr2}$这是我的真实数据柱状图,红色的KDE,以及我尝试用黑色拟合KDE-
指数修正高斯被定义为向左倾斜的分布,因此,形状参数不会改变这种倾斜的方向。在
这就是我尝试过的。在
Plot of the data and the fitted curve
相关问题 更多 >
编程相关推荐