【数据挖掘】家庭用电预测——数据清洗与数据分析

本文介绍了如何利用加州大学欧文分校的个人家庭用电量数据集,进行时间序列分析,通过特征工程提取有用信息,然后探讨了从单步到多步的预测问题,涉及朴素方法、经典线性模型、机器学习和深度学习模型的应用,以支持电能调度和新能源发电预测。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务

利用一个家庭的用电量,来预测这个家庭未来的用电量。

学会了这一个例子,如果有电网数据,就可以开发出适合各种业务需求的模型。

比如:

  1.  通过预测各时段各区域的用电量来协助电网更好地实现电能调度

  2.  用于新能源电站(光伏、风力、水电)发电量预测

数据集

数据集来源:加州大学欧文分校机器学习存储库

数据集名称:Individual household electric power consumption Data Set

下载地址:

https://archive.ics.uci.edu/ml/datasets/individual+household+electric+power+consumption

数据集分析:

该数据集是一个多变量时间序列数据集,采集了法国巴黎一个家庭近四年(2006年12月至2010年11月)的用电量,采样周期为1分钟。

date:格式dd/mm/yyyy;

time:格式hh:mm:ss;

global_active_power:每分钟的有功功率(千瓦);

global_reactive_power:每分钟的无功功率(千瓦);

voltage:每分钟的平均电压(伏特);

global_intensity:每分钟的平均电流强度(安培);

sub_metering_1:厨房有功电能(瓦时),主要包含洗碗机,烤箱和微波炉;

sub_metering_2:于洗衣房有功电能(瓦时),包含洗衣机,滚筒式烘干机,冰箱和电灯;

sub_metering_3:电热水器和空调有功电能(瓦时)。

以上数据都是间隔一分钟测得的,有功功率单位为 KW,有功电能的单位为瓦时,通过有功率乘以时间(1分钟=1/60小时)乘以1000计算得到总的有功电能消耗,单位为瓦时,减去三个sub之和,得到了家庭中其他电路的电能消耗。

sub_metering_remainder = (global_active_power * 1000 / 60) - (sub_metering_1 + sub_metering_2 + sub_metering_3)

数据处理

下载后的数据是txt文件,如下图所示:

图片

读入数据:

df = pd.read_csv('household_power_consumption.txt', sep=';',header=0,low_memory=False,infer_datetime_format=True,engine='c',parse_dates={'datetime':[0,1]},index_col=['datetime'])

read_csv() 参数说明:

sep:指定列之间的分隔符为 ';',字符串格式,默认为 ‘,’;

header:指定哪一行作为列名,header=0 表示第一行数据作为列名,而不是文件的第一行作为列名;

low_memory:在内部对文件进行分块处理,从而在解析时减少了内存使用,但可能是混合类型推断。默认为 True,设置为 False 确保没有混合类型;

infer_datetime_format:设置该参数为 True 和 parse_dates 参数,pandas会推断列中日期时间字符串的格式,如果可以推断出,则切换到更快方法来解析它们。在某些情况下,这可以使解析速度提高5-10倍;

engine:要使用的解析器引擎。C引擎速度更快,而python引擎当前功能更完善;

parse_dates:{'datetime':[0,1]}将原数据中的第1、2列作为新的列名为 ‘datatime’ 的列,即将原来的日期列、时间列合并为日期时间一列;

index_col:指定’datetime’列为索引列;

看一下数据的行列数:

df.shape

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值