非侵入式电荷负载分解(Non-intrusive load monitoring,NILM)---- NILMTK(安装教程)
前段时间在做“非侵入式电荷负载分解”的项目,非侵入式电荷负载分解是开展节能工作的基础,加强能耗监控尤其是电力能耗的监测工作对提高能源利用率、实现能源的可持续发展、建设节约型社会和环节能源压力等具有重要的现实意义。
非侵入式,就是在不用安装大量的监控设备的情况下,实现总功率数据到单个电器消耗功率的分解。比如我现在拥有一年的电力数据,假设采样频率为6s钟,该电力数据包含了这一年某个家庭的总消耗功率,还有就是家庭中几种电器如冰箱、洗衣机、洗碗机等用电设备对应的采样频率为6s的消耗功率数据。我们的任务是利用这一年的功率数据作为训练,然后在一年后,只要给你一个该家庭的总功率消耗信息,利用现有训练好的算法将该总功率数据分解到各个电器的消耗功率中去。
刚接到这个项目的时候无从入手,仔细查阅了现有的关于非侵入式电荷负载分解的算法,自己总结了几个常用的算法。本篇博文主要是为开展该项目做的准备。
先简单介绍以下NILMTK这个包吧,这个包是国外的一个作者编的,具体的GitHub地址在NILMTK,使用起来还是蛮方便的,但是这个包现在的兼容性好像不太好,经常会报一些无从下手的错误,而且这个包的安装过程是比较艰辛的。笔者现在已经安装成功了,现在分享以下安装经验:
具体的英文版本的安装教程可以参考这里:Installation, 小编试过里面的一些安装方法,发现第一个安装方法对其他包的版本的要求是比较高的,也就是说兼容性不太好。这里的中文安装方法主要是利用英文安装教程中的第二种,下面简单介绍以下,以下安装过程是基于Ubuntu系统的操作的,其他的linux系统应该也不会有问题:
1.首先你得安装一个python对应版本的Anaconda,Anaconda的安装教程可以参考这里:Anaconda的安装 ,注意一定要安装和自己的python版本对应的Anaconda。
2.安装好Anaconda后,使用以下指令更新:
conda update --yes conda
3.安装HDF5 libraries 和 python-dev:
sudo apt-get install libhdf5-serial-dev python-dev
4.安装Anaconda中可能会缺少的一些库:
conda install --yes pip numpy scipy six scikit-learn pandas numexpr
pytables dateutil matplotlib networkx future
注意:如果你使用的是pandas 0.17,建议更新一下版本,因为可能会报错版本不兼容。
5.安装NILM Metadata(包含NILM的一些元数据):
git clone https://github.com/nilmtk/nilm_metadata/
cd nilm_metadata
python setup.py develop
cd ..
6.安装 psycopg2 和 postgres:
sudo apt-get install postgresql postgresql-contrib
sudo apt-get install postgresql-server-dev-all
pip install psycopg2
7.使用 pip 安装 Misc:
pip install nose coveralls coverage git+https://github.com/hmmlearn/hmmlearn.git@ae1a41e4d03ea61b7a25cba68698e8e2e52880ad#egg
8.最后安装NILMTK:
git clone https://github.com/nilmtk/nilmtk.git
cd nilmtk
python setup.py develop
cd..
- 你可以试着运行以下以下指令看看NILMTK是否安装成功。
cd nilmtk
nosetests
英文版的教程中还包含了另外几种系统的安装方法。Windows的安装方法还没有尝试过,不过linux上的安装方法这个应该是最成功也最方便的了。后面几篇博文会简单解读以下基于这个包的几种电荷分解算法。
非侵入式电荷负载分解(Non-intrusive load monitoring,NILM)---- NILMTK(安装教程)相关推荐
- 非侵入式电荷负载分解NILM中的评价指标
非侵入式电荷负载分解,即将一个家庭中的总功率数据分解到家庭中的每个电器的消耗功率上.简单理解,就是将总功率的曲线分解成各个电器的曲线.那么我们以什么为评价指标来评估分解性能的好坏呢? 下面简单介绍下几 ...
- 非侵入式负载监控(Non-intrusive load monitoring NILM)
非侵入式负载监控(Non-intrusive load monitoring NILM)是仅根据整个房屋的功率计读数估算单个设备所消耗的能量的过程.换句话说,它仅通过一个整个房屋的电表就可以判断出各类 ...
- 电气期刊论文实现:基于遗传优化的非侵入式居民负荷分解方法(有代码)
个人电气博文目录链接: 学好电气全靠它,个人电气博文目录(持续更新中-) 结果图 先上结果图 程序图,共17页. 结果误差图 和分解图 .很完美 非侵入式负荷辨识原理 非侵入式负荷监测方法是相对于侵入 ...
- “泰迪杯”挑战赛 -利用非侵入式负荷检测进行高效率数据挖掘(完整数学模型)
目录 1 研究背景与意义 2 变量说明 3 问题分析 4 问题一 4.1 数据预处理 4.1.1 降噪处理 4.1.2 数据变换 4.2 负荷特征分析 4.2.1 暂态特征 4.2.2 稳态特征 5 ...
- 微分算法 非侵入式负荷识别_基于用户用电行为和粒子群算法的非侵入式负荷识别方法...
基于用户用电行为和粒子群算法的非侵入式负荷识别方法 丁屹峰 1 ,杨 烁 1, 赵 乐 1 ,焦 然 1 ,马龙飞 1 ,许仪勋 2 ,王洪安 2 [摘 要] 居民用电行为是影响负荷识别的重要因素之一 ...
- 何为非侵入式负荷分解
0 解答 有同学提出了一些问题,我在这里再说明一次. 1)深度学习算法应用于非侵入式负荷分解是不需要事件检测的吗? 回答:是的,不需要事件检测.深度学习算法应用于负荷辨识的话,必须要有事件检测. 2) ...
- 非侵入式负荷分解之BLUED数据集
非侵入式负荷分解之BLUED数据集 BLUED数据集包含大约8天之内来自单个美国家庭的高频(12 kHz)家庭级数据.数据集的论文:<BLUED: A Fully Labeled Public ...
- 非侵入式负荷matlab程序,非侵入式负荷分解之BLUED数据集
非侵入式负荷分解之BLUED数据集 非侵入式负荷分解之BLUED数据集 BLUED数据集包含大约8天之内来自单个美国家庭的高频(12 kHz)家庭级数据.该数据集还包含一个事件列表,该列表涉及家庭中每 ...
- “泰迪杯”挑战赛 - 基于非侵入式负荷检测与分解针对日常电器的电力数据挖掘
目录 1.挖掘目标 2.分析方法与过程 2.1 问题 1 分析方法与过程 2.1.1 单个设备运行特征 2.1.2 实时用电量计算 2.2 问题 2 分析方法与过程 2.2.1 流程图 2.2.2 基 ...
最新文章
- Linux上用Docker部署Net Core项目
- python笔记:正则表达式
- 启明云端分享| ESP32-C6是乐鑫首款低功耗、高性价比的 Wi-Fi 6 和蓝牙 5 SoC,一起来看看C6还有哪些重要功能
- 汇编中addr和offset
- 【英语学习】【English L06】U03 House L1 What type of apartment do you want to rent?
- 嵌入式通过绑定实现双网卡冗余
- 查看本机的用户 net user
- IoT:BLE4.0教程一 蓝牙协议连接过程与广播分析
- cad统计面积长度插件vlx_cad计算总长度插件
- LiveZilla 3.2.0.2的汉化包
- uefi启动适合什么计算机,如何判断自己的电脑是否支持uefi启动模式?
- ROS学习之工作空间与创建过程
- 【CentOS】常用命令
- 素数和(5分) 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的
- algorithm用法
- 盛大网络董事长陈天桥 三十年河东三十年河西
- 西北农林科技大学linux实验报告,西北农林科技大学 linux考试复习提纲
- 计算机网站考点管理员,软考网络管理员考点提炼之计算机内存
- 基于Web窗体的Web应用程序的优势
- arduino串口中断数据
热门文章
- CAN FD 协议联网和测试
- oracle查询nls_language,NLS_LANGUAGE配置导致应用查询不到数据
- 计算机关机什么中的信息全部丢失,断电之后,信息全部丢失的是( )。A.RAMB.ROMC.软盘D.硬盘 - 作业在线问答...
- java技术控,探讨Java技术,努力学习,分享心得
- tranform全点解析
- 韩国这双开了挂的袜子,整个秋冬天脚后跟不干、不裂,3天就见效!!
- python照片转素描_Python3.4图片转换素描
- 现货黄金行情走势图没更新怎么办?
- windows命令行设置IP与DNS
- 安全性分析之“面向全场景的鸿蒙系统”