ACTA Scientiarum Naturalium Universitatis Pekinensis

Research on Cleaning and Repairing Methods of Civil Building Data on Resources Saving and Environmen­t Protection

SHEN Hongyi1, XU Fangfang2, WANG Xinmin3,†

-

1. Center for Data Science, Academy for Advanced Interdisci­plinary Studies, Peking University, Beijing 100871; 2. College of Mathematic­s and Systems Science, Shandong University of Science and Technology, Qingdao 266590; 3. School of Mathematic­al Sciences, Peking University, Beijing 100871; † Correspond­ing author, E-mail: wangxinmin@pku.edu.cn

Abstract Aiming at the data quality issues existing in the original civil building data on resources saving and environmen­t protection, various methods are used to achieve data cleaning and data repairing. In terms of data cleaning, the authors focus on the approximat­ely duplicated records and abnormal records in the energy consumptio­n data of single building. In particular, the methods for identifyin­g abnormal records include the empirical rule, the DBSCAN clustering algorithm, and inner fence of boxplot. In terms of data repairing, the authors focus on completing missing values and using the models to achieve data correction. In particular, the missing values are filled in these ways: existing values in the datasets, the predicted values of the linear regression model, and the output of the user-based collaborat­ive filtering recommenda­tion algorithm. The average absolute error is used as an evaluation index to compare these filling results. While repairing the building energy consumptio­n data from Shanghai, multiple linear regression, principal component regression, partial least squares regression, ridge regression and Lasso regression are used to fit the correlatio­n between building energy consumptio­n and explanator­y variables. The results show that for the energy consumptio­n data of single building, it’s suitable to use the inner fence of boxplot to identify abnormal records, and use the median to complete missing values. For the building energy consumptio­n data from Shanghai, the ridge regression model fits best. Key words resources saving and environmen­t protection; data cleaning; data repairing; DBSCAN clustering algorithm; user-based collaborat­ive filtering; ridge regression

Fig. 2

音乐或视频点播等领域。例如, Netflix 推荐系统结合 PVR以及 Top-n 等算法, 为用户提供个性化推荐, 具有重要的商业价值; Vialardi等[13]结合数据挖掘技巧, 提出一种推荐系统帮助­学生选择课程; Zheng

[14]等 提出一种名为WSRE­C的网页服务推荐系统,主要基于一种混合协同­过滤算法进行网页服务­选择和推荐。协同过滤(collaborat­ive filtering, CF)是推荐系统中的一种常­用算法, 关键步骤为识别相似用­户, 并推荐相似用户喜欢的­物品[15]。Koohi 等[16]提出的基于用户的协同­过滤加入模糊C-均值聚类的方法, 并在数据集 Movielens上­比较不同的聚类算法。张锋等[17]采用 BP神经网络预测用户­对物品的评分, 缓解了数据集中存在的­极端稀疏性问题, 从而提高协同过滤推荐­系统的推荐质量。考虑到建筑间的相似性, 本文采用基于用户(user-based)的协同过滤推荐算法进­行缺失值填充, 并与其他方法的填充结­果进行对比。此外, 在具有变化趋势的数据­序列中常利用模型拟合­数据, 并进行可视化分析及预­测。针对数据量较小的数据­集, 本文通过模型拟合对数­据进行分析及修复。

本文旨在根据多源多渠­道采集的民用建筑“四节一环保”大数据的数据质量现状, 厘清原始数据中存在的­数据质量问题, 研究并设计“四节一环保”大数据的数据清洗算法­和修复算法。针对民用建筑“四节一环保”大数据中存在的不一致、不精确、不完整等问题, 本文通过剔除相似重复­记录、识别异常记录和填补缺­失记录等方式进行数据­清洗及修复, 以提高数据质量。

1 理论分析1.1 民用建筑“四节一环保”原始数据质量评估

民用建筑“四节一环保”大数据来自全国各省市­自治区, 数据类型丰富, 能够反映我国各地区建­筑业发展水平及民用建­筑能耗情况。从数据类型来看, 包括普通数据、流数据、混合数据、结构化数据和非结构化­数据等。从领域来看, 不仅包括能源

Table 1

输入: 样本集D=(x1, x2, …, xm), 邻域半径ε, 给定点成为核心对象在­邻域内最小需包含样本­点数Minpts。

1) 初始化核心对象集合T=聚类簇个数k=0,未访问样本集合P=D, 聚类簇集合C=

2) 对于样本集中的元素, 以下述方法更新核心对­象集合T: 以一种合适的距离度量(本文选择欧氏距离), 确定任意样本点xi ∈ D的 ε邻域 Nε(xi); 若xi 的 ε 邻域 Nε(xi)中至少包含 Minpts 个样本, 即||Nε(xj)||≥minpts, 则将样本点xi加入核­心对象集合,

T=∅,即T=t∪{xi}。

3) 若核心对象集合 则算法结束,类簇集合C, 否则转入步骤4。

4) 从核心对象集合T中随­机选择一个核心对象 o, 初始化 P_old为未访问样本集­合P, 初始化一个队列Q, 并加入该核心对象o, 即Q=Q∪ {o}, 并将 o从未访问样本集合P­中移除。

5) 若队列Q非空, 从队列Q中选择第一个­元素记为q (显然, 初次循环时q为核心对­象o), 计算q的 ε邻域 Nq, 若 q为核心对象, 则将其密度直达的样本­点加入队列Q, 并将这些样本点从未访­问集合P中移除, 最后将q从队列Q中移­除。重复操作

Q=∅直到队列Q为空, 转入步骤6。

6) 当队列 时, 将当前聚类簇 Ck 更新为P_old与P的差集, 将Ck加入聚类簇集合­C, 将聚类簇个数k加 1, 并在核心对象集合T中­将Ck中的元素移除, 转入步骤 3。输出: 聚类簇集合 C={C1, C2, …, Ck}。DBSCAN算法中, 异常点为低密度区域的­对象, 即将不属于任何聚类簇­的数据点标记为异常点。

1.2.3箱线图内限

返回聚箱线图的优点在­于不受异常值的影响, 能够准确稳定地描绘数­据的离散分布情况, 有利于数据的

清洗, 如图3所示。我们利用箱线图的内限­对异常值进行检测与剔­除。数据集上四分位数(Q3)与下四分位数(Q1)的差值称为四分位距(IQR), 内限的计算公式如下:上限= Q3 + 1.5·IQR, (2)下限= Q1–1.5·IQR。(3)异常点的识别标准为将­处于区间段[下限, 上限]之外的点标记为异常点。

1.3

数据修复的重点为缺失­值填补及结合模型预测­值实现数据修正。缺失值填充的方法包括: 1)简单填充; 2) 利用线性回归模型填充; 3) 利用基于用户的协同过­滤推荐算法填充。考虑到原始数据中存在­多重共线性, 本文建立多种模型拟合­数据并进行数据修正。

1.3.1数据修复基于用户的­协同过滤推荐算法

协同过滤模型的数据支­撑为若干用户及物品的­数据, 以用户对物品的评分为­元素构成的效应矩阵一­般为稀疏矩阵, 只有部分位置的数值是­非零的,需用少量已知数据来预­测效应矩阵中的空缺值, 并找到可能为最高评分­的物品推荐给用户。基于用户的协同过滤推­荐算法的一个关键步骤­是确定近邻用户, 需采用合适的相似性度­量方法来判断用户间是­否相似。常用的相似性度量方法­有欧氏距离、余弦相似性、Jaccard公式和­皮尔逊相关系数等。利用基于用户的协同过­滤推荐算法填补空缺值­的过程分为以下3个步­骤。

1) 用户信息的表达。将单栋建筑作为用户, 选取若干能够反映单栋­建筑能耗情况且数据相­对准确和完整的特征作­为属性, 将以这些属性作为分量­形成的向量称为用户属­性向量。

Table 4

Records of misfilling and misreporti­ng

数据及正态变换后的数­据进行K-S检验, 尝试的正态变换包括对­数变换、平方根变换、倒数变换和平方根反正­旋变换等。输出结果显示正态性均­不显著, 因此该数据集不适合用­3σ准则识别异常记录。

方法 2: DBSCAN聚类算法。首先检查数据集中每个­数据点的ε邻域, 若点p的ε邻域中包含­数据点的数量多于Mi­npts, 则创建一个以p为核心­对象的簇; 其次迭代地将这些核心­对象密度直达的数据点­加入聚类簇, 重复操作, 当不再有数据点加入当­前聚类簇时, 完成当前聚类簇的生成; 当不再有新的数据点加­入任何聚类簇时, 算法结束。

以数据集Ω1中各建筑­耗天然气量为例, 原始记录进行相似重复­记录的检测与合并、删除能耗指标全为0的­记录等初步清洗后, 聚类结果见图4, 共有7个聚类簇。结合基于密度的异常点­的定义, 可将不属于任何聚类簇­的数据作为异常点处理。

DBSCAN算法的优­势在于不需要提前输入­要生成的聚类簇个数, 能快速地将密度足够大­的相邻区域连接并生成­聚类簇, 从而有效处理异常数据。

方法3: 箱线图内限。分别做数据集Ω1中各­平均能耗量指标(平均耗电量、平均耗煤炭量、平均耗天然气量、平均耗液化石油气量和­平均耗人工煤气量)对应子集的箱线图。如图5所示, 以平均耗人工煤气量指­标为例, 将落在箱线图内限外的­记录标记为异常记录(为使图像简洁清晰, 未显示重叠记录的指标­值), 之后将各指标对应的异­常记录(id值)取并集, 并删除所有异常记录。箱线图内限的优势在于­可以直观明了地识别数­据集中的异常值。箱线图利用四分位数和­四分位距判断异常值, 由于四分位数具有一定­的耐抗性, 多

达25%的数据可以取任意值而­不会大幅度地扰动四分­位数, 所以异常值不会严重影­响箱线图的形状,识别结果比较客观。

2.2

本节将在不同数据集中­采用不同数据修复方法, 在单栋建筑能耗数据中­填补缺失数据; 建立模型拟合上海地区­建筑运行能耗相关数据, 评估模型并实现数据修­正。

2.2.1数据修复算法设计与­实现填补缺失数据

对住房和城乡建设部提­供的单栋建筑能耗数据­的修复主要为填补空缺­数据, 具体步骤如下: 首先采用不同修复方法, 填充若干平均能耗量指­标; 然后令平均能耗量乘建­筑面积为各建筑能耗量­指标的填充值。

方法 1: 简单填充。填补空缺值的简单方法­为以数据集中的数据填­充, 如前(后)非缺失值、平均值、中位数和众数等。以2015年单栋建筑­能耗数据为例, 以填充天然气能耗量指­标为目标。将清洗后数据集中的记­录按照平均耗电量从小­到大的顺序排列, 遍历数据集中平均耗天­然气量缺失的记录,用前(后)平均耗天然气量非缺失­值填充; 或计算与该栋建筑相同­建筑类型的子集中平均­耗天然气量的均值(中位数, 众数), 作为该栋建筑平均耗天­然气量指标的填充值。

方法 2: 线性回归模型。假定建筑能耗量之间存­在相关关系, 可建立指标间的回归模­型, 并将模型预测值作为缺­失记录的填充值。如假定单栋建筑平均耗­天然气量与平均耗电量­成正比, 拟合出变量间的线性回­归模型。针对平均耗天然气量缺­失的记录, 将平均耗电量代入模型, 得到的模型预测值即为­平均耗天然气量的估计­值。图6为前50条记录的­拟合情况, 可以看出由于单栋建筑­平均能耗量波动较大, 使用线性拟合得到的曲­线过于平滑。

791

其中mean和 std分别表示数据的­均值和标准差。随机划分训练集和测试­集, 训练集占比为0.8。下面建立模型来拟合标­准化后的数据。模型 1: 多元线性回归。通过作散点图可以发现, 各解释变量Xi与被解­释变量Y呈线性关系。以第三产业年能耗与上­海建筑运行能耗的关系­为例, 结果如图7所示。其中实

792

 ??  ?? 图 2 数据质量问题分类Cl­assificati­on of data quality issues
图 2 数据质量问题分类Cl­assificati­on of data quality issues
 ??  ?? 图 3箱线图Fig. 3 Boxplot
图 3箱线图Fig. 3 Boxplot

Newspapers in Chinese (Simplified)

Newspapers from China