一、正态分布参数检验
例1. 某种原件的寿命X(以小时计)服从正态分布N(μ, σ)其中μ, σ2均未知。现测得16只元件的寿命如下:
159 280 101 212 224 379 179 264
222 362 168 250 149 260 485 170
问是否有理由认为元件的平均寿命大于255小时?
解:按题意,需检验
H0: μ ≤ 225 H1: μ > 225
此问题属于单边检验问题
可以使用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)
其中x,y是又数据构成e向量,(如果只提供x,则作单个正态总体的均值检验,如果提供x,y则作两个总体的均值检验),alternative表示被则假设,two.sided(缺省),双边检验(H1:μ≠H0),less表示单边检验(H1:μ<μ0),greater表示单边检验(H1:μ>μ0),mu表示原假设μ0,conf.level置信水平,即1-α,通常是0.95,var.equal是逻辑变量,var.equal=TRUE表示两样品方差相同,var.equal=FALSE(缺省)表示两样本方差不同。
R代码:
X<-c(159, 280, 101, 212, 224, 379, 179, 264,
222, 362, 168, 250, 149, 260, 485, 170)
t.test(X,alternative = "greater",mu=225)
结果:
可见P值为0.257 > 0.05 ,不能拒绝原假设,接受H0,即平均寿命不大于225小时。
例2.在平炉上进行的一项试验以确定改变操作方法的建议是否会增加刚的得率,试验时在同一个平炉上进行的,每炼一炉刚时除操作方法外,其它条件都尽可能做到相同,先用标准方法炼一炉,然后用新方法炼一炉,以后交替进行,各炼了10炉,其得率分别为
标准方法 78.1 72.4 76.2 74.3 77.4 78.4 76.0 75.5 76.7 77.3
新方法 79.1 81.0 77.3 79.1 80.0 79.1 79.1 77.3 80.2 82.1
设这两个样本相互独立,且分别来自正态总体N(μ1, σ2)和N(μ2, σ2),其中μ1,μ2和σ2未知。问新的操作能否提高得率?(取α=0.05)
解1:根据题意,需要假设
H0: μ1 ≥ μ2 H1: μ1 < μ2
这里假定σ12=σ22=σ2,因此选择t.test,var.equal=TRUE
R代码:
X<-c(78.1,72.4,76.2,74.3,77.4,78.4,76.0,75.5,76.7,77.3)
Y<-c(79.1,81.0,77.3,79.1,80.0,79.1,79.1,77.3,80.2,82.1)
t.test(X,Y,var.equal = TRUE,alternative = "less")
结果:
可见P值<0.05,接受备择假设,即新的操作能够提高得率。
二、二项分布参数检验
例3.有一批蔬菜种子的平均发芽率p0=0.85,现随即抽取500粒,用种衣剂进行浸种处理,结果有445粒发芽。试检验种衣剂对种子发芽率有无效果。
解:根据题意,所检验的问题为
H0:p=p0=0.85, H1:p≠p0
可以用R语言的binom.test
binom.test(x, n, p = 0.5,
alternative = c("two.sided", "less", "greater"),
conf.level = 0.95)
其中x是成功的次数;或是一个由成功数和失败数组成的二维向量。n是试验总数,当x是二维向量时,此值无效。P是原假设的概率。
R语言代码:
binom.test(445,500,p=0.85)
结果:
可知P值0.01207<0.05,拒绝原假设,说明种衣剂对种子的发芽率有显著效果。
三、其它重要的非参数检验法
3.1.理论分布完全已知的情况下
3.1.1.皮尔森拟合优度检验
例5.某消费者协会为了确定市场上消费者对5种品牌啤酒的喜好情况,随即抽取了1000名啤酒爱好者作为样品进行试验:每个人得到5种品牌的啤酒各一瓶,但未标明牌子。这5种啤酒分别按着A、B、C、D、E字母的5张纸片随即的顺序送给每一个人。下表是根据样本资料整理的各种品牌啤酒爱好者的频数分布。试根据这些数据判断消费者对这5种品牌啤酒的爱好有无明显差异?
最喜欢的牌子 A B C D E
人数X 210 312 170 85 223
解:如果消费者对5种品牌的啤酒无显著差异,那么,就可以认为喜好这5种拍品啤酒的人呈均匀分布,即5种品牌啤酒爱好者人数各占20%。据此假设
H0:喜好5种啤酒的人数分布均匀
可以使用Pearson χ2拟合优度检验,R语言中调用chisq.test(X)
chisq.test(x, y = NULL, correct = TRUE,
p = rep(1/length(x), length(x)), rescale.p = FALSE,
simulate.p.value = FALSE, B = 2000)
其中x是由观测数据构成的向量或者矩阵,y是数据向量(当x为矩阵时,y无效)。correct是逻辑变量,标明是否用于连续修正,TRUE(缺省值)表示修正,FALSE表示不修正。p是原假设落在小区间的理论概率,缺省值表示均匀分布,rescale.p是逻辑变量,选择FALSE(缺省值)时,要求输入的p满足和等于1;选择TRUE时,并不要求这一点,程序将重新计算p值。simulate.p.value逻辑变量(缺省值为FALSE),当为TRUE,将用仿真的方法计算p值,此时,B表示仿真的此值。
R语言代码:
X<-c(210, 312, 170, 85, 223)
chisq.test(X)
结果:
3.1.2.正态W检验
例7.已知15名学生体重如下,问是否服从正态分布
解:
R语言代码:
w <- c(75.0, 64.0, 47.4, 66.9, 62.2, 62.2, 58.7, 63.5,
66.6, 64.0, 57.0, 69.0, 56.9, 50.0, 72.0)
shapiro.test(w)
P值>0.05,接受原假设,认为来自正态分布总体。
3.2.理论分布依赖于若干个未知参数的情况
3.2.1Kolmogorov-Smirnov 检验
例8.对一台设备进行寿命检验,记录10次无故障工作时间,并按从小到大的次序排列如下:(单位)
420 500 920 1380 1510 1650 1760 2100 2300 2350
试用Kolmogorov-Smirnov K 检验方法检验此设备无故障工作时间分布是否服从λ = 1/1500的指数分布?
解: R语言进行Kolmogorov-Smirnov K 检验使用ks.test( )
ks.test(x, y, ...,
alternative = c("two.sided", "less", "greater"),
exact = NULL) # x是待检测的样品构成的向量,y是原假设的数据向量或是原假设的字符串。
R语言代码:
X<-c(420, 500, 920, 1380, 1510, 1650, 1760, 2100, 2300, 2350)
ks.test(X, "pexp", 1/1500)
P值大于0.05,无法拒绝原假设,因此认为此设备无故障工作时间的分布服从λ = 1/1500的指数分布。
例9.假定从分布函数未知的F(x)和G(x)的总体中分别抽出25个和20个观察值的随即样品,其数据由下表所示。现检验F(x)和G(x)是否相同。
R语言代码:
X<-scan( )
0.61 0.29 0.06 0.59 -1.73 -0.74 0.51 -0.56
1.64 0.05 -0.06 0.64 -0.82 0.37 1.77
2.36 1.31 1.05 -0.32 -0.40 1.06 -2.47
0.39 1.09 -1.28
Y<-scan( )
2.20 1.66 1.38 0.20 0.36 0.00
0.96 1.56 0.44 1.50 -0.30 0.66
2.31 3.29 -0.27 -0.37 0.38 0.70
0.52 -0.71
ks.test(X,Y)
P值>0.05,无法拒绝原假设,说明F(x)和G(x)分布函数相同。
3.2.2.列联表数据的检验
例10.为了研究吸烟是否与患肺癌相关,对63位肺癌患者及43名非肺癌患者(对照组)调查了其中的吸烟人数,得到2x2列联表,如下表所示
解:
进行Pearson卡方检验
R语言代码:
x<-c(60, 3, 32, 11)
dim(x)<- c(2,2)
chisq.test(x,correct = F)
P值<0.05,拒绝原假设,认为吸烟与患肺癌相关。
3.2.3.符号检验
例13.联合国人员在世界上66个大城市的生活花费指数(以纽约市1996年12月为100)按自小至大的次序排列如下(这里北京的指数为99):
66 75 78 80 81 81 82 83 83 83 83
84 85 85 86 86 86 86 87 87 88 88
88 88 88 89 89 89 89 90 90 91 91
91 91 92 93 93 96 96 96 97 99 100
101 102 103 103 104 104 104 105 106 109 109
110 110 110 111 113 115 116 117 118 155 192
假设这个样品是从世界许多大城市中随即抽样得到的。试用符号检验分析,北京是在中位数之上,还是在中位数之下。
解:样本的中位数(M)作为城市生活水平的中间值,因此需要检验:
H 0 : M ≥ 99, H 1 : M < 99.
输入数据,作二项检验。
R语言代码:
X <- c(66,75, 78 ,80 ,81 ,81 ,82, 83, 83, 83, 83,
84 , 85, 85, 86, 86, 86, 86, 87 ,87, 88, 88,
88, 88, 88, 89 ,89, 89, 89, 90 ,90 ,91 ,91,
91 ,91, 92, 93, 93, 96, 96, 96, 97, 99, 100,
101, 102, 103, 103 ,104, 104, 104 ,105, 106, 109, 109,
110 ,110, 110, 111, 113, 115, 116, 117 ,118, 155 ,192)
binom.test(sum(X>99), length(X), al="l")
在程序中,sum(x>99)表示样本中大于99的个数。al是alternative的缩写,"l"是"less"的缩写。计算出的P值小于0.05,拒绝原假设,也就是说,北京的生活水平高于世界的中位水平。
3.3.4.符号秩检验
例16.假定某电池厂宣称该厂生产的某种型号电池寿命的中位数为140安培小时。为了检验改厂生产的电池是否符合其规定的标准,现从新近生产的一批电池中抽取了随即样本,并对这20个电池的寿命进行了测试,其结果如下(单位:安培小时):
137.0 140.0 138.3 139.0 144.3 139.1 141.7 137.3 133.5 138.2
141.1 139.2 136.5 136.5 135.6 138.0 140.9 140.6 136.3 134.1
试用Wilcoxon符号秩检验分析该厂生产的电池是否符合其标准。
解:根据题意假设:
H0:电池中位数M≥ 140安培小时;
H1:电池中位数<140安培小时。
在R语言中进行符号秩检验可以使用wilcox.test( )
wilcox.test(x, y = NULL,
alternative = c("two.sided", "less", "greater"),
mu = 0, paired = FALSE, exact = NULL, correct = TRUE,
conf.int = FALSE, conf.level = 0.95, ...)
其中x,y是观察数据构成的数据向量。alternative是备择假设,有单侧检验和双侧检验,mu待检参数,如中位数M0.paired是逻辑变量,说明变量x,y是否为成对数据。exact是逻辑变量,说明是否精确计算P值,当样本量较小时,此参数起作用,当样本两较大时,软件采用正态分布近似计算P值。correct是逻辑变量,说明是否对P值的计算采用连续性修正,相同秩次较多时,统计量要校正。conf.int是逻辑变量,说明是否给出相应的置信区间。
R语言代码:
X<-scan()
137.0 140.0 138.3 139.0 144.3 139.1 141.7 137.3 133.5 138.2 141.1 139.2 136.5 136.5 135.6 138.0 140.9 140.6 136.3 134.1
wilcox.test(X, mu=140, alternative="less",
exact=FALSE,correct=FALSE, conf.int=TRUE)
这里V=34是wicoxon的统计量,P值<0.05,即拒绝原假设,接受备择假设,中位值小于小于140安培小时。
例19.某医院用某种药物治疗两型慢性支气管炎患者共216例,疗效由下表所示,试分析该药物对两型慢性支气管炎的治疗是否相同。
解:我们想象各病人的疗效用4个不同的值表示(1表示最好,4表示最差),这样就可以位这216名排序,因此,可用Wilcoxon秩和检验来分析问题。
R语言代码:
x<-rep(1:4, c(62, 41, 14,11)); y<-rep(1:4, c(20, 37, 16, 15))
wilcox.test(x, y, exact=FALSE)
P值<0.05,拒绝原假设,即认为该药物对两型慢性支气管炎的治疗是不相同的。因为数据有结点存在,故无法精确计算P值,其参数为exact=FALSE。
3.3.5.二元数据相关检验
例20.某种矿石中两种有用成分A,B,取10个样品,每个样品中成分A的含量百分数x(%),及B的含量百分数y(%)的数据下表所示,对两组数据进行相关性检验。
解:进行相关性检验,在R语言中可以使用cor.test( )
cor.test(x, y,
alternative = c("two.sided", "less", "greater"),
method = c("pearson", "kendall", "spearman"),
exact = NULL, conf.level = 0.95, ...)
#其中x,y是数据长度相同的向量,alternative是备择假设,缺省值为"two.sided",method是检验方法,缺省值是Pearson检验,conf.level是置信区间水平,缺省值为0.95
cor.test( )还有另一种使用格式
cor.test(formula, data, subset, na.action, ...) #其中formula是公式,形如'~u+v' , 'u', 'v' 必须是具有相同长度的数值向量,data是数据框,subset是可选择向量,表示观察值的子集。
假设此例中两组数据均来自正态分布,使用pearson相关性检验,
R语言代码:
ore<-data.frame(
x=c(67, 54, 72, 64, 39, 22, 58, 43, 46, 34),
y=c(24, 15, 23, 19, 16, 11, 20, 16, 17, 13)
)
cor.test(ore$x,ore$y)
可见P值<0.05,拒绝原假设,认为X与Y相关。
例21.一项有六个人参加表演的竞赛,有两人进行评定,评定结果用下表所示,试用Spearman秩相关检验方法检验这两个评定员对等级评定有无相关关系。数据分析师培训
解:
R语言代码:
x<-c(1,2,3,4,5,6); y<-c(6,5,4,3,2,1)
cor.test(x, y, method = "spearman")
可见P值<0.05,拒绝原假设,认为x与y相关,rs=-1,表示这两个量是完全负相关,即两人的结论有关系,但完全相反。
数据分析咨询请扫描二维码
《Python数据分析极简入门》 第2节 7 Pandas分组聚合 分组聚合(group by)顾名思义就是分2步: 先分组:根据某列数据的值进行 ...
2024-11-25数据分析需要学习的内容非常广泛,涵盖了从理论知识到实际技能的多个方面。以下是数据分析所需学习的主要内容: 数学和统计学 ...
2024-11-24数据分析师需要具备一系列多方面的技能和能力,以应对复杂的数据分析任务和业务需求。以下是数据分析师所需的主要能力: 统计 ...
2024-11-24数据分析师需要学习的课程内容非常广泛,涵盖了从基础理论到实际应用的多个方面。以下是根据我搜索到的资料整理出的数据分析师需 ...
2024-11-24《Python数据分析极简入门》 第2节 6 Pandas合并连接 在pandas中,有多种方法可以合并和拼接数据。常见的方法包括append()、conc ...
2024-11-24《Python数据分析极简入门》 第2节 5 Pandas数学计算 importpandasaspdd=np.array([[81,&n ...
2024-11-23数据分析涉及多个方面的学习,包括理论知识和实践技能。以下是数据分析需要学习的主要方面: 基础知识: 数据分析的基本概念 ...
2024-11-22数据分析适合在多个单位工作,包括但不限于以下领域: 金融行业:金融行业对数据分析人才的需求非常大,数据分析师可以从事经 ...
2024-11-22数据分析是一种涉及从大量数据中提取有用信息和洞察力的过程。其工作内容主要包括以下几个方面: 数据收集与整理:数据分析师 ...
2024-11-22数据分析师需要掌握多种技能,以确保能够有效地处理和分析数据,并为业务决策提供支持。以下是数据分析师需要掌握的主要技能: ...
2024-11-22数据开发和数据分析是两个密切相关但又有所区别的领域。以下是它们的主要区别: 定义和目标: 数据开发:数据开发涉及数据的 ...
2024-11-22数据架构师是负责设计和管理企业数据架构的关键角色,其职责涵盖了多个方面,包括数据治理、数据模型设计、数据仓库构建、数据安 ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列技能,以确保能够有效地处理、分析和解释数据,从而支持决策制定。以下是数据分析师所需的关键技能: ...
2024-11-22数据分析师需要具备一系列的技能和能力,以确保能够有效地处理、分析和解释数据,从而支持业务决策。以下是数据分析师所需的主要 ...
2024-11-22需求持续增长 - 未来数据分析师需求将持续上升,企业对数据驱动决策的依赖加深。 - 预测到2025年,中国将需要高达220万的数据人 ...
2024-11-22《Python数据分析极简入门》 第2节 4 Pandas条件查询 在pandas中,可以使用条件筛选来选择满足特定条件的数据 importpanda ...
2024-11-22数据分析师的工作内容涉及多个方面,主要包括数据的收集、整理、分析和可视化,以支持商业决策和问题解决。以下是数据分析师的一 ...
2024-11-21数据分析师必须掌握的技能可以从多个方面进行归纳和总结。以下是数据分析师需要具备的主要技能: 统计学基础:数据分析师需要 ...
2024-11-21数据分析入门的难易程度因人而异,总体来看,入门并不算特别困难,但需要一定的学习和实践积累。 入门难度:数据分析入门相对 ...
2024-11-21