When \(n\) is large, \(Binom[n, p]\) approaches \(Norm[\mu = n p, \sigma=\sqrt{n p (1-p)}]\)
\(X \sim Binom[n, p] \, \Rightarrow \, Exp(X) = n \cdot p \, , \, Var(X) = n \cdot p \cdot (1-p)\)
par(mfrow=c(1,1), mar=c(3,4,3,1), cex=0.7)
n = 1000; p = 0.2
rbinom(500000, n, p) %>% hist(breaks=80, freq=F, main="")
curve(dnorm(x, mean=n*p, sd=sqrt(n*p*(1-p))), col='red', lwd=2, add=T)#二項分布當n很小的時候,就不會接近常態分佈
par(mfrow=c(1,2), cex=0.7)
n = 10; p = 0.2
rbinom(100000, n, p) %>% table %>% barplot()
rnorm(100000, n*p, sqrt(n*p*(1-p))) %>% hist(freq=F)💡 : 當期望值夠大的時候, 二項分佈會以期望值為中心向兩邊對稱的伸展,但是如果期望值不夠大的話,這個分佈的左尾就會受到擠壓,變成一個不對稱的分佈。
par(mfrow=c(1,2), cex=0.7)
rbinom(100000, 1000, 0.002) %>% table %>% barplot(main="Boinomial")
rpois(100000, 2) %>% table %>% barplot(main="Poisson")
🗿 : 如果Poisson分佈很接近二項分佈,我們為甚麼還需要Poisson分佈呢?
因為Poisson可以幫助我們在n和p未知,而只知道lambda的情況下,做出大概的機率分佈,二項分布具有複雜和較準確的特性,但需要知道確切的事件發生機率以及次數。
💡 : 簡單、一般性 vs 複雜、準確性
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,] 1.0013 2.0005 3.0031 3.9997 5.0033 5.9976 6.9998 8.0017 9.0032 10.0003
[2,] 1.0018 1.9971 2.9993 4.0068 5.0018 6.0044 6.9937 7.9988 8.9899 9.9892
par(mfrow=c(1,2), cex=0.7)
(rpois(100000, 1) + rpois(100000, 2)) %>% table %>% barplot(main="Pois[1] + Pois[2]")
rpois(100000, 3) %>% table %>% barplot(main="Pois[3]")💡 : 透過模擬:(1)建立變數向量(隨機變數);(2)驗證理論;(3)做預測與估計
K = 100000
par(mfrow=c(1,1), cex=0.7)
d1 = sample(faithful$eruptions, K, T); #d1 %>% hist
d2 = rpois(K, 6); #d2 %>% table %>% barplot
d3 = rnorm(K, 0, 1); #d3 %>% hist
(d1*d2+4*d3) %>% hist我們可以用二項分佈來模擬Geometric Dist.
par(mfrow=c(1,2), mar=c(3,3,3,1), cex=0.7)
replicate(100000, which(rbinom(100, 1, .3) == 1)[1] - 1) %>%
table %>% barplot(main="Binomial Simulation")
rgeom(100000, 0.3) %>% table %>% barplot(main="Geometric")🗿 : 如果有一台機器每一天壞掉的機率是0.05,那麼在20天之內,它還能正常工作的機率分別是多少呢?
0.34056
[1] 0.95000 0.90250 0.85737 0.81451 0.77378 0.73509 0.69834 0.66342 0.63025
[10] 0.59874 0.56880 0.54036 0.51334 0.48767 0.46329 0.44013 0.41812 0.39721
[19] 0.37735 0.35849 0.34056
# 若單純跑dgeom(0:20, 0.05)出來的機率指的是第21天壞掉的機率?感覺就是指20天內機器能正常工作的機率。
# 為什麼要跑累加出來的機率(0.6544)?
# 答案好像是要1- dgeom(0:20, 0.05) %>% cumsum🗿 : 如果平均而言每一個捐贈者有我需要的器官的機率是5%,那麼平均我要等多少個捐贈者才能等到我想要用的器官呢?
19個
[1] 19
🗿 : 不用Geometric的期望值公式,妳可以使用dgeom()算出同樣的答案嗎?
[1] 19
💡 隨機變數的平均值與標準差公式
■ \(E(c) = c ; V(c) = 0\)
■ \(E(a+b X) = b(X) ; V(a+b X) = b^2 V(X)\)
■ \(E(a X + b Y) = aE(X) +bE(Y)\)
■ \(V(a X + b Y) = a^2V(X) +b^2V(Y) + 2abV(X)V(Y)\)
💡 數理推論為基礎的機率統計之所以難學,主要是因為:
■ 隨機變數的觀念很抽象;
■ 光使用數學公式很難理解『分佈』的概念;
■ 有很多不同種類的分佈,公式計不完;
■ 隨機變數之間要做四則運算常常非常困難;
🗿 : 在R的環境之下,我們如何克服上述的各項困難呢?
1. 在R的環境中,隨機變數以向量來表示,讓我們可以有個具體的概念。 R提供了許多function 2. R提供了像是histogram/barplot的功能,藉由這些功能我們可以畫出機率分佈圖, 對於各項分佈有基本的概念。 3. R提供了各種分佈的function,像是:dbinom/pbinom/qbinom/rbinom,我們只需要將必要的參數代入至這些功能裡,就能輕鬆得到各分佈的結果。 4. 在R的環境下各種類分佈是可以直接做四則運算的,只需要在各類分佈的function間加上加減乘除的符號,就可以直接計算出結果。