没有合适的资源?快使用搜索试试~ 我知道了~
© 2013年。出版社:Elsevier B.V.信息工程研究院负责评选和同行评议可在www.sciencedirect.com在线获取ScienceDirectIERI Procedia 6(2014)15 - 212013未来软件工程与多媒体工程国际会议KNN回归在基于交互的软件故障预测模型Rinkaj Goyala,*,Pravin Chandraa,Yogesh Singhaa信息通信技术大学学院,Guru Gobind Singh Indraprastha大学,德里110078摘要准确的故障预测是软件工程中必不可少的一步,在某种程度上是软件工程中的一项关键活动。在故障预测模型开发研究中,度量的组合显著提高了模型的预测能力,但同时也带来了处理预测器数量增加和度量间复杂交互作用导致的非线性问题。基于普通最小二乘(OLS)的参数回归技术不能有效地模拟这样的非线性与大量的预测,因为全局参数函数来拟合数据是事先不知道的。在我们以前的研究[1-3]中在这项研究中,我们使用K-最近邻(KNN)回归作为非参数回归技术的一个例子,否则众所周知的分类任务在数据挖掘社区。通过这里得到的结果,我们经验性地建立和验证了KNN回归的性能通常不受相互作用的预测因子数量增加的影响,同时提供优于广泛使用的多元线性回归(MLR)的性能的假设。© 2014年。作者。出版社:Elsevier B.V. 在CC BY-NC-ND许可下开放访问。信息工程研究所科学委员会负责同行评议*通讯作者。联系电话:2019 - 12 - 15 01:00:00电子邮件地址:rinkajgoyal@gmail.com。2212-6678 © 2014。作者。出版社:Elsevier B.V. 在CC BY-NC-ND许可下开放访问。信息工程研究所科学委员会负责同行评审16Rinkaj Goyal等人/ IERI Procedia 6(2014)15关键词:故障预测;交互作用; K-最近邻;面向对象建模;回归分析1. 介绍软件度量是统计预测器和估计器,它为软件开发中的产品,过程或资源的某些属性分配数值[4][5]。这些是内部指标,分为产品、流程和人员指标。故障倾向性是一个外部度量,故障预测模型使用内部软件度量来预测项目新开发模块中的故障,甚至在发布和测试之前[6]。在故障预测模型开发中使用度量的组合是相对年轻的。D'Ambros等人[7]统计分析了使用源代码度量和其他使用信息理论得出的度量的组合来预测错误的好处和相对优势。Lee等人[8]提出了56个交互度量,捕捉开发人员的行为模式,并实证分析了它们对软件质量的影响。近年来,经验软件工程在使用基于非参数回归的技术方面出现了巨大的热潮,这是由于大量软件存储库的公开可用性以及机器学习和数据挖掘社区的进步研究[9]。非参数技术,如回归树,随机森林,支持向量机,神经网络等已在文献中广泛报道。尽管如此,在实证分析中的指标的组合和相互作用的效果还没有被详细探讨。在我们以前的研究中[1-3],我们考虑了这些指标的相互关联性,并在统计学上确定了这种相互作用在多大程度上提高了基于MLR的预测模型的解释力。然后,我们进行逐步回归,以确定有影响力的指标,以避免数据的过度拟合。进一步的,流行的树为基础的方法产生分段线性模型在树叶也进行了调查。然而,在这项研究中,我们调查的非参数回归技术的相关性,即KNN回归故障预测模型的发展,同时也考虑到指标之间的相互作用。当应用于公开可用的错误数据集时,该方法的有效性得到了既定统计措施的支持和验证。度量之间的相互作用导致大量的预测因素,这取决于相关性的程度,有时度量之间的这种相互作用可能不会被明确识别。这使得传统的参数回归的使用有限,因为度量和故障之间的依赖性的功能解剖不能被先验地确定。非参数回归是一种通过从数据本身导出模型的函数形式来模拟复杂相互作用的替代方法。本文的其余部分组织如下:第2节描述了实验装置和方法;第3节解释了本研究的结果。我们的结论在第4节中给出。2. 实验装置2.1. The Data -漏洞预测数据集这项研究使用了与我们早期研究中询问的相同的公开可用的错误预测数据集,可在(http://www.example.com)[7]中获得。bug.inf.usi.ch我们已经采用了四个基于Java的软件模块(即Eclipse,Mylyn,Equinox和PDE)的单个版本数据,并考虑了6个Chidamber和Kemerer(CK)度量和11个OO(面向对象)度量用于分析目的[10]。本研究中使用的指标的简要概述见附录A。Rinkaj Goyal等人/ IERI Procedia 6(2014)1517我我2.2. 建模方法在这一部分中,我们首先简要介绍线性回归,突出变量之间的相互作用。接下来,讨论KNN回归以及调整参数的细节[11][12]。在线性回归中,对于输入空间向量XT =(X1,X2. XN),预测输出Y计算如下(参考等式①的人。N联系我们 第一章1第十章(一)为了将线性模型拟合到训练数据集,通常使用最小二乘法来最小化残差平方和(RSS)[13](参考等式14)。2)。RSSy2(二)然而,在线性回归中,自变量(预测变量)可能具有相互依赖性。 为了纳入组合预测因子的相互作用效应,方程1中应包括额外的回归水平(参见方程1)。3)。方程3表示本研究中使用的两项相互作用。N Niii xjij(三)第一章1i,jijKNN回归是一种基于实例的惰性学习算法。作为一种非参数回归,它不对数据的分布做任何假设,从而刺激训练阶段。它学习复杂的目标快速运行而不会丢失信息。对于给定的训练数据输入x,考虑xi附近的K个观测值,并且这些K个自变量的响应的平均值给出y(参考等式2)。4)。y(x) K 阿吉岛(四)xi<$Nk(x)其中Nk(x)表示x邻域中的K个最近点。各种距离测量量化了点之间的接近度,但是通常使用欧几里得距离。在高维数据中,特别是K值较大的情况下,对邻域内的变量赋予不同的权重是合适的。这些权重由“核方法”使用密度函数指定。在本研究中使用的KNN回归的实现中,高斯核方法与高斯密度函数一起使用(参考等式2)。5)[11]第10段。1x2G(x,x) 0(五)k02kGk(x0,x)将权重分配给邻域点,该邻域点随着距目标点x的平方欧几里德距离而平滑地减小。通过应用上述基于回归的技术开发的预测模型的性能通过量化由模型估计的输出与实际输出之间的差异来表示。R2、调整后的R2(调整后的R2)、均方根(RMSE)和相对平方误差(RRSE)值是统计学上确定的量化该差异的指标。18Rinkaj Goyal等人/ IERI Procedia 6(2014)15由此开发的模型的有效性进一步证实了误差函数,即平均绝对误差(MAE)和绝对CNK。MAE测量一组预测中误差的平均大小(绝对值)。这是平均模型性能相互比较的明确和自然的误差估计[14]。C邻域的绝对值- K(CNK绝对值)是Bosnic等人提出的基于密度的可靠性估计。[15]。它被定义为k个邻居的平均响应与预测值之间的差。在这项研究中,我们应用这个标准比较的可靠性与5个最近的邻居开发的模型。3. 案例研究结果KNN回归在多元线性回归(MLR)的有效性进行了实证研究与四个基于Java的软件模块的错误预测数据集。回归技术之间的这种比较使用了两种不同的度量类别; CK类型和其他面向对象(OO)类型的度量(参见第2.1节)。这两类指标的组合被认为是孤立的,以及与相互作用的条款(参考方程。3),适当突出非参数技术在管理大量预测因子中的相关性和相互作用的影响。对于每个软件模块,使用数据集中包含的6个CK型指标和11个OO型指标的数据进行分析。取一个没有自相互作用项的两项相互作用,得到n个C2+ n个预测因子。为了保持预测模型的结论稳定性,我们使用了70%的样本量进行训练,剩下的30%用于测试模型。分层随机抽样方法用于生成单独的训练和测试数据。这些实验在Orange canvas中进行了模拟[16]。以下是四个软件模块的实验结果:为软件模块生成的预测建模统计数据如表1所示,并考虑单独和组合(包括交互)的指标。以下讨论涉及Eclipse软件模块;对于CK α,调整R2的值为0.120,在相互作用后,该值上升至0.470。相应的RMSE和RRSE值的下降也证实了Adj. R2值的这种改善。OO和CK+ OO生成的统计数据通过使用MLR证实了上述相互作用的影响考虑到这种方法可能会导致多重共线性增加,统计动力学表明相互作用项(例如PQ及其独立分量P)之间的高度共线性并非难以捉摸,与P和Q之间的共线性相反[17]。当与MLR相比时,KNN回归一致地提供了改进的模型性能,这可以通过单独以及组合的度量的统计测量值的改进来证明。对于CK度量,Adj.R2的值为0.765,而在将CK度量与OO度量组合之后(同时还考虑交互),Adj.R2的值变为0.924。虽然我们得到了一个增强值的调整。R2的增量是微不足道的相比,在预测的数量上升,即从21到153。这假设KNN回归优于MLR,以有效地管理相互作用,同时对相互作用的影响也保持低调。为了验证这些模型的预测准确性,我们使用平均绝对误差(MAE)和CNK绝对值作为统计预测因子。表1中的数据指定了这些值的显著变化,当考虑指标之间的组合和相互作用并在通过应用MLR和KNN回归产生的模型之间进行比较时。对于MLR模型中具有相互作用的CK回归,MAE值为0.850,而基于KNN回归的模型的相应值为0.706。在CNK绝对值中可以观察到类似的下降。随后对CK和OO的交互作用组合进行了KNN回归Rinkaj Goyal等人/ IERI Procedia 6(2014)1519模型不仅给出了较低的(改进的)MAE和相应的绝对CNK值,而且与基于MLR的模型的相应值显示出显着差异。这反映在MAE值从3.635大幅降至0.675。对其他三个软件模块(即Equinox、Mylyn和PDE)进行了相同的实验。基于KNN回归的模型始终返回更好的值调整R2和相应的更好(降低)值的RMSE和RRSE。此外,所有软件模块中的Adj.R2(有和无交互作用)的相似较高值证实了KNN回归的非参数性质。表1:模型性能MLR KNN软件模块RMSE RRSE Adj.R2 RMSE RRSE Adj.R2 MAE CNK绝对MAE CNK绝对Eclipse无交互CK0.8200.9350.1200.4240.4830.7650.6460.2670.6870.291OO0.7300.6990.5070.5120.4900.7570.8130.4120.7440.381CK+OO0.8530.8460.2720.3150.3130.9010.6230.3520.6360.296两项交互作用CK0.5960.7210.4700.2950.3560.8700.8500.5250.7060.345OO0.6170.5820.6370.3070.2890.9101.3761.1470.5700.266CK+OO0.4520.4200.7910.2730.2540.9243.6353.6810.6750.273没有相互作用的春分CK1.0500.6790.4150.6880.4450.7980.4670.2310.4430.284OO0.8790.6920.4620.5710.4500.7910.4460.3030.4180.283CK+OO0.8880.5050.7310.8410.4780.7590.4260.2800.3600.261两项交互作用CK0.8450.7400.5300.5610.4910.7420.4260.3060.4270.317OO0.6380.6540.5050.3150.3230.8690.9220.7070.4050.216CK+OO0.3450.3720.7380.1890.2030.9228.6068.4570.4070.273Mylyn无相互作用CK0.5750.9430.1090.3580.5860.6550.2830.1670.3010.203OO0.3950.9200.1490.1510.3520.8750.2660.1560.2530.178CK+OO0.5610.9070.1690.2890.4670.7800.2880.1650.2760.175两项交互作用CK0.5210.9150.1530.2370.4170.8240.3610.2470.2750.171OO0.5290.7290.4490.1760.2420.9390.2950.2130.2460.139CK+OO0.4080.5690.6480.2490.3470.8690.5780.4920.2740.186无相互作用偏微分CK0.5940.9370.1190.3590.5660.6780.3560.2620.3510.213OO0.7170.8880.2070.2970.3680.8630.2950.1720.2780.180CK+OO0.6040.8980.2860.2590.3850.8500.3360.2090.3140.196两项交互作用CK0.5790.8880.2000.3510.5380.7060.3580.2010.3680.222OO0.4430.7790.3660.1410.2480.9360.3930.2360.3330.155CK+OO0.4570.6880.4720.2190.3300.8791.5791.4300.3480.1774. 结论和今后的工作通过从这项研究中得出的结果,已经根据经验确定,由于大量的相互作用的度量,KNN回归的性能基本上不受影响,同时20Rinkaj Goyal等人/ IERI Procedia 6(2014)15从而产生用于软件故障预测的改进的模型。本研究的目的之一是提出的方法,软件科学家可以通过采用这种非参数回归技术,在其他领域的软件测量复合效应见证了经验分析。本研究的意义和未来的范围在于在软件开发生命周期的不同阶段的相互作用的属性的有效管理。此外,软件开发的人的方面,量化的人的度量,可能会发挥作用,在确定其他软件测量,这是有待深入探讨。这种以人为中心的方法将包括多个交互度量,从而使得这种基于距离的非参数回归技术更适合引用[1] R. Goyal,P.Chandra和Y.Singh,[2] R. Goyal,P.Chandra和Y.Singh,pp. 2013年15[3] R. Goyal,P. Chandra,and Y. Singh,[4] N. E.芬顿和M. Neil,“软件度量:路线图”,在软件工程未来会议论文集,2000年,第100页。357-370[5] L. M. Laird和M. C. Brennan,软件度量和估计:实用方法,第2卷。John Wiley \Sons,2006年。[6] C. Catal和B. Diri,“基于面向对象度量的人工免疫识别系统的软件故障预测”,以产品为中心的软件过程改进,pp. 300[7] M. D'Ambros,M. Lanza和R. Robbes,31比41[8] T. Lee,J.Nam,D.汉,S.Kim和H.P. 在“用于缺陷预测的微观交互度量”中在SIGSOFTFSE,2011年,第311-321[9] D.罗德里格斯岛Herraiz和R. Harrison,52比56[10] S. R. Chidamber和C.F. Kemerer,476[11] T. 哈斯蒂河Tibshirani和J.J. H. 弗里德曼,统计学习的要素,卷。1.一、Springer New York,2001.[12] T. A. Runkler,数据分析:智能数据分析的模型和算法Vieweg+ Teubner Verlag,2012.[13] I. Uysal和H.A. Guvenir,319[14] C. J. Willmott和K. Matsuura,[15] Z.波斯尼亚和我。Kononenko,“使用局部敏感性分析的个体预测可靠性估计”,应用情报,第29卷,第3期,第100页。187[16] J. Demvsar等人,“Orange:Python中的数据挖掘工具箱”,Journal of Machine Learning Research,第14卷,第14页。2349[17] R. J. Friedrich,797Rinkaj Goyal等人/ IERI Procedia 6(2014)1521附录ACK指标[10]解释OO(面向对象)解释每类加权方法(WMC)对象间耦合(CBO)继承树的深度(DIT)儿童数量(NOC)类别响应(RCF)缺乏内聚度量(LCOM)类中定义的所有方法的加权和设计中一个类对其他类的依赖性在继承层次结构中,从给定类到根类的最长路径的长度从给定类继承的直接子类的数目。在响应发送的消息时可以调用的所有方法的集合中的方法数。具有零相似性的方法对的数量计数。NOMNOPM扇入扇出NOAINOANAPRANOPA方法的数量公共方法的数量。私有方法继承的方法数。引用该类的其他类的数量。类引用的其他类的数量。继承的属性数。属性数。代码行数。私有属性的数量。公共属性的数量。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功