RESEARCH / PRACTICE / NOTES

正态、拉普拉斯、对数正态与瑞利分布

从最大似然出发,推导正态、拉普拉斯、对数正态和瑞利分布的参数估计,并给出对应的 MATLAB 实现与拟合示例。

#概率统计
关键词正态分布拉普拉斯分布对数正态分布瑞利分布
细密石墨颗粒构成的对称与偏斜分布轮廓
本文目录 · 11 个章节
  1. 理论推导
  2. 正态分布
  3. 拉普拉斯分布
  4. 对数正态分布
  5. 瑞利分布
  6. 代码实现
  7. 正态分布
  8. 拉普拉斯分布
  9. 对数正态分布
  10. 瑞利分布
  11. 应用举例

本文主要介绍正态分布、拉普拉斯分布等常用分布拟合的理论推导以及代码实现。

理论推导

假设数据独立同分布。对于任意数据点xi{x_i},对应概率密度为f(xi)f({x_i}),最大似然函数:

J=∏i=1Nf(xi)J=\prod_{i=1}^{N} f\left(x_{i}\right)

表示成参数,并写成对数形式:

L(θ)=ln⁡J(θ)=∑i=1Nln⁡f(xi;θ)L(\theta)=\ln J(\theta)=\sum_{i=1}^{N}\ln f\left(x_{i};\theta\right)

正态分布

对于正态分布:

f(x)=12πσe−(x−μ)22σ2f(x)=\frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{(x-\mu)^{2}}{2 \sigma^{2}}}

求偏导得参数估计:

μ^=∑i=1NxiN\hat{\mu}=\frac{\sum_{i=1}^{N} x_{i}}{N} σ^2=1N∑i=1N(xi−μ^)2=1N(x−μ^1)T(x−μ^1)\hat{\sigma}^{2}=\frac{1}{N}\sum_{i=1}^{N}\left(x_{i}-\hat\mu\right)^{2} =\frac{1}{N}(\mathbf x-\hat\mu\mathbf 1)^{T}(\mathbf x-\hat\mu\mathbf 1)

拉普拉斯分布

对于拉普拉斯分布:

f(x)=12be−∣x−μ∣bf(x)=\frac{1}{2 b} e^{-\frac{|x-\mu|}{b}}

对 μ\mu 最大化似然,等价于最小化绝对偏差之和,因此位置参数的最大似然估计为样本中位数:

μ^=median⁡(x1,…,xN)\hat\mu=\operatorname{median}(x_1,\ldots,x_N)

最大似然函数求偏导,得出b的估计:

b^=1N∑i=1N∣xi−μ^∣\hat b=\frac{1}{N}\sum_{i=1}^{N}\left|x_i-\hat\mu\right|

对数正态分布

对数正态分布的密度定义在 x>0x>0 上:

f(x)=1x2πσe−(ln⁡x−μ)22σ2f(x)=\frac{1}{x \sqrt{2 \pi} \sigma} e^{-\frac{(\ln x-\mu)^{2}}{2 \sigma^{2}}}

事实上,令t=ln⁡xt = \ln x,则参数求解与正态分布完全一致。

μ^=∑i=1NtiN\hat{\mu}=\frac{\sum_{i=1}^{N} t_{i}}{N} σ^2=1N∑i=1N(ti−μ^)2\hat{\sigma}^{2}=\frac{1}{N}\sum_{i=1}^{N}\left(t_i-\hat\mu\right)^2

瑞利分布

对不带位置偏移的瑞利分布,x≥0x\geq0,概率密度为:

f(x)=xσ2e−x22σ2f(x)=\frac{x}{\sigma^{2}}e^{-\frac{x^{2}}{2\sigma^{2}}}

最大似然求导,得出参数估计:

σ^2=∑i=1Nxi22N\hat{\sigma}^{2}=\frac{\sum_{i=1}^{N} x_{i}^{2}}{2 N}

代码实现

正态分布

x       = x(:);                 % should be column vectors !
N       = length(x);
u       = sum(x)/N;
sig2    = (x-u)'*(x-u)/N;

拉普拉斯分布

x       = x(:);                 % should be column vectors !
N       = length(x);
u       = median(x);
b       = sum(abs(x-u))/N;

对数正态分布

t     = log(x(:));                 % should be column vectors !
N       = length(x);
m       = sum( t )/N;
sig2      = (t-m)'*(t-m)/N;

瑞利分布

x       = real(x(:));                 % should be column vectors !
N       = length(x);
s       = sum(x.^2)/(2*N);

其中 s 是瑞利分布的尺度参数平方 σ^2\hat\sigma^2;输入须为非负实数。对数正态分布的输入须严格大于零。

应用举例

以正态分布为例:

rng('default') % for reproducibility
x = 3*randn(100000,1)-2;
%fitting
x       = x( : );                 % should be column vectors !
N       = length(x);
u       = sum(x)/N;
sig2    = (x-u)'*(x-u)/N;

%Plot

figure;
%Bar
subplot 311
numter = [-15:.2:10];
[histFreq, histXout] = hist(x, numter);
binWidth = histXout(2)-histXout(1);
bar(histXout, histFreq/binWidth/sum(histFreq)); hold on;grid on;
%Fitting plot
subplot 312
y = 1/sqrt(2*pi*sig2)*exp(-(numter-u).^2/2/sig2);
plot(numter,y,'r','linewidth',2);grid on;

%Fitting result
subplot 313
bar(histXout, histFreq/binWidth/sum(histFreq)); hold on;grid on;
plot(numter,y,'r','linewidth',2);

结果图:

正态分布样本直方图、拟合密度与叠加对比

交流与讨论

评论加载中…

随便读一篇 →

站内搜索

输入关键词开始搜索。

搜索内容不会上传 Esc 关闭

订阅明月入怀

将下面的网址添加到你的 RSS 阅读器。