神奇的gamma函数(上)

神奇的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函数及相关其分布的更多相关文章

  1. LDA-math-神奇的Gamma函数

    http://cos.name/2013/01/lda-math-gamma-function/ 1. 神奇的Gamma函数1.1 Gamma 函数诞生记学高等数学的时候,我们都学习过如下一个长相有点 ...

  2. Gamma函数是如何被发现的?

    学过微积分的人,肯定都接触过Euler积分,按教科书上的说法,这是两种含有参变量的定积分,但其实没那么玄乎,它们只是两个函数.其中第一型Euler积分叫\(B\)-函数,第二型Euler积分叫\(\G ...

  3. Gamma函数深入理解

    Gamma函数 当n为正整数时,n的阶乘定义如下:n! = n * (n - 1) * (n - 2) * … * 2 * 1. 当n不是整数时,n!为多少?我们先给出答案. 容易证明,Γ(x + 1 ...

  4. js 时间函数 及相关运算大全

    js 时间函数 及相关运算大全 var myDate = new Date(); myDate.getYear();        //获取当前年份(2位) myDate.getFullYear(); ...

  5. ECNUOJ 2613 Gamma 函数

    Gamma 函数 Time Limit:1000MS Memory Limit:65536KBTotal Submit:237 Accepted:138 Description  Pollux最近在复 ...

  6. python06-列表表达式、生成器表达式及其面试题、解耦简单介绍、函数递归相关

    目录: 一.列表推导式 二.生成器表达式 三.集合生成器 四.生成器面试题 五.解耦简单介绍 六.函数递归相关 一.列表推导式 需求:将[1,3,5]中的每个元素平方 正常思路: new_list = ...

  7. C++ 获取当前正在执行的函数的相关信息(转)

    该功能用在日志打印中 原文地址:C++ 获取当前正在执行的函数的相关信息

  8. Gamma 函数与exponential power distribution (指数幂分布)

    1. Γ(⋅) 函数 Γ(α)=∫∞0tα−1e−tdt 可知以下基本性质: Γ(α+1)=αΓ(α) Γ(1)=1 ⇒ Γ(n+1)=n! Γ(12)=π√ 2. 指数幂分布(exponential ...

  9. 函数call相关[ASM]

    前言:   __cdecl:C/C++函数默认调用约定,参数依次从右向左传递,并压入堆栈,最后由调用函数清空堆栈,这种方式适用于传递参数个数可变的被调用函数,只有被调用函数才知道它传递了多少个参数给被 ...

随机推荐

  1. 028.Zabbix常见故障

    一 中文乱码处理 1.1 现象 1.2 解决方法 将任意一中文字体上传至/usr/share/zabbix/fonts,如微软雅黑. vi /usr/share/zabbix/include/defi ...

  2. Scanner和BufferedReader的区别和用法

    在命令行模式下要输入数据至程序中时,我们可以使用标准输入串对象System.in.但是,我们并不经常直接使用它,因为System.in提供的 read方法每次只能读取一个字节的数据,而我们平时所应用的 ...

  3. 堆排序之Java实现

    堆排序之Java实现 代码: package cn.com.zfc.lesson21.sort; /** * * @title HeapSort * @describe 堆排序 * @author 张 ...

  4. 表达式括号匹配(stack.cpp)

    [问题描述]        假设一个表达式有英文字母(小写).运算符(+,—,*,/)和左右小(圆)括号构成,以“@”作为表达式的结束符.请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则返回 ...

  5. hdu 4442 37届金华赛区 A题

    题意:给出一些队伍,每个队伍有初始等待时间和每秒增加的时间,求最短时间 假设有两个队初始时间和每秒增加时间为a1,b1和a2,b2 若第选择第一个的时间小于第二个,则 a1+a2+a1*b2<a ...

  6. 钻牛角尖还是走进死胡同--shell脚本根据名称获得 dubbo 服务的 pid

    到了下午,突然觉得坐立不安,可能是因为中午没有休息好.老大不小了还在做页面整合的事情,这是参加工作时就干的工作了.然后突然想去挑战高级一点的缺陷排查,结果一不小心就钻了一个牛角尖.启动 dubbo 服 ...

  7. 使用MFC做一个简单的‘能自动生成小学生四则运算的软件’

    这是软件工程的第一次作业!但由于我们python还没入门,所以这次的要求是‘语言不限’. 小学期做过一个关于MFC的‘资金管理系统’,也正好可以有界面,所以就选择了自己很熟悉的MFC来做这个作业! 1 ...

  8. .net core下的dotnet全局工具

    .net core 2.1后支持了一个全新的部署和扩展命令,可以自己注册全局命令行. dotnet install tool -g dotnetsaydotnetsay 也可以自己构建自己的命令行,一 ...

  9. 领域Model?

    前言 领域驱动设计里有很多东西,我们可以应用在各种各样的开发模式里,所以接下来说的一些东西,我们可以部分使用. 说道领域驱动的领域,大家肯定就要开始说Bounded Context,聚合,聚合根,容易 ...

  10. github view source

    https://insight.io/ http://www.cnplugins.com/devtool/octotree/