发明内容
基于此,有必要针对现有的建筑物倾斜的数据分析方法不能基于已有数集中蕴含的信息预测任意风向、任意风速下的倾斜角度,难以保证数据分析结果的精确性,可能导致应对措施错误、建筑物倒塌后果的问题,提供一种建筑物倾斜角度的预测方法及系统。
为达到发明目的,本发明提供一种建筑物倾斜角度的预测方法,包括以下步骤:
读取建筑物在至少2个不同风向和不同风速下的倾斜角度测量值,并将所述倾斜角度测量值导入风向为纵坐标轴、风速为横坐标轴的数据矩阵中;
采用矩阵分解法和梯度下降法,对所述数据矩阵中已知的所述倾斜角度测量值进行拟合,得到所述数据矩阵中各点对应的所述建筑物的倾斜角度预测值,并在所述倾斜角度测量值与所求得的所述数据矩阵中对应的倾斜角度预测值的均方根误差满足预设条件时,输出所述数据矩阵中所有点对应的所述倾斜角度预测值;
获取输出的所述倾斜角度预测值,将所述数据矩阵中各个点对应的所述倾斜角度预测值与预设倾斜角度阈值进行比较,并将超出所述预设倾斜角度阈值的所有倾斜角度预测值在所述数据矩阵中对应点处的风向和风速进行保存,形成易倾斜风向风速数集;
获取所述建筑物所处环境在未来一段时间内的风向和风速的预报值;
将所获取的所述建筑物的风向和风速的预报值与所述易倾斜风向风速数集中的各点处的风向和风速进行比较;
当所获取的风向和风速的预报值落入所述易倾斜风向风速数集中的风向和风速的预设范围时,发出预警的信号。
作为一种可实施例,采用矩阵分解法和梯度下降法,对所述数据矩阵中已知的所述倾斜角度测量值进行拟合,得到所述数据矩阵中各点对应的所述建筑物的倾斜角度预测值,包括如下步骤:
采用最小化均方根误差方法,构建需要优化的函数表达式:
其中,所述建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为所述建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时所述建筑物的倾斜角度测量值,L为所述倾斜角度测量值与所述倾斜角度预测值均方根误差的最小值;
求函数L对于pd的梯度R(d):
求函数L对于qs的梯度R(s):
采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:
采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:
将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·eds·qs;
将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·eds·pd;
根据最终得到的风向d的向量值和最终得到的风速s的向量值,利用公式求得所述建筑物的倾斜角度预测值;
其中:eds=rds-pd·qs,η为学习率。
作为一种可实施例,采用矩阵分解法和梯度下降法,对所述数据矩阵中已知的所述倾斜角度测量值进行拟合,得到所述数据矩阵中各点对应的所述建筑物的倾斜角度预测值,包括如下步骤:
采用最小化均方根误差方法,并加入正则化项后构建需要优化的函数表达式如下:
其中,所述建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为所述建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时所述建筑物的倾斜角度测量值,L为所述倾斜角度测量值与所述倾斜角度预测值均方根误差的最小值;
求函数L对于pd的梯度R(d):
求函数L对于qs的梯度R(s):
采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:
采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:
将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·(eds·qs-λ·pd);
将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·(eds·pd-λ·qs);
根据最终得到的风向d的向量值和最终得到的风速s的向量值,利用公式求得所述建筑物的倾斜角度预测值;
其中,eds=rds-pd·qs,||pd||2为pd的二范数,||qs||2为qs的二范数,λ为正则化系数,η为学习率。
作为一种可实施例,采用矩阵分解法和梯度下降法,对所述数据矩阵中已知的所述倾斜角度测量值进行拟合,得到所述数据矩阵中各点对应的所述建筑物的倾斜角度预测值,包括如下步骤:
采用最小化均方根误差方法,并加入正则化项和偏置部分后构建的需要优化的函数表达式如下:
其中,所述建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为所述建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时所述建筑物的倾斜角度测量值,L为所述倾斜角度测量值与所述倾斜角度预测值均方根误差的最小值;
求函数L对bd的梯度R(bd):
求函数L对bs的梯度R(bs):
求函数L对于pd的梯度R(d):
求函数L对于qs的梯度R(s):
采用梯度下降法得到bd向其负梯度方向的迭代运算公式为:
采用梯度下降法得到bs向其负梯度方向的迭代运算公式为:
采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:
采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:
将函数L对于bd的梯度R(bd)代入bd向其负梯度方向的迭代运算公式,得到bd=bd+2η·(eds-λ·bd);
将函数L对于bs的梯度R(bs)代入bs向其负梯度方向的迭代运算公式,得到bs=bs+2η·(eds-λ·bs);
将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·(eds·qs-λ·pd);
将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·(eds·pd-λ·qs);
根据最终得到的风向d的向量值,最终得到的风速s的向量值以及最终得到的风向偏置bd的值和风速偏置bs的值,利用公式求得所述建筑物的倾斜角度预测值;
其中,eds=rds-μ-bd-bs-pd·qs,μ表示所述建筑物的所述倾斜角度测量值的总体趋势,bd为风向偏置,表示某一特定风向对所述建筑物倾斜角度的影响,其独立于所述建筑物对风速的反应特征,bs为风速偏置,表示某一特定风速对所述建筑物倾斜角度的影响,其为独立于所述建筑物对风向的反应特征,偏置部分表示为bds=μ+bd+bs,||pd||2为pd的二范数,||qs||2为qs的二范数,λ为正则化系数,η为学习率。
作为一种可实施例,在所述读取建筑物在至少2个不同风向和不同风速下的倾斜角度测量值,并将所述倾斜角度测量值导入到风向为纵坐标轴、风速为横坐标轴的数据矩阵之后,包括如下步骤:
当所有的所述倾斜角度测量值导入所述数据矩阵后,所述数据矩阵仍有空缺的数据位置,则在所述空缺的数据位置上导入预设常数。
作为一种可实施例,所述在所述倾斜角度测量值与所求得的所述数据矩阵中对应的倾斜角度预测值的均方根误差满足预设条件时,输出所述数据矩阵中所有点对应的所述倾斜角度预测值,包括如下步骤:
判断前一次迭代所得的所述倾斜角度预测值与所述倾斜角度测量值的均方根误差和后一次迭代所得的所述倾斜角度预测值与所述倾斜角度测量值的均方根误差的差值的绝对值是否小于预设阈值;
若是,则执行结束的步骤,并输出后一次迭代所得的所述倾斜角度预测值;
若否,则继续执行所述采用矩阵分解法和梯度下降法,对所述数据矩阵中已知的所述倾斜角度测量值进行拟合,得到所述数据矩阵中各点对应的所述建筑物的倾斜角度预测值的步骤;
或者判断后一次迭代所得的所述倾斜角度预测值与所述倾斜角度测量值的均方根误差是否大于前一次迭代所得的所述倾斜角度预测值与所述倾斜角度测量值的均方根误差;
若是,则执行结束的步骤,并输出前一次迭代所得的所述倾斜角度预测值;
若否,则继续执行所述采用矩阵分解法和梯度下降法,对所述数据矩阵中已知的所述倾斜角度测量值进行拟合,得到所述数据矩阵中各点对应的所述建筑物的倾斜角度预测值的步骤。
本发明还提供一种建筑物倾斜角度的预测系统,包括读取导入模块,拟合模块,数集模块和获取比较模块,其中:
所述读取导入模块,被配置以读取建筑物在至少2个不同风向和不同风速下的倾斜角度测量值,并将所述倾斜角度测量值导入到风向为纵坐标轴、风速为横坐标轴的数据矩阵中;
所述拟合模块,被配置以采用矩阵分解法和梯度下降法,对所述数据矩阵中已知的所述倾斜角度测量值进行拟合,得到所述数据矩阵中各点对应的所述建筑物的倾斜角度预测值,并在所述倾斜角度测量值与所求得的所述数据矩阵中对应的倾斜角度预测值的均方根误差满足预设条件时,输出所述数据矩阵中所有点对应的所述倾斜角度预测值;
所述数集模块,被配置以获取输出的所述倾斜角度预测值,将所述数据矩阵中各个点对应的所述倾斜角度预测值与预设倾斜角度阈值进行比较,并将超出所述预设倾斜角度阈值的所有倾斜角度预测值在所述数据矩阵中对应点处的风向和风速进行保存,形成易倾斜风向风速数集;
所述获取比较模块,被配置以获取所述建筑物所处环境在未来一段时间内的风向和风速的预报值,将所获取的所述建筑物的风向和风速的预报值与所述易倾斜风向风速数集中的各点处的风向和风速进行比较,当所获取的风向和风速的预报值落入所述易倾斜风向风速数集中的风向和风速的预设范围时,发出预警的信号。
作为一种可实施例,所述拟合模块包括第一函数构建单元,第一风向梯度单元,第一风速梯度单元,第一风向迭代公式单元,第一风速迭代公式单元,第一风向迭代运算单元,第一风速迭代运算单元和第一预测值获得单元,其中:
所述第一函数构建单元,被配置以采用最小化均方根误差方法,构建需要优化的函数表达式:
其中,所述建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为所述建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时所述建筑物的倾斜角度测量值,L为所述倾斜角度测量值与所述倾斜角度预测值均方根误差的最小值;
所述第一风向梯度单元,被配置以求函数L对于pd的梯度R(d):
所述第一风速梯度单元,被配置以求函数L对于qs的梯度R(s):
所述第一风向迭代公式单元,被配置以采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:
所述第一风速迭代公式单元,被配置以采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:
所述第一风向迭代运算单元,被配置以将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·eds·qs;
所述第一风速迭代运算单元,被配置以将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·eds·pd;
所述第一预测值获得单元,被配置以根据最终得到的风向d的向量值和最终得到的风速s的向量值,利用公式求得所述建筑物的倾斜角度预测值;
其中:eds=rds-pd·qs,η为学习率。
作为一种可实施例,所述所述拟合模块包括第二函数构建单元,第二风向梯度单元,第二风速梯度单元,第二风向迭代公式单元,第二风速迭代公式单元,第二风向迭代运算单元,第二风速迭代运算单元和第二预测值获得单元,其中:
所述第二函数构建单元,被配置以采用最小化均方根误差方法,并加入正则化项后构建需要优化的函数表达式如下:
其中,所述建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为所述建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时所述建筑物的倾斜角度测量值,L为所述倾斜角度测量值与所述倾斜角度预测值均方根误差的最小值;
所述第二风向梯度单元,被配置以求函数L对于pd的梯度R(d):
所述第二风速梯度单元,被配置以求函数L对于qs的梯度R(s):
所述第二风向迭代公式单元,被配置以采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:
所述第二风速迭代公式单元,被配置以采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:
所述第二风向迭代运算单元,被配置以将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·(eds·qs-λ·pd);
所述第二风速迭代运算单元,被配置以将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·(eds·pd-λ·qs);
所述第二预测值获得单元,被配置以根据最终得到的风向d的向量值和最终得到的风速s的向量值,利用公式求得所述建筑物的倾斜角度预测值;
其中,eds=rds-pd·qs,||pd||2为pd的二范数,||qs||2为qs的二范数,λ为正则化系数,η为学习率。
作为一种可实施例,所述拟合模块包括第三函数构建单元,风向偏置梯度单元,风速偏置梯度单元,第三风向梯度单元,第三风速梯度单元,风向偏置迭代公式单元,风速偏置迭代公式单元,第三风向迭代公式单元,第三风速迭代公式单元,风向偏置迭代运算单元,风速偏置迭代运算单元,第三风向迭代运算单元,第三风速迭代运算单元和第三预测值获得单元,其中:
所述第三函数构建单元,被配置以采用最小化均方根误差方法,并加入正则化项和偏置部分后构建的需要优化的函数表达式如下:
其中,所述建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为所述建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时所述建筑物的倾斜角度测量值,L为所述倾斜角度测量值与所述倾斜角度预测值均方根误差的最小值;
所述风向偏置梯度单元,被配置以求函数L对bd的梯度R(bd):
所述风速偏置梯度单元,被配置以求函数L对bs的梯度R(bs):
所述第三风向梯度单元,被配置以求函数L对于pd的梯度R(d):
所述第三风速梯度单元,被配置以求函数L对于qs的梯度R(s):
所述风向偏置迭代公式单元,被配置以采用梯度下降法得到bd向其负梯度方向的迭代运算公式为:
所述风速偏置迭代公式单元,被配置以采用梯度下降法得到bs向其负梯度方向的迭代运算公式为:
所述第三风向迭代公式单元,被配置以采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:
所述第三风速迭代公式单元,被配置以采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:
所述风向偏置迭代运算单元,被配置以将函数L对于bd的梯度R(bd)代入bd向其负梯度方向的迭代运算公式,得到bd=bd+2η·(eds-λ·bd);
所述风速偏置迭代运算单元,被配置以将函数L对于bs的梯度R(bs)代入bs向其负梯度方向的迭代运算公式,得到bs=bs+2η·(eds-λ·bs);
所述第三风向迭代运算单元,被配置以将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·(eds·qs-λ·pd);
所述第三风速迭代运算单元,被配置以将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·(eds·pd-λ·qs);
所述第三预测值获得单元,被配置以根据最终得到的风向d的向量值,最终得到的风速s的向量值以及最终得到的风向偏置bd的值和风速偏置bs的值,利用公式求得所述建筑物的倾斜角度预测值;
其中,eds=rds-μ-bd-bs-pd·qs,μ表示所述建筑物的所述倾斜角度测量值的总体趋势,bd为风向偏置,表示某一特定风向对所述建筑物倾斜角度的影响,其独立于所述建筑物对风速的反应特征,bs为风速偏置,表示某一特定风速对所述建筑物倾斜角度的影响,其为独立于所述建筑物对风向的反应特征,偏置部分表示为bds=μ+bd+bs,||pd||2为pd的二范数,||qs||2为qs的二范数,λ为正则化系数,η为学习率。
作为一种可实施例,所述读取导入模块包括常数导入单元,被配置以当所有的所述倾斜角度测量值导入所述数据矩阵后,所述数据矩阵仍有空缺的数据位置,则在所述空缺的数据位置上导入预设常数。
作为一种可实施例,所述拟合模块还包括第一判断单元,第一输出单元,第二判断单元和第二输出单元,其中:
所述第一判断单元,被配置以判断前一次迭代所得的所述倾斜角度预测值与所述倾斜角度测量值的均方根误差和后一次迭代所得的所述倾斜角度预测值与所述倾斜角度测量值的均方根误差的差值的绝对值是否小于预设阈值;
若是,则跳转至被配置以输出后一次迭代所得的所述倾斜角度预测值的所述第一输出单元;
若否,则跳转至所述拟合模块中的迭代运算单元;
所述第二判断单元,被配置以判断后一次迭代所得的所述倾斜角度预测值与所述倾斜角度测量值的均方根误差是否大于前一次迭代所得的所述倾斜角度预测值与所述倾斜角度测量值的均方根误差;
若是,则跳转至被配置以输出前一次迭代所得的所述倾斜角度预测值的所述第二输出单元;
若否,则跳转至所述拟合模块中的迭代运算单元。
本发明的有益效果包括:
本发明的建筑物倾斜角度的预测方法及系统,根据数据矩阵中已知的倾斜角度测量值,通过矩阵分解法和梯度下降法预测建筑物在给定风向、风速下的倾斜角度,充分挖掘倾斜角度已有数据中蕴含的信息,实现了对未知数据的预测功能,保证了数据分析结果的精确性,增加了后续数据分析的精确性,在获取的风向和风速的预报值落入超出预设倾斜角度阈值的倾斜角度预测值对应的风向和风速的预设范围时,及时发出预警信号,提醒相关人员采取应对措施。同时,其还实现全年无人值守不间断自动计算,最大程度的利用了传感器采集的建筑物倾斜角度和风向、风速及其对应关系提供的额外信息量,有效提高了建筑物监测系统数据分析的性能,同时还节省了人力成本。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明建筑物倾斜角度的预测方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参见图1,本发明一具体实施例提供的建筑物倾斜角度的预测方法,包括以下步骤:
S100,读取建筑物在至少2个不同风向和不同风速下的倾斜角度测量值,并将倾斜角度测量值导入到风向为纵坐标轴、风速为横坐标轴的数据矩阵中。
S200,采用矩阵分解法和梯度下降法,对所述数据矩阵中已知的所述倾斜角度测量值进行拟合,得到所述数据矩阵中各点对应的所述建筑物的倾斜角度预测值,并在所述倾斜角度测量值与所求得的所述数据矩阵中对应的倾斜角度预测值的均方根误差满足预设条件时,输出所述数据矩阵中所有点对应的所述倾斜角度预测值。
S300,获取输出的倾斜角度预测值,将所述数据矩阵中各个点对应的倾斜角度预测值与预设倾斜角度阈值进行比较,并将超出预设倾斜角度阈值的所有倾斜角度预测值在数据矩阵中对应点处的风向和风速进行保存,形成易倾斜风向风速数集。
S400,获取建筑物所处环境在未来一段时间内的风向和风速的预报值,将所获取的建筑物的风向和风速的预报值与易倾斜风向风速数集中的各点处的风向和风速进行比较,当所获取的风向和风速的预报值落入易倾斜风向风速数集中的风向和风速的预设范围时,发出预警的信号。
本发明实施例的建筑物倾斜角度的预测方法,读取建筑物的倾斜角度测量值,按照每个倾斜角度测量值对应的风向和风速,导入到以风向为纵坐标轴、风速为横坐标轴的数据矩阵R(M×N)中,此时数据矩阵中导入的为倾斜角度的已知数据。为了更好的预测建筑物的倾斜角度,已知数据至少为2个,具体的,已知数据在数据矩阵中占有的比例根据构建的数据矩阵的大小而定,若构建的数据矩阵较小时,已知数据占数据矩阵中数据元素总数的比例较大,若构建的数据矩阵较大时,已知数据占数据矩阵中数据元素总数的比例较小。如,若M=36,N=12时,已知数据占数据矩阵中数据元素总数的10%-20%时较好,若M=15,N=10时,已知数据占数据矩阵中数据元素总数的20%-30%时较好。采用矩阵分解法和梯度下降法对数据矩阵中的已知数据进行拟合,就能得到数据矩阵中所有点的倾斜角度预测值,对数据矩阵进行多次拟合,直至数据矩阵中倾斜角度测量值与数据矩阵中对应的倾斜角度预测值的均方根误差满足预设条件,此时输出新的数据矩阵R*(M×N),新的数据矩阵R*中有相应风向、风速下的倾斜角度预测值,若要进一步的获得更多风向、风速下的倾斜角度预测值,则可采用插值算法获得,也可以将数据矩阵R对应的风向、风速的维数构建的更大,以此获得更多风向、风速下的倾斜角度预测值。获得倾斜角度预测值后,将数据矩阵R*中各个点对应的倾斜角度预测值与预设倾斜角度阈值进行比较,将超出预设倾斜角度阈值的所有倾斜角度预测值对应点的风向、风速进行保存,形成易倾斜风向风速数集,通过收听当地气象部门的天气预报或者利用传感器检测的方法获取建筑物所处环境在未来一段时间内的风向和风速的预报值,并将其与易倾斜风向风速数集中各点处的风向和风速进行比较,若建筑物所处环境在未来一段时间内的风向和风速的预报值在易倾斜风向风速数集中的风向和风速的预设范围内,则发出建筑物倾斜角度超过预设倾斜角度阈值的预警信号,信号可以通过设置报警装置(如扬声器或警示灯),也可通过短信息等方式提醒相关工作人员,工作人员对相应风向、风速环境下的建筑物采取应对措施,防止产生建筑物倒塌的后果,工作人员根据提醒信息采取相应措施,减少了工作人员的工作量。
具体的,作为一种可实施方式,构建的矩阵R(36×12),即风向分为36个方向(以建筑物为中心的圆周方向每隔10°划分为一个方向),风速分为12个等级(预测风速在60m/s以下建筑物的倾斜角度,将每5m/s划分为一个风速等级)。风向表示为:正北=0,北偏东10°=1,北偏东20°=2,北偏东30°=3,北偏东40°=4,北偏东50°=5,北偏东60°=6,北偏东70°=7,北偏东80°=8,正东(北偏东90°)=9,…正南=18,…正西=27,…西偏北80°=35。数据矩阵R第一行第一列对应的数据表示的为正北方向、5m/s风速下的倾斜角度,依次类推,数据矩阵第5行,第5列对应的数据表示的为北偏东50°(东偏北40°)、5m/s风速下的倾斜角度,最后一行最后一列对应的数据表示的为西偏北80°、60m/s风速下的倾斜角度。采用传感器或其他方式测量10个不同风向、风速下的倾斜角度测量值,并将这10个倾斜角度测量值导入数据矩阵中对应的位置上,然后采用矩阵分解法和梯度下降法对这10个倾斜角度测量值进行拟合,由于这10个倾斜角度测量值之间有一定的蕴含关系,因此多次拟合后得到数据矩阵中每个位置上对应的倾斜角度预测值。优选的,这10个倾斜角度测量值相对均匀的分布在数据矩阵中,已知数据在数据矩阵中分布的相对越均匀,相邻已知数据之间蕴含的信息更容易被拟合出来,倾斜角度的预测效果越好。
其中,获取的建筑物所处环境的风向和风速预报值有可能不是数据矩阵中对应的风向和风速,有一定的偏差,比如获取的建筑物所处环境的风向的预报值为北偏东53°,风速的预报值为11m/s,而数据矩阵中没有相应该风向和风速预报值下的倾斜角度预测值,此时需判断该风向和风速的预报值与数据矩阵中对应的哪个风向和风速较接近,即落入哪个风向、风速的预设范围,在其中一个实施例中,将风向为北偏东53°,风速为11m/s落入北偏东50°、风速为10m/s的预设范围内,如此便能获知北偏东53°,风速为11m/s下建筑物的倾斜角度预测值,工作人员根据倾斜角度预测值采取相应的应对措施,避免建筑物出现倒塌的现象。预设范围根据具体实施过程中相关的经验值而定,如采用四舍五入的方法而定。
具体的,参见图2、图3,在步骤S100之后,还包括步骤S110,较佳的,当所有的倾斜角度测量值导入数据矩阵之后,数据矩阵中仍有空缺的数据位置,则在空缺的数据位置上导入预设常数,以保证数据矩阵是一个完整的,没有空缺数据位置的矩阵。其中,导入的预设常数可以为0,也可以为远大于所有倾斜角度测量值的数值。
值得说明的是,本发明中提到的建筑物可为GSM-R通信铁塔、输电线铁塔或其他高层建筑等。当建筑物为GSM-R通信铁塔或输电线铁塔时,上述建筑物监测系统相应为铁塔监测系统。
作为一种可实施方式,参见图2,步骤S200包括如下步骤:
S201,采用最小化均方根误差方法,构建需要优化的函数表达式:
其中,所述建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为所述建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时所述建筑物的倾斜角度测量值,L为所述倾斜角度测量值与所述倾斜角度预测值均方根误差的最小值。
S202,求函数L对于pd的梯度R(d):
S203,求函数L对于qs的梯度R(s):
S204,采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:其中,η为学习率。
S205,采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:其中,η为学习率。
S206,将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·eds·qs。
S207,将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·eds·pd。
S208,根据最终得到的风向d的向量值和最终得到的风速s的向量值,利用公式求得所述建筑物的倾斜角度预测值。
为了实现精确快速的拟合数据矩阵中的倾斜角度测量值,得到倾斜角度预测值,在具体实施例中,采用矩阵分解和梯度下降法,并通过自动计算步长的迭代方法来实现步骤S200。把一个矩阵分解为两个矩阵的乘积,可以解决很多问题,其中一个就是预测给定风向、风速下建筑物的倾斜角度。因此获得倾斜角度预测值就转化为找到风向特征矩阵P(M×K)和风速特征矩阵Q(K×N)使得公式的值最小,由于该公式右侧为连续函数,所以当其梯度为0时公式的值最小,得到使得L最小的矩阵Q和矩阵P。假设输入的倾斜角度测量值矩阵为R,R为M×N维矩阵,通过直接优损失函数L得到风向特征矩阵P(M×K)和风速特征矩阵Q(K×N),其中,K《M,N。
首先,求函数L对于pd的梯度R(d):梯度R(d)表示所有与风向d同时出现过的风速,其结构是一个K维向量,每个位置上的元素对应的是风向d在K维空间的向量对应的梯度值。类似的,求函数L对于qs的梯度R(s):梯度R(s)表示所有与风速s同时出现过的风向,其也是一个K维向量,每个位置上的元素对应的是风速s在K维空间的向量对应的梯度值。通过上述两个梯度函数发现风向梯度和风速梯度的函数表达式的形式是一致的,不同的是pd和qs互换了位置。其次,将学习率记为η,则pd和qs的每一步向其负方向的迭代运算公式为和最后,将L对于pd的梯度函数及L对于qs的梯度分别代入,得到风向迭代公式为pd=pd+2η·eds·qs,风速迭代公式为qs=qs+2η·eds·pd,当迭代结果满足预设条件时,就能根据最终得到的风向d的向量值和风速s的向量值,利用公式得到给定风向、风速下的建筑物的倾斜角度预测值。
其克服了传统的数据分析方法不能基于上述倾斜角度的已知数据中蕴含的信息预测任意风向、风速下的倾斜角度的缺陷,能够对建筑物在一定范围内风向、风速下的倾斜情况作宏观分析,保证了数据分析结果的精确性,并且,其充分挖掘已有数据中的信息,通过矩阵分解和梯度下降等方法拟合倾斜角度测量值,从而实现了对未知数据的预测功能,增加了后续数据分析的精确性,由于该方法采用了矩阵分解法和梯度下降法,因此能够得知分解后风向、风速的向量,进而获知造成建筑物倾斜的原因中风向、风速中各自所占的比例,确定哪个是最主要的原因。同时,本发明的建筑物倾斜角度的预测方法采用全自动运行模式,将该方法直接嵌入现有的建筑物监测系统中,可实现全年无人值守不间断自动计算,最大程度的利用了传感器采集的建筑物倾斜角度和风向、风速及其对应关系提供的额外信息量,有效提高了建筑物监测系统数据分析的性能,同时还节省了人力成本。
进一步的,在执行步骤S200时,为了防止数据矩阵中的倾斜角度测量值发生过拟合,通过在需要优化的函数表达式中加入正则化项来避免,S210b,加入正则化项后构建的函数表达式如下:其中,||pd||2=(|pd1|2+|pd2|2+……+|pdn|2)1/2,||pd||2为pd的二范数(即pd向量所有元素的平方和),||qs||2=(|qs1|2+|qs2|2+……+|qsn|2)1/2,||qs||2为qs的二范数(即qs向量所有元素的平方和),λ为正则化系数。选择二范数的原因是风向、风速在维度上的数值分布一般认为是符合正态分布的,这种情况下使用二范数,计算精度较高。
相应的,加入正则化项后,通过如下步骤来实现:
首先,求函数L对于pd的梯度R(d):
求函数L对于qs的梯度R(s):
其次,采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:
采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:
进而,将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·(eds·qs-λ·pd),其中,eds=rds-pd·qs,η为学习率。
将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·(eds·pd-λ·qs),其中,eds=rds-pd·qs,η为学习率。
最后,根据最终得到的风向d的向量值和最终得到的风速s的向量值,利用公式求得建筑物的倾斜角度预测值
更进一步的,在需要优化的函数表达式加入正则化项和偏置部分后,需要优化的函数表达式构建如下:
对应的,构建加入正则化项和偏置部分后的函数后,通过如下步骤来实现:
首先,求函数L对bd的梯度R(bd):
求函数L对bs的梯度R(bs):
求函数L对于pd的梯度R(d):
求函数L对于qs的梯度R(s):
其中,μ表示建筑物的倾斜角度测量值的总体趋势,bd为风向偏置,表示某一特定风向对建筑物倾斜角度的影响,其独立于建筑物对风速的反应特征,bs为风速偏置,表示某一特定风速对建筑物倾斜角度的影响,其为独立于建筑物对风向的反应特征,偏置部分表示为bds=μ+bd+bs。
其次,采用梯度下降法得到bd向其负梯度方向的迭代运算公式为:
采用梯度下降法得到bs向其负梯度方向的迭代运算公式为:
采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:
采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:
进而,将函数L对于bd的梯度R(bd)代入bd向其负梯度方向的迭代运算公式,得到bd=bd+2η·(eds-λ·bd)。
将函数L对于bs的梯度R(bs)代入bs向其负梯度方向的迭代运算公式,得到bs=bs+2η·(eds-λ·bs)。
将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·(eds·qs-λ·pd),其中,eds=rds-μ-bd-bs-pd·qs。
将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·(eds·pd-λ·qs),其中,eds=rds-μ-bd-bs-pd·qs。
最后,根据最终得到的风向d的向量值,最终得到的风速s的向量值以及最终得到的风向偏置bd的值和风速偏置bs的值,利用公式求得建筑物的倾斜角度预测值。
在数据矩阵中表示的建筑物的倾斜角度中,有一部分是只取决于风向或风速的本身特性的。如:对于某些风向来说,它导致建筑物的倾斜角度普遍偏大,而另一些风向可能导致建筑物的倾斜角度偏小,这些风向导致建筑物倾斜时是独立的,与风速等其他的因素无关。相应的,一些风速也与之类似。我们把这些独立的风向、风速与建筑物的交互称为偏置(Bias)部分,将风向、风速联合起来与建筑物的倾斜角度的交互称为建筑物对风的个性化反应部分,偏置部分表示为bds=μ+bd+bs。由上式可以看出,偏置部分包括三个子部分,分别是测量数据中所有倾斜角度测量值的全局平均数μ,其表示了倾斜角度测量值的总体趋势,对于固定的数据集,它是一个常数。风向偏置bd,其是独立于建筑物对风速的反应特征的因素,表示某一特定风向对建筑物的倾斜角度的影响。风速偏置bs,其是独立于建筑物对风向的反应特征的因素,表示某一特定风速对建筑物的倾斜角度的影响。本发明将偏置部分当作基本预测,在此基础上添加建筑物倾斜角度对特定风向与风速组合的个性化反应部分,得到以偏置部分为基本预测的倾斜角度的预测公式为因此,需要优化的函数表达式变为其采用偏置部分为基本预测,添加建筑物倾斜角度对特定风向与风速组合的个性化反应部分,使得建筑物倾斜角度预测值更加精确。
具体的,步骤S200时还步骤如下步骤:
S200a,判断前一次迭代所得的倾斜角度预测值与倾斜角度测量值的均方根误差和后一次迭代所得的倾斜角度预测值与倾斜角度测量值的均方根误差的差值的绝对值是否小于预设阈值;若是,则执行结束的步骤,并输出后一次迭代所得的倾斜角度预测值;若否,则继续执行采用矩阵分解法和梯度下降法,对数据矩阵中已知的倾斜角度测量值进行拟合,得到数据矩阵中各点对应的建筑物的倾斜角度预测值的步骤。
在另外一个实施例中,步骤S200还包括如下步骤:
S200b,判断后一次迭代所得的倾斜角度预测值与倾斜角度测量值的均方根误差是否大于前一次迭代所得的倾斜角度预测值与倾斜角度测量值的均方根误差;若是,则执行结束的步骤,并输出前一次迭代所得的倾斜角度预测值;若否,则继续执行采用矩阵分解法和梯度下降法,对数据矩阵中已知的倾斜角度测量值进行拟合,得到数据矩阵中各点对应的建筑物的倾斜角度预测值的步骤。
风向d的向量pd和风速s的向量qs的迭代过程可以看作在一个K维超空间的曲面上寻找极值点(极小值)的过程,每迭代一次相当于寻找一个比前一次更低的位置,因此,当两次迭代结果的均方根误差的差值的绝对值小于预设阈值时,说明两次迭代的结果比较接近,趋向于极值点,且后一次迭代的结果更趋向于该极值点,因此输出后一次迭代的结果。若后一次迭代结果的均方根误差大于前一次迭代结果的均方根误差时,说明前一次的迭代结果在该算法中是最接近极值点的,因此输出前一次迭代的结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
基于同一发明构思,本发明还提供了一种建筑物倾斜角度的预测系统,由于此系统解决问题的原理与前述一种建筑物倾斜角度的预测方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明一实施例提供的建筑物倾斜角度的预测系统,参见图2,包括读取导入模块100,拟合模块200,数集模块300和获取比较模块400。其中:读取导入模块100,被配置以读取建筑物在至少2个不同风向和不同风速下的倾斜角度测量值,并将倾斜角度测量值导入到风向为纵坐标轴、风速为横坐标轴的数据矩阵中。拟合模块200,被配置以采用矩阵分解法和梯度下降法,对数据矩阵中已知的倾斜角度测量值进行拟合,得到数据矩阵中各点对应的建筑物的倾斜角度预测值,并在倾斜角度测量值与所求得的数据矩阵中对应的倾斜角度预测值的均方根误差满足预设条件时,输出数据矩阵中所有点对应的倾斜角度预测值。数集模块300,被配置以获取输出的所述倾斜角度预测值,将数据矩阵中各个点对应的倾斜角度预测值与预设倾斜角度阈值进行比较,并将超出预设倾斜角度阈值的所有倾斜角度预测值在数据矩阵中对应点处的风向和风速进行保存,形成易倾斜风向风速数集。获取比较模块400,被配置以获取建筑物所处环境在未来一段时间内的风向和风速的预报值,将所获取的建筑物的风向和风速的预报值与所述易倾斜风向风速数集中的各点处的风向和风速进行比较,当所获取的风向和风速的预报值落入易倾斜风向风速数集中的风向和风速的预设范围时,发出预警的信号。
本发明实施例的建筑物倾斜角度的预测系统,通过矩阵分解法和梯度下降法预测建筑物在给定风向、风速下的倾斜角度,充分挖掘倾斜角度已有数据中蕴含的信息,实现了对未知数据的预测功能,对建筑物在一定范围内风向、风速下的倾斜情况作宏观分析,保证了数据分析结果的精确性,增加了后续数据分析的精确性,在获取的风向和风速的预报值落入超出预设倾斜角度阈值的倾斜角度预测值对应的风向和风速的预设范围时,及时发出预警信号,提醒相关人员采取应对措施,有效提高了建筑物监测系统数据分析的性能。并且,其能获知造成建筑物倾斜的原因中风向、风速中各自所占的比例,确定哪个是最主要的原因。同时,其还实现全年无人值守不间断自动计算,最大程度的利用了传感器采集的建筑物倾斜角度和风向、风速及其对应关系提供的额外信息量,有效提高了建筑物监测系统数据分析的性能,并在建筑物所处环境为易发生倾斜的环境时,发出信号提醒工作人员采取相应措施,避免建筑物倒塌的发生,工作人员无需实地进行勘察,节省了人力成本。
作为一种可实施方式,拟合模块200包括第一函数构建单元201a,第一风向梯度单元202a,第一风速梯度单元203a,第一风向迭代公式单元204a,第一风速迭代公式单元205a,第一风向迭代运算单元206a,第一风速迭代运算单元207a和第一预测值获得单元208a。
其中:第一函数构建单元201a,被配置以采用最小化均方根误差方法,构建需要优化的函数表达式:
其中,建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时建筑物的倾斜角度测量值,L为倾斜角度测量值与倾斜角度预测值均方根误差的最小值。第一风向梯度单元202a,被配置以求函数L对于pd的梯度R(d):第一风速梯度单元203a,被配置以求函数L对于qs的梯度R(s):第一风向迭代公式单元204a,被配置以采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:第一风速迭代公式单元205a,被配置以采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:第一风向迭代运算单元206a,被配置以将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·eds·qs。第一风速迭代运算单元207a,被配置以将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·eds·pd,其中:η为学习率。第一预测值获得单元208a,被配置以根据最终得到的风向d的向量值和最终得到的风速s的向量值,利用公式求得所述建筑物的倾斜角度预测值。
进一步的,参见图3,拟合模块200包括第二函数构建单元201b,第二风向梯度单元202b,第二风速梯度单元203b,第二风向迭代公式单元204b,第二风速迭代公式单元205b,第二风向迭代运算单元206b,第二风速迭代运算单元207b和第二预测值获得单元208b。
其中:第二函数构建单元201b,被配置以采用最小化均方根误差方法,并加入正则化项后构建需要优化的函数表达式如下:其中,建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时建筑物的倾斜角度测量值,L为倾斜角度测量值与倾斜角度预测值均方根误差的最小值。第二风向梯度单元320b,被配置以求函数L对于pd的梯度R(d):第一风速梯度单元330b,被配置以求函数L对于qs的梯度R(s):第一风向迭代公式单元340b,被配置以采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:第一风速迭代公式单元350b,被配置以采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:第一风向迭代运算单元360b,被配置以将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·(eds·qs-λ·pd)。第一风速迭代运算单元370b,被配置以将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·(eds·pd-λ·qs)。第一预测值获得单元380b,被配置以根据最终得到的风向d的向量值和最终得到的风速s的向量值,利用公式求得所述建筑物的倾斜角度预测值。其中,eds=rds-pd·qs,||pd||2为pd的二范数,||qs||2为qs的二范数,λ为正则化系数,η为学习率。
更进一步的,参见图4,拟合模块200还包括第三函数构建单元201c,风向偏置梯度单元202c,风速偏置梯度单元203c,第三风向梯度单元204c,第三风速梯度单元205c,风向偏置迭代公式单元206c,风速偏置迭代公式单元207c,第三风向迭代公式单元208c,第三风速迭代公式单元209c,风向偏置迭代运算单元210c,风速偏置迭代运算单元211c,第三风向迭代运算单元212c,第三风速迭代运算单元213c和第三预测值获得单元214c。
其中:第二构建单元201c,被配置以采用最小化均方根误差方法,并加入正则化项和偏置部分后构建的需要优化的函数表达式如下:
其中,建筑物的倾斜角度的预测公式为pd为风向d的向量,qs为风速s的向量,K为建筑物经历的风向和风速的集合,rds为特定风向d与风速s的组合出现时建筑物的倾斜角度测量值,L为所述倾斜角度测量值与倾斜角度预测值均方根误差的最小值。
风向偏置梯度单元202c,被配置以求函数L对bd的梯度R(bd):
风速偏置梯度单元203c,被配置以求函数L对bs的梯度R(bs):
第三风向梯度单元204c,被配置以求函数L对于pd的梯度R(d):
第三风速梯度单元205c,被配置以求函数L对于qs的梯度R(s):
风向偏置迭代公式单元206c,被配置以采用梯度下降法得到bd向其负梯度方向的迭代运算公式为:风速偏置迭代公式单元207c,被配置以采用梯度下降法得到bs向其负梯度方向的迭代运算公式为:第三风向迭代公式单元208c,被配置以采用梯度下降法得到pd向其负梯度方向的迭代运算公式为:第二风速迭代公式单元209c,被配置以采用梯度下降法得到qs向其负梯度方向的迭代运算公式为:风向偏置迭代运算单元210c,被配置以将函数L对于bd的梯度R(bd)代入bd向其负梯度方向的迭代运算公式,得到bd=bd+2η·(eds-λ·bd)。风速偏置迭代运算单元211c,被配置以将函数L对于bs的梯度R(bs)代入bs向其负梯度方向的迭代运算公式,得到bs=bs+2η·(eds-λ·bs)。第三风向迭代运算单元212c,被配置以将函数L对于pd的梯度R(d)代入pd向其负梯度方向的迭代运算公式,得到pd=pd+2η·(eds·qs-λ·pd)。第三风速迭代运算单元213c,被配置以将函数L对于qs的梯度R(s)代入qs向其负梯度方向的迭代运算公式,得到qs=qs+2η·(eds·pd-λ·qs)。第三预测值获得单元214c,被配置以根据最终得到的风向d的向量值,最终得到的风速s的向量值以及最终得到的风向偏置bd的值和风速偏置bs的值,利用公式求得建筑物的倾斜角度预测值。其中,eds=rds-μ-bd-bs-pd·qs,μ表示建筑物的倾斜角度测量值的总体趋势,bd为风向偏置,表示某一特定风向对建筑物倾斜角度的影响,其独立于建筑物对风速的反应特征,bs为风速偏置,表示某一特定风速对建筑物倾斜角度的影响,其为独立于建筑物对风向的反应特征,偏置部分表示为bds=μ+bd+bs,||pd||2为pd的二范数,||qs||2为qs的二范数,λ为正则化系数,η为学习率。
作为一种可实施方式,读取导入模块100包括常数导入单元110,被配置以当所有的倾斜角度测量值导入数据矩阵后,数据矩阵仍有空缺的数据位置,则在空缺的数据位置上导入预设常数。
作为一种可实施方式,拟合模块200包括第一判断单元210,第一输出单元220,第二判断单元230和第二输出单元240。其中:第一判断单元210,被配置以判断前一次迭代所得的倾斜角度预测值与倾斜角度测量值的均方根误差和后一次迭代所得的倾斜角度预测值与倾斜角度测量值的均方根误差的差值的绝对值是否小于预设阈值,若是,则跳转至被配置以输出后一次迭代所得的倾斜角度预测值的第一输出单元220,若否,则跳转至拟合模块200中的迭代运算单元。
第二判断单元230,被配置以判断后一次迭代所得的倾斜角度预测值与倾斜角度测量值的均方根误差是否大于前一次迭代所得的倾斜角度预测值与倾斜角度测量值的均方根误差,若是,则跳转至被配置以输出前一次迭代所得的倾斜角度预测值的第二输出单元240,若否,则跳转至拟合模块200的迭代运算单元。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。