You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于GEV与L-moments法的洪水频率分析重现期分位数估计问题咨询

extRemes包GEV拟合后续操作指南

一、拟合优度检验方法

  • 图形化直观检验
    直接调用extRemes包内置的plot()方法即可输出4种常用检验图:
plot(fitevd)

输出包含经验累积分布与理论GEV分布对比图、QQ图、PP图、重现水平拟合图,若观测点整体贴近对角线则说明拟合效果良好,是水文领域论文中最常用的拟合效果展示方法。

  • Kolmogorov-Smirnov(K-S)数值检验
    你已计算得到各样本点对应的理论累积概率df,若GEV拟合合理,该序列应服从均匀分布,直接调用K-S检验即可:
ks.test(df, "punif")

检验结果p值大于设定的显著性水平(通常为0.05)时,可接受“GEV分布拟合效果合格”的原假设。

  • Anderson-Darling(A-D)检验
    对极值分布的尾部拟合效果更敏感,适合水文极值检验,调用goftest包的对应函数即可:
library(goftest)
ad.test(df, "punif")

判断逻辑与K-S检验一致,p值越大说明拟合效果越好。

二、5/10/20年重现期分位数(重现水平)估算

你使用的ci()函数可直接批量计算多个重现期的点估计值及置信区间,仅需修改return.period参数为目标重现期向量即可:

# 计算3个目标重现期的重现水平及95%置信区间
rl_result <- ci(fitevd, alpha = 0.05, type = "return.level", 
                return.period = c(5,10,20), R = 502)
# 输出结果
print(rl_result)
  • 输出结果会依次给出每个重现期对应的重现水平估计值、置信区间下限、置信区间上限,参数R为bootstrap重复抽样次数,可调整为1000以提高置信区间精度。
  • 若仅需重现水平点估计,可直接调用return.level()函数:
rl_point <- return.level(fitevd, return.period = c(5,10,20))

现有代码优化建议

你手动录入参数计算df的操作容易出现抄录错误,可直接从拟合结果对象中提取参数:

df <- pevd(Potomac$Flow, loc = fitevd$par[["location"]], 
           scale = fitevd$par[["scale"]], shape = fitevd$par[["shape"]], 
           type = "GEV")

内容的提问来源于stack exchange,提问作者JOHN WILLIAM VEDEJA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 21:57:04