建筑物监测数据的预处理方法与流程

文档序号:28425948发布日期:2022-01-12 00:10阅读:78来源:国知局
建筑物监测数据的预处理方法与流程

1.本发明涉及数据处理技术领域,尤其涉及一种建筑物监测数据的预处理方法。


背景技术:

2.近年来,为更好的保证工程建筑物的安全,工程自动化监测和结构健康监测技术飞速发展。自动化监测和健康监测设备使用过程中,传感器可以采集大量的时间序列数据。这些时间序列数据可以被用来分析、评估和预测建筑物的安全状态。
3.但是,这些时序数据既包含了建筑物状态的参数数据,同时也包含了环境偏差、人为影响等造成的高频噪声数据。另外,由于采集到的时序数据的数据量非常大,给分析、处理和预测带来挑战,数据整体的价值密度较低。为了能更好的反映的数据的主要信息,更好地服务于分析、预测等活动,需要对数据进行降采样处理,将数据量进行压缩。
4.目前,大多采用数据抽稀或降采样方法对原始数据进行压缩处理,但是这种方法难以实现在保证数据的整体特征的同时,还能保护数据的局部特征。如果采用无滤波的降采样方法,就会容易造成数据的关键特征遗失;如果直接采用滤波的降采样方法,则无法体现出数据的局部特征。


技术实现要素:

5.本发明要解决的技术问题是:为了解决现有技术中的降采样方法无法同时满足保证数据整体特征和局部特征的技术问题。本发明提供一种建筑物监测数据的预处理方法,采用复合处理方式,一方面采用局部窗口法提取数据的局部极值特征,得到第一预处理数据;另一方面,采用箱型滤波先剔除离群数据,再通过快速傅里叶变换和低通比率器剔除高频数据,最后用降采样方法进行数据抽稀,得到第二预处理数据,最后将第一预处理数据和第二预处理数据进行合并,能够实现对数据量压缩的同时还能保留数据的整体特征和局部特征,有利于数据分析和应用。
6.本发明解决其技术问题所采用的技术方案是:一种建筑物监测数据的预处理方法,包括以下步骤:
7.s10:获取t时间内监测到的表示建筑物状态的多个数据值xj,将所述多个数据值xj按照时间标签tj的顺序进行排列组成序列组x;在所述序列组x中,时间标签tj和数据值xj是一一对应的;
8.s20:对所述序列组x中的数据值xj进行局部极值提取处理,得到多个局部极值数据片段pn;再将所述多个局部极值数据片段pn按照时间标签tn的顺序进行合并,得到第一预处理数据集p;
9.s30:对所述序列组x中的数据值xj进行降采样处理,得到第二预处理数据集d;
10.s40:将所述第一预处理数据集p和第二预处理数据集d按照时间标签tj的顺序进行合并,得到最终预处理数据集y。
11.进一步地,步骤s20的局部极值提取处理具体包括:
12.s21:设置窗口的宽度为l1,对所述序列组x进行加窗,取出在所述窗口内的序列片段xd,所述序列片段xd包括时间标签td和数据值xd;
13.s22:对所述序列片段xd内的数据值xd进行向前差分处理,得到多个向前差分数据值xf,所述时间标签td和多个向前差分数据值xf构成向前差分序列片段x
df
;对所述序列片段xd内的数据值xd进行向后差分处理,得到多个向后差分数据值xz,所述时间标签td和多个向后差分数据值xz构成向后差分序列片段x
dz

14.s23:将所述向前差分序列片段x
df
与向后差分序列片段x
dz
根据时间标签td进行对应,并将位于相同时间标签td处的多个向前差分数据值xf和多个向后差分数据值xz进行一一对应相乘,获得多个新数据值xk,每个新数据值xk均有对应的时间标签td;
15.s24:选出所述新数据值xk中大于或等于零的数据值xn,每个数据值xn均对应一个时间标签tn,时间标签tn的数量小于时间标签td的数量;每个时间标签tn对应的数据值x
jd
即为所述序列片段xd中的极值;选取所有极值中的最大值x
a1
和最小值x
b1
,以及最大值x
a1
对应的时间标签t
a1
和最小值x
b1
对应的时间标签t
b1
,所述时间标签t
a1
、时间标签t
b1
、最大值x
a1
和最小值x
b1
构成第一个局部极值序列片段p1;
16.s25:移动所述窗口的前端至所述序列片段xd的末尾,取出第二个序列片段xd,重复上述步骤s21至s24,得到第二个局部极值序列片段p2,所述第二个局部极值序列片段p2包含时间标签t
a2
、时间标签t
b2
、最大值x
a2
和最小值x
b2

17.s26:重复步骤s25,得到多个局部极值序列片段pn,每个局部极值序列片段pn均包含时间标签t
an
、时间标签t
bn
、最大值x
an
和最小值x
bn
;将所有的局部极值序列片段pn按照时间标签t
an
和时间标签t
bn
的先后顺序进行合并,得到第一预处理数据集p。
18.进一步地,所述步骤s30中降采样处理具体包括:
19.s31:采用箱型滤波方式对所述序列组x中的数据值xj进行初步过滤,得到第一过滤序列组d';
20.s32:对步骤s31中的所述第一过滤序列组d'中的剩余数据值xj进行快速傅里叶变换处理,得到剩余数据值xj对应的第一频域数据x
p1
,采用低通滤波器对所述第一频域数据x
p1
进行高频过滤处理,得到第二频域数据x
p2
,再对所述第二频域数据x
p2
进行逆变换,得到第二过滤数据序列组d”;
21.s33:设置降采样的步长为s,采用步长法对所述第二过滤数据序列组d”进行降采样处理,得到第二预处理数据集d。这里降采样的过程具体是,将第二过滤数据序列组d”按照步长s等分为若干个区间,提取每个区间里的最后一个数据值作为样本组成第二预处理数据集d,以此实现对数据数量的稀释,减少数据数量。
22.进一步地,步骤s31中采用箱型滤波方式对所述序列组x中的数据值xj进行初步过滤具体包括:
23.s31-1:设置窗口的宽度为l2,对所述序列组x进行加窗,选取在所述窗口内的序列片段xc,所述序列片段xc包括时间标签tc和数据值xc;对所述序列片段xc中的数据值xc按照从小到大进行排序,得到一个数列,将所述数列的数量从前往后进行四等分,得到四个数列块,记第一个数列块的最后一个数据值为四分之一分位数m
q1
,记第三个数列块的最后一个数据值为四分之三分位数m
q3

24.s31-2:计算四分位间距m
ir
=m
q3-m
q1

25.s31-3:计算左极限值lf=m
q1-σm
ir
,计算右极限值lr=m
q3
+σm
ir
,将左极限值和右极限值组成极限区间[lf,lr];
[0026]
s31-4:判断所述序列片段xc中的数据值xj是否落入所述极限区间[lf,lr]内,如果序列片段xc中的所有数据值xc均落在极限区间[lf,lr]内,则不做处理,保持当前序列片段xc;如果序列片段xc内的数据值xc没有全部落入所述极限区间[lf,lr]内,则认为没有落入所述极限区间[lf,lr]内的数据值xc为离群数据,则需要对离群数据进行修改;如果离群数据小于左极限值lf,则将该离群数据替换为左极限值lf,如果离群数据大于右极限值lr,则将该离群数据替换为右极限值lr,得到修改后序列片段xg;
[0027]
s31-5:将窗口的前端移动至序列片段xc的末尾,重复步骤s31-1至s31-4直至对所述序列组x内的所有数据处理完毕,即可得到所述第一过滤序列组d',所述第一过滤序列组d'是由所有序列片段xc按照时间标签tc的顺序合并得到的,或者是由部分序列片段xc和多个修改后序列片段xg按照时间标签tc的顺序合并得到的。
[0028]
进一步地,所述参数σ为0.5-1。
[0029]
本发明的有益效果如下:
[0030]
与现有技术相比,本发明的建筑物监测数据的预处理方法,采用复合处理的方法,通过局部滑动窗口法将原始数据中的局部特征提取出来,通过箱型滤波和降采样方法处理,对原始数据进行稀释,最后再将两种方式处理后的数据进行合并。这样,一方面能够压缩数据量,降低储存成本,提高后续分析处理效率,数据量压缩后,前端的绘图速度和资源占用也会得到极大的优化。另一方面,能够去除原始数据中的高频数据,提升数据的价值密度,有利于提高数据分析和预测的精度。本方法可以实现压缩后数据能够同时保留数据趋势和数据的局部特征,不仅能够提高处理效率,也能保证分析、预测的精度。
附图说明
[0031]
下面结合附图和实施例对本发明进一步说明。
[0032]
图1是本发明的建筑物监测数据的预处理方法的流程图。
[0033]
图2是本发明的局部极值提取处理的流程图。
[0034]
图3是本发明的对序列组x加窗取出在窗口内的序列片段xd的过程示意图。
[0035]
图4是本发明的向前差分序列片段x
df
的示意图。
[0036]
图5是本发明的向后差分序列片段x
dz
的示意图。
[0037]
图6是本发明的多个向前差分数据值xf和多个向后差分数据值xz进行一一对应相乘的示意图。
[0038]
图7是本发明的极值提取后的示意图。
[0039]
图8是本发明的局部极值序列片段p1的示意图。
[0040]
图9是本发明的对序列组x中的数据值xj进行降采样处理的流程图。
[0041]
图10是本发明的箱型滤波的流程图。
具体实施方式
[0042]
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
[0043]
降采样是一种多速率数字信号处理的技术或是降低信号采样率的过程,通常用于降低数据传输速率或者数据量大小。例如,降采样可以通过增大采样步长来减少采样数量。步长可以理解为是采样间隔的长度。
[0044]
如图1所示,一种建筑物监测数据的预处理方法包括以下步骤。
[0045]
s10:获取t时间内监测到的表示建筑物状态的多个数据值xj,将多个数据值xj按照时间标签tj的顺序进行排列组成序列组x;在序列组x中,时间标签tj和数据值xj是一一对应的。
[0046]
需要说明的是,数据值xj是由设置在建筑物上的传感器连续采集到的数据。t时间例如可以是1小时、半天或者一天等。时间标签tj是指传感器记录监测数据的时刻,在t时间内,时间标签tj例如可以是间隔1秒设置。在本实施例中,时间标签tj包含多个时间标签,数据值xj包含多个数据值,j为自然数,一个时间标签对应一个数据值。一般来说,传感器监测一次的数据可以达到几万个(例如4万个左右)。
[0047]
s20:对序列组x中的数据值xj进行局部极值提取处理,得到多个局部极值数据片段pn;再将多个局部极值数据片段pn按照时间标签tn的顺序进行合并,得到第一预处理数据集p。
[0048]
如图2所示,具体的,局部极值提取处理具体包括以下步骤。
[0049]
s21:设置窗口的宽度为l1,对序列组x进行加窗,取出在窗口内的序列片段xd,序列片段xd包括时间标签td和数据值xd。
[0050]
需要说明的是,图3是对序列组x加窗取出在窗口内的序列片段xd的过程示意图。在本实施例中,窗口例如是有一定宽度或一定形状的选择器。窗口的大小决定了选取的序列片段xd中数据的多少,可以根据实际需要对窗口的大小进行设置。例如,窗口宽度l1可以设置为采样步长的2-4倍。在本步骤中,窗口宽度l1不能设置的太小,否则会影响极值提取的准确性。也就是说,选取的序列片段xd中的数据量不能太少。在加窗处理时,窗口内可以同时看到时间标签td和数据值xd,时间标签td的数量小于时间标签tj的数量,数据值xd的数量小于数据值xj的数量。
[0051]
s22:对序列片段xd内的数据值xd进行向前差分处理,得到多个向前差分数据值xf,时间标签td和多个向前差分数据值xf构成向前差分序列片段x
df
;对序列片段xd内的数据值xd进行向后差分处理,得到多个向后差分数据值xz,时间标签td和多个向后差分数据值xz构成向后差分序列片段x
dz

[0052]
需要说明的是,例如,时间标签td包含时间标签t0、t1、...td,向前差分的公式为xf=x
d-x
(d-1)
,构成的向前差分序列片段x
df
如图4所示。向前差分序列片段x
df
中包含的时间标签为t1、t2、...td,每个时间标签对应一个向前差分数据值xf。向后差分的公式为xz=x
(d-1)-xd,构成的向后差分序列片段x
dz
如图5所示。向后差分序列片段x
dz
中包含的时间标签为t0、t1、...t
d-1
,每个时间标签对应一个向后差分数据值xz。
[0053]
s23:将向前差分序列片段x
df
与向后差分序列片段x
dz
根据时间标签td进行对应,并将位于相同时间标签td处的多个向前差分数据值xf和多个向后差分数据值xz进行一一对应相乘,获得多个新数据值xk,每个新数据值xk均有对应的时间标签td。
[0054]
需要说明的是,由图4和图5可知,向前差分序列片段x
df
中少了时间标签t0,向后差分序列片段x
dz
中少了时间标签td。因此,向前差分序列片段x
df
与向后差分序列片段x
dz
具有
相同的时间标签t1~t
d-1
。将位于相同时间标签处的多个向前差分数据值xf和多个向后差分数据值xz进行一一对应相乘,可以获得多个新数据值xk(如图6所示)。例如,在时间标签t1处,将向前差分数据值xf=x
1-x0与向后差分数据值xz=x
1-x2进行相乘,得到第一个新数据值x
k1
,这个新数据值x
k1
对应时间标签t1。
[0055]
s24:选出新数据值xk中大于或等于零的数据值xn,每个数据值xn均对应一个时间标签tn,时间标签tn的数量小于时间标签td的数量;每个时间标签tn对应的数据值xd即为序列片段xd中的极值。选取所有极值中的最大值x
a1
和最小值x
b1
,以及最大值x
a1
对应的时间标签t
a1
和最小值x
b1
对应的时间标签t
b1
,时间标签t
a1
、时间标签t
b1
、最大值x
a1
和最小值x
b1
构成第一个局部极值序列片段p1。
[0056]
需要说明的是,如图7所示,横坐标为时间标签,纵坐标为数据值,曲线a为由序列片段xd绘制的曲线,曲线上的圆点即为序列片段xd的所有极值。选出的数据值xn应该是多个,每个数据值xn都有对应的唯一的时间标签tn。时间标签td包含了时间标签tn,因此,根据时间标签tn可以反推,在序列片段xd中找到每个时间标签tn对应的数据值xd。这个数据值xd就是当前序列片段xd中的极值。然后在选出所有极值中的最大值x
a1
和最小值x
b1
,以及最大值x
a1
对应的时间标签t
a1
和最小值x
b1
对应的时间标签t
b1
,将时间标签t
a1
、时间标签t
b1
、最大值x
a1
和最小值x
b1
构成第一个局部极值序列片段p1。p1例如如图8所示。
[0057]
s25:移动窗口的前端至序列片段xd的末尾,取出第二个序列片段xd,重复上述步骤s21至s24,得到第二个局部极值序列片段p2,第二个局部极值序列片段p2包含时间标签t
a2
、时间标签t
b2
、最大值x
a2
和最小值x
b2

[0058]
需要说明的是,加窗处理是进行多次的,当一个序列片段xd处理完后就移动窗口,继续选取下一个序列片段xd,至到将序列组x中的所有数据处理完毕。
[0059]
s26:重复步骤s25,得到多个局部极值序列片段pn,每个局部极值序列片段pn均包含时间标签t
an
、时间标签t
bn
、最大值x
an
和最小值x
bn
;将所有的局部极值序列片段pn按照时间标签t
an
和时间标签t
bn
的先后顺序进行合并,得到第一预处理数据集p。
[0060]
需要说明的是,每一个序列片段xd处理后均可以得到一个局部极值序列片段pn。也就是说,一个序列组x可以得到多个局部极值序列片段pn,并且每个局部极值序列片段pn有其自己的时间标签t
an
和t
bn
。时间标签t
an
和t
bn
有先后顺序,根据时间标签t
an
和t
bn
的先后顺序可以将多个局部极值序列片段pn进行合并,第一预处理数据集p。也就是说,第一预处理数据集p内保留了原始数据的局部特征。
[0061]
s30:对序列组x中的数据值xj进行降采样处理,得到第二预处理数据集d。
[0062]
如图9所示,具体的,降采样处理具体包括以下步骤:
[0063]
s31:采用箱型滤波方式对序列组x中的数据值xj进行初步过滤,得到第一过滤序列组d'。
[0064]
如图10所示,需要说明的是,采用箱型滤波方式对序列组x中的数据值xj进行初步过滤具体包括以下步骤:
[0065]
s31-1:设置窗口的宽度为l2(窗口宽度l2小于或等于窗口宽度l1),对序列组x进行加窗,选取在窗口内的序列片段xc,序列片段xc包括时间标签tc和数据值xc;对序列片段xc中的数据值xc按照从小到大进行排序,得到一个数列,将数列的数量从前往后进行四等分,得到四个数列块,记第一个数列块的最后一个数据值为四分之一分位数m
q1
,记第三个数列块
的最后一个数据值为四分之三分位数m
q3

[0066]
s31-2:计算四分位间距m
ir
=m
q3-m
q1

[0067]
s31-3:计算左极限值lf=m
q1-σm
ir
,计算右极限值lr=m
q3
+σm
ir
,将左极限值和右极限值组成极限区间[lf,lr]。参数σ可以为0.5-1,σ越小,对离群数据的容忍度越小。
[0068]
s31-4:判断序列片段xc中的数据值xj是否落入极限区间[lf,lr]内,如果序列片段xc中的所有数据值xc均落在极限区间[lf,lr]内,则不做处理,保持当前序列片段xc;如果序列片段xc内的数据值xc没有全部落入极限区间[lf,lr]内,则认为没有落入极限区间[lf,lr]内的数据值xc为离群数据,则需要对离群数据进行修改;如果离群数据小于左极限值lf,则将该离群数据替换为左极限值lf,如果离群数据大于右极限值lr,则将该离群数据替换为右极限值lr,得到修改后序列片段xg。
[0069]
s31-5:将窗口的前端移动至序列片段xc的末尾,重复步骤s31-1至s31-4直至对序列组x内的所有数据处理完毕,即可得到第一过滤序列组d',第一过滤序列组d'是由所有序列片段xc按照时间标签tc的顺序合并得到的,或者是由部分序列片段xc和多个修改后序列片段xg按照时间标签tc的顺序合并得到的。
[0070]
如图所示,曲线b为右原始序列片段xc绘制的曲线,曲线c为经过箱型滤波后的第一过滤序列组d'绘制的曲线,对比曲线b和c,可以发现,经过箱型滤波后的数据变化更加平滑,离群数据已被剔除。
[0071]
s32:对步骤s31中的第一过滤序列组d'中的剩余数据值xj进行快速傅里叶变换处理,得到剩余数据值xj对应的第一频域数据x
p1
,采用低通滤波器对第一频域数据x
p1
进行高频过滤处理,得到第二频域数据x
p2
,再对第二频域数据x
p2
进行逆变换,得到第二过滤数据序列组d”。
[0072]
需要说明的是,快速傅里叶变换可以将数据值xj(时域数据)转变成频域数据。然后通过低通滤波器对第一频域数据x
p1
进行滤波,将高频数据进行剔除,低通滤波器的阈值可以设置为0.6,阈值越大,过滤掉的频谱数据越少,使得数据值xj的特征更接近真实状态。也就是说,第二频域数据x
p2
的数据量应该少于第一频域数据x
p1
的数据量。然后再将第二频域数据x
p2
进行逆变换(从频域数据转变为时域数据),得到第二过滤数据序列组d”。
[0073]
s33:设置降采样的步长为s,采用步长法对第二过滤数据序列组d”进行降采样处理,得到第二预处理数据集d。
[0074]
需要说明的是,在本实施例中,步长可以理解为是时间区间,第二过滤数据序列组d”进行降采样处理后,包含的数据量会减少。
[0075]
s40:将第一预处理数据集p和第二预处理数据集d按照时间标签tj的顺序进行合并,得到最终预处理数据集y。
[0076]
需要说明的是,第一预处理数据集p和第二预处理数据集d都是对同一序列组x进行处理的,所以第一预处理数据集p和第二预处理数据集d的时间标签都是属于时间标签tj内的,根据时间标签tj的顺序可以将第一预处理数据集p内的数据值和第二预处理数据集d内的数据值进行合并,得到一个最终预处理数据集y。最终预处理数据集y内的数据量明显减少,例如序列组x内的原始数据量为4万个左右,最终预处理数据集y内的数据量为3-4千个,数据量有了明显压缩。
[0077]
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完
全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要如权利要求范围来确定其技术性范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1