2013-03-21 71 views
3

我有一个相当容易理解的问题。转换数据以适合正态分布

我有一组数据,我想估计这个数据有多好,符合标准正态分布。要做到这一点,我开始与我的代码:

[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看起来像下面这样:

enter image description here

不难发现,配合相当差,altough的钟形状可以被发现。主要问题在于我的数据差异

要找出occurrances适当数量的我的数据箱应该自己,我这样做:

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 

这将导致如下图。 :

enter image description here

因此,问题是:我怎么能扩展我的数据块以匹配高斯分布在图2

注意

我想强调的重点一点:我找到最好分布拟合数据; 问题颠倒:从我的数据开始,我想操纵它,最终它的分布合理地符合高斯函数。

不幸的是,目前,我还没有真正的想法如何执行这个数据“过滤器”,“变换”或“操纵”。

任何支持将受到欢迎。

+0

如何为这个问题从以前的最后两个问题有什么不同([这](http://stackoverflow.com/questions/15496804/manipulate -data-to-better-fit-a-gaussian-distribution)和[this](http://stackoverflow.com/questions/15473064/fit-data-to-normal-distribution))? – 2013-03-21 14:13:21

+0

到目前为止我还没有得到任何有价值的答案!所以我试图调整这个问题以使它更易于读者阅读。 – fpe 2013-03-21 14:17:19

+0

我认为最好的办法是通过_editing_,而不是发布新的问题。但那只是我的看法,当然。 – 2013-03-21 14:18:34

回答

3

可能是你感兴趣的是基于等级的逆法线变换。基本上你的排名数据的第一次他们将其转换为正态分布:

rank = tiedrank(data); 
p = rank/(length(rank) + 1); %# +1 to avoid Inf for the max point 
newdata = norminv(p, 0, 1); 
+0

目前这是我会遵循的程序,但我需要更彻底地测试它。 – fpe 2013-03-21 20:05:57

+0

@fpe:请不要在不接受某些答案的情况下留下问题。不要忘记注册那些你认为有用的人。 – yuk 2013-03-27 15:25:31

+0

对不起,但我现在在复活节假期,只有有限的访问网络。我会在下周解决所有问题。 – fpe 2013-03-28 11:28:21

0

我还没有能够真正理解这个问题或您最近的其他类似问题究竟在问什么。

也许你的数据是正态分布的,你想使它的正态分布的均值为0,标准差为1?

如果是这样,然后减去从数据musigma,其中mu是数据的平均值,sigma是它的标准差除以它。如果您的原始数据是正态分布的,那么结果应该是正态分布的数据,其平均值为0,标准偏差为1.

统计工具箱中有一个函数zscore为您完成此操作。

但也许你的意思是别的吗?

+0

我知道这个诀窍,我已经应用了它,但它听起来像是“伪装”时间序列,因为分布根本没有改变,我认为它不保证数据块的高斯性。但我不是专家。 – fpe 2013-03-21 20:04:59

2

你试图做的事似乎与试图找到一组数据是如何随机的问题相匹配。超高速pdf是那些在零点附近(或平均值,无论它可能是什么)比高斯分布更大的概率,因此更“尖锐” - 非常像你的例子。拉普拉斯分布就是这种分布的一个例子。 Subgaussian pdfs则相反。

数据集与高斯分布的接近程度的测量可以用许多方法给出......通常这是通过使用四阶矩,峰度(MATLAB函数kurt)或信息理论衡量诸如负熵(http://en.wikipedia.org/wiki/Negentropy)。如果你有很多异常值,峰度是有点狡猾的,因为错误被提升到4的幂,所以负熵值更好。

如果您不理解术语“四阶矩”,请阅读统计学教科书。

在许多有关独立分量分析(ICA)的文章中都给出了这些和其他几种随机性度量(高斯性)的比较,因为它是一个核心概念。关于这方面的一个很好的资源是由Hyvarinen和Oja撰写的独立成分分析 - http://books.google.co.uk/books/about/Independent_Component_Analysis.html?id=96D0ypDwAkkC