如何用matlab进行参数以及非参数概率密度估计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用matlab进行参数以及非参数概率密度估计相关的知识,希望对你有一定的参考价值。

我有一组降水量数据,40年,想对其进行密度估计。经过直方图看着不是正态的,参数分布我不会估计,非参数分布我想用核密度方法。本人刚学习matlab,盼大侠出手相助。

如果你不知道他具体是什么分布,应该首先找一个分布,确定你的概率密度分布类型以后,再确定该分布函数的均值与标准差,然后才能够得到概率密度分布。
[mu sigma muci sigmaci]=normfit(x,alpha)
mu和sigma你应该知道,muci和sigmaci分别是总体均值和标准差的区间估计,x就是你的数据,alpha是显著性水平
normfit是正态分布的参数估计函数,
换成expfit,poissfit,gamfit就分别是指数分布,破送分布和伽马参数估计的函数
参考技术A 如果不知道具体是什么分布,应该首先找一个分布,确定概率密度分布类型以后,再确定该分布函数的均值与标准差,然后才能够得到概率密度分布。
[mu sigma muci sigmaci]=normfit(x,alpha)
mu和sigma你应该知道,muci和sigmaci分别是总体均值和标准差的区间估计,x就是数据,alpha是显著性水平
normfit是正态分布的参数估计函数,
换成expfit,poissfit,gamfit就分别是指数分布,破送分布和伽马参数估计的函数。
参考技术B 试试cftool中的混合高斯叠加拟合 参考技术C 用Ksdensity

概率密度函数估计笔记

概率密度函数估计是贝叶斯决策的基础,有两大类方法:参数法和非参数法。所谓的参数法是指已知参数形式,但不知道参数,我们要对参数进行估计的过程。这里主要介绍点估计的两种方法:一种是最大似然估计,一种是贝叶斯估计。

最大似然估计

假设:

  1. 我们要估计的参数技术分享 是确定但未知的;
  2. 样本之间是独立同分布的(或者是条件独立,即在某一个固定的条件下样本是独立的);
  3. 类条件概率密度的分布形式已知;
  4. 不同类别之间的参数是独立的。

主要步骤:

  1. 求似然函数:技术分享
  2. 最大化似然函数 :技术分享

注:技术分享,成立的原因是假设条件2,即样本之间独立同分布。

在具体的求解过程中通常转换为对数似然:技术分享,然后求 技术分享

转换为对数似然有两点好处:

  1. 由乘法运算转换为加法运算;
  2. 对数似然能对技术分享的有效域进行拓宽见下图。

技术分享

举例 :高斯分布参数的似然估计

这里讨论方差已知,估计均值的情况

对数似然函数技术分享 ,其中技术分享

上式对技术分享 求导得技术分享,其中用到公式技术分享

求和得技术分享 ,解得 技术分享

?

参数估计第二种,贝叶斯估计

将参数技术分享看成一个服从某种分布的随机变量,通过对其后验的求取来估计样本变量的概率密度

公式如下:技术分享 ,其中技术分享 ,即 技术分享的后验=似然*先验/归一化因子 。

注:这里估计得到的是一个分布的密度函数,并不是一个数,这是和似然估计的表观区别。

举例:高斯分布的贝叶斯估计

同样讨论方差已知,估计均值

先验分布:采用高斯分布技术分享

似然:技术分享

后验: 技术分享

将高斯分布的函数代入得到

技术分享的期望

技术分享

其中技术分享,即为似然估计中的估计值。

?

注:对以上两种方法估计的结果进行比较得,当贝叶斯估计的样本个数n趋于无穷时,贝叶斯估计得到的分布的期望值会接近于最大似然估计得到的估计结果;当贝叶斯估计中的n接近于零的时候,其估计得到的分布与先验分布接近。

以上是关于如何用matlab进行参数以及非参数概率密度估计的主要内容,如果未能解决你的问题,请参考以下文章

非参数估计——Parzen窗与k近邻估计

概率密度函数估计笔记

非参数核密度估计是用啥软件实现

怎么在matlab中对离散点进行曲线拟合,求参数!

核密度估计Kernel Density Estimation(KDE)概述 密度估计的问题

贝叶斯估计和极大似然估计到底有何区别