幾個常用的概率函數介紹
這里,參考R語言實戰,以及[Fitting Distribution with R]的附錄。
一.認識各種分布的形態
1.1 連續型隨機變量的分布
首先,我們來回顧一遍各類分布函數的表達式,及其關系。
先逐一介紹與標准正態分布相關的一些分布:正態分布,卡方分布,t−
分布,F−分布,Wishart
分布。
先上個圖,一睹為快。
以上幾個分布之間的關系如以下結構圖所示。
[廣義線性模型導論3rd edition,p10]
1.1.1 正態分布
正態分布N(μ,σ2)
的密度函數:

正態分布的形態如圖。
library(ggplot2)library(reshape2)
library(dplyr)
#產生分布數據
set.seed(123)
data_norm<-data.frame(x1 = rnorm(n = 200, m = 0, sd = 1),
)
data_norm_long<-melt(data_norm)
ggplot(data = data_norm_long, aes(x = value, colour = variable))
("正態分布密度函數")

正態分布可以衍生出如下的分布。
1.1.2 卡方分布
若Zi∼
,則有
set.seed(123)
data_chisq<-data.frame(x1 = rchisq(200, 10, ncp = 0),
data_chisq_long<-melt(data_chisq)
## No id variables; using all as measure variables
ggplot(data = data_chisq_long, aes(x = value, colour = variable))
("卡方分布密度函數")

1.1.3t−
分布
若
,並且Z和X2獨立,則有

set.seed(123)
data_t<-data.frame(x1 = rt(200, 10, ncp = 0),
data_t_long<-melt(data_t)
## No id variables; using all as measure variables
ggplot(data = data_t_long, aes(x = value, colour = variable))
("t-分布密度函數")

1.1.4F−
分布
若
,並且X1和X2相互獨立,則有
set.seed(123)
data_f<-data.frame(x1 = rf(200,df1 = 10, df2 = 10, ncp = 0),
data_f_long<-melt(data_f)
## No id variables; using all as measure variables
ggplot(data = data_f_long, aes(x = value, colour = variable))

1.1.5Wishart
分布
Wishart
分布是χ2分布在p
維正態情況下的推廣。這里對多維情況暫不展開介紹。
1.2 離散型隨機變量的分布
1.2.1 伯努利(Bernoulli
)分布
伯努利分布記為Bernoulli(p)
,只有0和1兩種取值。概率測度函數如下:

1.2.2 二項(Binomial
)分布
二項分布B(n,p)
的可能取值范圍為0,1,...,n。其概率測度函數如下:
data_binom<-data.frame(x1 = rbinom(n = 1000, size = 10, prob = 0.6),
data_binom_long<-melt(data_binom)
ggplot(data = data_binom_long, aes(x = value, colour = variable))
("二項分布概率分布圖")

1.2.3 負二項(NegativeBinomial
)分布
負二項分布。
1.2.4 幾何(Geometric
)分布
1.2.5 泊松(Poission
)分布
1.3 指數分布族及其相互聯系
1.3.1 指數分布族
[廣義線性模型導論3rd edition,p58]
1.3.2 指數分布
1.3.3 Weibull分布
1.3.4 Beta分布
1.3.5 Gama分布
1.3.6 雙指數(DoubleExponential
)分布
1.4 其他分布
1.4.1 均勻(Uniform
)分布
1.4.2 柯西(Cauchy
)分布
1.4.3 對數正態(Lognormal
)分布
1.5 可視化探索的步驟舉例
首先,通過直方圖,經驗累積分布形態等來觀察數據的分布形態。
#產生一組服從N(10,2)分布的隨機數set.seed(123)
x.norm<-rnorm(n = 200, m =10, sd = 2)
#繪制直方圖
hist(x.norm, main = "觀測樣本的直方圖")

plot(density(x.norm), main = "密度函數估計")

plot(ecdf(x.norm), main = "累積經驗分布函數")

z.norm<-(x.norm - mean(x.norm))/sd(x.norm)
qqnorm(z.norm)
abline(0,1)

其次,通過QQ圖來驗證數據是否符合正態分布。
二.模型選擇
三.參數估計
模擬估計
矩估計
極大似然估計
四.擬合優度指標
五.擬合優度檢驗
