基于CU变换的非齐次泊松过程的统计验证模型
2017-01-17范朝霞杨剑锋
范朝霞,赵 明,杨剑锋
(1.贵州大学 理学院,贵州 贵阳 550025;2.耶夫勒大学 技术与可持续发展学院,瑞典 80176;3.贵州理工学院 信息工程学院,贵州 贵阳550003)
基于CU变换的非齐次泊松过程的统计验证模型
范朝霞1,赵 明2,杨剑锋3*
(1.贵州大学 理学院,贵州 贵阳 550025;2.耶夫勒大学 技术与可持续发展学院,瑞典 80176;3.贵州理工学院 信息工程学院,贵州 贵阳550003)
开源软件中故障输入数据的非齐次泊松过程(NHPP)的检验和均值函数的估计是排队论分析中重要的子问题。本文依据均值函数的连续性和缓慢变化性,把NHPP转化为小区间泊松性的分段常数非齐次泊松过程(PC NHPP)进行研究,主要运用条件均匀(CU)变换法对数据调整变换后,验证泊松性。本文还运用Bugzilla的错误报告数据对模型实践分析,结果显示CU变换后的验证效果可以接受。最后运用R语言拟合参数,计算出故障输入过程参数,为排队论模型构造和求解奠定基础。
NHPP检验;CU变换;K-S检验; R语言
针对软件排错过程中故障输入过程的统计分析方法[1],国内目前应用广泛的是假设错误输入过程是NHPP,然后根据三类常见累积强度函数模型:线性模型、幂率模型、对数线性模型等,拟合比较最优的累积强度函数模型,求解参数,运用到可靠性分析[2]中。但是这些忽略了一个重要的问题,即研究都是提前假设了NHPP,没有对其合理性给出证明。因为NHPP的强度函数λ(t)形式变化的多样性和不确定性,NHPP的验证也成了一个难题。国外针对NHPP的假设检验有一定程度的研究,Brown[3]提出了用PC NHPP近似NHPP的验证方法,根据λ(t)对于时间变化的连续性和缓慢性,在一定小的区间上可以认为λ(t)不变,然后在每个充分小子区间上验证泊松性。Kim[4]总结了四种NHPP的检验方法,对小区间的泊松过程做恰当的转换,变成我们易处理的分布类型,然后进行K-S检验,最终验证数据的NHPP性。
参数估计是在NHPP得到验证后,对拟合模型的估算参数[5-6],求解均值函数和强度函数,进而为排队论模型分析做准备。可靠性中常用的是子区间上的分段函数拟合[7],但是鉴于简洁性,本文在整区间上运用最小二乘估计。
1 常见NHPP模型
1.1 Goel-Okumoto模型
G-O模型是NHPP类软件可靠性最基本的模型[8],该模型的适用环境较理想化,但是模型简单,便于求解,故而应用广泛。该模型假设故障被检测到的概率b是恒定不变的。
强度函数为:λ(t)=abe-bt,表示的是单位时间故障输入率的变化趋势。
均值函数为:m(t)=a(1-e-bt),其表示的实际意义就是到时间t为止的累积频数,故而本文中用均值函数来拟合原数据的累积频数。
1.2 Yamada Delayed S-Shaped模型
Y-D模型是G-O模型的进一步推导,该模型适当地放宽了部分理论假设,更符合实际情况。模型假设故障被检测到的概率b是与时间有关的函数,且检测率随着时间的增加、系统内故障的减少而越来越大。
强度函数为:λ(t)=ab2te-bt,
均值函数为:m(t)=a[1-(1+bt)e-bt],
a>0,b>0
1.3 Inflected S-Shaped模型
I-S模型也是假设故障检测率b是一个与时间有关的函数,只是函数的形式发生了变化,自变量时间t与检测率函数b(t)不再是多项式关系,变成了负指数形式的变化趋势。
2 基于CU变换的NHPP统计检验模型
在呼叫中心系统中,一天24小时的呼入率是不一样的。因此,在以往的排队论分析中,均假设每小时的呼入率是常数,在每个时间段上建立排队论模型,综合分析对应指标。类似于常用的分段常数的理念,直接把NHPP的强度函数转化为PC NHPP进行检验分析。
2.1 CU(conditional uniform)转换K-S检验
定理1 泊松分布事件发生时刻条件均匀原理:在[0,T]时间段内,已知事件发生了n次的前提条件下,各事件发生的时刻{Ti,i∈1∶n}在不考虑顺序依存关系发生的情况下,可看做相互独立的U[0,T]随机变量[9]。
本文的CU变换思想就源自泊松分布事件发生时刻条件均匀原理。当不考虑Ti的顺序时,{Ti,i∈1∶n}~U[0,T],变形为{Ti/T,i∈1∶n}~U[0,1],则经验累积分布函数Fn(x):
(1)
同时,由均匀分布知对应的理论累积分布函数F(x):
F(x)=x,0≤x≤1
2.2 Log(logarithmic)变换K-S检验
定理2 泊松分布事件发生的时间间隔Xn,n=1,2,…服从参数为λ的指数分布,且相互独立。
由定理2知,欲检验小区间上的泊松性质,也可通过检验事件发生的时间间隔是不是服从指数分布来检验数据的泊松性。Brown构造了率1指数分布随机变量的Log变换:
1{Xjlog,n≤x}理论累积分布函数F(x):
F(x)=1-e-λx,x≥0
2.3 K-S检验
1)扫描矢量化陕西省民政厅提供的1998年乡级行政区域界线协议书附图,获取全省乡级行政区域界线、界址点、界桩点和三交点等原始界线矢量数据,并对矢量数据进行坐标转换,即1954年北京坐标系、1956黄海高程系转换至2000国家大地坐标系、1985国家高程基准。
定义 Kolmogorov分布函数:
K-S检验是检验小样本数据的泊松性。K-S检验分为单样本K-S检验和两样本K-S检验,单样本是检验一组样本数据和已知的概率分布类型的拟合优度的。
由定理3,统计量的渐近分布为:
3 实例验证
3.1 数据来源与清洗
Bugzilla失效数据是由Mozilla公司开发的错误追踪系统Bugzilla(http://www.bugzilla.org/)在版本升级和内测期间由于系统失效而产生的一系列被详细记录的故障数据组成。本文数据即2010年11月Bugzilla的第四版本正式内测上线开始记录的4.0版本历史故障数据。统计每月接收到的故障频数。在Bugzilla V4.0中,故障输入时间共延续45个单位,其中12个空数据,且都集中于序列尾部,可参照图1。这就是统计中的拖尾现象。本文采取连续两次遇零截尾,即Freq连续两次为零时,截去后面的数据。
图1 故障输入过程频数
3.2 NHPP的检验
由于K-S检验需要随机变量是连续的,故而针对单个到达的离散变量,可以考虑其到达时刻、到达时间间隔等连续型变量,然后采用适合于小样本检验的K-S检验准确推导结论。
3.2.1 CU-KS检验
CU变换基于定理1对子区间样本数据进行转换。针对故障输入时间数据。记到达时刻Opened_Day为Ti,区间长度T为31天,则根据CU变换理论,此处有Ti/T~U[0,1]。针对第四个子区间的CU变换数据整理如表1:
表1 第四个子区间CU变换数据
运用统计软件中的R软件结合K-S检验理论检验数据的泊松性质,运行结论如下:
>ks.test(Temp,"punif")
>D = 0.12054, p-value = 0.9453
显然,子区间上的泊松性是明显的。但样本量是19,在原数据中是相对较多的,故而检验效果相对较好,也证明了在足够数据量的情况下,小区间的泊松性质验证很好。
但是在表2中有数据量Freq为1或0的情况,此时CU变换后小区间的泊松性质并不乐观。结果说明子区间上小样本情况下的泊松性质相对于多样本的表现较差。同时需要注意,多样本的小区间数据也出现有泊松检验效果较差的现象,分析发现,故障会有偶然聚集出现的特殊情况,这对统计量的均匀性检验很不利,故而出现了少有的特例情况。
表2 CU变换后各子区间上的p值和D值
但是整体来讲,E(p)=0.522,E(D)=0.397,整体检验效果还是达到了的,已经满足了不能拒绝原假设PC NHPP的条件。
3.2.2 Log-KS检验
Log变换是基于定理2对子区间数据进行的对数变换。第四个子区间Log变换后数据如表3所示,根据Log变换理论可知,数据表中的序列0,是因为前后两个时间点一致使得真数为1造成的。无穷小量(Inf)则是因为真数趋于0所致。
表3 第四个子区间Log变换数据
针对第四子区间变换数据进行K-S率1指数检验,R程序运行结果如下:
>ks.test(xlog,"pexp")
>D = 0.31579, p-value = 0.04521
显然的,同一组预处理的数据,Log变换后检验效果没有CU检验效果明显。这也就暗示我们Log变换的数据预处理更复杂,需要更多的细节调整。
Log变换后的整体结论是E(p)=0.378,E(D)=0.327,虽然通过检验,但Log变换后的数据的率1指数检验效果没有CU变换好。这与数据选取的时间不是绝对连续,使得对数变换对结果的影响较大等因素有关。Log变换时,应该注意尽可能使得每个样本数据都不一样,避免0值和无穷小值出现,影响检验结果。鉴于验证NHPP性已经达到,此处Log变换的数据处理方法不做更深研究。
3.3 参数估计
鉴于故障输入过程NHPP性质的检验成立,此处用常用的NHPP类软件可靠性模型对数据进行拟合分析。用Yamada Delayed S-Shaped(Y-D)模型拟合分析:
>nls(X$CFreq ~ a*(1-(1+b*X$time)*exp(-b*X$time)),data=X[,c(1,3)],start = list(a=200,b=0.5))
用R里的nls函数对均值函数的参数进行估计,得a=252,b=0.2044,且两个参数是显著性不等于0。此时的标准残差为3.811,迭代次数为6,容差为7个分数位。
均值函数:
m(t)=252·[1-(1+0.2044·t)·e-0.2044t]
图2 Y-D模型拟合
由图2可以看出,Y-D模型拟合了故障输入过程累积频数的趋势。分析K-S拟合检验结果,p值为0.9794,接近1,且D值相对较小,接受Y-D拟合。
>ks.test(X$CFreq,f(X$time))
>D = 0.11111, p-value = 0.9794
4 结论
本文运用CU变换和Log变换对NHPP检验,效果显著,但是针对数据的预处理问题,本文根据数据类型和R编程难易程度选择了大区间以月为时间单位,小区间以天为时间单位的处理方法,故而出现了小区间中有0值出现的情况,所幸K-S检验过关。
CU变换和Log变化是用了泊松分布的两个特性延伸推导出的NHPP验证方法,其实还有直接验证法(频数统计法),也称为标准泊松检验。Lewis[11]也曾提出了比较复杂的Lewis变换对PP过程进行验证,并给出了推导,所以选择合适的、有效的数据变换方法针对NHPP的检验都会有一定的效益。
[1] Dohi T, Matsuoka T, Osaki S. An Infinite Server Queuing Model for Assessment of the Software Reliability[J]. Electronics and Communications in Japan, 2002, 85(3): 43-51.
[2] Huang C Y, Hung T Y. Software reliability analysis and assessment using queueing models with multiple change-points[J]. Computers & Mathematics with Applications, 2010, 60(7): 2015-2030.
[3] Brown L, Zhao L. Statistical Analysis of a Telephone Call Center: A Queueing-Science Perspective[J]. Journal of the American Statistical Association, 2005, 100(March):36-50.
[4] Kim S H, Whitt W. Choosing arrival process models for service systems: Tests of a nonhomogeneous Poisson process[J]. Naval Research Logistics, 2014, 61(1):66-90.
[5] Massey W A, Parker G A, Whitt W. Estimating the parameters of a nonhomogeneous Poisson process with linear rate[J]. Telecommunication Systems, 1996, 5(4):361-388.
[6] 茆诗松. 高等数理统计[M]. 北京:高等教育出版社, 1998.
[7] 徐仁佐,刘莲君,潘志宏,等. NHPP模型拟合质量的改进[J]. 自然科学进展:国家重点实验室通讯, 1991(6):535-542.
[8] 杨剑锋. 复杂数据下的软件可靠性分析方法[D].贵阳:贵州大学,2014.
[9] 张波,张景肖.应用随机过程[M].北京:清华大学出版社,2007.
[10] 朱力行. Kolmogorov统计量的精确分布及其在Bootstrap逼近中的应用(英文)[J]. Journal of Mathematical Research with Applications, 1991, 11(2):163-164.
[11] Lewis P A W. Some results on tests for Poisson processes[J]. Biometrika, 1965, 36(52):67-77.
(责任编辑:曾 晶)
A Test Model of NHPP: Based on CU Transformation
FAN Chaoxia1,ZHAO Ming2,YANG Jianfeng3*
(1.College of Science, Guizhou University, Guiyang 550025,China; 2.Faculty of Technology and Sustainable Development,University of Gavle, Sweden 80176;3. College of Information Engineering, Guizhou Institute of Technology, Guiyang 550003,China)
The test of NHPP and the estimation of the mean function about the BUG input data in opened source software are important sub- problems in queuing theory analysis. In this paper, the test of NHPP was converted to the test of Piecewise- Constant NHPP as the continuity and slowness of the mean function, and finally problem converted to the test of the PP on subintervals firstly, and then combined to verify the NHPP on interval. The verification of PP on subinterval is mainly through the CU transformation of the data reasonablely. Also Bugzilla 's error report data was used to analyze the model, and the result shows acceptable. Finally, the parameters of the BUG input process are calculated using the R language fitting parameters, which lays the foundation for the construction and solution of the following queuing theory model.
NHPP test; CU transformation; K- S test; R language
1000-5269(2016)06-0010-04
10.15958/j.cnki.gdxbzrb.2016.06.03
2016-10-17
贵州省科学技术基金计划(黔科合J字[2015]2064号);高层次人才科研启动经费项目(XJGC20150106)
范朝霞(1990-),女,在读硕士,研究方向:应用统计,Email:917855385@qq.com.
*通讯作者: 杨剑锋,Email:jfyang1@163.com.
O211.6
A