CN111445006A - 开源社区中开发者代码提交次数的预测方法及系统 - Google Patents

开源社区中开发者代码提交次数的预测方法及系统 Download PDF

Info

Publication number
CN111445006A
CN111445006A CN202010124146.2A CN202010124146A CN111445006A CN 111445006 A CN111445006 A CN 111445006A CN 202010124146 A CN202010124146 A CN 202010124146A CN 111445006 A CN111445006 A CN 111445006A
Authority
CN
China
Prior art keywords
model
arima
stm
predicting
constructing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010124146.2A
Other languages
English (en)
Inventor
曹健
童兰轩
钱诗友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010124146.2A priority Critical patent/CN111445006A/zh
Publication of CN111445006A publication Critical patent/CN111445006A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Computational Linguistics (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Game Theory and Decision Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种开源社区中开发者代码提交次数的预测方法及系统,包括:步骤1:构建单位根检验,检验时间序列的平稳性;步骤2:构建LB或Q统计量,检验时间序列的白噪声;步骤3:构建季节性单位根检验,检验时间序列的季节性;步骤4:根据检验结果选择预测模型得到预测结果,所述预测模型包括ARIMA模型、LSTM模型和混合模型。本发明根据不同的时间粒度将开发者代码提交次数数据转变为时间序列,通过时间序列成分分析后,自适应地选择最合适的预测模型,以预测接下来的各个时间粒度中开发者代码提交次数。

Description

开源社区中开发者代码提交次数的预测方法及系统
技术领域
本发明涉及数据挖掘技术领域,具体地,涉及一种开源社区中开发者代码提交次数的预测方法及系统。
背景技术
开源软件已经成为了目前的软件开发的主流方式。开发者在这些开源社区中以各种方式作出贡献,推动着开源软件的发展。对开发者的代码提交行为进行预测,有助于对开源项目的管理和对人员工作状态的了解。由于每个开发者的代码提交的规律不相同,因此,无法以统一的预测模型应用于所有的开发者。
专利文献CN107644268A(申请号:201710813673.2)公开了一种基于多特征的开源软件项目孵化状态预测方法,包括如下步骤:步骤1收集关于Apache项目的文件提交以及邮件交流的历史数据;步骤2根据项目的前5个月的历史数据,构建项目成员的有向网络;步骤3提取特征数据,包括邮件网络的网络特征以及相关属性特征,作为训练测试数据;步骤4采用支持向量机(SupportVectorMachine,SVM),的方法对数据进行训练,并构建多特征的开源软件项目孵化状态的预测模型。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种开源社区中开发者代码提交次数的预测方法及系统。
根据本发明提供的开源社区中开发者代码提交次数的预测方法,包括:
步骤1:构建单位根检验,检验时间序列的平稳性;
步骤2:构建LB或Q统计量,检验时间序列的白噪声;
步骤3:构建季节性单位根检验,检验时间序列的季节性;
步骤4:根据检验结果选择预测模型得到预测结果,所述预测模型包括ARIMA模型、LSTM模型和混合模型。
优选地,所述ARIMA模型根据对时间序列的成分分析对参数(p,d,q)进行范围定阶;
其中,p表示自回归项数,d表示滑动平均项数,q表示使该序列成为平稳序列所做的差分次数。
优选地,所述ARIMA模型包括:自回归模型、移动平均模型、移动平均自回归模型、趋势差分移动平均自回归模型和季节性差分移动自回归模型模型。
优选地,所述LSTM模型利用任何成熟实现,包括:基于tensorflow构建的LSTM和基于pytorch构建的LSTM。
优选地,所述混合模型包括ARIMA-LSTM混合模型;
ARIMA-LSTM混合模型是在自动ARIMA模型拟合后,将拟合残差作为LSTM模型的输入,结合两部分的结果得到最终预测结果。
优选地,所述ARIMA-LSTM混合模型的步骤包括:
步骤A:设定时间序列X={x1,x2,…,xN},选择ARIMA模型阶数,记为p0,d0,q0
其中,x1表示时间序列中的第一项,即发生的最早的一项;N表示时间序列长度,XN为最后一项,即发生的最晚的一项;p0、d0及q0表示在对ARIMA模型进行成分分析确定p、d及q范围,通过信息准则计算后,找到数据的ARIMA模型自回归项数、滑动平均项数及序列所作的差分次数;
步骤B:计算残差;
步骤C:对残差进行Max-Min归一化处理;
步骤D:构建LSTM模型并获取到预测结果。
优选地,所述步骤B包括:
ek=xk-ARIMA(P0,d0,q0)({x1,x2,…,xk-1})k=2,…,N
其中,ek表示第k项的残差,时间序列第k项值与ARIMA模型在该项的预测值的差;
对于序列中元素的每一个下标k,用前k-1个元素的预测值为Lk,其中,e1=x1
优选地,所述步骤C包括:
Figure BDA0002393905050000021
其中,
Figure BDA0002393905050000022
表示归一化后的第k项残差,emin表示所有残差中的最小值,emax表示所有残差中的最大值。
优选地,所述步骤D包括:
Figure BDA0002393905050000023
其中,
Figure BDA0002393905050000031
表示时间序列中下一项的预测值,(X)表示X={x1,x2,…,xN}为设定的时间序列,作为参数输入给模型ARIMA,LSTM(E')表示:E’={e2,…,eN}为残差序列,作为参数输入给模型LSTM。
根据本发明提供的开源社区中开发者代码提交次数的预测系统,包括:
模块M1:构建单位根检验,检验时间序列的平稳性;
模块M2:构建LB或Q统计量,检验时间序列的白噪声;
模块M3:构建季节性单位根检验,检验时间序列的季节性;
模块M4:根据检验结果选择预测模型得到预测结果,所述预测模型包括ARIMA模型、LSTM模型和混合模型。
与现有技术相比,本发明具有如下的有益效果:
1、本发明根据不同的时间粒度将开发者代码提交次数数据转变为时间序列,通过时间序列成分分析后,自适应地选择最合适的预测模型,以预测接下来的各个时间粒度中开发者代码提交次数;
2、本发明对开发者的代码提交行为进行预测,有助于对开源项目的管理和对人员工作状态的了解;
3、本发明有利于推动着开源软件的发展。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1所示的是本发明的结构示意图;
图2所示的是本发明的自适应预测模型选择的示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
请参考图1,本发明通过以下技术方案实现:
一种将开发者代码提交行为按照时间单位统计次数后转变为代码提交行为次数时间序列,基于对时间序列成分的分析,自适应选择最优预测模型的方法。对从行为序列提取出的时间序列的成分分析主要包括以下步骤:
1)构建单位根检验,利用ADF检验和KPSS检验以确定时间序列的平稳性:非平稳、平稳、差分平稳、趋势平稳;
2)依据时间序列的长度构建LB或Q统计量,检验时间序列的白噪声;
3)构建HEGY季节性单位根检验,以检验时间序列的季节性。
4)基于以上检验,在三类模型:ARIMA模型、LSTM及ARIMA-LSTM混合模型中选择。
(1)ARIMA模型,根据对时间序列的成分分析可以对参数(p,d,q)进行一定的范围定阶,ARIMA模型的实现包括:
自回归(AR)模型;
移动平均(MA)模型;
移动平均自回归(ARMA)模型;
趋势差分移动平均自回归(趋势ARIMA)模型;
季节性差分移动自回归模型(季节性ARIMA)模型。
(2)LSTM模型的实现可以采用任何成熟方法;
(3)ARIMA-LSTM混合模型:在自动ARIMA模型拟合后,将拟合残差作为LSTM模型的输入,结合两部分的结果得到最终预测结果。ARIMA-LSTM混合模型的步骤为:
S1、对于时间序列X={x1,x2,…,xN},假设该时间序列选择了最合适的ARIMA模型阶数,记为p0,d0,q0
S2、对于序列中元素的每一个下标k,用前k-1个元素的预测值为Lk,计算残差:
ek=xk-ARIMA(p0,d0,q0)({x1、x2,…,xk-1})k=2,…,N
特别的,e1=x1
S3、对残差进行Max-Min归一化处理:
Figure BDA0002393905050000041
S4、构建LSTM模型,综合LN后得到预测结果:
Figure BDA0002393905050000042
如图2,展示的是根据对时间序列的成分分析结果,自动选择相应的预测模型。对于几乎不含白噪声的序列,根据平稳性选择相应的ARIMA模型;对于含一定比例白噪声的序列,则选择相应的混合ARIMA-LSTM模型;对于含有季节性的序列,选择季节性ARIMA模型。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (10)

1.一种开源社区中开发者代码提交次数的预测方法,其特征在于,包括:
步骤1:构建单位根检验,检验时间序列的平稳性;
步骤2:构建LB或Q统计量,检验时间序列的白噪声;
步骤3:构建季节性单位根检验,检验时间序列的季节性;
步骤4:根据检验结果选择预测模型得到预测结果,所述预测模型包括ARIMA模型、LSTM模型和混合模型。
2.根据权利要求1所述的开源社区中开发者代码提交次数的预测方法,其特征在于,所述ARIMA模型根据对时间序列的成分分析对参数(p,d,q)进行范围定阶;
其中,p表示自回归项数,d表示滑动平均项数,q表示使该序列成为平稳序列所做的差分次数。
3.根据权利要求1所述的开源社区中开发者代码提交次数的预测方法,其特征在于,所述ARIMA模型包括:自回归模型、移动平均模型、移动平均自回归模型、趋势差分移动平均自回归模型和季节性差分移动自回归模型模型。
4.根据权利要求1所述的开源社区中开发者代码提交次数的预测方法,其特征在于,所述LSTM模型利用任何成熟实现,包括:基于tensorflow构建的LSTM和基于pytorch构建的LSTM。
5.根据权利要求1所述的开源社区中开发者代码提交次数的预测方法,其特征在于,所述混合模型包括ARIMA-LSTM混合模型;
ARIMA-LSTM混合模型是在自动ARIMA模型拟合后,将拟合残差作为LSTM模型的输入,结合两部分的结果得到最终预测结果。
6.根据权利要求1所述的开源社区中开发者代码提交次数的预测方法,其特征在于,所述ARIMA-LSTM混合模型的步骤包括:
步骤A:设定时间序列X={x1,x2,…,xN},选择ARIMA模型阶数,记为p0,d0,q0
其中,x1表示时间序列中的第一项,即发生的最早的一项;N表示时间序列长度,XN为最后一项,即发生的最晚的一项;p0、d0及q0表示在对ARIMA模型进行成分分析确定p、d及q范围,通过信息准则计算后,找到数据的ARIMA模型自回归项数、滑动平均项数及序列所作的差分次数;
步骤B:计算残差;
步骤C:对残差进行Max-Min归一化处理;
步骤D:构建LSTM模型并获取到预测结果。
7.根据权利要求6所述的开源社区中开发者代码提交次数的预测方法,其特征在于,所述步骤B包括:
ek=xk-ARIMA(p0,d0,q0)({x1,x2,…,xk-1})k=2,…,N
其中,ek表示第k项的残差,时间序列第k项值与ARIMA模型在该项的预测值的差;
对于序列中元素的每一个下标k,用前k-1个元素的预测值为Lk,其中,e1=x1
8.根据权利要求6所述的开源社区中开发者代码提交次数的预测方法,其特征在于,所述步骤C包括:
Figure FDA0002393905040000021
其中,e′k表示归一化后的第k项残差,emin表示所有残差中的最小值,emax表示所有残差中的最大值。
9.根据权利要求6所述的开源社区中开发者代码提交次数的预测方法,其特征在于,所述步骤D包括:
Figure FDA0002393905040000022
其中,
Figure FDA0002393905040000023
表示时间序列中下一项的预测值,(X)表示X={x1,x2,…,xN}为设定的时间序列,作为参数输入给模型ARIMA,LSTM(E')表示:E’={e2,…,eN}为残差序列,作为参数输入给模型LSTM。
10.一种开源社区中开发者代码提交次数的预测系统,其特征在于,包括:
模块M1:构建单位根检验,检验时间序列的平稳性;
模块M2:构建LB或Q统计量,检验时间序列的白噪声;
模块M3:构建季节性单位根检验,检验时间序列的季节性;
模块M4:根据检验结果选择预测模型得到预测结果,所述预测模型包括ARIMA模型、LSTM模型和混合模型。
CN202010124146.2A 2020-02-27 2020-02-27 开源社区中开发者代码提交次数的预测方法及系统 Pending CN111445006A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010124146.2A CN111445006A (zh) 2020-02-27 2020-02-27 开源社区中开发者代码提交次数的预测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010124146.2A CN111445006A (zh) 2020-02-27 2020-02-27 开源社区中开发者代码提交次数的预测方法及系统

Publications (1)

Publication Number Publication Date
CN111445006A true CN111445006A (zh) 2020-07-24

Family

ID=71648816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010124146.2A Pending CN111445006A (zh) 2020-02-27 2020-02-27 开源社区中开发者代码提交次数的预测方法及系统

Country Status (1)

Country Link
CN (1) CN111445006A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112700065A (zh) * 2021-01-14 2021-04-23 上海交通大学 基于深度学习的业务流程完成时间区间预测方法和系统
WO2022147853A1 (zh) * 2021-01-11 2022-07-14 大连理工大学 一种基于混合预测模型的复杂装备电源组故障预测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106920009A (zh) * 2017-03-03 2017-07-04 北京北青厚泽数据科技有限公司 医院服务量的预测方法
CN107085750A (zh) * 2017-03-10 2017-08-22 广东工业大学 一种基于arma和ann的混合动态故障预测方法
CN109615117A (zh) * 2018-11-22 2019-04-12 国网天津市电力公司 一种基于arima模型的煤改电电力负荷预测方法
CN110502806A (zh) * 2019-07-31 2019-11-26 电子科技大学 一种基于lstm网络的无线频谱占用度预测方法
CN110778307A (zh) * 2019-10-24 2020-02-11 西南石油大学 一种卡钻预警和类型诊断方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106920009A (zh) * 2017-03-03 2017-07-04 北京北青厚泽数据科技有限公司 医院服务量的预测方法
CN107085750A (zh) * 2017-03-10 2017-08-22 广东工业大学 一种基于arma和ann的混合动态故障预测方法
CN109615117A (zh) * 2018-11-22 2019-04-12 国网天津市电力公司 一种基于arima模型的煤改电电力负荷预测方法
CN110502806A (zh) * 2019-07-31 2019-11-26 电子科技大学 一种基于lstm网络的无线频谱占用度预测方法
CN110778307A (zh) * 2019-10-24 2020-02-11 西南石油大学 一种卡钻预警和类型诊断方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HYEONG KYU CHOI ET AL.: "Stock Price Correlation Coefficient Prediction with ARIMA-LSTM Hybrid Model", pages 3 - 4 *
LANXUAN TONG ET AL.: "AIMS: A Predictive Web API Invocation Behavior Monitoring System", pages 3 - 4 *
王黎明 等: "《 中国经济周期波动研究》", vol. 1, 《北京:经济日报出版社》, pages: 173 - 177 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022147853A1 (zh) * 2021-01-11 2022-07-14 大连理工大学 一种基于混合预测模型的复杂装备电源组故障预测方法
CN112700065A (zh) * 2021-01-14 2021-04-23 上海交通大学 基于深度学习的业务流程完成时间区间预测方法和系统
CN112700065B (zh) * 2021-01-14 2022-03-11 上海交通大学 基于深度学习的业务流程完成时间区间预测方法和系统

Similar Documents

Publication Publication Date Title
Groth et al. A hybrid algorithm for developing third generation HRA methods using simulator data, causal models, and cognitive science
Sargent Verifying and validating simulation models
Jorgensen Practical guidelines for expert-judgment-based software effort estimation
Ceylan et al. Software defect identification using machine learning techniques
US20150120263A1 (en) Computer-Implemented Systems and Methods for Testing Large Scale Automatic Forecast Combinations
CN113228100A (zh) 成像模态智能发现维护系统和方法
CN109783349B (zh) 一种基于动态反馈权重的测试用例优先级排序方法及系统
Eom et al. V&V-based remaining fault estimation model for safety–critical software of a nuclear power plant
Andersson A replicated empirical study of a selection method for software reliability growth models
CN111445006A (zh) 开源社区中开发者代码提交次数的预测方法及系统
JP2019028834A (ja) 異常値診断装置、異常値診断方法、およびプログラム
CN113196315A (zh) 成像模态保养维护包系统和方法
Janczarek et al. Investigating software testing and maintenance reports: Case study
Noor et al. Defect management in agile software development
US20050278301A1 (en) System and method for determining an optimized process configuration
CN109710514B (zh) 测试用例优先级排序中的tie-breaking的解决方法及系统
CN109800776A (zh) 素材标注方法、装置、终端和计算机可读存储介质
Baras et al. Automatic boosting of cross-product coverage using Bayesian networks
US8812341B2 (en) Method and system for optimizing process models
CN116467219A (zh) 一种测试处理方法及装置
Wang et al. ACCA: An architecture-centric concern analysis method
CN101751607A (zh) 工作效率评估系统及方法
CN115271277A (zh) 电力设备画像构建方法、系统、计算机设备及存储介质
CN115292167A (zh) 生命周期预测模型构建方法、装置、设备及可读存储介质
CN111209214B (zh) 代码测试处理方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination