单个、双个正态分布区间估计--R code
来源:互联网 发布:怎么搭建python环境 编辑:程序博客网 时间:2024/06/06 09:07
代码是选修课《数据分析与统计》上附加题,可直接应用。欢迎纠错。
#*****************#本程序利用R分布别做出单个、双个正态分布总体#区间估计的均值和双侧、单侧置信区间#包含4个函数#code by Vac 2017.12.8#*****************#单个正态分布#u的区间估计,sigma已知onenorm_u_sigma<-function(X,sigma,alpha=0.99){ n<-length(X); tmpx<-sigma*qnorm(1-alpha/2)/sqrt(n); a<-mean(X)-tmpx;b<-mean(X)+tmpx;#双侧 cat("其",alpha*100,"%双侧置信区间是:[",a,",",b,"]","\n") bu<-mean(X)+sigma*qnorm(1-alpha)/sqrt(n)#单侧上限 ad<-mean(X)-sigma*qnorm(1-alpha)/sqrt(n)#单侧下限 cat("其",alpha*100,"%单侧置信区间上限是:",bu,"\n下限是",ad,"\n")}#u的区间估计,sigma未知onenorm_u_sd<-function(X,alpha=0.99){ n<-length(X); tmpx<-sd(X)*qt(1-alpha/2,n-1)/sqrt(n); a<-mean(X)-tmpx;b<-mean(X)+tmpx;#双侧 cat("其",alpha*100,"%双侧置信区间是:[",a,",",b,"]","\n") bu<-mean(X)+sd(X)*qt(1-alpha,n-1)/sqrt(n)#单侧上限 ad<-mean(X)-sd(X)*qt(1-alpha,n-1)/sqrt(n)#单侧下限 cat("其",alpha*100,"%单侧置信区间上限是:",bu,"\n下限是",ad,"\n")}#sigma的区间估计,u已知onenorm_sigma_u<-function(X,u,alpha=0.99){ n<-length(X); a<-sum((X-u)^2)/qchisq(1-alpha/2,n); b<-sum((X-u)^2)/qchisq(alpha/2,n);#双侧 cat("其",alpha*100,"%双侧置信区间是:[",a,",",b,"]","\n") bu<-sum((X-u)^2)/qchisq(alpha,n)#单侧上限 ad<-sum((X-u)^2)/qchisq(1-alpha,n)#单侧下限 cat("其",alpha*100,"%单侧置信区间上限是:",bu,"\n下限是",ad,"\n")}#sigma的区间估计,u未知onenorm_sigma_sd<-function(X,alpha=0.99){ n<-length(X); a<-(n-1)*sd(X)^2/qchisq(1-alpha/2,n-1); b<-(n-1)*sd(X)^2/qchisq(alpha/2,n-1);#双侧 cat("其",alpha*100,"%双侧置信区间是:[",a,",",b,"]","\n") bu<-(n-1)*sd(X)^2/qchisq(alpha,n-1)#单侧上限 ad<-(n-1)*sd(X)^2/qchisq(1-alpha,n-1)#单侧下限 cat("其",alpha*100,"%单侧置信区间上限是:",bu,"\n下限是",ad,"\n")}##两个正态分布#u1-u2的区间估计,sigma1,sigma2已知twonorm_du_sigma<-function(X,Y,sigma1,sigma2,alpha=0.99){ m<-length(X); n<-length(Y); tmp<-sqrt(sigma1^2/m+sigma2^2/n)*qnorm(1-alpha/2); a<-mean(X)-mean(Y)-tmp; b<-mean(X)-mean(Y)+tmp;#双侧 cat("其",alpha*100,"%双侧置信区间是:[",a,",",b,"]","\n") bu<-mean(X)-mean(Y)+sqrt(sigma1^2/m+sigma2^2/n)*qnorm(1-alpha);#单侧上限 ad<-mean(X)-mean(Y)-sqrt(sigma1^2/m+sigma2^2/n)*qnorm(1-alpha);#单侧下限 cat("其",alpha*100,"%单侧置信区间上限是:",bu,"\n下限是",ad,"\n")} #u1-u2的区间估计,sigma1,sigma2未知twonorm_du_sd<-function(X,Y,alpha=0.99){ m<-length(X); n<-length(Y); Sw<-sqrt((m-1)*sd(X)^2+(n-1)*sd(Y)^2)/(m+n-2); tmp<-Sw*sqrt(1/m+1/n)*qt(1-alpha/2,m+n-2); a<-mean(X)-mean(Y)-tmp; b<-mean(X)-mean(Y)+tmp;#双侧 cat("其",alpha*100,"%双侧置信区间是:[",a,",",b,"]","\n") bu<-mean(X)-mean(Y)+Sw*sqrt(1/m+1/n)*qt(1-alpha,m+n-2);#单侧上限 ad<-mean(X)-mean(Y)-Sw*sqrt(1/m+1/n)*qt(1-alpha,m+n-2);#单侧下限 cat("其",alpha*100,"%单侧置信区间上限是:",bu,"\n下限是",ad,"\n")} #sigma1^2/sigma2^2的区间估计,u1,u2已知twonorm_sigma_u<-function(X,Y,u1,u2,alpha=0.99){ m<-length(X); n<-length(Y); numerator<-n*sum((X-u1)^2)/m/sum((Y-u2)^2); a<-numerator/qf(1-alpha/2,m,n) b<-numerator/qf(alpha/2,m,n)#双侧 cat("其",alpha*100,"%双侧置信区间是:[",a,",",b,"]","\n") bu<-numerator/qf(alpha,m,n)#单侧上限 ad<-numerator/qf(1-alpha,m,n)#单侧下限 cat("其",alpha*100,"%单侧置信区间上限是:",bu,"\n下限是",ad,"\n")}#sigma1^2/sigma2^2的区间估计,u1,u2未知twonorm_sigma_sd<-function(X,Y,alpha=0.99){ m<-length(X); n<-length(Y); numerator<-sd(X)^2/sd(Y)^2; a<-numerator/qf(1-alpha/2,m-1,n-1) b<-numerator/qf(alpha/2,m-1,n-1)#双侧 cat("其",alpha*100,"%双侧置信区间是:[",a,",",b,"]","\n") bu<-numerator/qf(alpha,m-1,n-1)#单侧上限 ad<-numerator/qf(1-alpha,m-1,n-1)#单侧下限 cat("其",alpha*100,"%单侧置信区间上限是:",bu,"\n下限是",ad,"\n")}
阅读全文
0 0
- 单个、双个正态分布区间估计--R code
- R语言与区间估计学习笔记
- 【大数据部落】R语言实现:混合正态分布EM最大期望估计法
- [R语言]总体概率的区间估计学习
- 区间估计:
- 正态分布R语言实例
- R正态分布+ggplot
- R的正态分布函数
- R语言画正态分布
- 正态分布-R语言
- 正态分布的最大似然估计
- R语言检测数据正态分布
- 统计学中的区间估计
- 数理统计中的区间估计
- 区间估计2:
- MATLAB实现正态分布ML(极大似然)估计
- 置信度,置信区间,区间估计
- 用R语言做正态分布检验
- POI根据docx文件生成word文档(jeesite)
- 自己用的C#基础学习笔记(二)——C#面向对象(2)
- RocketMQ原理解析-namesrv
- Android模块化(三)——模块可插拔单独编译运行
- 数据库索引的创建 和 注意事项
- 单个、双个正态分布区间估计--R code
- 仿微信长按菜单
- Spark RDD的缓存 rdd.cache() 和 rdd.persist()
- Combination Sum (lintcode 135)
- RocketMQ原理解析-Remoting2. 通信层底层传输协议
- MVP解绑
- vue 项目上传到git 提交到测试服
- Linux安装JDK、Tomcat、部署Java项目
- 理解RESTful架构