为了确认随机数或随机变量发生器的有效性,应该进行的基本检验是均匀性检验。有两种不同的方法可用:科尔莫戈罗夫-斯米尔诺夫检验及检验。这两种检验都测量产生的随机教样本的分布与理论上的均匀分布之间的一致程度。两种检验都基于样本分布与理论分布之间不存在显著差异的虚假设。
该检验将均匀分布的分布函教F(x)与N个观测样本的经验分布函数相比较。根据定义:
如果随机数发生器产生的样本为,则经验分布函效
定义如下:
如果虚假设成立,则随着N的增大,应当越来越接近F(x)。
科尔莫戈罗夫-斯米尔诺夫检验基于F(x)和在随机变量变化范围内的最大绝对偏差:
D与N、的函数关系见附表。如果随机数序列的D不大于附表对应于N的临界值
,则虚假设成立,即随机数服从均匀分布;否则虚假设不成立。
科尔莫戈罗夫-斯米尔诺夫检验步骤如下:
(1)
将所有数据按照从小到大顺序排列。令为第i小的观测值,则
(2) 计算
(3) 计算
(4)
对于给定的显著水平和样本大小N,查表,获得临界值
(5)
若D>,则虚假设被拒绝;否则,接受虚假设,即数列与均匀分布之间未检测到差异。
例1:
假设有10个数字0.337,0.664,0.585,0.407,0.883,0.225,0.965,0.972,0.785,0.574 。试在=0.10下,检验这些数字是否为来自于(0,1) 区间上的均匀随机数。
解:(1)提出假设:
H0:数字来自于(0,1)的均匀分布
H1:数字不实来自于(0,1)的均匀分布
(2)使用科尔莫戈罗夫-斯米尔诺夫检验,计算列于下表
序号 |
样本值x |
i/N |
|i/N-R(i)| |
|(i-1)/N-R(i) |
1 |
0.225 |
0.1 |
0.125 |
- |
2 |
0.337 |
0.2 |
0.137 |
0.237 |
3 |
0.407 |
0.3 |
0.107 |
0.207 |
4 |
0.574 |
0.4 |
0.174 |
0.274 |
5 |
0.585 |
0.5 |
0.085 |
0.185 |
6 |
0.664 |
0.6 |
0.064 |
0.164 |
7 |
0.785 |
0.7 |
0.085 |
0.185 |
8 |
0.883 |
0.8 |
0.083 |
0.183 |
9 |
0.965 |
0.9 |
0.065 |
0.165 |
10 |
0.972 |
1 |
0.028 |
0.072 |
(3)从上表可以得出=0.274,查表可以得到在=0.10时的临界值=0.37>0.274,因此可以接受原假设,即数据来自于(0,1)的均匀分布。
卡方检验是在总体的分布为未知时,根据样本来检验关于总体分布的假设
H0:总体X的分布函数为F(x)
H1:总体X的分布函数不是F(x)
的一种假设检验方法。
检验法的基本思想如下:
将随机实验可能结果的全体分为k个互不相容的事件
。于是在假设H0下,可以计算
,i=1,2,...,k。在n次实验中,事件
出现的频率
与
往往有差异,但一般来说,若H0为真,且实验的次数又足够多,则这种差异不应该很大。基于这种想法,皮尔逊使用
作为检验假设H0的统计量,并证明了以下定理。
定理:若n充分大(),则当H0为真时(不论H0的分布是什么类型),上式得统计量总是近似地服从自由度为k-r-1的
分布,其中k为分组数量,r是被估计参数的个数。
于是,若在假设H0下算得上式有:
则在显著性水平下拒绝H0,否则接受H0。
注意事项:检验法在使用时必须保证
,以及
都不小于5,否则应适当的合并
。
例2:
使用检验判断下面给出的数据是否具有均匀分布,=0.05。
0.83 |
0.44 |
0.04 |
0.84 |
0.33 |
0.18 |
0.58 |
0.05 |
0.33 |
0.55 |
0.33 |
0.67 |
0.82 |
0.28 |
0.90 |
0.48 |
0.87 |
0.76 |
0.69 |
0.67 |
0.42 |
0.34 |
0.03 |
0.95 |
0.63 |
0.99 |
0.50 |
0.73 |
0.75 |
0.43 |
0.38 |
0.95 |
0.41 |
0.45 |
0.04 |
0.40 |
0.85 |
0.64 |
0.90 |
1.00 |
0.86 |
0.67 |
0.69 |
0.02 |
0.83 |
0.10 |
0.93 |
0.55 |
0.14 |
0.56 |
0.56 |
0.66 |
0.54 |
0.15 |
0.57 |
0.59 |
0.10 |
0.18 |
0.27 |
0.05 |
0.94 |
0.85 |
0.55 |
0.46 |
0.58 |
0.44 |
0.14 |
0.51 |
0.21 |
0.59 |
0.57 |
0.01 |
0.60 |
0.02 |
0.56 |
0.87 |
0.38 |
0.64 |
0.14 |
0.01 |
0.59 |
0.94 |
0.93 |
0.82 |
0.45 |
0.04 |
0.00 |
0.47 |
0.15 |
0.01 |
0.68 |
0.68 |
0.19 |
0.84 |
0.98 |
0.31 |
0.92 |
0.66 |
0.64 |
0.54 |
下表给出了检验的主要计算内容
No |
Min |
Max |
fi |
pi |
npi |
npi-fi |
(npi-fi)^2/npi |
1 |
0.0 |
0.1 |
12 |
0.100 |
10.000 |
-2.000 |
0.400 |
2 |
0.1 |
0.2 |
10 |
0.100 |
10.000 |
0.000 |
0.000 |
3 |
0.2 |
0.3 |
3 |
0.100 |
10.000 |
7.000 |
4.900 |
4 |
0.3 |
0.4 |
7 |
0.100 |
10.000 |
3.000 |
0.900 |
5 |
0.4 |
0.5 |
11 |
0.100 |
10.000 |
-1.000 |
0.100 |
6 |
0.5 |
0.6 |
17 |
0.100 |
10.000 |
-7.000 |
4.900 |
7 |
0.6 |
0.7 |
14 |
0.100 |
10.000 |
-4.000 |
1.600 |
8 |
0.7 |
0.8 |
3 |
0.100 |
10.000 |
7.000 |
4.900 |
9 |
0.8 |
0.9 |
11 |
0.100 |
10.000 |
-1.000 |
0.100 |
10 |
0.9 |
1.0 |
12 |
0.100 |
10.000 |
-2.000 |
0.400 |
Sum |
=SUM(ABOVE) 18.2 |
查表可以获得<18.2,所以拒绝假设H0,即认为这些数据不是来自于[0,1]均匀分布的总体。