[问题] 使用R辅助基础机率论教学

楼主: anovachen (@@)   2013-12-14 22:12:27
[问题类型]:
程式咨询(我想用R 做某件事情,但是我不知道要怎么用R 写出来)
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
弱大数法则我还勉强能用丢铜板来"实验"给学生看...
但是CLT要怎么做呢= =
所以想用R来做电脑辅助教学...
而且我想示范:
1.不是n>=30就叫做大样本。
所以除了常态分配和长得比较对称的均匀分配以外,
其他都选取很极端的机率分布,
结果n=30之下作Jarque Bera test都拒绝虚无假设。
2.期望值和变异数存在且有限才可适用CLT。
所以我故意选了Cauchy分配来示范。
(抽自柯西分配母体的样本其平均仍然是柯西分配)
不过,我最后用ks.test的结果怪怪的,
是不是参数没设定好?(难道没办法让他自己抓常态分配的参数吗= =)
(用SAS和SPSS都不用调参数....是不是用R作KS检定一定要指定参数?)
[程式范例]:
#请记得先安装TSA package
library(TSA)
#X~N(0,1)
set.seed(1)
par(mfrow=c(1,2))
popnorm<-rnorm(n=100000,mean=0, sd=1)
mean(popnorm)
var(popnorm)
plot(density(popnorm))
meannorm<-array(0,dim=c(1000))
for (i in 1:1000) {
meannorm[i]=mean(sample(popnorm,size=30,replace=TRUE))
}
mean(meannorm)
var(meannorm)
plot(density(meannorm))
ks.test(meannorm,"pnorm")
jarque.bera.test(meannorm)
结果:
> ks.test(meannorm,"pnorm")
One-sample Kolmogorov-Smirnov test
data: meannorm
D = 0.3406, p-value < 2.2e-16
alternative hypothesis: two-sided
> jarque.bera.test(meannorm)
Jarque Bera Test
data: meannorm
X-squared = 4.9045, df = 2, p-value = 0.0861
最后改用这个:
mean<-mean(meannorm)
sd<-sqrt(var(meannorm))
ks.test(meannorm,"pnorm",mean,sd)
结果:
One-sample Kolmogorov-Smirnov test
data: meannorm
D = 0.029, p-value = 0.3692
alternative hypothesis: two-sided
没有违背预期的结果。
[关键字]:
电脑辅助教学, 机率, 中央极限定理
附注:以下试验其他机率分布
http://ideone.com/UkhaJO
为节省版面,贴到网络上供参考。
作者: clickhere (It's time to go home.)   2013-02-15 08:05:00
忘了 sqrt(30) ?再把 CLT 看一遍.
作者: andrew43 (讨厌有好心推文后删文者)   2013-02-15 11:50:00
ks.test()若要检验分配是要指定参数没错。至于其它软件不用指定参数,我猜是自动用样本估的。
作者: clickhere (It's time to go home.)   2013-02-15 12:02:00
no. sqrt(n) 才会给你正确的 CLT. n=30是猜不到的.
作者: andrew43 (讨厌有好心推文后删文者)   2013-02-16 08:49:00
可再抽出没错,不过你有大母体了也没什么影响。
作者: adgjlsfhk123 (adgjlsfhk123)   2013-02-22 03:35:00
楼主: anovachen (@@)   0000-00-00 00:00:00
谢谢!

Links booklink

Contact Us: admin [ a t ] ucptt.com