
R语言与区间估计学习笔记
鉴于区间估计的理论与方法可以在任意一本统计学教程中找到,故这里只是单纯的介绍R语言中区间估计的函数与一些自己编写的区间估计函数。
一、单正态总体的参数估计
1、 方差已知时的均值估计
z.test<-function(x,n,sigma,a,u0,alt){
result<-list()
mean<-mean(x)
result$interval<-c(mean-sigma*qnorm(1-a/2,0,1)/sqrt(n),mean+sigma*qnorm(1-a/2,0,1)/sqrt(n))
z<-(mean-u0)/(sigma/sqrt(n))
p<-pnorm(z,lower.tail=F) #函数笔记:lower.tail是真的话,得出的就是X<=x的分位数,为假的话就是用P(X>x)的办法寻找这个值。一般我们用默认的真就可以了
result$z<-z
result$p.value<-p #通过P值判定参数估计效果
if(alt==2)
reslut$p.value<-2*pnorm(abs(z),lower.tail=F)
else
reslut$p.value<-pnorm(z)
reslut#函数笔记:如果函数的结果需要有多个返回值,可以创建一个list(),并返回该对象。也可以用return()函数,设定返回值。但是一个函数的返回的对象只有一个。
}
2、 方差未知时的均值估计
在小样本中,我们通常使用R语言的内置函数t.test()调用格式:
t.test(x, y = NULL,
alternative = c("two.sided", "less","greater"),
mu = 0, paired = FALSE, var.equal = FALSE,
conf.level = 0.95, ...)
对于大样本,我们可以使用样本方差代替总体方差,使用z.test()处理
3、 方差的区间估计
chisq.var.test<-function(x,n,a,alt=2,sigma0=1)
{
result<-list()
v<-var(x)
result$interval<-c((n-1)*v/qchisq(1-a/2,n-1,lower.tail=T),(n-1)*v/qchisq(a/2,n-1,lower.tail=T))
chi2<-(n-1)*v/sigma0
result$chi2<-chi2
p<-pchisq(chi2,n-1)
if(alt==2)
result$p.value<-2*min(pchisq(chi2,n-1),pchisq(chi2,n-1,lower.tail=F))
else
result$p.value<-pchisq(chi2,n-1,lower.tail=F)
result
}
这里虽然用fisher引理知道利用卡方分布来处理,但是我们不用chisq.test()来命名这个函数,因为R的内置函数中有chisq.test().如果我们这样命名函数,会导致卡方检验时使用有些许不便。
二、两正态总体参数的区间估计
1、 两方差都已知时两均值差的置信区间
two.sample.sigmaknown<-function(x,y,conf.level=0.95,sigma1,sigma2,alt=c("twosides","less","greater"))
{
n1<-length(x)
n2<-length(y)
x_<-mean(x)-mean(y)
a<-1-conf.level
z1<-qnorm(1-a/2)*sqrt(sigma1/n1+sigma2/n2)
z2<-qnorm(1-a)*sqrt(sigma1/n1+sigma2/n2)
if(alt=="two sides")
x_ +c(-z1,z1)
else if(alt=="less")
x_ -z2
else
x_ +z2
}
注:对于大样本,我们可以以样本标准差代替总体方差来进行区间估计
2、 两方差都未知但相等时两均值差的置信区间
直接使用t.test()函数即可
注:由于对于一般情形估计的方法特别多,可以使用neyman的枢轴量法亦可以使用fisher的信仰推断(通常认为后者较好)。故在此不予介绍
3、 两方差比的置信区间 数据分析培训
仔细阅读方差比的区间估计内容,我们应该注意到,两样本在做方差比估计时应该需要做正态性检验,在R中,你可以使用函数shapiro.test()来实现,该检验对数据的正态性是给与保护的。
使用var.test()函数,调用格式如下:
var.test(x, y, ratio = 1,
alternative = c("two.sided", "less", "greater"),
conf.level = 0.95, ...)
最后,我想解释一下置信水平的含义,我们所说的置信水平是指用这样的办法对数据进行100次估计,包含真值的次数为100*conf.level。这里的估计是指对不同数据用同样方法进行估计。我们可以编写一个R函数来验证一下:
judge<-rep(0,1000)
for(i in 1:1000){
set.seed(5*i)
if(t.test(rnorm(100000,5,17))$conf.int[1]<=5&5<=t.test(rnorm(100000,5,17))$conf.int[2])
judge[i]<-0
else
judge[i]<-1
}
table(judge)
输出结果:
#judge
# 0 1
#954 46
#从这里来看,估计达到95%的置信水平
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
用 SQL 验证业务逻辑:从规则拆解到数据把关的实战指南 在业务系统落地过程中,“业务逻辑” 是连接 “需求设计” 与 “用户体验 ...
2025-09-11塔吉特百货孕妇营销案例:数据驱动下的精准零售革命与启示 在零售行业 “流量红利见顶” 的当下,精准营销成为企业突围的核心方 ...
2025-09-11CDA 数据分析师与战略 / 业务数据分析:概念辨析与协同价值 在数据驱动决策的体系中,“战略数据分析”“业务数据分析” 是企业 ...
2025-09-11Excel 数据聚类分析:从操作实践到业务价值挖掘 在数据分析场景中,聚类分析作为 “无监督分组” 的核心工具,能从杂乱数据中挖 ...
2025-09-10统计模型的核心目的:从数据解读到决策支撑的价值导向 统计模型作为数据分析的核心工具,并非简单的 “公式堆砌”,而是围绕特定 ...
2025-09-10CDA 数据分析师:商业数据分析实践的落地者与价值创造者 商业数据分析的价值,最终要在 “实践” 中体现 —— 脱离业务场景的分 ...
2025-09-10机器学习解决实际问题的核心关键:从业务到落地的全流程解析 在人工智能技术落地的浪潮中,机器学习作为核心工具,已广泛应用于 ...
2025-09-09SPSS 编码状态区域中 Unicode 的功能与价值解析 在 SPSS(Statistical Product and Service Solutions,统计产品与服务解决方案 ...
2025-09-09CDA 数据分析师:驾驭商业数据分析流程的核心力量 在商业决策从 “经验驱动” 向 “数据驱动” 转型的过程中,商业数据分析总体 ...
2025-09-09R 语言:数据科学与科研领域的核心工具及优势解析 一、引言 在数据驱动决策的时代,无论是科研人员验证实验假设(如前文中的 T ...
2025-09-08T 检验在假设检验中的应用与实践 一、引言 在科研数据分析、医学实验验证、经济指标对比等领域,常常需要判断 “样本间的差异是 ...
2025-09-08在商业竞争日益激烈的当下,“用数据说话” 已从企业的 “加分项” 变为 “生存必需”。然而,零散的数据分析无法持续为业务赋能 ...
2025-09-08随机森林算法的核心特点:原理、优势与应用解析 在机器学习领域,随机森林(Random Forest)作为集成学习(Ensemble Learning) ...
2025-09-05Excel 区域名定义:从基础到进阶的高效应用指南 在 Excel 数据处理中,频繁引用单元格区域(如A2:A100、B3:D20)不仅容易出错, ...
2025-09-05CDA 数据分析师:以六大分析方法构建数据驱动业务的核心能力 在数据驱动决策成为企业共识的当下,CDA(Certified Data Analyst) ...
2025-09-05SQL 日期截取:从基础方法到业务实战的全维度解析 在数据处理与业务分析中,日期数据是连接 “业务行为” 与 “时间维度” 的核 ...
2025-09-04在卷积神经网络(CNN)的发展历程中,解决 “梯度消失”“特征复用不足”“模型参数冗余” 一直是核心命题。2017 年提出的密集连 ...
2025-09-04CDA 数据分析师:驾驭数据范式,释放数据价值 在数字化转型浪潮席卷全球的当下,数据已成为企业核心生产要素。而 CDA(Certified ...
2025-09-04K-Means 聚类:无监督学习中数据分群的核心算法 在数据分析领域,当我们面对海量无标签数据(如用户行为记录、商品属性数据、图 ...
2025-09-03特征值、特征向量与主成分:数据降维背后的线性代数逻辑 在机器学习、数据分析与信号处理领域,“降维” 是破解高维数据复杂性的 ...
2025-09-03