gamma函数及相关其分布
gamma函数的定义及重要性质
\[\Gamma(x)=\int_0^{\infty}t^{x-1}e^{-t}dt\]
\[\Gamma(x+1) = x \Gamma(x)\]
\[\Gamma(n) = (n-1)! \]
\[\Gamma(0) = 1\]
\[\Gamma({1\over 2}) = 2\int_0^{+\infty}e^{-u^2}du = \sqrt\pi\]
gamma函数的图像
在matlib中,我们可以方便的用下面的代码画出gamma函数的图像。
x = -10:0.001:10;
plot(x,gamma(x));
axis([-10.1,10.1,-4,4]);

随机变量\(Y=X^2\)的概率密度
假设随机变量\(X\)具有概率密度\(f_X(x),-\infty<x<\infty\),求\(Y=X^2\)的概率密度。
\begin{align*}F_Y(y) &=P(Y\leq y)=P(X^2 \leq y) \\
&=P(-\sqrt{y} \leq x \leq \sqrt{y}) \\ &=F_X(\sqrt{y})-F_X{(-\sqrt{y})} \end{align*}
\[f_Y(y)=\left\{
\begin{aligned}
\frac{1}{2\sqrt{y}}[f_X(\sqrt{y})+f_X(\sqrt{-y}], y >0, \\
0, y \leq 0 \\
\end{aligned}
\right.\]
设\(X \sim N(0,1)\),其概率密度为\(\varphi(x)=\frac{1}{\sqrt{2\pi}}e^{\frac{-x^2}{2}}, -\infty<x<\infty\),则\(Y=X^2\)的概率密度如下:
\[f_Y(y)=\left\{
\begin{aligned}
\frac{1}{\sqrt{2\pi}}y^{-1/2}e^{-y/2}, y>0, \\
0, y \leq 0 \\
\end{aligned}
\right.\]
Gamma分布
\(X \sim \Gamma(\alpha, \theta)\)
\[f_X(x)=\left\{
\begin{aligned}
\frac{1}{\theta^\alpha\Gamma(\alpha)}x^{\alpha-1}e^{-x/\theta}, x> 0, \alpha>0,\theta>0 \\
0, x \leq 0, \alpha>0,\theta>0 \\
\end{aligned}
\right.\]
当\(\alpha= 1 , \theta = \lambda 时,\Gamma(1,\lambda)\) 就是参数为\(\lambda\)的指数分布,记为\(exp (\lambda)\) ;
当\(\alpha= n/2 , \theta = 2 时,\Gamma(n/2,1/2)\)就是数理统计中常用的\(\chi^2(n)\) 分布。
数学期望(均值)、方差分别为
\[E(X) = \alpha\theta\]
\[D(x) = \alpha\theta^2\]
Gamma分布是指在地震序列的有序性、地震发生率的齐次性、计数特征具有独立增量和平稳增量情况下,可以导出地震发生\(i\)次时间的概率密度为Gamma密度函数。
gamma分布的一个重要应用就是作为共轭分布出现在很多机器学习算法中。
gamma的密度函数和分布函数图像如下:
注意:这儿\(\alpha=1.5,\theta = 1/0.6 或者 \beta=0.6\),因为gamma函数有两种表达方式,一种用\(\theta\),一种用\(\beta\),它们的关系是\(\theta=\frac{1}{\beta}\)
x=0:0.1:5;
figure;
plot(x,[gampdf(x,1.5,0.6);gamcdf(x,1.5,0.6)])

Gamma分布的可加性
设\(X \sim \Gamma(\alpha, \theta),Y \sim \Gamma(\beta,\theta)\),\(X,Y\)的概率密度如下:
\[f_X(x)=\left\{
\begin{aligned}
\frac{1}{\theta^\alpha\Gamma(\alpha)}x^{\alpha-1}e^{-x/\theta}, x> 0, \alpha>0,\theta>0 \\
0, x \leq 0, \alpha>0,\theta>0 \\
\end{aligned}
\right.\]
\[f_Y(y)=\left\{
\begin{aligned}
\frac{1}{\theta^\beta\Gamma(\beta)}y^{\beta-1}e^{-y/\theta}, y > 0, \beta>0,\theta>0 \\
0, y \leq 0, \beta>0,\theta>0\\
\end{aligned}
\right.\]
则有\(Z=X+Y\)的分布为:\(X+Y \sim \Gamma(\alpha + \beta,\theta)\)
\(\chi ^2\)(卡方)分布及其性质
设\(X_1,X_2,…,X_n\)是来自总体\(N(0,1)\)的样本,则称统计量
\[\chi^2=X_1^2+X_2^2+…+X_n^2\]
为服从自由度为\(n\)的\(\chi^2\)分布,记为\(\chi^2 \sim \chi^2(n)\)
它的概率密度函数为:
\[f(x,n)=\left\{
\begin{aligned}
\frac{1}{2^{n/2}\Gamma(n/2)}x^{n/2-1}e^{-x/2}, x> 0 \\
0, x \leq 0, \\
\end{aligned}
\right.\]
用下面的matlib代码,我们能够画出卡方分布概率密度函数图:

%卡方分布
x=0.0:0.01:30;
y=chi2pdf(x,1);
y1=chi2pdf(x,2);
y2=chi2pdf(x,4);
y3=chi2pdf(x,6);
y4=chi2pdf(x,11);
plot(x,y,'-r',x,y1,'-g',x,y2,'-b',x,y3,'-c',x,y4,'-m');
legend('自由度1','自由度2','自由度4','自由度6','自由度11');
axis([0,30,0,0.2]);

由上面的式子可以知道:
\[\chi^2=\sum\limits_{i=1}^{n}X_i^2 \sim \Gamma(\frac{n}{2},2)\]
1)若 \(X \sim \chi(n)\),则\(E(X)=n,D(X)=2n\)
2)若\(X \sim \chi(n_1)\), \(Y \sim \chi(n_2)\),且\(X,Y\)相互对立,则有\(X+Y \sim \chi^2(n_1+n_2)\)
gamma函数及相关其分布的更多相关文章
- LDA-math-神奇的Gamma函数
http://cos.name/2013/01/lda-math-gamma-function/ 1. 神奇的Gamma函数1.1 Gamma 函数诞生记学高等数学的时候,我们都学习过如下一个长相有点 ...
- Gamma函数是如何被发现的?
学过微积分的人,肯定都接触过Euler积分,按教科书上的说法,这是两种含有参变量的定积分,但其实没那么玄乎,它们只是两个函数.其中第一型Euler积分叫\(B\)-函数,第二型Euler积分叫\(\G ...
- Gamma函数深入理解
Gamma函数 当n为正整数时,n的阶乘定义如下:n! = n * (n - 1) * (n - 2) * … * 2 * 1. 当n不是整数时,n!为多少?我们先给出答案. 容易证明,Γ(x + 1 ...
- js 时间函数 及相关运算大全
js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); ...
- ECNUOJ 2613 Gamma 函数
Gamma 函数 Time Limit:1000MS Memory Limit:65536KBTotal Submit:237 Accepted:138 Description Pollux最近在复 ...
- python06-列表表达式、生成器表达式及其面试题、解耦简单介绍、函数递归相关
目录: 一.列表推导式 二.生成器表达式 三.集合生成器 四.生成器面试题 五.解耦简单介绍 六.函数递归相关 一.列表推导式 需求:将[1,3,5]中的每个元素平方 正常思路: new_list = ...
- C++ 获取当前正在执行的函数的相关信息(转)
该功能用在日志打印中 原文地址:C++ 获取当前正在执行的函数的相关信息
- Gamma 函数与exponential power distribution (指数幂分布)
1. Γ(⋅) 函数 Γ(α)=∫∞0tα−1e−tdt 可知以下基本性质: Γ(α+1)=αΓ(α) Γ(1)=1 ⇒ Γ(n+1)=n! Γ(12)=π√ 2. 指数幂分布(exponential ...
- 函数call相关[ASM]
前言: __cdecl:C/C++函数默认调用约定,参数依次从右向左传递,并压入堆栈,最后由调用函数清空堆栈,这种方式适用于传递参数个数可变的被调用函数,只有被调用函数才知道它传递了多少个参数给被 ...
随机推荐
- 028.Zabbix常见故障
一 中文乱码处理 1.1 现象 1.2 解决方法 将任意一中文字体上传至/usr/share/zabbix/fonts,如微软雅黑. vi /usr/share/zabbix/include/defi ...
- Scanner和BufferedReader的区别和用法
在命令行模式下要输入数据至程序中时,我们可以使用标准输入串对象System.in.但是,我们并不经常直接使用它,因为System.in提供的 read方法每次只能读取一个字节的数据,而我们平时所应用的 ...
- 堆排序之Java实现
堆排序之Java实现 代码: package cn.com.zfc.lesson21.sort; /** * * @title HeapSort * @describe 堆排序 * @author 张 ...
- 表达式括号匹配(stack.cpp)
[问题描述] 假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回 ...
- hdu 4442 37届金华赛区 A题
题意:给出一些队伍,每个队伍有初始等待时间和每秒增加的时间,求最短时间 假设有两个队初始时间和每秒增加时间为a1,b1和a2,b2 若第选择第一个的时间小于第二个,则 a1+a2+a1*b2<a ...
- 钻牛角尖还是走进死胡同--shell脚本根据名称获得 dubbo 服务的 pid
到了下午,突然觉得坐立不安,可能是因为中午没有休息好.老大不小了还在做页面整合的事情,这是参加工作时就干的工作了.然后突然想去挑战高级一点的缺陷排查,结果一不小心就钻了一个牛角尖.启动 dubbo 服 ...
- 使用MFC做一个简单的‘能自动生成小学生四则运算的软件’
这是软件工程的第一次作业!但由于我们python还没入门,所以这次的要求是‘语言不限’. 小学期做过一个关于MFC的‘资金管理系统’,也正好可以有界面,所以就选择了自己很熟悉的MFC来做这个作业! 1 ...
- .net core下的dotnet全局工具
.net core 2.1后支持了一个全新的部署和扩展命令,可以自己注册全局命令行. dotnet install tool -g dotnetsaydotnetsay 也可以自己构建自己的命令行,一 ...
- 领域Model?
前言 领域驱动设计里有很多东西,我们可以应用在各种各样的开发模式里,所以接下来说的一些东西,我们可以部分使用. 说道领域驱动的领域,大家肯定就要开始说Bounded Context,聚合,聚合根,容易 ...
- github view source
https://insight.io/ http://www.cnplugins.com/devtool/octotree/