本发明涉及土木工程分析技术领域,特别是一种基于k-means三维聚类算法的风压系数快速分区方法、系统及存储介质。
背景技术:
当观察近年来风荷载引起的屋盖结构破坏时,发现在强风作用下围护结构的破坏明显多于主体结构的破坏。因此,如何更合理的完成屋盖围护结构抗风设计任务,成为在设计屋盖结构时不得不考虑的问题。更深入的观察围护结构的破坏情况时,发现围护结构的一些风敏感部位首先发生了破坏。例如,对于大尺度屋盖而言,破坏主要始于屋盖角部、边缘等部位。所以,有必要依据风易损性程度对整个屋盖结构划分出不同的分区,通过合理、客观的评价不同分区下的风荷载来设计该分区下的围护结构。
围护结构风荷载设计理论在现在的研究中已经相对完善,关于风压系数分区方面的内容已经编入了一些国家规范中。但是,对如何合理且快速地对风压进行分区地研究还十分有限。uematsuy和isyumovn(1999)通过对不同来源下的实验数据和实测数据的比较,在关注与围护结构设计相关的工作时,提出了一种基于峰值因子法来评价设计风荷载的方法,并通过讨论空间平均数和时间平均数的关系后,提出了基于峰值因子和空间平均数的屋面分压方法。之后,楼文娟等(2002)根据风洞试验所得的屋面风压分布规律,按照上述方法,将平屋盖分成了9个区域,并给出了几个特定风向角下各区域的分区风压系数。孙瑛等(2007)基于测点风压的第3阶、第4阶矩统计量对风压的非高斯特性进行描述,给出划分高斯非高斯区域的标准,并在此基础上对平屋盖进行了分区。董欣等(2012)基于分离泡作用机理,对平屋盖表面在顺风向的风压特征进行分析,给出了相应的分区方式及分区体型系数;caojinxin等(2012)借鉴asce/sei7-10将阶梯形平屋盖的最不利极值负压值划分为5个区域,并据此讨论了不同阶梯形状和几何参数对阶梯形平屋盖各点极值风压系数的影响。李丹煜等(2013)利用机器学习聚类算法分别提出了基于系统聚类的大尺度平屋盖聚类最优风压分区算法、基于k-means聚类的风压系数快速分区方法以及基于模糊聚类算法的鞍形屋盖极值风压系数分区方法。
在一些国家规范中虽然给出了部分屋面风压系数的量化分区方式,但仅适用于特定的几类几何外形。因为对于复杂外形无据可以,故其分区方式推广起来局限性很大。可以利用k-means聚类算法提出了一种风压系数快速分区方法,其聚类结果中会出现风压系数数值相接近但空间位置距离较远的测点分到同一簇下的情况。但是在实际分区工作中,需要把风洞试验中测得的风压系数数值上相接近且在空间位置上距离较近的测点分到同一分区下,使得风压分区结果中各分区测点在空间分布上具有空间连续性。此外,基于k-means聚类算法的实现依赖于k值的选取,即影响最终分区个数的确定。聚类算法在k值确定时,通过限定围护结构风压分区的最大分类数kmax为待分区测点个数n的开方值,选用了一个较大的范围(k≤14),增加了风压分区的工作量。
技术实现要素:
有鉴于此,本发明的目的在于提供一种基于k-means三维聚类算法的风压系数快速分区方法、系统及存储介质,该方法基于误差平方和和轮廓系数的k值确定方法,从聚类性能度量的角度出发,缩减了k值选取的范围,减少了工作量。
为达到上述目的,本发明提供如下技术方案:
本发明提供的基于k-means三维聚类算法的风压系数快速分区方法,包括以下步骤:
获取建筑表面点的风压系数数据;
建立k-means聚类算法模型,并确定初始参数,所述初始参数包括聚类数k、加权因子;
将风压系数数据按照初始参数进行划分为k个簇;
计算初始聚类的簇中心和簇中心之间的距离;
根据加权因子计算簇的最小化误差平方和;
计算聚类数k值范围;
计算模型的统一指标参数数值并确定最优的k值;
输出风压系数分区的聚类结果。
进一步,所述风压系数数据包括空间位置信息和风压系数,所述风压系数数据按照以下方式表示:
d={di|i=1,2,···,n};
di=(xi,yi,cpi)t;
其中,d表示风压系数数据集;
i表示第i个测点;
n表示第n个测点;
di表示某测点风压系数点数据;
(xi,yi)为平屋盖样本点的空间位置信息;
cpi为样本点的风压系数。
进一步,所述簇中心和簇中心之间的距离按照以下公式进行计算:
dist(di,mj)=α||xi-xj||2 β||yi-yj||2 γ||cpi-cpj||2(1)
其中,α为(结构表面x坐标)加权因子;
β为(结构表面y坐标)加权因子;
γ为(全风向风压极值系数的)加权因子;
xi表示第i个测点的x坐标;xj表示第i个测点的x坐标;
yi表示第i个测点的y坐标;yj表示第j个测点的y坐标;
cpj表示第i个测点的全风向极值风压系数;cpi表示第j个测点的全风向极值风压系数;
mj(j=1,2,···,k)表示初始聚类簇中心,
进一步,所述最小化平方误差和按照以下公式进行计算:
其中,e表示误差平方和;
μj为簇mj的均值向量,
di表示di表示属于某一簇mj样本点数据向量。
进一步,所述加权因子按照以下方式确定:
对空间位置信息(x,y)坐标值进行数据预处理,将坐标取值范围缩小至到同一量级下:
通过限定α、β的取值范围使得聚类模型在考虑空间位置信息的基础上偏向于风压系数梯度信息聚类,条件函数如下所示:
然后,通过二分法选择较优的加权因子取值,通过比较不同加权因子下,在同一k值下数据样本集的聚类效果,最终确定加权因子的取值。
进一步,所述k值范围的计算是利用肘部法则以及轮廓系数的方法来进行的,按照以下步骤计算:
肘部法则:
按照以下公式计算k的值得到k值模型样本的聚类误差平方和
式中,1≤k≤kmax;μj为簇mj的均值向量;
kmax表示聚类簇数的最大取值;k表示可选择的聚类簇个数;j表示第j个簇;;
判断当see值下降幅度平缓到预设值,得到限定k的最大值;
轮廓系数法:
将限定k的最大值按照以下公式计算缩小k的范围:
其中,
a为样本点di与同簇其他样本点的平均距离,称为凝聚度;
b为样本点di与最近簇样本的平均距离,称为分离度;
所述最近簇的定义为:
其中,dj是di某一不同簇mj的所有样本点,mj为该簇所有样本点的个数;
计算所有样本点的轮廓系数再取平均值得到平均轮廓系数的取值范围;
判断平均轮廓系数的取值范围确定k的取值范围。
进一步,所述模型的指标参数数值的计算过程具体如下:
按照以下公式计算误差平方和指数:
其中,di表示第i个测点的风压数据;μj表示第j簇mj的均值向量;
按照以下公式计算误差平方和减小率:
其中,k为分区个数。
按照以下公式计算平均轮廓系数指数:
其中,k为分区个数;
si表示某一样本点di的轮廓系数;
n表示数据集中的样本点个数;
在给定数据集和分簇数k的情况下,可以得到此时的平均轮廓系数数值。
按照以下公式计算calinskiharabasz分数指标:
其中,chk表示当分区数为k时的calinskiharabasz分数;
n为数据集样本数;
bk为各类别之间的协方差矩阵;
wk为类别内部数据的协方差矩阵;
tr为矩阵的迹;
按照以下公式计算正常率:
nrk=1-ark(11)
其中,k为分区个数;
nrk表示当分区数为k时的正常率;
ark表示当分区数为k时的异常率;
按照以下公式计算分区纯度指数:
式中表示在某一分区mj内随机抽取两个样本,其所属聚类簇f(di)不一致的概率;
puk表示当分区数为k时的分区纯度;
pd′表示分区内样本属于某一簇mj′的概率;
pd表示分区内样本属于某一簇mj的概率;
f(d′i)表示样本点di'所属簇;
di表示分区内的属于某一簇mj样本;
按照以下公式归一化指标参数:
进一步,所述确定最优的k值的计算过程具体如下:
按照以下公式计算统一指标参数:
其中,
nsserk表示分区数为k时的归一化误差平方和下降率;
sserk表示分区数为k时的误差平方和下降率;
kmin表示分区数可选择的取值范围的最小值;
kmax表示分区数可选择的取值范围的最大值;
nchk表示分区数为k时的归一化calinskiharabasz分数;
chk表示分区数为k时的calinskiharabasz分数;
nnrk表示分区数为k时的归一化正常率;
nrk表示分区数为k时的正常率;
npuk表示分区数为k时的归一化分区纯度;
puk表示分区数为k时的分区纯度;
hipk表示分区数为k时的归一化统一指标参数。
通过式18计算出不同k值下的统一指标参数得分,得分最高者则为最优的k取值。
本发明还提供了基于k-means三维聚类算法的风压系数快速分区系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取建筑表面点的风压系数数据;
建立k-means聚类算法模型,并确定初始参数,所述初始参数包括聚类数k、加权因子;
将风压系数数据按照初始参数进行划分为k个簇;
计算初始聚类的簇中心和簇中心之间的距离;
根据加权因子计算簇的最小化误差平方和;
计算聚类数k值范围;
计算模型的统一指标参数数值并确定最优的k值;
输出风压系数分区的聚类结果。
本发明还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-8中任一项所述的基于k-means三维聚类算法的风压系数快速分区方法。
本发明的有益效果在于:
本发明提供的考虑空间位置信息的三维k-means聚类的风压系数快速分区方法,即在对风压极值梯度信息的一维聚类基础上,提出对k-means聚类算法中各参量赋予一定的权重,考虑空间位置信息的影响辅助风压分区。此外,由于k-means聚类算法需要事先确定k值,在风压系数分区中存在局限性,采用基于误差平方和和轮廓系数的方法缩小k值选择的范围,然后采用一系列聚类指标和工程指标确定最佳k值。
本发明提供的统一指标参数(hip)在考虑多因素影响的情况下,对不同的聚类性能指标加权取平均,计算该k值下的分区方法的hip值,更便于合理客观地快速选择分区个数以及确定分压位置。该方法可以明显反映风压系数梯度信息;由于考虑了空间位置因素,使得同一簇下的样本点在平面坐标系下应尽可能靠近。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为(x,y)和(x,cpi)平面效果对比图。
图2a为sse与k值关系图。
图2b为平均轮廓系数与k值关系图。
图3a为平均风速剖面。
图3b为湍流度剖面。
图4a为测点布置图。
图4b为风向角示意图。
图5为模型屋盖风压系数分布图。
图6a为利用肘部法则限定k值范围。
图6b为利用平均轮廓系数限定k值范围。
图7a为不同k值下的(x,y)平面效果对比图。
图7b为不同k值下的(x,c_pi)平面效果对比图。
图8为石嘴山游泳馆k-means聚类快速分区结果图。
图9为基于k-means三维聚类算法的风压系数快速分区方法技术流程图。
图10为基于k-means三维聚类算法的风压系数快速分区方法基本流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
实施例1
本实施例提供的基于k-means三维聚类算法的风压系数快速分区方法,具体包括以下步骤:
获取并导入建筑表面点的风压系数数据,所述风压系数数据包括空间位置信息和风压系数;
建立k-means聚类算法模型,并确定初始聚类参数,所述初始聚类参数包括聚类数k、加权因子;
将风压系数数据按照初始参数进行划分为k个簇;
计算初始聚类的簇中心和簇中心之间的距离;
根据加权因子计算簇的最小化误差平方和;
计算聚类数k值范围;
计算模型的统一指标参数数值确定最优的k值;
输出风压系数分区的聚类结果。
本实施例中由于屋盖风压分区的工作实际上是对屋盖区域内划分类别标记,与机器学习中的分类和聚类任务的目的十分相似,所以使用聚类算法进行风压分区具有一定的基础和可行性,在三维k-means聚类算法中风压系数数据为某测点的风压系数点,其风压系数数据按照以下方式表示:
di=(xi,yi,cpi)t;
其中,di表示某测点风压系数点数据;
(xi,yi)为平屋盖样本点的空间位置信息;
cpi为样本点的风压系数;
所有测点的风压系数数据集表示为d={di|i=1,2,···,n},该风压系数数据集被分为k个簇mj(j=1,2,···,k),用mj(j=1,2,···,k)表示初始聚类簇中心,其余簇内对象与簇中心对象之间的欧氏距离为:
dist(di,mj)=α||xi-xj||2 β||yi-yj||2 γ||cpi-cpj||2(1)
其中,α,β,γ为加权因子;
xi表示第i个测点的x坐标;xj表示第i个测点的x坐标;
yi表示第i个测点的y坐标;yj表示第j个测点的y坐标;
cpj表示第i个测点的全风向极值风压系数;cpi表示第j个测点的全风向极值风压系数;
由于进行风压分区时,空间位置信息中的两个元素重要性是相同的,故取α=β;
k-means聚类算法的核心思想是针对所得簇的划分簇mj最小化平方误差和:
其中,e表示平方误差和;
μj为簇mj的均值向量,
di表示属于某一簇mj样本点数据向量;
式2在一定程度上刻画了簇内样本围绕簇均值向量的紧密程度,e值越小则簇内样本的相似程度越高。在此基础上,需要最小化式2。
但找到它的最优解需要考察样本集d所有可能的簇划分,在大样本的情况下,这显然是一个np难问题。因此,k-means算法采取了贪心策略,通过不断迭代优化近似求解式2的最小值;
如图9和图10所示,本实施例提供的方法的技术流程图如下所示:
获取并导入建筑表面点的三维向量数据集;
确定初始聚类数;
确定初始权重因子,迭代选取权重因子组合;
代入权重因子;
输出聚类结果和异常率;
判断异常率是否小于等于预设阈值,如果否,则迭代权重因子并返回重新代入权重因子;
如果是,则输出权重因子组合;
将输出的权重因子组合与限定聚类数范围代入聚类模型;
输出所有聚类结果,比较各类分区结果;
输出最优分区结果。
其中,加权因子确定:
为实现所述的分区效果,按照以下方式进行:
a.三维k-means聚类所产生的分区模型在(x,y)平面上分块以代表分区效果;
b.三维k-mean聚类所产生的分区模型在(x,cpi)平面上分层以代表风压系数梯度信息。
以此效果为目的,使用工程上常用的二分法来大致确定加权因子的取值。
在风压系数分区的工作中,进行分区的最重要因素是风压系数信息。而平屋盖风洞试验数据集中风压系数的取值cpi∈(-8.6,-1.3),数据集中坐标{(x,y)|x∈(0,600),x∈(0,600)},如果直接进行聚类计算,则很容易造成聚类模型在(x,y)方向上的过拟合效果。
首先对数据(x,y)坐标值进行数据预处理,将坐标取值范围缩小至到同一量级下:{(x,y)|x∈(0,10),x∈(0,10)}。通过限定α、β的取值范围使得聚类模型在考虑空间位置信息的基础上偏向于风压系数梯度信息聚类。条件函数如下所示:
然后,通过二分法选择较优的加权因子取值。通过比较不同加权因子下,在同一k值下数据样本集的聚类效果,最终确定加权因子的取值。
如图1所示,分别从(x,y)平面和(x,cpi)平面模型的聚类效果进行比较,得到不同加权因子取值下的模型效果比较图,图1为(x,y)和(x,cpi)平面效果对比图:具体如下:其中,a.(x,y)平面分区结果(α=0),b.(x,c_pi)平面分区结果(α=0),c.(x,y)平面分区结果(α=1/3),d.(x,c_pi)平面分区结果(α=1/3),e.(x,y)平面分区结果(α=1/6),f.(x,c_pi)平面分区结果(α=1/6),g.(x,y)平面分区结果(α=1/12),h.(x,c_pi)平面分区结果(α=1/12),i.(x,y)平面分区结果(α=1/8),j.(x,c_pi)平面分区结果(α=1/8),m.(x,y)平面分区结果(α=7/48),n.(x,c_pi)平面分区结果(α=7/48),p.(x,y)平面分区结果(α=13/96),q.(x,c_pi)平面分区结果(α=13/96)。
当α取值为1/3和1/6时,聚类结果在(x,cpi)平面上风压系数梯度信息表示不清,这说明聚类模型产生了(x,y)方向的过拟合。为比较α取值在0、1/12、1/8、7/48和13/96的聚类模型的优劣,按照以下公式计算异常率;
式中,ar表示异常率;
n为样本点总数;
在平面区域内连续的某一聚类簇区域内,出现了数目不大于2的样本点不属于此聚类簇,简而言之,就是在图2a和图2b中所示的某一色域内出现不同颜色的样本点,这些样本点的总数记为n(ab)。显然,ar的值越小,聚类模型越好。最终计算结果如表1所示:
表1为不同α值下的ar值比较
因此,选取将异常率降为0的权重因子取值范围的中心值值即α=13/96作为最优模型,此时模型所取的各加权因子的值为:α=β=13/96,γ=35/48。并且,当α=0.25时,风压系数信息表现出分层效果,且此时的聚类模型的异常率最低。
k值范围限定:
在限定k值范围时,通过限定围护结构风压分区的最大分类数kmax为待分区测点个数n的开方值,即
本实施例利用肘部法则以及轮廓系数的方法来限定k的取值范围,此方法缩减了工作量,提高了计算效率,具有更强的适用性。
肘部法则:聚类算法针对所得簇划分mj寻求最小化平方误差和,而k-means算法采用了贪心策略,通过不断迭代去寻求某k值下的最小平方误差和。同样,可以通过确定k的值得到该k值模型样本的聚类误差平方和,记为
式中,1≤ki≤kmax;μj为簇mj的均值向量;
通过式5可以求得数据集在某一k值下的sse值,作出折线图,如图2a所示:
从图2a可以看出,此方法下所得的两者关系图形如人的肘部,通过此方法选择合适的k值则称为肘部法则。其核心思想是:随着聚类数k的增大,样本的划分必然会更加的精细,每个簇的聚合程度会逐渐提高,那么聚类误差平方和sse自然会逐渐变小,在k值增大的过程中,see的下降幅度却不尽相同,由上图可知,当k小于5时,增大聚类数的值,使得see值下降幅度较快,当k大于5时,see的下降幅度逐渐平缓。此时,认为增加k的值所带来的回报迅速变小,继续增大k的值意义不大。通过此方法,限定k的最大值为5。
轮廓系数法:本实施例在得到了聚类数k的取值不大于5后,通过轮廓系数法,进一步缩小k的范围。
轮廓系数法:某个k值的模型中,某个样本点di的轮廓系数定义如下:
其中,
a为样本点di与同簇其他样本点的平均距离,称为凝聚度。
b为样本点di与最近簇样本的平均距离,称为分离度。
最近簇的定义为:
其中,dj是di某一不同簇mj的所有样本点,mj为该簇所有样本点的个数。
之后,求出所有样本点的轮廓系数再取平均值得到平均轮廓系数。
平均轮廓系数的取值范围为[-1,1],且簇内样本距离越近,簇间样本距离越远,平均轮廓系数越大,聚类效果越好。那么自然地,平均轮廓系数最大的k便是最佳聚类数。通过这一指标,可以得到在不同k取值下的平均轮廓系数s,如图2b所示:
从上图可得,当k取2时,平均轮廓系数最大,此时k的取值最优。但结合误差平方和的概念,可以认为k的取值在[2,5]内存在一个最优值,故两种方法共同作用下,把k的范围缩减为[2,5],即k仅有四种取值情况,之后通过结合各性能指标,求得k的最优值。
在其他的数据样本下,可以采取以最大平均轮廓系数的k的取值为中心,以肘部法则所得最大取值与该k值的差值为半径,从而确定k的取值范围。
利用肘部法则和轮廓系数将k值的选择范围从[1,16]缩小到[2,5],大大减少了不同k值聚类模型的比较工作,提高了分区方法的适用性,可以应用于更大的实验样本数据集
统一指标参数:
首先建立了k-means聚类模型并且限定了k的取值范围,然后通过聚类性能度量亦称“有效性指标”,确定k的取值,进而确定此分区方法的风压分区个数。
可以从簇内的稠密程度和簇间的离散程度来评估聚类的效果。
选取常用的误差平方和指数、平均轮廓系数指数、calinskiharabasz分数指数以及结合本文模型及应用背景的异常指数、信息增益指数来选择最优的k值
误差平方和指数:限定k的取值范围中的误差平方和,是评估聚类模型的常用指标,其计算式如下所示:
其中,di表示属于某一簇mj样本点数据向量;μj表示簇mj的均值向量;
在给定数据集和分簇数k的情况下,可以得到此时的误差平方和数值。毫无疑问,随着分簇数的增加,这一数值会逐渐减小,此时定义一个指标,误差平方和减小率,其计算式如下所示,
其中,k为分区个数。
平均轮廓系数指数:
当数据集为d={di|i=1,2,…,n)时,平均轮廓系数按照以下公式计算:
其中,k为分区个数;
si表示某一样本点di的轮廓系数;
n表示数据集中的样本点个数;在给定数据集和分簇数k的情况下,可以得到此时的平均轮廓系数数值。
聚类模型评估时常会用到calinskiharabasz分数指标,按照以下公式计算:
其中,chk表示当分区数为k时的calinskiharabasz分数;
n为数据集样本数,
bk为各类别之间的协方差矩阵;
wk为类别内部数据的协方差矩阵;
tr为矩阵的迹;
该指标要求类别内部数据的协方差越小越好,不同类别之间的协方差越大越好,这样的calinskiharabasz分数才会更高。
正常率计算公式为:
nrk=1-ark(11)
其中,k为分区个数;
nrk表示当分区数为k时的正常率;
ark表示当分区数为k时的异常率;
显然,通过这一变换,将指标变为一个数值愈大,代表模型愈优的参数,方便后续的统一指标参数的计算和最终k值的确定。
分区纯度指数:
工程上在进行风压分区时,通常会选择比较规则的图形组成分区,这就会导致模型所产生的不同聚类簇得样本点出于工程考虑被分入同一风压分区中。但是,仍然希望分区内样本尽可能的属于同一聚类簇。所以,建立分区纯度指数这一指标来衡量分区后样本的纯度。其计算式如下所示:
式中,表示在某一分区mj内随机抽取两个样本,其所属聚类簇f(di)不一致的概率;
puk表示当分区数为k时的分区纯度;
pd'表示分区内样本属于某一簇mj′的概率;
pd表示分区内样本属于某一簇mj的概率;
f(d′i)表示样本点di'所属簇;
di表示分区内的属于某一簇mj样本
因此,这一指数直观的代表了了风压分区模型在完成实际工程任务时的优劣,可以作为不同k值模型比选时的重要依据。
统一指标参数:为通过上述所示各指标参数得到最优的分区个数,综合各因素的影响且结合其应用背景和工程价值,利用统一指标参数得到最优的k的取值。其核心思想是采用对上述愈大愈好的各参数进行归一化处理,然后采用加权平均的方法突出模型对于其应用背景和工程意义的偏好,计算各k值模型下的统一指标参数数值,比较其得分,得到本文认为最优的k值。
首先归一化上述各指标参数,其计算式如下所示:
对上面五种指标采用加权平均的策略,依据上文的阐述,得出统一指标参数的数学计算式如下所示:
通过式18计算出不同k值下的统一指标参数得分,得分最高者则为最优的k取值;
其中,
nsserk表示分区数为k时的归一化误差平方和下降率;
sserk表示分区数为k时的误差平方和下降率;
kmin表示分区数可选择的取值范围的最小值;
kmax表示分区数可选择的取值范围的最大值;
nchk表示分区数为k时的归一化calinskiharabasz分数;
chk表示分区数为k时的calinskiharabasz分数;
nnrk表示分区数为k时的归一化正常率;
nrk表示分区数为k时的正常率;
npuk表示分区数为k时的归一化分区纯度;
puk表示分区数为k时的分区纯度;
hipk表示分区数为k时的归一化统一指标参数。
风洞试验算例:
本实施例基于某平屋盖风洞测压试验数据集,建立了一套客观、合理的风压系数快速分区方法,并将该方法应用于实际建筑物的风压分区工作,以说明此方法的有效性、合理性和实用性。平屋盖、石嘴山游泳馆的风洞试验分别于北京交通大学大气边界层风洞实验室和重庆大学直流式风洞实验室完成。风洞试验的风压系数符号约定以压力向内(压)为正,向外(吸)为负。屋盖表面各测点的风压系数时程由下列公式给出:
式中,
pi(t)为屋盖第i个测点处的风压系数实测时程;
p∞为参考高度的静压;
ρ为空气密度;
极值风压系数采用取10个标准时程的极值平均而获得。
实施例2
本实施例提供风洞试验为详细说明基于k-means三维聚类算法的风压系数快速分区方法的具体过程。
石嘴山游泳馆风洞试验模-拟大气边界层,目标地貌类型为《建筑结构荷载规范》规定的b类地貌。按规范规定,围护结构取50年重现期的基本风压,10m高度处设计风速为32.25m/s,且满足平均风速和湍流度等剖面特征,风洞试验风场信息见图3a和图3b;考虑到项目风洞试验技术要求,模型几何缩尺比为1/100,速度比6/32.25,时间比18.4/330,阻塞率为3.56%,满足规范要求。风洞试验采样频率为330hz,采样步数为50000步。图3a风洞试验的平均风速剖面;图3b为风洞试验的湍流度剖面。
模型材料采用有机塑料板材,风洞试验测点布置及风向角示意图见图4a和图4b。试验过程中充分考虑风压沿高度方向与环向的变化情况,用电子扫描阀测量结构上的风压变化。测压试验在0°~360°范围内每转动10°测试一次,即模拟36个风向。图4a风洞试验的测点布置图;图4b为风洞试验的风向角示意图。
风压系数计算:图5给出了石嘴山游泳馆风洞试验测压极小值风压系数分布情况。由图可知,模型屋面迎风前缘部位风吸力较大,在36个风向来流工况中,模型边缘部位的负风压系数较高,这也说明了在风荷载作用下,围护结构的破坏常始于边缘部位。分析其内在破坏机理,模型屋盖的迎风前缘、边缘由于柱状涡或锥形涡的形成产生极大负风压,而在其他区域风压系数普遍小些且变化不大。
k-means三维聚类的风压系数快速分区:首先,使用二分法确定最优加权因子的值,此时k值选取肘部法则拐点值,即k=4。比较α取值为0.125、0.25、0.3125、0.375、0.4375时的聚类结果的ar值的大小,异常率大小如表2所示。
表2不同α值下的ar值比较
故取加权因子α=1/8,用此加权因子确定的模型计算最终的k值。
dist(di,mj)=0.375||xi-xj||2 0.375||yi-yj||2 2.25||cpi-cpj||2(20)
利用20式作为聚类模型欧式距离计算式,利用肘部法则和平均轮廓系数限定k值范围,见图6a和图6b,为两方法结果与k值变化关系图。
计算石嘴山游泳馆在全风向极值风压分区不同聚类数目下的各指标数值及统一性能指标得分,各指标值及其最大值以及统一性能指标值见表3。
表3不同k值下的分区结果的各指标值比较
由表可以看出,当聚类簇数为2时,此时hip指数得分最高,因此对于该算例中石嘴山游泳馆风压系数分区数应选为2,各k值下对应的聚类结果如图7a和图7b所示;图7a为不同k值下的模型的(x,y)平面效果对比图;图7b为不同k值下的模型的(x,c_pi)平面效果对比图。
考虑到此算例屋面外形的以及分区方法的便捷性,故采取以两屋面结构边缘测点中点连线和结构外轮廓线作为分区边界线,分区结果如图8所示:图8为石嘴山游泳馆k-means聚类快速分区结果图。
本实施例根据基于三维k-means聚类的风压系数快速分区方法,应用于石嘴山游泳馆的全风向极值风压分区实例中,取得了不错的效果,说明和验证了该风压系数分区方法。
在考虑风压系数信息的基础上,提出考虑空间位置信息对k-means聚类模型的影响。首创提出利用加权因子衡量两种信息对聚类模型的影响,并通过二分法取得了一个较优的加权因子值。
在k的取值上,首创提出利用肘部法则和轮廓系数法限定k的取值范围,缩减了工作量,可以有效地适应大数据样本背景下的风压分区任务。
在不同k取值聚类模型比选中,考虑到该方法的应用背景和工程意义,提出统一性能参数这一值,将具体的聚类效果量化体现,并且提出分区纯度参数,使得统一性能参数这一指标具有了一定的工程意义。
因此,基于k-means三维聚类的全风向极值风压系数快速分区方法可以很好地适应复杂外形的屋面围护结构的风压分区工作,此方法为今后进行风压系数分区提供了一条新思路。此风压系数分区方法具有较强的适应性,故此方法不局限于应用在屋面围护结构,还可应用于其他结构,例如建筑墙面等。在考虑空间位置分布信息时,要权衡位置信息的影响权重,才能获得更好的分区结果。
实施例3
本实施例提供基于k-means三维聚类算法的风压系数快速分区系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取建筑表面点的风压系数数据;
建立k-means聚类算法模型,并确定初始参数,所述初始参数包括聚类数k、加权因子;
将风压系数数据按照初始参数进行划分为k个簇;
计算初始聚类的簇中心和簇中心之间的距离;
根据加权因子计算簇的最小化误差平方和;
计算聚类数k值范围;
计算模型的统一指标参数数值并确定最优的k值;
输出风压系数分区的聚类结果。
同时,本实施例提供一种存储介质,其上存储有计算机程序,该程序被处理器执行时按照基于k-means三维聚类算法的风压系数快速分区方法任一项方案提供的方法过程。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
1.基于k-means三维聚类算法的风压系数快速分区方法,其特征在于:包括以下步骤:
获取建筑表面点的风压系数数据;
建立k-means聚类算法模型,并确定初始参数,所述初始参数包括聚类数k、加权因子;
将风压系数数据按照初始参数进行划分为k个簇;
计算初始聚类的簇中心和簇中心之间的距离;
根据加权因子计算簇的最小化误差平方和;
计算聚类数k值范围;
计算模型的统一指标参数数值并确定最优的k值;
输出风压系数分区的聚类结果。
2.如权利要求1所述的风压系数快速分区方法,其特征在于:所述风压系数数据包括空间位置信息和风压系数,所述风压系数数据按照以下方式表示:
d={di|i=1,2,···,n};
di=(xi,yi,cpi)t;
其中,d表示风压系数数据集;
i表示第i个测点;
n表示第n个测点;
di表示某测点风压系数点数据;
(xi,yi)为平屋盖样本点的空间位置信息;
cpi为样本点的风压系数。
3.如权利要求1所述的风压系数快速分区方法,其特征在于:所述簇中心和簇中心之间的距离按照以下公式进行计算:
dist(di,mj)=α||xi-xj||2 β||yi-yj||2 γ||cpi-cpj||2(1)
其中,α为结构表面x坐标加权因子;
β为结构表面y坐标加权因子;
γ为全风向风压极值系数的加权因子;
xi表示第i个测点的x坐标;xj表示第i个测点的x坐标;
yi表示第i个测点的y坐标;yj表示第j个测点的y坐标;
cpj表示第i个测点的全风向极值风压系数;
cpi表示第j个测点的全风向极值风压系数;
mj(j=1,2,···,k)表示初始聚类簇中心。
4.如权利要求1所述的风压系数快速分区方法,其特征在于:所述最小化平方误差和按照以下公式进行计算:
其中,e表示误差平方和;
μj为簇mj的均值向量,
di表示di表示属于某一簇mj样本点数据向量。
5.如权利要求1所述的风压系数快速分区方法,其特征在于:所述加权因子按照以下方式确定:
对空间位置信息(x,y)坐标值进行数据预处理,将坐标取值范围缩小至到同一量级下:
通过限定α、β的取值范围使得聚类模型在考虑空间位置信息的基础上偏向于风压系数梯度信息聚类,条件函数如下所示:
然后,通过二分法选择较优的加权因子取值,通过比较不同加权因子下,在同一k值下数据样本集的聚类效果,最终确定加权因子的取值。
6.如权利要求1所述的风压系数快速分区方法,其特征在于:所述k值范围的计算是利用肘部法则以及轮廓系数的方法来进行的,按照以下步骤计算:
肘部法则:
按照以下公式计算k的值得到k值模型样本的聚类误差平方和
式中,1≤k≤kmax;μj为簇mj的均值向量;
kmax表示聚类簇数的最大取值;k表示可选择的聚类簇个数;j表示第j个簇;;
判断当see值下降幅度平缓到预设值,得到限定k的最大值;
轮廓系数法:
将限定k的最大值按照以下公式计算缩小k的范围:
其中,
a为样本点di与同簇其他样本点的平均距离,称为凝聚度;
b为样本点di与最近簇样本的平均距离,称为分离度;
所述最近簇的定义为:
其中,dj是di某一不同簇mj的所有样本点,mj为该簇所有样本点的个数;
计算所有样本点的轮廓系数再取平均值得到平均轮廓系数的取值范围;
判断平均轮廓系数的取值范围确定k的取值范围。
7.如权利要求1所述的风压系数快速分区方法,其特征在于:所述模型的指标参数数值的计算过程具体如下:
按照以下公式计算误差平方和指数:
其中,di表示第i个测点的风压数据;μj表示第j簇mj的均值向量;
按照以下公式计算误差平方和减小率:
其中,k为分区个数。
按照以下公式计算平均轮廓系数指数:
其中,k为分区个数;
si表示某一样本点di的轮廓系数;
n表示数据集中的样本点个数;
在给定数据集和分簇数k的情况下,可以得到此时的平均轮廓系数数值。
按照以下公式计算calinskiharabasz分数指标:
其中,chk表示当分区数为k时的calinskiharabasz分数;
n为数据集样本数;
bk为各类别之间的协方差矩阵;
wk为类别内部数据的协方差矩阵;
tr为矩阵的迹;
按照以下公式计算正常率:
nrk=1-ark(11)
其中,k为分区个数;
nrk表示当分区数为k时的正常率;
ark表示当分区数为k时的异常率;
按照以下公式计算分区纯度指数:
式中表示在某一分区mj内随机抽取两个样本,其所属聚类簇f(di)不一致的概率;
puk表示当分区数为k时的分区纯度;
pd'表示分区内样本属于某一簇mj′的概率;
pd表示分区内样本属于某一簇mj的概率;
f(di')表示样本点di'所属簇;
di表示分区内的属于某一簇mj样本;
按照以下公式归一化指标参数:
8.如权利要求1所述的风压系数快速分区方法,其特征在于:所述确定最优的k值的计算过程具体如下:
按照以下公式计算统一指标参数:
其中,
nsserk表示分区数为k时的归一化误差平方和下降率;
sserk表示分区数为k时的误差平方和下降率;
kmin表示分区数可选择的取值范围的最小值;
kmax表示分区数可选择的取值范围的最大值;
nchk表示分区数为k时的归一化calinskiharabasz分数;
chk表示分区数为k时的calinskiharabasz分数;
nnrk表示分区数为k时的归一化正常率;
nrk表示分区数为k时的正常率;
npuk表示分区数为k时的归一化分区纯度;
puk表示分区数为k时的分区纯度;
hipk表示分区数为k时的归一化统一指标参数。
通过式18计算出不同k值下的统一指标参数得分,得分最高者则为最优的k取值。
9.基于k-means三维聚类算法的风压系数快速分区系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
获取建筑表面点的风压系数数据;
建立k-means聚类算法模型,并确定初始参数,所述初始参数包括聚类数k、加权因子;
将风压系数数据按照初始参数进行划分为k个簇;
计算初始聚类的簇中心和簇中心之间的距离;
根据加权因子计算簇的最小化误差平方和;
计算聚类数k值范围;
计算模型的统一指标参数数值并确定最优的k值;
输出风压系数分区的聚类结果。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一项所述的基于k-means三维聚类算法的风压系数快速分区方法。
技术总结