首页> 中国专利> 一种考虑价格变化因素的行业用电量预测方法及系统

一种考虑价格变化因素的行业用电量预测方法及系统

摘要

本发明实施例提供的一种考虑价格变化因素的行业用电量预测方法及系统,所述系统及方法先获取行业月度用电量数据和行业产品月度价格数据,对数据进行预处理得到用电量序列和价格变化率序列后进行平稳性检验,以及使用Granger因果检验检验用电量序列和价格变化率序列之间的因果关系并得到滞后月份数,再使用用电量序列和价格变化率序列构建不同参数组合的ARIMAX模型并计算、选择预测模型用于预测未来行业月度用电量。本发明能够收集地区行业主要产品历史价格数据和地区行业历史用电量数据,将价格变化因素引入对行业用电量预测模型当中,提高预测模型对于行业用电量预测的准确率,可以为电企人员判断行业用电需求提供辅助决策。

著录项

说明书

技术领域

本发明涉及行业用电量预测分析领域,尤其涉及一种考虑价格变化因素的行业用电量预测方法及系统。

背景技术

用电量需求预测是制定电力电量平衡及能源布局规划的重要基础,科学的预测方法和准确的预测结果对电力系统的经济运行具有十分重要的意义,特别是针对传统的高耗能行业而言。同时行业用电量会受到经济因素的影响,分析对行业用电量有重要影响的经济因素,构建合理的用电量需求预测模型可以为电网的建设规划和运营提供决策依据。

求和自回归移动平均模型(ARIMA,Auto Regression Integrated MovingAverage)英文简称为ARIMA模型,是一种线性回归模型,是分析在时间序列内相关性规律的预测方法,可以对平稳随机序列和非平稳随机序列进行描述和预测。ARIMA模型在经济、社会等领域内的时间序列分析中有着非常广泛的应用。

在使用ARIMA模型对用电量进行预测分析时,存在着一定的局限性。ARIMA模型是一种一元时间序列分析方法,实际上,很多情况下序列的变化规律都会受到其他序列的影响,例如在用电量预测问题中,行业用电量受经济因素影响较大,而ARIMA模型只考虑序列自身变化的影响,不能将经济等外部影响因素纳入建模,因此直接使用ARIMA模型对受外部因素影响较大的时间序列进行建模并预测,模型在可解释性和预测准确性方面都有一定的欠缺。

发明内容

为解决上述问题,本发明实施例提供的一种考虑价格变化因素的行业用电量预测方法及系统,所述系统及方法先获取行业月度用电量数据和行业产品月度价格数据,对数据进行预处理得到用电量序列和价格变化率序列后进行平稳性检验、因果关系检验,再用用电量序列和价格变化率序列构建不同参数组合的ARIMAX模型并计算、选择预测模型用于预测未来行业月度用电量,通过将价格变化因素引入对行业用电量预测模型当中,提高预测模型对于行业用电量预测的准确率,可以为电企人员判断行业用电需求提供辅助决策。

为达到上述目的,本发明采取的技术方案如下:

一种考虑价格变化因素的行业用电量预测方法,包括以下步骤:

步骤S1:获取行业月度用电量数据;

步骤S2:获取行业产品月度价格数据;

步骤S3:对数据进行预处理得到用电量序列和价格变化率序列;

步骤S4:对用电量序列和价格变化率序列分别进行平稳性检验,若检验不通过则需进行平稳化操作直到通过;

步骤S5:将用电量序列和价格变化率序列进行Granger因果检验,并得到价格变化率序列相对用电量序列的月份滞后数;

步骤S6:以用电量序列和价格变化率序列构建不同参数组合的ARIMAX模型并计算选择预测模型;

步骤S7:以预测模型预测未来行业月度用电量。

进一步的,所述获取行业产品月度价格数据的方式包括定向网络爬虫方式。

进一步的,所述获取行业产品月度价格数据包括以下步骤:

步骤S21:获取公布区域行业产品月度价格数据的主网页网址;

步骤S22:构建匹配包含区域行业产品月度价格数据的子网页字符串特征的正则表达式;

步骤S23:确定区域行业产品月度价格数据范围和格式;

步骤S24:采用计算机程序自动获取并记录子网页的链接地址;

步骤S25:采用计算机程序自动获取子网页中某区域行业产品价格数据并进行存储。

进一步的,所述对数据进行预处理得到用电量序列,包括以下步骤:

步骤S31:选取用电基准值;

步骤S32:计算基于用电基准值的各月份用电量;

步骤S33:将各月份用电量贴上月份标签,得到以月份为标签的用电量序列。

进一步的,所述对数据进行预处理得到价格变化率序列,包括以下步骤:

步骤S34:计算行业产品月度价格;

步骤S35:计算行业产品月度价格序列;

步骤S36:计算价格变化率序列。

进一步的,所述平稳性检验采用单位根检验方法。

进一步的,所述单位根检验方法包括ADF方法。

进一步的,所述平稳化操作包括对数据序列进行若干次差分运算。

进一步的,所述以用电量序列和价格变化率序列构建不同参数组合的ARIMAX模型并计算选择预测模型,包括以下步骤:

步骤S61:将用电量序列作为响应变量、将滞后若干月份数的价格变化率序列作为外部变量构建ARIMAX(p,d,q)模型,其中将p和q限制为0、1、2范围内,d为对用电量序列平稳化操作的差分次数;

步骤S61:将AIC值最小的ARIMAX(p,d,q)模型经过数据模拟、白噪声检验后确定预测模型。

一种考虑价格变化因素的行业用电量预测系统,用于实施以上所述的考虑价格变化因素的行业用电量预测方法,包括数据收集模块、数据预处理模块、序列平稳化模块、Granger因果检验模块、模型构建模块、模型选择模块和模型预测模块;所述数据预处理模块分别与数据收集模块和序列平稳化模块连接,以将数据收集模块收集的行业产品月度价格数据和行业月度用电量数据预处理得到用电量序列和价格变化率序列,传递给序列平稳化模块进行平稳性检验;所述Granger因果检验模块分别与序列平稳化模块和模型构建模块连接,将经过平稳性检验的用电量序列和价格变化率序列进行因果关系检验后传递给模型构建模块构建ARIMAX(p,d,q)模型;所述模型选择模块分别与模型构建模块和模型预测模块连接,将构建的ARIMAX(p,d,q)模型进行计算、检验后选择最优ARIMAX模型作为预测模型传递给模型预测模块用于预测行业用电量。

本发明实施例提供的一种考虑价格变化因素的行业用电量预测方法及系统,所述系统根据所述方法先采用定向网络爬虫等技术获取行业月度用电量数据和行业产品月度价格数据,并对数据进行预处理得到用电量序列和价格变化率序列,然后对用电量序列和价格变化率序列分别进行平稳性检验,以及使用Granger因果检验检验用电量序列和价格变化率序列之间的因果关系并得到滞后月份数,再使用用电量序列和价格变化率序列构建不同参数组合的ARIMAX模型并计算、选择预测模型用于预测未来行业月度用电量。本发明能够收集地区行业主要产品历史价格数据和地区行业历史用电量数据,将价格变化因素引入对行业用电量预测模型当中,提高预测模型对于行业用电量预测的准确率,可以为电企人员判断行业用电需求提供辅助决策。

附图说明

图1为一种考虑价格变化因素的行业用电量预测方法流程图;

图2为获取行业产品月度价格数据流程图;

图3为考虑以及不考虑价格因素预测的月度用电量与实际用电量对比图;

图4为一种考虑价格变化因素的行业用电量预测系统结构示意图。

具体实施方式

下面结合附图对本公开实施例进行详细描述。

以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

实施例一

图1为本发明实施例中一种考虑价格变化因素的行业用电量预测方法流程图,在本实施例中选择的是某区域钢铁行业,包括以下步骤:

步骤S1:获取行业月度用电量数据;

步骤S2:获取行业产品月度价格数据;

步骤S3:对数据进行预处理得到用电量序列和价格变化率序列;

步骤S4:对用电量序列和价格变化率序列分别进行平稳性检验,若检验不通过则需进行平稳化操作直到通过;

步骤S5:使用Granger因果检验检验用电量序列和价格变化率序列之间的因果关系;

步骤S6:使用用电量序列和价格变化率序列构建不同参数组合的ARIMAX模型并计算选择预测模型;

步骤S7:使用预测模型预测未来行业月度用电量。

具体实施中,步骤S1所述获取行业月度用电量数据是从某区域电网公司获取钢铁行业用电量数据,设用电量数据的时间跨度为2018年1月至2021年6月共42个月份。

具体实施中,如图2所示,步骤S2所述获取行业产品月度价格数据为相应区域钢铁行业主要产品月度价格数据,获取方式包括使用定向网络爬虫技术,包括以下步骤:

步骤S21:获取公布区域行业产品月度价格数据的主网页网址;在本发明实施例中,公布区域行业产品月度价格数据的主网页是某钢铁工业协会官方网站下的“区域价格”栏目网页。

步骤S22:构建匹配包含区域行业产品月度价格数据的子网页字符串特征的正则表达式;在本发明实施例中,访问包含区域行业产品月度价格数据的子网页为某钢铁工业协会官方网站下的“区域价格”栏目网页,确定子网页链接的字符串名称均为“XXXX年X月第X周主要市场价格”或“XXXX年X月第X周区域价格”,构建能够匹配以“XXXX年X月”开头的字符串的正则表达式。

步骤S23:确定区域行业产品月度价格数据范围和格式;在本发明实施例中,通过访问子网页确定获取的数据范围为6种主要钢材,分别为:高线HPB300、螺纹钢HRB400、角钢Q235、中厚板Q235、热板卷Q235和冷薄板SPCC;确定区域钢材价格数据在部分子网页中是以图片形式展现,在其余的子网页中是以表格的形式展现,便于在后续的步骤中针对两种不同格式的数据进行分别处理。由于获取的某区域钢铁行业月度用电量数据的时间跨度为2018年1月至2021年6月,为了保证一定的弹性空间,选择获取的某区域主要钢材价格数据的时间跨度为2017年1月至2021年6月。

步骤S24:根据所构建的正则表达式,使用计算机程序自动获取并记录子网页的链接地址;在本发明实施例中,通过Python程序代码实现以下功能:控制开源网页自动化测试工具访问某钢铁工业协会官方网站的“区域价格”页面,获取当前页面中所有的HTML元素,遍历所有HTML元素包含的字符串,若该字符串能够匹配步骤S22中构建的正则表达式,则代表该HTML元素链接向含有区域钢材价格数据的子网页,将该子网页的链接地址记录在一个文本文档当中;若当前页面所有HTML元素已经遍历完毕而未完全获得所需要的时间段的数据,则控制开源网页自动化测试工具点击页面中的“下一页”,然后重新获取页面的HTML元素,重复遍历、匹配和记录的工作,直到公布2017年1月至2021年6月某区域钢材数据所有的子页面的链接地址都被记录下来。

步骤S25:使用计算机程序自动获取子网页中某区域行业产品价格数据并进行存储;在本发明实施例中,根据记录的子网页链接地址以及区域行业产品价格数据范围和格式,通过Python程序代码实现以下功能:遍历步骤S24中记录的链接地址,控制开源网页自动化测试工具依次访问这些链接地址指向的子网页,获取子网页所有HTML元素,将其交给HTML数据提取工具,当子网页HTML元素中存在图片,则将该图片下载并存储在本地电脑中;当子网页HTML元素中存在表格,则将该表格当中所有的字符串存储在本地电脑的Excel表格当中。

具体实施中,步骤S3中所述对数据进行预处理得到用电量序列,包括以下步骤:

步骤S31:选取某区域、某行业在某一个月度作为基准月份,在该月份该行业的实际用电量为用电基准值,所述该基准月份一般采用某个年份的第一个月,本实施例中可以选择某区域钢铁行业在2011年度1月份的用电量为基准值;

步骤S32:获取基准月份之后某一段时间内该行业各个月份的实际用电量,设基于用电基准值的各个月份用电量为各个月份实际用电量与用电基准值的比值;本实施例中选择2018年1月至2021年6月总共42个历史月份,以得到这42个月份的用电量;

步骤S33:将各个月份用电量贴上月份标签,得到以月份为标签,内容为该行业的月度用电量序列,本实施例中得到的是某区域钢铁行业的用电量的时间序列。

具体实施中,步骤S3中所述对数据进行预处理得到价格变化率序列,包括以下步骤:

步骤S34:计算行业产品月度价格,计算公式如下:

其中,c

步骤S35:计算行业产品月度价格序列;对2017年1月至2021年6月的所有月份的某区域监测网点主要钢材价格数据重复上述步骤S31的计算,得到了时间跨度为2017年1月至2021年6月的某区域钢材月度价格序列。

步骤S36:计算价格变化率序列,月度价格变化率的计算公式如下:

其中t表示月份,x

对一段时间内各个月份的行业产品价格进行重复上述计算,就得到了价格变化率序列。本实施例中,对2017年1月至2021年6月某区域钢材月度价格序列重复上述计算,得到了时间跨度为2017年2月至2021年6月的某区域钢材价格变化率序列。

具体实施中,步骤S4中所述对用电量序列和价格变化率序列分别进行平稳性检验,若检验不通过则需进行平稳化操作直到通过。所述平稳性检验包括单位根检验方法,所述单位根检验方法的其理论基础是:如果数据序列是平稳的,那么该数据序列的所有特征根都应该在单位圆内;如果数据序列有特征根在单位圆上或者单位圆外,那么数据序列非平稳。所述单位根检验方法包括ADF方法,所述ADF方法是一种常见的可以对任意时段的数据序列进行平稳性检验的单位根检验方法。所述平稳化操作包括对数据序列进行1次差分运算。

在本实施例中,使用ADF方法对价格变化率序列进行平稳性检验,检验原假设为序列非平稳,备择假设为序列平稳,在显著性水平为0.05的情况下,若P值小于0.05可以拒绝原假设,选择备择假设。首先使用ADF方法对价格变化率序列进行平稳性检验,检验结果显示价格变化率序列平稳;然后继续对用电量序列进行平稳性检验,结果显示在显著性水平为0.05的情况下未通过平稳性检验,需要对其进行平稳化操作,即对其进行1次差分运算,得到的用电量序列通过了平稳性检验,记差分次数d=1。各数据序列平稳性检验结果如表1所示:

表1

具体实施中,步骤S5中所述的Granger因果检验的原假设为两个序列无因果关系,备择假设为两个序列有因果关系,在显著性水平为0.1的情况下,若P值小于0.1可以拒绝原假设,选择备择假设。在本发明实施例中,使用差分次数为1的用电量序列与价格变化率序列进行Granger因果检验,用电量序列和价格变化率序列的Granger因果检验结果如表2所示,可以认为滞后2月份或者3月份的价格变化率序列是差分次数为1的用电量序列的Granger原因,取最小P值,即最佳滞后月份数m=2。

表2

具体实施中,步骤S6中所述使用用电量序列和价格变化率序列构建不同参数组合的ARIMAX模型并计算选择预测模型,是指使用用电量序列作为响应变量、滞后若干月份数的价格变化率序列作为外部变量构建ARIMAX(p,d,q)模型,其中将p和q限制为0、1、2范围内,d为对用电量序列平稳化操作的差分次数;选择选择AIC值最小的模型经过数据模拟、白噪声检验后确定预测模型。

在本发明实施例中,使用用电量序列作为响应变量,使用滞后2月份的价格变化率序列作为外部变量构建ARIMAX(p,d,q)模型,将响应变量与外部变量进行一一对应,即使用2018年1月至2021年6月某区域钢铁行业月度用电量序列作为响应变量,使用2017年11月至2021年4月某区域钢材月度价格变化率序列作为外部变量。将p和q限制为0、1、2范围内,由步骤S4可知d=1,构建所有ARIMAX(p,d,q)模型,即ARIMAX(0,1,2)、ARIMAX(1,1,2)、ARIMAX(2,1,0)、ARIMAX(2,1,2)、ARIMAX(1,1,1)、ARIMAX(2,1,1)、ARIMAX(1,1,0)、ARIMAX(0,1,1)、ARIMAX(0,1,0)一共9个模型,采用AIC值对构建的9种不同参数组合ARIMAX模型进行评价。AIC值的计算公式如下:

AIC=2k-2l n(L)

其中k为模型的未知参数个数,L为模型的极大似然函数值。

通常模型的极大似然函数越大,说明模型拟合效果较好;模型未知参数越多,未知参数估计难度越大;因此一个好的拟合模型应该是一个拟合精度和未知参数个数的综合最优配置,AIC值正是基于这种思想下提出的,使AIC值达到最小的模型是最优模型。所构建的9种参数的ARIMAX(p,d,q)模型的AIC值如表3所示:

表3

从表3中初步选择AIC值最小的ARIMAX(0,1,2)作为预测模型。使用考虑价格变化因素的模型ARIMAX(0,1,2),生成2021年3月至2021年6月的某区域钢铁行业月度用电量拟合值;采用相同的参数与数据,构建不考虑价格变化因素的某区域钢铁行业用电量预测模型ARIMA(0,1,2),生成2021年3月至2021年6月的某区域钢铁行业月度用电量拟合值。两种模型的拟合值与实际值误差百分比如表4所示,表4结果显示考虑价格变化因素的ARIMAX(0,1,2)模型相比于不考虑价格变化因素的ARIMA(0,1,2)模型在预测误差百分比方面有所降低,即考虑价格变化因素使得预测准确率有所提高。

表4

对ARIMAX(0,1,2)模型的残差序列进行白噪声检验,白噪声检验的原假设为序列是白噪声序列,备择假设为序列不是白噪声序列,在显著性水平0.05的情况下,若P值小于0.05可以拒绝原假设,白噪声序列也被称为纯随机序列,说明该序列无可用的信息提取。ARIMAX(0,1,2)模型的残差序列白噪声检验结果显示在显著性水平0.05的情况下ARIMAX(0,1,2)模型的残差序列不能拒绝原假设,即ARIMAX(0,1,2)模型的残差序列是白噪声序列,这证明模型的残差无可用信息,即模型完全提取了所用构建序列中的有效信息,检验结果如表5所示:

表5

根据以上结果,确定使用ARIMAX(0,1,2)模型作为预测模型,将此模型应用于2018年1月至2021年6月某区域钢铁行业月度用电量预测(拟合)的效果如图3所示。在图3中,使用考虑价格变化因素的ARIMAX(0,1,2)模型与不考虑价格变化因素的ARIMAX(0,1,2)模型,分别生成2018年1月至2021年6月某区域钢铁行业月度用电量拟合值序列,与2018年1月至2021年6月某区域钢铁行业月度用电量实际值序列进行对比,以上三种序列对比折线图在图中呈现,其中虚线表示考虑价格变化因素的ARIMAX(0,1,2)模型的拟合值序列,点状虚线表示不考虑价格变化因素的ARIMAX(0,1,2)模型的拟合值序列,实线表示实际值序列。由图3的预测(拟合)结果可见,在2019年7月至2019年12月、2021年1月至2021年6月等时间段,考虑价格变化因素模型得到的拟合值要比不考虑价格变化因素模型得到的拟合值更加接近实际值,说明采用本专利所述的方法,在模型建立过程中考虑价格变化因素,可以有效提高行业用电量预测的准确度。

在本发明实施例中,步骤S7通过以下例子说明预测模型的具体使用方法。假设用户需要对2021年6月至2021年7月总共2个月份的某区域钢铁行业月度用电量进行预测,即要通过预测模型得到2021年7月至2021年8月的某区域钢铁行业月度用电量序列

实施例二

如图4所示为一种考虑价格变化因素的行业用电量预测系统,用于实施以上实施例中所述的一种考虑价格变化因素的行业用电量预测方法。所述系统包括数据收集模块、数据预处理模块、序列平稳化模块、Granger因果检验模块、模型构建模块、模型选择模块和模型预测模块。

所述数据预处理模块分别与数据收集模块和序列平稳化模块连接,以将数据收集模块收集的某一区域行业产品月度价格数据和行业月度用电量数据预处理,生成月份时间索引,得到用电量序列和构建区域行业产品月度价格序列并计算得到价格变化率序列,传递给序列平稳化模块进行平稳性检验;若平稳性检验不通过,序列平稳化模块则会对相应序列进行差分操作,直到该序列平稳,其中差分次数记为d。

所述Granger因果检验模块分别与序列平稳化模块和模型构建模块连接,将经过平稳性检验的用电量序列和价格变化率序列进行因果关系检验后传递给模型构建模块构建ARIMAX(p,d,q)模型,其中存在单因果关系的条件下,确定价格变化率序列对于用电量序列的最佳滞后月份数记为m,若无因果关系,则将m设置为0。

所述模型选择模块分别与模型构建模块和模型预测模块连接,模型构建模块用电量序列作为响应变量,生成滞后m月份的价格变化率序列作为外部变量,使用差分次数d,将参数p和q限制为0、1、2,总共构建9种不同参数组合的ARIMAX(p,d,q)模型。模型选择模块以AIC准则为基础,比较所述9种不同参数组合ARIMAX(p,d,q)模型的AIC值,选择所述AIC值最小ARIMAX(p,d,q)模型经过计算、白噪声检验后作为预测模型传递给模型预测模块用于预测行业用电量。

本发明实施例提供的一种考虑价格变化因素的行业用电量预测方法及系统,所述系统包括数据收集模块、数据预处理模块、序列平稳化模块、Granger因果检验模块、模型构建模块、模型选择模块和模型预测模块,所述系统根据所述方法先采用定向网络爬虫等技术获取行业月度用电量数据和行业产品月度价格数据,并对数据进行预处理得到用电量序列和价格变化率序列,然后对用电量序列和价格变化率序列分别进行平稳性检验,以及使用Granger因果检验检验用电量序列和价格变化率序列之间的因果关系并得到滞后月份数,再使用用电量序列和价格变化率序列构建不同参数组合的ARIMAX模型并计算、选择预测模型用于预测未来行业月度用电量。本发明能够收集地区行业主要产品历史价格数据和地区行业历史用电量数据,将价格变化因素引入对行业用电量预测模型当中,提高预测模型对于行业用电量预测的准确率,可以为电企人员判断行业用电需求提供辅助决策。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接或彼此可通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

以上仅为说明本发明的实施方式,并不用于限制本发明,对于本领域的技术人员来说,凡在本发明的精神和原则之内,不经过创造性劳动所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号