MaxCompute平台非标准日期和气象数据处理方法

  • 时间:
  • 浏览:0

3.1 非标准日期的解决妙招

tianchi_power

1

1)将数据表中所有的数据类型都找出来,观察其构成情況及类别;

2)构建过拟合的模型来填充缺失值;



3)用修订数据构建模型一来预测趋势,原始数据构建模型二来预测用电量水平(大致值),再对有有3个多 模型进行加权融合;

bigint

1031

用电量

二、赛题解读

可能社会事件等不可知,要怎样让本次比赛中亲戚朋友 侧重解决缺失值和气象数据的间题,将主要工作集中在有有3个多 地方:

1)对用户进行分类,按不同的类别分别解决;

四、模型构建与融合

其中模型一的价值形式提取及模型构建的实现代码如下:

亲戚朋友 在前期做光伏电站超短期发电功率预测时,发现缺失值和数值天气预报数据对预测精度的影响最大,要怎样让国网的企业标准中对负荷预测的影响因素后会个大致的介绍:

按什儿 思路解决后的气象数据的格式能并能用如下的ODPS SQL句子来创建,要怎样让用于OPEN_MR的输出表:

从上边的气象数据能并能看出来,其中的气象、风速、风向等后会字符串数据,需用转打上去数值型的数据并能用于机器学习模型。可能这里用的字符串可能的类型有限,其中什儿 妙招是将字符串排序,用序号代表该字符串的编码,直接用于机器学习模型的输入价值形式。什儿 妙招的好处是解决简单,借助ODPS SQL内置的row_number函数能并能很方便的进行实现。要怎样让什儿 时间的缺点也很明显:没有充分的利用不同气象类型之间的关联关系,比如大雨跟大到暴雨的关系。要怎样让,亲戚朋友 这里采用了OPEN_MR来对气象数据进行了完整性的解决,主要的解决思路为:

这段代码中基本包括了利用MaxCompute平台的ODPS SQL代码来分类整理日期数据格式和提取日期价值形式的完整性常用操作,借助MaxCompute来进行时间序列价值形式分析和预测的亲戚朋友 都能并能考虑借鉴和完善这段代码来提取另一方的日期价值形式。在这里,可能 通过对比赛数据的分析,能并能很容易的发现节假日对每日用电总量的影响非常大,要怎样让节假日对每日用电总量的影响有一定的延续性,比如什么都有有节日快到的后后,用电量会老会 增加可能下降,什么都有有节日后后开始后,会有连续几天的用电量增加可能下降,要怎样让这里对节假日做了比较细致的解决,增加了节前1/2/7天 和节后1/2/7天 的价值形式。

日期



3.2 节假日的实现

tianchi_power_answer

可能这里构建的模型是用于填充缺失数据,有别于用来预测未来数据的模型,这应该有意的利用同一用户缺失值俯近两侧的用电信息以及不同用户在同一时期的用电量等信息,构建“穿越”待预测日的过拟合模型,更好的填充缺失值。这里用于缺失值填充的过拟合模型的价值形式提取及预测的全过程代码如下所示:

2)对这类 大客户的缺失用电量进行填充,抵消偶然事件对用电趋势的影响,从而构建模型来预测每日用电量的趋势,再配合用真实用电量(未填充)模型的预测结果来获得最终预测结果;

这是有有3个多 短期负荷预测(short-term load forecasting)间题,国家电网于2010年曾出台过 国家电网企业标准 Q/GDW 552-2010 《电网短期超短期负荷预测技术规范》,在规范中对相关的术语、预测内容、误差计算公式、常用的预测算法等都做了介绍。在本次比赛中,可能负荷预测的用途不一样,要怎样让并未完整性遵守国家电网的企业标准中规定的预测内容(时间粒度和待预测时长),要怎样让预测误差评价公式也采用了自定义的公式,但间题的本质并未改变,仍然是有有3个多 短期负荷预测间题。

本次竞赛主要数据源为企业用电量表Tianchi_power,抽取了扬中市高新区的100多家企业的用电量(数据进行了脱敏),包括企业ID(匿名化解决),日期和用电量。具体字段如下表:

20100101

企业id

3)对于每个类型的气象,设计 气象类型(晴、雪、雨等)、气象等级(小雨、中雨、大雨、暴雨等分别从1后后开始编号)、气象组合(气象类型+气象等级);

string

列名

3.3 气象数据解决

2)考虑到每项气象没有什儿 类型,比如“大雨、中雨、小雨”,而有的气象是什儿 气象类型,如“大到暴雨、多云转阴”等,要怎样让,将所有气象进行统一:没有什儿 类型的,就用有有3个多 一样的类型来表示;

利用什儿 代码,能并能方便的将2016/1/1什儿 非标准的日期数据转化为bigint类型的201100101这类 数据,后续能并能非常方便的用 to_data(cast(xxx as string),'yyyymmdd') 函数来将这类 数据转化成日期类型,在利用ODPS SQL内置的函数来提取日期价值形式。

模型二的价值形式提取、模型构建及模型融合代码如下:

预测的用电量

三、 数据预解决

从mapper总获得原始数据,要怎样让进行解决,再将结果输出到reducer中去,其主流程代码如下:

bigint

利用ODPS SQL提供的字符串正则解决函数regexp_extract,分别提取年、月、日的数据,要怎样让转打上去标准日期格式,代码如下:

示例

列名

含义

五、总结与展望

为了实现对气象数据的解析,编写了有有3个多 OPEN_MR来进行解决,其核心代码如下:

3.4 过拟合模型实现缺失数据填充

user_id

其中,气象数据转化为编码的代码如下:

1031

predict_date

日期

示例

record_date

可能比赛过程中原则上是不允许上传和下载数据的,要怎样让正规的做法是通过ODPS SQL中的case when来实现节假日的解决。这里给出节假日及日期价值形式的解决代码:

2016/9/1

power_consumption

在做什儿 赛题的后后,选泽解题思路是用有有3个多 模型来分别预测趋势和用电量水平,要怎样让再进行融合,其思路如下图所示:



气象数据表为tianchi_weather_data,起内容如下表所示:

1)对官方给定的气象数据进行编码、变换等,构建完善的气象数据价值形式;

一、 赛题说明

含义

类型

摘要:MaxCompute平台支持的日期格式通常是对齐的日期格式诸如20170725或2017/07/25什儿 ,而本次电力AI赛提供的日期格式却是未对齐的非标准(相对MaxCompute平台来说)的日期格式2016/1/1什儿 ,使得无法直接使用ODPS SQL中的日期函数来进行解决。一同,电力AI赛提供的气象数据并后会可能数值化的数据,也使得什么都有有什么都有有团队未能将气象数据利用起来(现已公开解决方案的团队,基本上天气数据中的气象、风速和风向信息等都未使用),而气象数据通常来说对短期负荷预测具有较大的影响。本文将完整性介绍利用MaxCompute的ODPS SQL解决电力AI赛的非标准日期数据的妙招和利用OPEN_MR来解决天气数据的完整性妙招,并给出在MaxCompute平台上使用ODPS SQL、OPEN_MR和PAI命令来完成从数据预解决、价值形式提取到预测结果的全过程,供亲戚朋友 参考,一同欢迎各位批评指正。

阿里云的MaxCompute平台具有非常强大的功能和开放式的接口,使得能并能非常方便的解决各类数据并快速高效的完成数据分析和预测。本文介绍的内容,除了气象每项的数据是后后利用零散时间解决的之外(为宜花了没有1天的时间),什么都有有代码后会在电力AI赛的复赛换数据后后后开始的2天内临时赶出来的,组件MaxCompute的强大。实际上,除了可能比赛平台的OPEN_MR每项目前无法集成到ODPS SQL,什么都有有什么都有有运行需用用中断一次,什么都有有的代码都能并能只需点击一次“运行“按钮就能并能批量运行完成,直接完成从原始数据到提交结果的全过程。需用注意的是,本文使用的平台是天池比赛平台,这是阿里云MaxCompute平台为了确保比赛数据安全而做了裁剪(限制)的比赛专用平台,阿里云对外开放的MaxCompute平台限制更少,功能更为强大。

bigint

power_consumption

类型

选手提交结果表 

通过前面有有3个多 每项的代码,能并能快速的完成电力负荷数据的格式转化、日期和气象价值形式提取等。通过分析2016年11月的每日总用电量能并能发现,1416什儿 大客户指在2天用电缺失的情況,从而是因为那7天 的用电量异常偏低。由此能并能想到:

string

本文以阿里云天池大数据平台上举办的电力AI赛(https://tianchi.aliyun.com/competition/introduction.htm?spm=5176.10066.0.0.3f6e7d83UaNT4W&raceId=2311002)为例,介绍了借助阿里云MaxCompute平台实现电力系统负荷预测的整个流程,并给出了完整性核心代码。代码头上了无秘密可言,通过对什么代码的分析,能并能很容易看出来阿里云的MaxCompute强大的功能和灵活的开放接口。实际上,可能比赛平台的限制,阿里云 MaxCompute平台上还有什么都有有什么都有有能并能辅助开发的功能尚未展示到,比要怎样视化用的DataV、商业智能引擎Quik BI等等,通过将负荷预测跟什么产品的结合,能并能很方便的实现出界面美观功能强大的电力系统应用。