我有一个比较容易理解的问题。
我有一组数据,我想估计这些数据与标准正态分布的拟合程度。为此,我从我的代码开始:
[f_p,m_p] = hist(data,128);
f_p = f_p/trapz(m_p,f_p);
x_th = min(data):.001:max(data);
y_th = normpdf(x_th,0,1);
figure(1)
bar(m_p,f_p)
hold on
plot(x_th,y_th,'r','LineWidth',2.5)
grid on
hold off
图 1 如下所示:
很容易看出合身性很差,尽管可以看到钟形。因此,主要问题在于我的数据的差异。
为了找出我的数据箱应该拥有的正确出现次数,我这样做:
f_p_th = interp1(x_th,y_th,m_p,'spline','extrap');
figure(2)
bar(m_p,f_p_th)
hold on
plot(x_th,y_th,'r','LineWidth',2.5)
grid on
hold off
这将导致下图。:
因此,问题是:如何缩放我的数据块以匹配高斯分布,如图2 所示?
警告
我想强调一点:我不想找到适合数据的最佳分布;问题是相反的:从我的数据开始,我想以这样一种方式操纵它,最终,它的分布合理地适合高斯分布。
不幸的是,目前,我对如何执行此数据“过滤”、“转换”或“操作”并没有真正的想法。
欢迎任何支持。