大用户用水量分析讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

机器学习小组作业

题目机器学习作业之大用户用水量分析作者姓名

作者学号

指导教师

学科专业

所在学院

提交日期

大用户表

数据处理

首先对大用户表进行合并排序,同时对每1000条数据(因为kettle是以1000条数据导入一次)进行一次简单去重,减少之后去重数据量

接着,我们对数据进行过滤,将null值去除后排序去除重复数据(本来是想优化的,也即是不去掉数据而是将数据修改成符合前后数据情况的,但是发现实现有点困难)。这时原来1500万条数据只剩下816万条数据了。

接着是计算临近时间的用户的用水量

这时对用水量再次进行一次过滤,将用水量为负和正累积流量为负的值去掉

然后除杂(这里使用的是增量和标准差以及单位时间内用水量来去杂)

除杂主要是以网络上找到的资料进行的除杂,我用增长量、每天使用水量、按天算出的标准差等值来进行数据进一步过滤处理,从不同的维度来进行数据的清洗。

综上所述,清洗数据主要是以null、负值、异常数据(判断是以网络上提供的数据进行的。主要是用增长量、每天用水量、用户按天算出的用水标准差等)。

在这里,由于用户的时间间隔不稳定,有的是10分钟,有的只有1秒,还有的是4个小时,这里统一了时间间隔是1天,也即是说我将1天作为统计量来统计用户的每日用水量和标准差(标准差是用来看此用户每日是否用水偏差很大,然后便于过滤数据的),之后我再以星期几、月份、季度等划分用户用水情况,进一步寻找用户的用水规律,在总表中,我将用户的id、用水总量、用水平均值、用水标准差、用水时间占有率、周几的用水平均量、月份的用水平均量、

季度的用水平均量作为字段,这样方便我更好的了解用户的用水规律,以及划分用户情况,同时也可以通过用户总用水量的标准差来判断用户用水是否不规律或者用问题,从而进一步排除问题数据。这里我本来是想将数据时间清洗的更小,通过规律时间(比如都为4小时)来对每天的用水规律进行分析的,但是由于数据间隔问题太大,所以我用了天来进行用户数据分隔,下面是用户各个时期的用水统计表:

按天来划分的用水数据

按周一、周二……来划分的用水数据

按月份来划分的用水数据

按季度来划分的用水数据

总表:通过用户id来划分的用水数据

下面先进行用户分类

用户分类实际上用很多种方法,一种是按照每天用水量来分类,这样我们可以通过聚类分出四种用户:

从上图weka分析可以看出,大用户的用水量上,小水量的用户占了50%左右,这也就是说,绝大多数用户的用水还是有限制的,从平均值和标准差上看,大多数用户偏离程度不高,也就意味着他们用水按天来算的话是有规律的,比较稳定的。

由于之前求得值中存在很多表头读数问题,所以在这里也许也会影响情况。

下图是用sum去聚类的效果,从这里可以看出,以用水量来聚类会看出大用户之间也存在着很大的用水量差异。

下面的是用水量与偏差之间存在的聚类情况,从这里看出,大多数用水量大的用户,他的每日用水偏差也很大,这里存在着散点,这说明之前统计的数据过滤了,但是还有很多不好的数据,不然的话聚类会集中点,也不会有很大的偏差值,这是由于统计的不规律性决定的,首先,统计的时间间隔不是规律的,由于数据太大,之前的过滤主要是以删除为主,而不是使用的添加修改为主,不然的话数据处理完会很好,其次,用户的用水量统计问题很多,没有一个统一的标准去去除数据,导致一些之前就有问题的数据没有被过滤掉,从而保存在了数据中,还有就是用户用水的不规律性,这之后会通过按日统计的表进行说明。

我在数据的统计时,还加入了用户用水时间百分比(按天统计),下图就是按照用水百分比进行的聚类情况(纵轴是表示的用户不用水的日占总天数的比例),这在一定程度上将用户分为了经常用水、有时用水有时不用水、不经常用水,这里面我看了171条数据,发现最多的是经常用水的人,占了65%以上,也即是有112个人是一直在用水的(当然,由于水头度数等外部情况引起的并没有什么能够确定是因为这些情况的数据都保留了,所以可能会有些不准),这与下图的第一个聚类情况接近,所以这个聚类情况基本符合事实,当然,最好是能够将完全不用水的给分出来,这样更好的去进行分类,准确度也会更高点。从下图我们可以看出,大用户在用水方面还是很频繁的,不会像小用户那样出现很多经常不用水的情况,当然,这些不用水的用户我们还需要分析的,这需要在按天排序的表中进行,下面会给出详细说明的。

用水规律分析

由于时间间隔和表头以及时间段用水规律统计不合理,数据不能够进行更进一步的优化,所以我做了这几个用水规律统计,按天来进行用户规律分析、按星期进行用户用水规律统计、按月进行用户用水规律分析、按季度进行用户用水规律统计。

下面从大到小一次来进行分析:

首先来看看季度用水规律图:

通过使用excel表来看171个用户季度用水量情况发现,第2、3季度用水量普遍高于别的季度情况,第二、三季度,几乎占据了所有的峰顶,这也就意味着大用户第二、三季度用水量要比别的季度用水量多很多,从时间角度分析,这也是说得通的,毕竟这两个季度处在春夏之间,春天需要浇灌等,夏天天气热,经常需要洗澡等,这两个季度都是忙碌的季度,所以用水量比别的高也是很正常

的,但是从季度用水量统计情况来看,有些大用户的季度用水量为0,这也就意

味着用户很可能已经搬走了或者表坏了,这会造成上面图不太准,所以不排除这些因素的影响情况,但是总体来看还是可靠地,毕竟数据前期已经过滤充足了。

接着来看看月用水规律:

这是选取了18个用户来进行绘图的,这里可以清楚看出来2月份是用水低谷,大用户在二月份的用水量明显下折,这说明用户在二月份很少用水,而在6-9月份中,这几个月的用户用水量会有高峰,也即是说在这一部分用户用水量达到顶峰,这也符合实际情况,用户在2月份的冷天,几乎不怎么太长用水,而在6-9月份的夏天经常洗澡、洗衣服等,这些会使得用水量猛增,达到峰值也是正常的。

到这里大用户的分析结束了一半,下面是按照星期来分析的:

在这里我们选取了18个用户来进行分析,其中大多数用户在星期3、5这两个地方会有一个比较大的用水量,而周四除了个别的用户,大多数都是一个下降点位,而周二、周六也是一个较低点位,这就说明了用户用水多的时候大多集中

相关文档
最新文档