かなり分かりやすい質問があります。
一連のデータがあり、このデータが標準正規分布にどの程度適合しているかを推定したいと考えています。そのために、コードから始めます。
[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のように、データブロックをガウス分布に一致するようにスケーリングするにはどうすればよいですか?
注意
1 つの点に焦点を当てたいと思います。データに最適な分布を見つけたいわけではありません。問題は逆です。私のデータから始めて、最終的にその分布がガウス分布に合理的に適合するように操作したいと思います。
残念ながら、現時点では、このデータの「フィルター」、「変換」、または「操作」を実行する方法についての本当の考えはありません。
どんなサポートも大歓迎です。