作者:桂。

时间:2017-03-16  20:30:20

声明:欢迎被转载,记得注明出处~

前言

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

一、理论推导

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

$J = \mathop \prod \limits_{i = 1}^N f({x_i})$

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

$L\left( \theta  \right) = \ln J\left( \theta  \right) = \sum\limits_{i = 1}^N {f({x_i};\theta )} $

A-正态分布

对于正态分布:

$f(x) = \frac{1}{{\sqrt {2\pi } \sigma }}{e^{ - \frac{{{{(x - \mu )}^2}}}{{2{\sigma ^2}}}}}$

求偏导得参数估计:

$\hat \mu  = \frac{{\sum\limits_{i = 1}^N {{x_i}} }}{N}$

${\hat \sigma ^2} = \frac{{\sum\limits_{i = 1}^N {{{\left( {{x_i} - \mu } \right)}^2}} }}{N} = \frac{{{{\left( {{\bf{x}} - \mu } \right)}^T}\left( {{\bf{x}} - \mu } \right)}}{N}$

B-拉普拉斯分布

对于拉普拉斯分布:

$f(x) = \frac{1}{{2b}}{e^{ - \frac{{\left| {x - \mu } \right|}}{b}}}$

由于其概率密度曲线为对称分布,因此均值估计可用统计均值直接表示:

$\hat \mu  = \frac{{\sum\limits_{i = 1}^N {{x_i}} }}{N}$

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

$\hat b = \frac{{\sum\limits_{i = 1}^N {\left| {{x_i} - \mu } \right|} }}{N}$

C-对数正态分布

对数正态分布:

$f(x) = \frac{1}{{x\sqrt {2\pi } \sigma }}{e^{ - \frac{{{{(\ln x - \mu )}^2}}}{{2{\sigma ^2}}}}}$

事实上,令$t = lnx$,则参数求解与正态分布完全一致。

$\hat \mu  = \frac{{\sum\limits_{i = 1}^N {{t_i}} }}{N}$

${\hat \sigma ^2} = \frac{{\sum\limits_{i = 1}^N {{{\left( {{t_i} - \mu } \right)}^2}} }}{N} = \frac{{{{\left( {{\bf{t}} - \mu } \right)}^T}\left( {{\bf{t}} - \mu } \right)}}{N}$

D-瑞利分布

瑞利分布:

$f(x) = \frac{x}{{{\sigma ^2}}}{e^{ - \frac{{{x^2}}}{{2{\sigma ^2}}}}}$

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

${\hat \sigma ^2} = \frac{{\sum\limits_{i = 1}^N {x_i^2} }}{{2N}}$

二、代码实现

A-正态分布

x = x(:); % should be column vectors !

N = length(x);

u = sum(x)/N;

sig2 = (x-u)'*(x-u)/N;

B-拉普拉斯分布

x = x(:); % should be column vectors !

N = length(x);

u = sum( x )/N;

b = sum(abs(x-u))/N;

C-对数正态分布

t = log(x(:)); % should be column vectors !

N = length(x);

m = sum( t )/N;

sig2 = (t-m)'*(t-m)/N;

D-瑞利分布

x = real(x(:)); % should be column vectors !

N = length(x);

s = sum(x.^2)/(2*N);

三、应用举例

以正态分布为例:

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);

结果图:

单个分布以本文为例。

matlab中表示拉普拉斯分布_分布拟合——正态/拉普拉斯/对数高斯/瑞利 分布相关推荐

  1. matlab stem 属性,matlab中stem函数用法_常见问题解析

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  2. stem什么意思matlab,matlab中stem函数用法_常见问题解析,matlab

    matlab中如何自定义图例_常见问题解析 matlab中自定义图例的方法:首先打开matlab软件:然后点击勾选按钮,新建一个文件并输入代码为"x = 0:pi/50:2*pi;" ...

  3. matlab中的:的优先级_内容早期设计:内容优先

    matlab中的:的优先级 By Simone Ehrlich, Content Strategy Manager 由 西蒙·埃利希 ,内容策略经理 Words are cheap. Cheaper ...

  4. matlab中a2=poly(p2),插值与拟合matlab实现

    插值与拟合的Matlab实现 王正盛编写 在科技工程中,除了要进行一定的理论分析外,通过实验.观测数据,做分析.处理也是必不可少的一种途径.由于实验测定实际系统的数据具有一定的代表性,因此在处理时必须 ...

  5. MATLAB中的一维插值与函数拟合

    本文主要记录Matlab中常用的一维插值与函数拟合的使用方法 文章目录 前言 一.一维插值 二.函数拟合 2.1 多项式拟合 2.1.1多项式拟合指令 2.1.2 图形窗口的多项式拟合 2.2 指定函 ...

  6. matlab中结束脚本运行_疫情当前,生活向前 | MATLAB 一直 Online 等你

    疫情当前,生活向前,希望如期而至的不止是春天,还有疫情过后平安而充实的你 ! MATLAB 连夜帮你整理了我们所有网上的学习资源,为了注定不平凡的你. ◆  ◆  ◆   三大工具,在家开学也不怕[1 ...

  7. matlab中单独存图_[转载]matlab中保存图片的方法

    matlab中保存图片的方法 一.一种是出来图形窗口后手动保存(这儿又可以分两种): 1 直接从菜单保存,有fig,eps,jpeg,gif,png,bmp等格式. 2 edit------〉copy ...

  8. 如何在matlab中建立水箱模型_在MATLAB中实现水箱液位控制系统的设计

    在 MATLAB 中实现水箱液位控制系统的设计 [摘要] 本论文的目的是设计双容水箱液位串级控制系统. 在设计中充分利 用计算机技术, 自动控制技术, 以实现对水箱液位的串级控制. 首先对被控对象 的 ...

  9. 拉普拉斯分布_中心极限定理:从高尔顿板到麦克斯韦分布

    ​神奇的正态分布源于"加". 撰文 | 张和持 时隔多年,或许你早就记不得16岁那年夏天高中闷热的教室,但可能会记得有一天数学老师说着要给大伙看个稀奇--一块祖传的高尔顿板.尽管班 ...

最新文章

  1. 并发编程-18AQS同步组件之 CyclicBarrier 同步屏障
  2. Android新控件RecyclerView浅析及上拉和下拉刷新
  3. centos7安装docker安装rabbitmq(2021)亲测有效!!!
  4. 5.4 ~ 5.6 刷题记录
  5. [JS][前端]修改文件input为button样式
  6. 学生信息管理系统的价值PHP,php技术对学生管理系统实现的价值研究
  7. Python线性代数扩展库numpy.linalg中几个常用函数
  8. DataSet读写xml文件
  9. 双11当天,淘宝搜索如何让CPU使用率降45%,GMV提1% | 论文
  10. 名字正则只能是中文英文_F开头的英文名字有哪些?英文名字典词典,根据中文名姓名发音起关联英文名,最强英文名取名攻略大全!...
  11. c语言自学基础知识视频,C语言 基础课堂视频教程
  12. 平衡小车——编码器原理及其使用
  13. WinCC界面中通过插件打开pdf文件
  14. LINUX内存管理子系统和进程管理子系统
  15. 深入理解 RPC 之序列化篇 --Kryo
  16. 使用NS_REFINED_FOR_SWIFT使Objective-C API适应Swift
  17. 《小窗幽记》卷六 集景
  18. 3种方式,中小企业资产轻松盘点
  19. NX程序调试方法实例讲解
  20. 良知的清醒常常意味着糟糕的记忆力的标志。

热门文章

  1. ARM 架构、ARM7、ARM9、STM32、Cortex M3 M4 、51、AVR 之间有什么区别和联系?
  2. 今天心情贼好,是时候让老董请喝酒了。
  3. updatepanel
  4. Django 框架16: 项目部署
  5. android获得application类对象,android之Application类介绍
  6. Windows10 安装 WSL2
  7. 支付宝支付中enable_pay_channels和disable_pay_channels可支持的枚举
  8. 开放式耳机是什么意思?开放式耳机和封闭式耳机哪个好?
  9. 个人学习笔记——庄懂的技术美术入门课(美术向)21
  10. ui设计范畴有什么麓言信息