1.本发明涉及数据处理的技术领域,尤其涉及一种数据处理预测的方法。
背景技术:
2.在企业的运营过程中,会产生大量的数据,这些电子数据的管理主要包括两方面问题,一是安全问题,电力数据包含着大量涉及用户隐私、企业核心商业利益的数据,直接使用原始数据存在极大的数据安全隐患,不仅会泄露用户隐私,还会危及企业和社会安全,为防止数据泄露,目前在数据的改动方面,存在审批严格,流程繁琐等缺陷。
3.二是数据分析预测问题,数据主要来源于信息采集、营销业务等系统。这些系统数据一方面由于人为录入等原因,存在异常数据,无法直接用于数据分析预测工作,在修改方面,又会遇到前述的问题。
4.经上述的技术分析,现有技术中存在企业的数据在整个使用、模型预测、数据导出后的安全性方面,存在加密环节覆盖环节少的缺陷。
技术实现要素:
5.本发明实施例提供了一种数据处理预测的方法,以解决现有技术数据在非密状态下使用,缺少安全性的缺陷。
6.本发明实施例提供了一种数据处理预测的方法,包括:
7.步骤1:将执行完预处理操作后的电力领域的加密数据,导入多个预测模型,得到每个所述预测模型产生的所述加密数据对应的预测结果;同时保存所述预处理操作的每个步骤的指令和参数;
8.步骤2:对所述多个预测结果进行主成分分析,确定最优的一个预测模型;
9.步骤3:使用所述最优的预测模型和所述保存的指令和参数,对同类的电力领域数据进行预测。
10.优选的,所述预处理操作包括:数据清洗处理、数据回填处理、和/或数据归一化处理;
11.所述加密数据为所述预处理操作后,进行加密的数据,或所述预处理操作过程中,进行加密的数据。
12.优选的,所述多个预测模型包括以下之一:
13.随机森林算法模型、svm算法模型、xgboost算法模型、dnn算法模型。
14.优选的,所述电力领域的加密数据包括设置的多组数据,每组数据,分别执行步骤1和步骤2,确定出当前组数据的第一最优预测模型;
15.将多组数据一一对应的多个第一最优预测模型,重复执行步骤2,得出第二最优预测模型,作为所述电力领域的加密数据的最优预测模型。
16.优选的,所述加密数据通过以下步骤得到:
17.所述待加密数据为类别型列,对其进行自然整数编码加密;
18.所述待加密数据为日期型列,编码后的日期等于编码前的日期加随机密钥天数;
19.所述待加密数据为数字型列,采用以下方式之一加密:1:乘以以e为底取随机数秘钥对数;2:乘以以10为底取随机数秘钥对数;3:乘以随机数秘钥的平方根;4:乘以随机数秘钥的三次方根;5:乘以千分之一倍的随机数秘钥。
20.优选的,所述加密数据为线损数据,所述每组数据至少包括:线路的年龄、地域、温湿度、材质。
21.优选的,所述预测结果包括线损的预测值;还包括:根据所述预测值,预测线损的轻、中、重度的损耗程度。
22.优选的,还包括,对所述数据的存放地址进行加密操作。
23.优选的,本发明还提供一种数据处理预测的计算机设备,所述设备具有计算机芯片,内置有程序,所述程序执行上述权利要求中所述的方法实施例。
24.本发明可以实现在预测结果的过程中,实现数据的加密处理,数据的加密处理,可以包括数据内容的加密处理,还可以包括数据的存储地址的加密处理。地址加密可以确保专人使用数据专人负责,在进行主成分分析时使用加密数据,在进行模型训练时使用加密数据,在进行模型预测时通过数据预处理工具将预测数据也进行加密。
25.以实现电力数据在使用过程中的安全性,本方法集数据加密及数据分析预测于一体,能让数据分析更灵活,数据分析工作效率大幅提升。让数据安全有保障,,解密只能在固定硬件设备上完成,完全杜绝了数据泄露,保证了数据的安全性。
26.通过上述的方法,本发明对于符合要求的模型,可以后续执行重复性的数据预测工作。这些数据的预测包括线损数据、变压器数据、换流站的监测数据等。
附图说明
27.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
28.图1是本发明一优选实施例的流程图;
29.图2是本发明实施例中的预处理过程的流程图;
30.图3是本发明实施例中的数据预处理过程勾选的操作选项的截图;
31.图4是本发明实施例中的数据导入并输出预测结果的示例截图。
具体实施方式
32.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
33.本发明的实施例,参见图1,包括以下步骤:
34.步骤1:将执行完预处理操作后的电力领域的加密数据,导入多个预测模型,得到每个所述预测模型产生的所述加密数据对应的预测结果;同时保存所述预处理操作的每个
步骤的指令和参数;
35.步骤2:对所述多个预测结果进行主成分分析,确定最优的一个预测模型;
36.步骤3:使用所述最优的预测模型和所述保存的指令和参数,对同类的电力领域数据进行预测。
37.通过上述的步骤,本发明可以实现在预测结果的过程中,实现数据的加密处理,数据的加密处理,可以包括数据内容的加密处理,还可以包括数据的存储地址的加密处理。地址加密可以确保专人使用数据专人负责,在进行主成分分析时使用加密数据,在进行模型训练时使用加密数据,在进行模型预测时通过数据预处理工具将预测数据也进行加密。
38.以实现电力数据在使用过程中的安全性,本方法集数据加密及数据分析预测于一体,能让数据分析更灵活,数据分析工作效率大幅提升。让数据安全有保障,,解密只能在固定硬件设备上完成,完全杜绝了数据泄露,保证了数据的安全性。
39.通过上述的方法,本发明对于符合要求的模型,可以后续执行重复性的数据预测工作。这些数据的预测包括线损数据、变压器数据、换流站的监测数据等。
40.优选的,本发明通过首次的数据不断的训练出加密数据的最优的预测模型,对于后续同类数据,既可以重新执行预测,也可以选用当前的模型进行预测,从而在保证数据加密的安全性的前提下,提升数据的使用效率。
41.下面通过本发明的一个具体的实例进行说明,本发明的实例中,以常见的线损的数据作为预测的数据。如以下表1中的数据,为采集的线损数据,包括:
42.field1~field7,共7组数据列。可以包括多种情况的数据,如统计长度、年限、温湿度系数(对应全年的温湿度波动区间)、老化系数、地域、日照系数(对应全年的光照时长的波动区间)等等。target为线路的场景,如换流站、传输局、变压器站等。field5为厂家标识,不同厂家标识具有不同的产品质量的系数,可以用户自定义自然数。
43.表1:
[0044][0045][0046]
以上表1中接收的数据,可以作为首次的原始数据。对于这类数据,需要按照一定的规则预处理。
[0047]
数据预处理:
[0048]
具体包括以下的数据预处理过程:步骤s21:数据清洗处理、步骤s22:数据回填处理、步骤s23:数据归一化处理。
[0049]
步骤s21:数据清洗处理包括:
[0050]
以下的算法说明了数据清理处理的过程:导出模型的实例如下:
[0051]
sheet名称:[sheet1]:
[0052]
列名称:[序号]:
[0053]
数据类型:[]
[0054]
1、缺失值:是否删除:[no];
[0055]
2、特定值:[],是否删除:[no];
[0056]
3、特定区间:[],是否删除:[no];
[0057]
4、字符串(文本):[],是否删除:[no];
[0058]
5、离群值:是否删除:[no];
[0059]
6、替换:[];
[0060]
列名称:[field1]:
[0061]
数据类型:[]
[0062]
1、缺失值:是否删除:[no];
[0063]
2、特定值:[],是否删除:[no];
[0064]
3、特定区间:[],是否删除:[no];
[0065]
4、字符串(文本):[],是否删除:[no];
[0066]
5、离群值:是否删除:[no];
[0067]
6、替换:[];
[0068]
列名称:[field2]:
[0069]
数据类型:[]
[0070]
1、缺失值:是否删除:[no];
[0071]
2、特定值:[],是否删除:[no];
[0072]
3、特定区间:[],是否删除:[no];
[0073]
4、字符串(文本):[],是否删除:[no];
[0074]
5、离群值:是否删除:[no];
[0075]
6、替换:[];
[0076]
同时将上述操作的指令和参数进行记录,形成txt文本,也可以是在模型训练后,导出模型时记录的操作过程。
[0077]
数据清洗操作主要是对数据进行条件删除和条件替换,可对日期、数字、字符串三种格式数据进行操作。可进行缺失值、特定值、特定区间、离群值的删除以及特定值的替换,表2是具体执行删除表1中field6的云南的操作;
[0078]
表2
[0079][0080][0081]
对表2执行替换操作,将field6中的新疆改成广州,执行后的操作如表3:
[0082]
表3
[0083][0084][0085]
步骤s22:数据回填处理:
[0086]
可选定空值进行回填,主要对类别型列、数字型列和日期型列进行有监督或无监督回填操作。首先选择工作表名称,此时会自动剔除稀疏列并将剩余字段分为类别型列、数字型列和日期型列,若数据类型不够符合实际,可手动进行修改。根据需求手动选择有监督或者无监督方式,未选择有监督,类别型列根据众数回填、数字型列根据平均值/中位数回填、日期型列根据插值回填操作;当选择有监督时,需要手动选择一个类别型列和一个数字型列,分别选择随机森林或knn回填方式,对表3进行无监督回填操作,执行后如表4所示。
[0087]
表4:
[0088][0089][0090]
对表3进行有监督回填操作,执行后如表5所示。
[0091]
表5:
[0092]
[0093][0094]
步骤s23:数据归一化处理:
[0095]
归一化功能可对数字型列的数据进行归一化处理,主要可手动选择minmax归一化或z-score标准化操作,对表5进行数据归一化,执行后如表6所示:
[0096]
表6
[0097]
[0098][0099]
数据加密操作:
[0100]
数据加密对象分成3种数据类型:类别型列、日期型列和数字型列进。
[0101]
所述待加密数据为类别型列,对其进行自然整数编码加密;
[0102]
所述待加密数据为日期型列,编码后的日期等于编码前的日期加随机密钥天数;
[0103]
所述待加密数据为数字型列,采用以下方式之一加密:1:乘以以e为底取随机数秘钥对数;2:乘以以10为底取随机数秘钥对数;3:乘以随机数秘钥的平方根;4:乘以随机数秘钥的三次方根;5:乘以千分之一倍的随机数秘钥。
[0104]
以上的加密操作,可以是对上述的预处理操作后的数据,如表6的数据,进行加密得到的数据,或所述预处理操作过程中,表1~表5的数据进行加密的数据。在实施例中,对预处理操作后的数据进行加密。
[0105]
对表6进行数据加密,执行后输出结果如表7所示:
[0106]
表7:
[0107]
[0108][0109][0110]
以上的加密的方案,除了对数据进行加密后,还可以进一步对数据存放的地址进行加密。下面通过实施例的内容介绍:
[0111]
对地址加密应用python里面的des加密,具体过程如下代码:
[0112]
#设置一个密钥
[0113]
key=b'abcdefgh'
[0114]
#需要去生成一个des对象
[0115]
des=des.new(key,des.mode_ecb)
[0116]
#需要加密的数据
[0117]
text="c:/users/lenovo/desktop/模型.txt"
[0118]
text_length=len(text)
[0119]
print("text:%s"%text)
[0120]
#des加密过程
[0121]
encode=text.encode()
[0122]
encode=encode (8-(len(encode)%8))*b'\x00'#补成8的倍数
[0123]
encrypt_text=des.encrypt(encode)
[0124]
encrypt_text=binascii.b2a_hex(encrypt_text)
[0125]
print("des加密后:" encrypt_text.decode())
[0126]
预处理数据的导出和保存:
[0127]
当进行完所有预处理操作、以及加密操作后,点击导出数据,选择路径,即可在excel中查看操作完的数据;点击导出模型,选择路径,会将所做的操作以txt的形式存储到指定位置,同时对指定的保存地址进行加密,txt的内容清晰明了。
[0128]
当下一次需要处理相同结构或类型的数据时,可导入数据和模型进行自动操作。即按照之前预处理操作过程记录的指令和参数,对下一次的数据进行相同的处理。从而提升处理的效率。
[0129]
对于加密的后的数据,通过数据的预测,可选择以下的模型进行,如选择以下之一的模型:随机森林算法模型、svm算法模型、xgboost算法模型、或dnn算法模型。本发明的实施例,在上述的加密方式和预测模型的组合下,可以实现通过加密数据进行预测,预测的准确度与未加密数据的预测相比,变化不大,预测结果,可以用于线损的定损工作,从而实现对线路的养护。
[0130]
下面以表7的数据为例,进一步说明采用各种算法模型,对线路的损伤进行预测的流程。
[0131]
在本实施例中,以随机森林模型进行预测。
[0132]
在预测之前,需要训练数据,点击导入数据,并选择加密后的数据路径,选择随机森林模型,选择目标字段target结果和进入模型的字段(field1~7),选择分类或者连续并修改重要参数,点击运行即能看到训练后的结果,其中百分之70数据用来训练,剩下百分之30数据拿来测试。根据训练数据后的模型执行预测数据功能,来对目标进行预测值的输出,随机森林的训练数据与预测数据如下:
[0133]
根据加密操作处理后的表7,选择其中可被训练预测的字段,如表8所示,从表7中选择4列字段的数据如下;
[0134]
表8
[0135][0136][0137]
表8中的数据在随机森林算法下经过0.7比例的训练后得到的测试数据
[0138]
表9,
[0139]
序号field1field2field3field4targetpredict180.0528130.0225330.1275470.13520.3380000.25688200.08450.0901330.1658110.20280.3380000.29237120.3063130.13520.3188680.27040.6760000.6422190.2323750.13520.2104530.18590.3380000.35321140.11618800.1721890.18590.3380000.32617
70.0739380.3380.01913200.0000000.00169
[0140]
根据训练后得到的随机森林训练模型对表10前四个字段field1、field2、field3、field4数据进行预测得到对应预测值的predict,即通过训练模型,对数据进行预测,最终预测出线损的类型的程度,对于0.5以下的,均为轻度的线损,对于0.5以上的为中度线损,对于大于1的情况,均为重度线损。
[0141]
随机森林算法预测:表10
[0142]
序号field1field2field3field4predict10.6074230770.74320.4386944440.3096666670.6489620.464500.3612777780.18580.3988430.2143846150.65030.2838611110.18580.3853240.1786538460.18580.2580555560.18580.3819450.1786538460.27870.3612777780.1238666670.2839260.3930384620.65030.4128888890.2477333330.5982670.2858461540.27870.2580555560.1238666670.273788000.07741666700.0084590.2143846150.37160.3096666670.18580.38532100.2501153850.65030.3096666670.1238666670.28054110.2501153850.55740.3096666670.18580.38363120.4287692310.55740.3354722220.18580.38532130.0357307690.185800.0619333330.00676140.2501153850.46450.2838611110.18580.38363150.46450.9290.7741666670.9290.64896160.2858461540.37160.5419166670.55740.64727170.7503461540.65030.7483611110.6812666670.64896180.46450.55740.6709444440.4954666670.64896190.5359615380.65030.7225555560.74320.64896200.9290.65030.9290.6812666670.64896
[0143]
同样的,还可以采用svm算法进行运算预测。同随机森林的算法的数据分配模式,其中百分之70数据用来训练,剩下百分之30数据拿来测试。训练后得到的测试数据表11。
[0144]
表11
[0145]
序号field1field2field3field4targetpredict180.0528130.0225330.1275470.13520.3380000.279198459200.08450.0901330.1658110.20280.3380000.339766621120.3063130.13520.3188680.27040.6760000.529272778190.2323750.13520.2104530.18590.3380000.390235961140.11618800.1721890.18590.3380000.36158304970.0739380.3380.01913200.0000000.068253336
[0146]
根据训练后得到的svm训练模型对表12前四个字段field1、field2、field3、field4数据进行预测得到predict,即通过训练模型,对数据进行预测,最终预测出每个序
号的线损的损坏程度,predict值越高,表示线损越严重:
[0147]
svm算法预测表12
[0148][0149][0150]
表8中的数据在xgboost算法下经过0.7比例的训练后得到的测试数据表13,
[0151]
序号field1field2field3field4targetpredict180.0528130.0225330.1275470.13520.3380000.055951029200.08450.0901330.1658110.20280.3380000.055951029120.3063130.13520.3188680.27040.6760000.653140128190.2323750.13520.2104530.18590.3380000.359041452140.11618800.1721890.18590.3380000.35904145270.0739380.3380.01913200.0000000.055951029
[0152]
根据训练后得到的xgboost训练模型对表14前四个字段field1、field2、field3、
field4数据进行预测得到predict,即通过训练模型,对数据进行预测,最终预测线损的损坏程度:
[0153]
xgboost算法预测表14
[0154]
序号field1field2field3field4predict10.6074230770.74320.4386944440.3096666670.65314012820.464500.3612777780.18580.35904145230.2143846150.65030.2838611110.18580.35904145240.1786538460.18580.2580555560.18580.35904145250.1786538460.27870.3612777780.1238666670.35904145260.3930384620.65030.4128888890.2477333330.65314012870.2858461540.27870.2580555560.1238666670.3590414528000.07741666700.05595102990.2143846150.37160.3096666670.18580.359041452100.2501153850.65030.3096666670.1238666670.359041452110.2501153850.55740.3096666670.18580.359041452120.4287692310.55740.3354722220.18580.359041452130.0357307690.185800.0619333330.055951029140.2501153850.46450.2838611110.18580.359041452150.46450.9290.7741666670.9290.653140128160.2858461540.37160.5419166670.55740.653140128170.7503461540.65030.7483611110.6812666670.653140128180.46450.55740.6709444440.4954666670.653140128190.5359615380.65030.7225555560.74320.653140128200.9290.65030.9290.6812666670.653140128
[0155]
表8中的数据在dnn算法下经过0.7比例的训练后得到的测试数据表15:
[0156]
表15
[0157][0158][0159]
根据训练后得到的dnn训练模型对表16前四个字段field1、field2、field3、field4数据进行预测得到predict,即通过训练模型,对数据进行预测,最终预测出表16线
损的损坏程度:
[0160]
dnn算法预测表16
[0161][0162][0163]
上述的预测结果,可以根据预测值,确定当前序号的线损情况。不同算法的预测结果,会存在一些偏差,整体上各个算法的预测结果,除4个黑体数据有偏离之外,其余的各类算法的predict列的数据基本一致。技术人员通过预测结果和实际的情况对比发现,也基本符合实际的线损情况,且以上预测结果是在加密后的数据状态下进行的预测,通过实施例中加密算法,可以实现在保密状态,不泄露用户数据的情况,同时实现线损的预测。下表所示的预测结果,一侧为采用加密后的数据进行的预测,另一侧为未加密数据进行的预测。其中,未加密数据的预测值,分别表示0,轻度线损,1,中度线损,2,重度线损。与加密后预测的线损的程度相比,基本吻合。
[0164]
如下表所示预测的汇总:
[0165][0166][0167]
为了获得更准确的预测算法模型、以用于处理同类或相似同类的电力数据。本发明的实施例采用了分组的方式,即对加密数据设置多组数据,每组数据,分别执行本发明实施中的预处理过程以及模型的预测,确定出当前组数据的第一最优预测模型。
[0168]
例如,在实施例中,将表中随机5个序号的数据为1组;分出4组同类的线损数据,分别用于线损的预测,同样采用本发明的实施例的步骤中数据预处理操作,以及算法模型的线损的预测。
[0169]
通过上述的预测,可以得出每组数据采用多种预测算法得出的最优的一个第一最优预测模型,在4组线损的预测数据中,得到4个最优的预测模型,分别是两个svm模型、一个xgboost算法模型、一个是dnn算法模型。
[0170]
在4个最优的预测模型分别的预测结果中,进行主成分分析,得到预测的准确度最
优的第二预测模型,如确认以dnn算法模型作为最优的第二预测模型。优选的,还可以采用预测结果较优的多个数据中,重复出现最多的模型svm作为第二最优预测模型。
[0171]
用户可以选择其中的一个第二预测模型作为所有线损数据的预测模型,以预测整体的同类数据的线损情况。此预测模型,也包含在预处理数据过程中记录的指令和参数,如预处理的过程和选择的加密方式等。申请人在实践中发现,当数据分组量大于1千组以上,采用上述的两次模型筛选的方式,可以获得预测度更准确的预测模型,用于后续的海量数据的线损预测,且并不因为实施例中加密方式对准确度的影响。
[0172]
在上述的实施例中,对同一组数据,经过上述的预处理和预测过程,可以得出预测结果准确度最优的数据和采用的模型。如下表17所示:在表中,对于排位靠后的数据,用户可以分析其数据本身对预测结果的影响,从而筛选出不合适的数据,在下一次的数据预测时,将不合适的数据清洗掉。从而影响后续的优化。
[0173]
表17
[0174]
[0175][0176]
通过以上的过程,获得预测结果后。对于上述的数据,由于数据的各个步骤均记录了操作过程和参数。在解密过程,可以采用逆向操作以及需要鉴权的特定硬件设备,才能实现恢复其中的电力数据,从而提升了数据的保密和安全性。
[0177]
本发明的实施例还提供一种数据处理预测的计算机设备,所述设备具有计算机芯片,内置有程序,所述程序执行上述实施例中的所述的方法。
[0178]
这种计算机设备,可以是笔记本、也可以是平板电脑或智能手机等。
[0179]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
转载请注明原文地址:https://tc.8miu.com/read-508.html