5

我有一个关于正态分布的问题(使用mu = 0and 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 标准差的预期正态分布?有时由于表示值很少(即在这种情况下为4096 ), x与预期的高斯分布的拟合非常差,所以我想操纵x线性与否,在这个阶段并不重要)以获得更好的适应度.

我想说明我可以访问统计工具箱。

编辑

  1. 我做了这个例子,normrndrandn导致我的数据应该并预期具有正态分布。但是,在问题中,这些功能只会有助于更好地理解我的担忧。

  2. 是否可以应用最小二乘拟合?

  3. 通常我得到的分布类似于以下内容: 在此处输入图像描述

我的

4

2 回答 2

3

也许,您可以尝试将输入数据标准化为均值 = 0 和 sigma = 1。像这样:

y=(x-mean(x))/std(x);
于 2013-03-19T12:51:48.463 回答
1

如果您正在寻找使您的分布看起来正常的非线性变换,您可以首先估计累积分布,然后采用标准正态 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);
于 2013-03-19T15:12:53.540 回答