基于聚类分析和实时校正的洪水预报方法与流程

文档序号:11143340阅读:来源:国知局

技术特征:

1.基于聚类分析和实时校正的洪水预报方法,其特征在于:步骤如下:

第一步:采集实际河流的历史降雨量数据、历史流量数据以及对应的时间数据,并建立数据模型;

第二步:对数据模型中的原始数据利用主成分分析进行降维处理,得到有效数据,将有效数据前2/3的数据作为训练样本,后1/3的数据作为测试样本;

第三步:利用K-means聚类方法对得到的训练样本进行聚类分析,将训练样本划分为k个不同类别等级;

第四步:利用聚类后得到的k个类别的训练样本训练不同的SVM模型,利用交叉验证方法搜寻这k个类别的训练样本所对应的支持向量机模型中的惩罚因子c和核函数参数g,使每个支持向量机模型都达到最优,然后输入测试样本并对该测试样本进行判断其所属的类别,并用对应的SVM模型对测试样本进行预测,得到模型预测值q;

第五步:计算测试样本中预测值与真实值的误差序列,利用该误差序列前2/3的数据训练BP神经网络误差校正模型,后1/3的数据测试误差矫正值,得到误差校正值qe,最终预报结果为模型预测值q加上误差校正值qe

2.根据权利要求1所述的基于聚类分析和实时校正的洪水预报方法,其特征在于:第二步中主成分分析方法步骤如下:

步骤2.1:将数据模型中多场次洪水数据作为样本,选择p个变量作为特征值,构成n个样本矩阵,

其中xij为第i个样本的第j个特征值;

步骤2.2:将样本矩阵进行标准化处理,得到标准化矩阵Y=(yij)n×p

步骤2.3:计算标准化矩阵Y的协方差矩阵R,

步骤2.4:求协方差矩阵R的p个非负的特征值,并从大到小进行排列λ1>λ2>…>λp,对应特征向量也进行排序,其中对应λi的特征向量为Ci=(c1i,c2i,…,cpi)T

步骤2.5:确定主成分,并计算主成分下的样本矩阵Z,按特征值的累计贡献率大于95%为准则选取前m个主成分,得到样本矩阵为Z=(zij)n×m,其中

3.根据权利要求1所述的基于聚类分析和实时校正的洪水预报方法,其特征在于:第三步中从有效数据提取N个水文时间序列样本为{(xi,yi),i=1,2,…,N},其中xi(xi∈Rp)是第i个样本的输入向量,p为特征值个数,yi∈R为对应输出值,第三步中给出的聚类分析步骤具体如下:

步骤3.1:从N个水文时间序列样本中随机地选择自然数k个样本,每个样本初始地代表了一个簇的平均值或中心;

步骤3.2:分别计算剩余的样本到k个簇中心的相异度,将这些样本分别划归到相异度最低的簇;其中样本之间的相异度通过欧氏距离计算,已知两个p维向量的样本a(x11,x12,…,x1p)与b(x21,x22,…,x2p)之间的欧氏距离公式为

步骤3.3:根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有样本各自维度的算术平均数;

步骤3.4:不断重复步3.2和步骤3.3,直到准则函数收敛,之后将样本聚为k类,得到k个聚类质心,其中准则函数采用平方误差,其定义如下:

其中P为所有样本,mi为第i个簇的平均值;

步骤3.5:根据k个聚类质心,得到水文时间序列样本聚类后形成的k个训练样本集。

4.根据权利要求1所述的基于聚类分析和实时校正的洪水预报方法,其特征在于:第四步中训练模型并预测步骤如下:

步骤4.1:利用聚类后得到的k个类别等级的训练样本训练不同的SVM模型,利用交叉验证方法搜寻这k个类别等级的训练样本所对应的支持向量机模型中的惩罚因子c和核函数参数g,使每个支持向量机模型都达到最优;

步骤4.2:输入测试样本并对该测试样本进行判断其所属的类别,并用对应的SVM模型对测试样本进行预测,得到模型预测值q。

5.根据权利要求1所述的基于聚类分析和实时校正的洪水预报方法,其特征在于:第五步中,假设当前时段为t,数据模型预见期为h,通过BP神经网络实现时段t+h处误差校正值的步骤为:

步骤5.1:将N个训练样本前2/3的样本训练SVM模型,并对剩余1/3的样本预测结果,得到预报值q;

步骤5.2:计算实际值与预报值之间的差值,得到预报误差时间序列用于样本整理的历史资料;

步骤5.3:对预报误差时间序列ei进行样本整理,选择当前时段t未来h小时误差值et+h作为输出值,当前时段前面k(2<k<10)个误差值(et,et-1,…et-k+1)作为输入值,建立当前时段h小时后误差值与历史误差值之间的对应关系(et,et-1,…et-k+1)∝et+h,并对历史资料库中所有样本进行依次整理。

步骤5.4:训练模型,利用步骤5.3历史资料库中整理的样本训练BP神经网络模型,通过调整参数使得模型尽可能与训练数据吻合;

步骤5.5:模型预测,将当前误差样本(et,et-1,…et-k)∝et+h作为模型输入得到预测结果;

步骤5.6:校正预报值,将模型预报值qt加上误差预报值et得到校正后预报值Qt

步骤5.7:到时段t+1时,将时段i处未校正前预报误差加入历史资料库,实时更新资料库后,再返回步骤5.3,实现递归的实时校正。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1