Gamma分布與逆Gamma分布

2021-08-18 08:22:46 字數 4055 閱讀 3826

若隨機變數x的密度函式為⎧⎩

⎨⎪⎪λ

αγ(α

)xα−

1e−λ

x,x≥

00,x

<0g

amma

γ(α)

=∫+∞

0xα−

1e−x

dx則稱x服從gamma分布,記為x~ga

gamma分布的期望和方差e

(x)=

λαγ(

α)∫+

∞0xα

e−λx

dx=γ

(α+1

)γ(α

)1λ=

αλe(

x2)=

λαγ(

α)∫+

∞0xα

+1e−

λxdx

=γ(α

+2)γ

(α)1

λ2=α

(α+1

)λ2v

ar(x

)=e(

x2)−

[e(x

)]2=

α(α+

1)λ2

−α2λ

2=αλ

2 其中期望式中的第二個等號處分別使用了

α 與α+

1 次分部積分法,與gamma函式的性質:γ(

α)=(

α−1)

!gamma分布的特例ga

(1,λ

)=ex

p(λ)

=λe−

λxga

(n2,

12)=

χ2(n

)=(1

2)n2

γ(n2

)xn2

−1e−

12x

gamma分布與泊松分布、指數分布的關係

若一段時間[0,1]內事件a發生的次數服從引數為

λ 的泊松分布

兩次事件發生的時間間隔將服從引數為

λ 的指數分布

n次事件發生的時間間隔服從x~ga

(α,λ

) 分布

若隨機變數x的密度函式為:⎧⎩

⎨⎪⎪λ

αγ(α

)x−α

−1exp(−λ

x),x

≥00,

x<0g

amma

γ(α)

=∫+∞

0xα−

1e−x

dx則稱x服從invgamma分布,記為 x~ig

gamma分布的期望和方差e(

x)=λ

αγ(α

)∫+∞

0x−α

e−λx

dx=γ

(α−1

)γ(α

)λ=λ

α−1e

(x2)

=λαγ

(α)∫

+∞0x

−α+1

e−λx

dx=γ

(α−2

)γ(α

)λ2=

λ2(α

−1)(

α−2)

var(

x)=e

(x2)

−[e(

x)]2

=λ2(

α−1)

(α−2

)−λ2

(α−1

)2=λ

2(α−

1)2(

α−2)

其中期望式中的第二個等號處分別使用了α 與

α+1 次分部積分法,與gamma函式的性質:γ(

α)=(

α−1)

!逆gamma分布特例ig

(α2,

αλ2)

=inv

−χ2(

α,λ)

=(αλ

2)α2

γ(α2

)x−α

2+1e

−αλ2

xgamma分布與逆gamma分布

若隨機變數x~ga

(α,λ

) ,則1x

~ig(

α,λ)

gamma分布

import numpy as np

import matplotlib.pyplot as plt

import scipy.stats as st

fig=plt.figure(figsize=(18,6))#確定繪圖區域尺寸

ax1=fig.add_subplot(1,2,1)#將繪圖區域分成左右兩塊

ax2=fig.add_subplot(1,2,2)

x=np.arange(0.01,15,0.01)#生成數列

z1=st.gamma.pdf(x,0.9,scale=2)#gamma(0.9,2)密度函式對應值

z2=st.gamma.pdf(x,1,scale=2)

z3=st.gamma.pdf(x,2,scale=2)

ax1.plot(x,z1,label="a<1")

ax1.plot(x,z2,label="a=1")

ax1.plot(x,z3,label="a>1")

ax1.legend(loc='best')

ax1.set_xlabel('x')

ax1.set_ylabel('p(x)')

ax1.set_title("gamma distribution lamda=2")

y1=st.gamma.pdf(x,1.5,scale=2)#gamma(1.5,2)密度函式對應值

y2=st.gamma.pdf(x,2,scale=2)

y3=st.gamma.pdf(x,2.5,scale=2)

y4=st.gamma.pdf(x,3,scale=2)

ax2.plot(x,y1,label="a=1.5")

ax2.plot(x,y2,label="a=2")

ax2.plot(x,y3,label="a=2.5")

ax2.plot(x,y4,label="a=3")

ax2.set_xlabel('x')

ax2.set_ylabel('p(x)')

ax2.set_title("gamma distribution lamda=2")

ax2.legend(loc="best")

plt.show()

逆gamma分布

from scipy.stats import invgamma

import matplotlib.pyplot as plt

fig, ax = plt.subplots(1, 1)

a=[4,5,6]

for i in a:

mean, var, skew, kurt = invgamma.stats(i,scale=2,moments='mvsk')

x = np.linspace(invgamma.ppf(0.01,i,scale=2),invgamma.ppf(0.99,i,scale=2), 100)#invgamma.ppf

ax.plot(x, invgamma.pdf(x,i,scale=2,), label="a="+str(i))

ax.legend(loc="best")

ax.set_xlabel('x')

ax.set_ylabel('p(x)')

ax.set_title("invgamma distribution lamda=2")

plt.show()

Gamma 分布與 Beta 分布及共軛的含義

gamma函式可將許多數學概念從整數集延拓到實數集合。x 0tx 1e tdt 我們來看對beta分布的改造 f x n n 1k 1 x k 1 1 x n kn n 1 k 1 n k xk 1 1 x n kn k 1 n k xk 1 1 x n k n 1 k n k 1 xk 1 1 x...

R與t分布(3) 分布的檢驗

我們依然用kolmogorov smirnov連續分布檢驗法來檢驗乙個連續分布是否是服從t分布。原假設為h0 資料集符合t分布 研究假設h1 樣本所來自的總體分布不符合t分布。令f0 x 表示預先假設的理論分布,fn x 表示隨機樣本的累計概率 頻率 函式.統計量d為 d max f0 x fn x...

R與指數分布(3)分布的檢驗

在 url 與正態分佈 3 分布的檢驗 url 中提到了kolmogorov smirnov分布檢驗,這是一種檢驗單一樣本是不是服從某一預先假設的特定分布的方法。以樣本資料的累計頻數分布與特定理論分布比較,若兩者間的差距很小,則推論該樣本取自某特定分布族,詳細的介紹要參考 url test url ...