操作数据以更好地拟合高斯分布
问题描述:
我有一个关于正态分布的问题(使用mu = 0
和sigma = 1
)。操作数据以更好地拟合高斯分布
让我们说,我先打电话randn或normrnd这样
x = normrnd(0,1,[4096,1]); % x = randn(4096,1)
现在,评估x值如何般配正态分布,我叫
[a,b] = normfit(x);
,并有图形支持
histfit(x)
现在来到这个问题的核心:如果我对如何不满意如何X适合给定的正态分布,如何优化X为了更好地适应预期正态分布与0意味着和1标准偏差 ??有时会因为一些表示值(在这种情况下,即),X适合真的很差预期高斯,所以我想操纵X(线性或不的,它并没有真正的问题在这一阶段),以获得更好的健身。
我想说我可以访问统计工具箱。
编辑
我所做的例子有
normrnd
和randn
引起我的数据应该和预期有正常的分布。但是,在这个问题中,这些功能只会有助于更好地理解我的关注。是否可以应用最小二乘拟合?
一般来说我得到的分布是类似以下内容:
我
答
如果你正在寻找一个非线性变换,将让你看起来分布正常,可以先估计累积分布,然后取功能成分与标准的正常CDF的逆。通过这种方式,您可以通过可逆变换将几乎任何分布转换为法线。看看下面的示例代码。
x = randn(1000, 1) + 4 * (rand(1000, 1) < 0.5); % some funky bimodal distribution
xr = linspace(-5, 9, 2000);
cdf = cumsum(ksdensity(x, xr, 'width', 0.5)); cdf = cdf/cdf(end); % you many want to use a better smoother
c = interp1(xr, cdf, x); % function composition step 1
y = norminv(c); % function composition step 2
% take a look at the result
figure;
subplot(2,1,1); hist(x, 100);
subplot(2,1,2); hist(y, 100);
+0
如果你不平滑经验CDF,这将是正常的,但做这种操纵的重点是什么? :) – Memming 2013-03-19 15:22:37
也许你会更好的运气比用伪随机数,如果你的数据集是小准随机数。 http://www.mathworks.com/help/stats/generating-quasi-random-numbers.html – Dan 2013-03-19 10:28:28
如果您向我们展示您的发行版的外观,那将有所帮助。 – Memming 2013-03-19 14:59:01
你上传的内容看起来很适合我。你可能只需要更多的样本。 – Memming 2013-03-19 15:14:14