R语言假设检验Word下载.docx
《R语言假设检验Word下载.docx》由会员分享,可在线阅读,更多相关《R语言假设检验Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
m
length(x)
p
rep(1/m,m)
K
sum((x-n*p)^2/(n*p));
#计算出K值
[1]
136.49
1-pchisq(K,m-1);
#计算出p值
0
#拒绝原假设。
在R语言中chisq.test(),可以完成拟合优度检验。
默认就是检验是否为均匀分布,如果是其他分布,需要自己分组,并在参数p中指出。
上面题目的解法
chisq.test(x)
Chi-squared
test
for
given
probabilities
data:
x
X-squared
=
136.49,
df
4,
p-value
2.2e-16
#同样拒绝原假设。
例,用这个函数检验其他分布。
抽取31名学生的成绩,检验是否为正态分布。
9
10
11
12
13
14
15
c(25,45,50,54,55,61,64,68,72,75,75,78,79,81,83,84,84,84,85,
86,86,86,87,89,89,89,90,91,91,92,100)
A
table(cut(x,breaks=c(0,69,79,89,100)))
#对样本数据进行分组。
A
(0,69]
(69,79]
(79,89]
(89,100]
8
5
13
pnorm(c(70,80,90,100),mean(x),sd(x))
#获得理论分布的概率值
c(p[1],p[2]-p[1],p[3]-p[2],1-p[3])
chisq.test(A,p=p)
8.334,
3,
0.03959
#检验结果不是正态的。
大麦杂交后关于芒性的比例应该是无芒:
长芒:
短芒=9:
3:
4。
我们的实际观测值是335:
125:
160。
请问观测值是否符合预期?
c(9/16,3/16,4/16)
c(335,125,160)
chisq.test(x,p=p)
1.362,
2,
0.5061
在分组的时候要注意,每组的频数要大于等于5.
如果理论分布依赖于多个未知参数,只能先由样本得到参数的估计量。
然后构造统计量K,此时K的自由度减少位置参数的数量个。
2.ks检验。
R语言中提供了ks.test()函数,理论上可以检验任何分布。
他既能够做单样本检验,也能做双样本检验。
单样本例:
记录一台设备无故障工作时常,并从小到大排序4205009201380151016501760210023002350。
问这些时间是否服从拉姆达=1/1500的指数分布?
c(420,500,920,1380,1510,1650,1760,2100,2300,2350)
ks.test(x,"
pexp"
1/1500)
One-sample
Kolmogorov-Smirnov
test
D
0.3015,
0.2654
alternative
hypothesis:
two-sided
双样本例:
有两个分布,分别抽样了一些数据,问他们是否服从相同的分布。
16
17
18
19
X<
-scan()
1:
0.61
0.29
0.06
0.59
-1.73
-0.74
0.51
-0.56
0.39
10:
1.64
0.05
-0.06
0.64
-0.82
0.37
1.77
1.09
-1.28
19:
2.36
1.31
1.05
-0.32
-0.40
1.06
-2.47
26:
Read
25
items
Y<
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
21:
20
ks.test(X,Y)
Two-sample
#原假设为
他们的分布相同
X
and
Y
0.23,
0.5286
3.列联表数据独立性检验。
chisq.test()同样可以做列联表数据独立性检验,只要将数据写成矩阵的形式就可以了。
matrix(c(60,3,32,11),nrow=2)
#参数correct是逻辑变量
表示带不带连续矫正。
[,1]
[,2]
[1,]
60
32
[2,]
3
Pearson'
s
with
Yates'
continuity
correction
7.9327,
1,
0.004855
#拒绝假设
认为有关系
如果一个单元格内的数据小于5那么做pearson检验是无效的。
此时应该使用Fisher精确检验。
matrix(c(4,5,18,6),nrow=2)
4
fisher.test(x)
Fisher'
Exact
Test
Count
Data
0.121
true
odds
ratio
is
not
equal
to
95
percent
confidence
interval:
0.03974151
1.
#p值大与0.05,
区间估计包含1,所以认为没有关系。
sample
estimates:
0.2791061
McNemar检验。
这个不是相关性检验。
是配对卡放检验。
也就是说,我们是对一个样本做了两次观测,本身不是独立的样本而是相关的样本,而我们检验的是变化的强度。
频数没有发生变化。
用法就不举例了。
单元格内数字不得小于5.n要大于100.
4.符号检验。
当我们以中位数将数据分为两边,一边为正,一边为负,那么样本出现在两边的概率应该都为1/2。
因此,使用p=0.2的二项检验就可以做符号检验了。
统计了66个城市的生活花费指数,北京的生活花费指数为99。
请问北京是否位于中位数以上。
20
21
scan()
66
75
78
80
81
82
83
83
12:
84
85
86
87
88
88
23:
89
90
91
91
34:
92
93
96
97
99
100
45:
101
102
103
104
105
106
109
109
56:
110
111
113
115
116
117
118
155
192
67:
binom.test(sum(x>
99),length(x),alternative="
less"
)
binomial
sum(x
99)
number
of
successes
23,
trials
66,
0.009329
probability
success
less
than
0.5
0.0000000
0.4563087
0.3484848
#北京位于中位数下。
符号检验也可以用来检验两个总体是否存在明显差异。
要是没有差异,那么两者之差为正的概率为0.5.
y
c(19,32,21,19,25,31,31,26,30,25,28,31,25,25)
c(25,30,28,23,27,35,30,28,32,29,30,30,31,16)
binom.test(sum(x<
y),length(x))
y)
14,
0.1796
perc