终于抗到第9周了,最后一周,专门复习了一下二项式分布和贝叶斯计算。 关于二项式分布,一直也是迷迷糊糊的,搜到这个博客以后,勉强明白了一些。
http://hi.baidu.com/cauwinphone/item/878259503f1c453632e0a900
R语言中提供了四类有关统计分布的函数(密度函数,累计分布函数,分位函数,随机数函数)。分别在代表该分布的R函数前加上相应前缀获得(d,p,q,r)。如:
1)正态分布的函数是norm,命令dnorm(0)就可以获得正态分布的密度函数在0处的值(0.3989)(默认为标准正态分布)。
2)同理,pnorm(0)是0.5就是正态分布的累计密度函数在0处的值。
3)而qnorm(0.5)则得到的是0,即标准正态分布在0.5处的分位数是0(在来个比较常用的:qnorm(0.975)就是那个估计中经常用到的1.96了)。
4)最后一个rnorm(n)则是按正态分布随机产生n个数据。
上面正态分布的参数平均值和方差都是默认的0和1,你可以通过在函数里显示指定这些参数对其进行更改。如dnorm(0,1,2)则得出的是均值为1,标准差为2的正态分布在0处的概率值。
要注意的是()内的顺序不能颠倒。
关于二项分布的有关函数为:
The Binomial Distribution Description
Density, distribution function, quantile function and random generation for the binomial distribution with parameters size and prob.
dbinom(x, size, prob, log = FALSE)# 可用于计算二项分布的概率。
pbinom(q, size, prob, lower.tail = TRUE, log.p = FALSE)
qbinom(p, size, prob, lower.tail = TRUE, log.p = FALSE)
rbinom(n, size, prob)
例子: 已知某批鸡蛋的孵出率prob为0.9,抽取size为5个鸡蛋检查其孵化情况,发现最终x=3个鸡蛋孵化,求二项分布的概率。
R中的求解如下:
dbinom(3, 5, 0.9, log = F)
## [1] 0.0729
结果得到0.0729。
读了这个例子以后,总算搞明白了以前课程中经常出现的:
dbinom(2:10, 10, 0.1)
## [1] 1.937e-01 5.740e-02 1.116e-02 1.488e-03 1.378e-04 8.748e-06 3.645e-07
[8] 9.000e-09 1.000e-10
sum(dbinom(2:10, 10, 0.1))
## [1] 0.2639
另外一个博客,http://www.cnblogs.com/luosha/archive/2012/06/30/2571540.html,原来这兄弟还可以绘图。。。
n <- 20
p <- 0.2
k <- seq(0, n)
plot(k, dbinom(k, n, p))
回归正题,最后一课,课程讲述了一个完整的例题,五种颜色的什么玩意,我也不知道,老师叫他M&Ms,巧克力?简称mm么?反正就是随机分 布的吧,随便拿一颗出来,是黄色的几率可能是10%,也可能是20%(老师说只能是这两种,不能是别的了,有木有上小学的感觉?树上有10只鸟,开枪打了 一只,还有多少只?),现在,去买20颗M&Ms,自己抽样,然后算出概率。
二选一的情况下,首先想到的应该是二项式分布,不过贝叶斯这个家伙也不能忘记,要不老师干吗要在标题里写上frequentist vs. bayesian inference
首先抽样设计:分别抽取5颗(各种颜色一颗,以下相同),10颗,15颗,20颗,考察随机抽样中抽中黄色的概率是10%和20%的分布情况,画个图醒一下脑袋先(10颗,10%的概率)
plot(2:10, dbinom(2:10, 10, 0.1))
好吧,偷懒,一次性输出这些概率,进行假设检验:
H0=10%
Ha=20%
k = c(1, 2, 3, 4)
n = c(5, 10, 15, 20)
dbinom(k, n, 0.1)
## [1] 0.32805 0.19371 0.12851 0.08978
dbinom(k, n, 0.2)
## [1] 0.4096 0.3020 0.2501 0.2182
每次计算出的p均大于0.05,似乎表明H0不能被拒绝,那么是不是就能认为抽中黄色的概率就是10%呢? 如果颠倒一下,假设检验更改为:
H0=20%
Ha=10%
k = c(1, 2, 3, 4)
n = c(5, 10, 15, 20)
dbinom(k, n, 0.2)
## [1] 0.4096 0.3020 0.2501 0.2182
算出来的还是都大于0.05,那么是不是也可以说20%的概率也不能被拒绝呢?老师没说这一步,俺也不知道为什么?准备骚扰老师的时候,已经有童鞋站出来了https://class.coursera.org/statistics-001/forum/thread?thread_id=2808
对于下面这一段话,我深表同情,嗯。。。
- 1) If we set Ho as population proportion = 10%, then rejecting it at whatever significance level does NOT mean we are accepting or proving that the true proportion is 20%.
- 2) If we set Ho = 20% and reject it again this cannot mean that we accept Ha.
P(10% yellow | data)=P(data&10% yellow)/P(data)
P(20% yellow | data)=1-P(10% yellow|data) ###前面说过,不是10%就是20%
这下有意思了,
- P(10%yellow|data)=P(data&10% yellow)/P(data)
- =黄色mm出现10%的二项式分布概率x(出现10%概率的)先验概率即50%/P(data)
- =黄色mm出现10%的二项式分布概率x(出现10%概率的)先验概率即50%/(分子+20%的情况)
- ##因为不是10%就是20%,所以所有的data就是他们之和
- =黄色mm出现10%的二项式分布概率x(出现10%概率的)先验概率即50%/(黄色mm出现10%的二项式分布概率x先验概率50%+20%的二项式分布概率x先验概率50%)
k = c(1, 2, 3, 4)
n = c(5, 10, 15, 20)
P10y <- dbinom(k, n, 0.1) 0.5/(dbinom(k, n, 0.1) 0.5 + dbinom(k, n, 0.2) *
0.5)
P10y
## [1] 0.4447 0.3908 0.3394 0.2915
1 - P_10y
## [1] 0.5553 0.6092 0.6606 0.7085
结论是要选20%,我表示,除了没看懂,还是没看懂。。。
先记录在案,希望过一段时间能理解这个例子。