5

mu = 0正規分布 (と)について質問がありsigma = 1ます。

最初にこの方法で randn または normrnd を呼び出したとしましょう

x = normrnd(0,1,[4096,1]); % x = randn(4096,1)

ここで、x 値が正規分布にどの程度適合しているかを評価するために、次のように呼び出します。

[a,b] = normfit(x);

グラフィカルなサポートを提供する

histfit(x)

質問の核心に来てください: x が与えられた正規分布にどのように適合するかについて十分に満足していない場合、期待される正規分布平均 0および標準偏差 1で適合させるためにxを最適化するにはどうすればよいでしょうか?? 表現値が少ないため (この場合は4096 )、xは予想されるガウス分布にあまり適合しないことがあるため、より適切な適合度を得るためにxを操作したい(線形かどうか、この段階ではあまり重要ではありません)。 .

統計ツールボックスにアクセスできることをお知らせします。

編集

  1. 私は例を作成し、私のデータは正規分布を持つnormrndrandn想定され、期待されています。しかし、質問の中で、これらの機能は私の懸念をよりよく理解するのに役立つだけです.

  2. 最小二乗フィッティングを適用することは可能でしょうか?

  3. 一般的に、私が得る分布は次のようになります。 ここに画像の説明を入力

じぶんの

4

2 に答える 2

3

おそらく、入力データを正規化して平均=0、シグマ=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 に答える