一、 简介
水文频率曲线是水文要素值与其发生频率之间的关系曲线,它是推求工程水文设计值的重要工具。设计频率(P)或设计重现期(T)已知时,可在该曲线上查得相应的水文设计值(Xp),其意思是任何水文要素值X超过或等于Xp 的频率为P。水文频率曲线有多种形式。中国SL 44-93《水利水电工程设计洪水计算规范》规定使用皮尔逊Ⅲ型曲线。
二、 曲线所需要素
水文频率曲线以水文要素发生频率作为横轴,要素值作为纵轴,要想生成频率曲线,需要计算出几个常用频率(0.01、0.1、0.2、0.33、0.5、1、2、5、10、20、50、75、90、95、99)(0.01、0.05、0.5、1、2、5、10、20、30、40、50、60、70、80、90、95、98、99、99.5、99.9、99.99)下的要素值,然后将频率值作为横轴、要素值作为纵轴进行曲线绘制。
三、 计算方式
由曲线所需要素可知,水文发生要素发生常用频率基本固定,只需要计算出水文要素发生频率对应的要素值,即可完成曲线绘制。
水文要素在各个频率下的对应值可以用两种方式进行计算:
第一种:在确定变差系数(CV)和偏态系数(CS)值的情况下使用
公式中
为对应频率下的要素值
为要素的多年平均值
CV 为变差系数
为指定偏态系数(CS) 和发生频率下的离均系数(通过查表可得)
第二种:在确定变差系数(CV)和倍比系数(CS/CV)的情况下使用
为对应频率下的要素值
为指定倍比系数和发生频率下的模比系数 (通过查表可得)
为要素的多年平均值
四、 计算步骤
1、 横轴计算
频率曲线的横轴对应值为各发生频率对应的标准正态分布函数反函数值,然后再将发生频率0.01对应值平移到0点。获取标准正态分布函数反函数值代码如下:
Maven引入jar包:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.5</version>
</dependency>
类中添加引用:
import org.apache.commons.math3.distribution.NormalDistribution;
具体代码:
NormalDistribution normalDistribution = new NormalDistribution(0, 1);double Val = normalDistribution.inverseCumulativeProbability(0.01);
获取均方差
double[] v = { 20300,19300,19300,18200,16400,15700,15000,14600,14600,13400,11700,
11600,10700,10700,10500,9780,9570,9360,8870,8840,8550,7580,7090,6090};
StandardDeviation sd = new StandardDeviation();
double Val= sd.evaluate(v);
伽马函数反函数:(需要与“皮尔逊III型频率曲线的离均系数值表”进行核对)
GammaDistribution gammaDistribution = new GammaDistribution( ,1);
double γ = gammaDistribution.inverseCumulativeProbability((1-Pi/100));
System.out.println(γ);
公式中:
Pi :频率值(百分比值)
CS :偏态系数 Cs默认二倍的
γ:伽马函数反函数值
离散均值系数
Val值即发生频率0.01对应的标准正态分布函数反函数值
常用频率具体对应值为:
发生频率 | 0.01 | 0.1 | 0.2 | 0.33 | 0.5 | 1 | 2 | 5 |
反函数值 | -3.71902 | -3.09023 | -2.87816 | -2.71638 | -2.57583 | -2.32635 | -2.05375 | -1.64485 |
平移后值 | 0 | 0.62878 | 0.84085 | 1.00264 | 1.14319 | 1.39267 | 1.66527 | 2.07416 |
发生频率 | 10 | 20 | 50 | 75 | 90 | 95 | 99 | |
反函数值 | -1.28155 | -0.84162 | 0.00000 | 0.67449 | 1.28155 | 1.64485 | 2.32635 | |
平移后值 | 2.43746 | 2.87740 | 3.71902 | 4.39351 | 5.00057 | 5.36387 | 6.04536 |
频率曲线绘制过程中,横轴实际值为表格中“平移后值”,横轴展示值为“发生频率”。
2、 变差系数(Cv)计算
要进行变差系数计算,需要首先获取到过去一段长序列时间内,一组历年的要素值数据(如:历年平均流量、历年平均降水量)~,并计算出历年要素值的算数平均数。然后使用变差系数计算公式进行计算。
变差系数计算方式:
()
公式中
为变差系数
为均方差=,本公式中除以后,已转换为模比系数;
为模比系数
为历年要素值中,第i年的要素值;
为历年要素值的算数平均数;
Cs默认二倍的
3、
偏态系数(Cs)计算
偏态系数计算方式:
公式中
为偏态系数
为变差系数
为模比系数
为历年要素值中,第i年的要素值;
为历年要素值的算数平均数;
为历年要素值的个数(长系列数据年数);
4、 选定公式查表
根据页面上传入的参数判断使用计算方式。
如指定变差系数(CV)和偏态系数(CS)值,采用公式
通过CS值和频率值P查下表可得:
如指定变差系数(CV)和倍比系数(CS/CV)值,采用公式
通过倍比系数和频率值P查下表可得:
其他倍比系数见附表。
5、 计算对应频率的要素值
根据条件和选定的公式,逐个计算各个频率(0.01、0.1、0.2、0.33、0.5、1、2、5、10、20、50、75、90、95、99)下的要素值。
6、 生成曲线
根据各个频率对应的横坐标值和纵坐标值(要素值),绘制频率曲线。
7、 生成散点
将历年的要素值数据~,按照从大到小进行排序,要素总个数为n,要素排序号为S。历年要素值出现的频率P=S*100/(n+1), 下一步计算出现频率P对应的标准正态分布函数反函数值,然后再平移3.71902,即计算结果加上3.71902,最后获得每年要素值对应的横轴坐标。将每年横轴坐标和纵轴坐标(要素值)值对应的点,打在频率曲线上,即为散点图。
8、 最终效果
9、 频率曲线使用
频率曲线最终用于根据要素值计算重现期和根据重现期计算要素值。指定要素值时,获取频率曲线上获取距离指定要素值最近的的两个点,进行线性内插,得到指定值对应的出现频率。
10、 拟合度计算
拟合度r²是评估回归分析模型拟合优度的常用指标之一,它的计算公式可以用一二三四结构围绕,具体如下:
r²
公式中:
总平方和SST(Sum of Squares Total)
回归平方和(Sum of Squares Regression)
残差平方和SSE(Sum of Squares Error):
(1) 计算总平方和SST
SST = Σ(y - y_mean)²
公式中:
y:实际值
y_mean:实际值的平均值
(2) 计算回归平方和
Σ(y_pred - y_mean)²
y_pred:预测值
y_pred_mean:预测值的平均值
(3) 计算残差平方和SSE
SSE = Σ(y - y_pred)²
y:实际值
y_pred:预测值
五、 附表