首页 > 其他分享 >R语言有极值(EVT)依赖结构的马尔可夫链(MC)对洪水极值分析|附代码数据

R语言有极值(EVT)依赖结构的马尔可夫链(MC)对洪水极值分析|附代码数据

时间:2023-05-23 23:35:32浏览次数:56  
标签:scale MC 阈值 shape conf Above EVT 极值

阅读全文:http://tecdat.cn/?p=17375

最近我们被客户要求撰写关于马尔可夫链的研究报告,包括一些图形和统计输出。

为了帮助客户使用POT模型,本指南包含有关使用此模型的实用示例。本文快速介绍了极值理论(EVT)、一些基本示例,最后则通过案例对河流的极值进行了具体的统计分析 

EVT的介绍

单变量情况

假设存在归一化常数an> 0和bn使得:

图片

根据极值类型定理(Fisher和Tippett,1928年),G必须是Fr'echet,Gumbel或负Weibull分布。Jenkinson(1955)指出,这三个分布可以合并为一个参数族:广义极值(GEV)分布。GEV具有以下定义的分布函数:

图片

根据这一结果,Pickands(1975)指出,当阈值接近目标变量的端点µend时,阈值阈值的标准化超额的极限分布是广义Pareto分布(GPD)。也就是说,如果X是一个随机变量,则:

基本用法

随机数和分布函数

首先,让我们从基本的东西开始。将R用于随机数生成和分布函数。

> rgpd(5, loc = 1, scale = 2, shape = -0.2)
[1] 1.523393 2.946398 2.517602 1.199393 2.541937
> rgpd(6, c(1, -5), 2, -0.2)
[1] 1.3336965 -4.6504749 3.1366697 -0.9330325 3.5152161 -4.4851408
> rgpd(6, 0, c(2, 3), 0)
[1] 3.1139689 6.5900384 0.1886106 0.9797699 3.2638614 5.4755026
> pgpd(c(9, 15, 20), 1, 2, 0.25)
[1] 0.9375000 0.9825149 0.9922927
> qgpd(c(0.25, 0.5, 0.75), 1, 2, 0)
[1] 1.575364 2.386294 3.772589
> dgpd(c(9, 15, 20), 1, 2, 0.25)
[1] 0.015625000 0.003179117 0.001141829

使用选项lower.tail = TRUE或lower.tail = FALSE分别计算不超过或超过概率;
指定分位数是否超过概率分别带有选项lower.tail = TRUE或lower.tail = FALSE;
指定是分别使用选项log = FALSE还是log = TRUE计算密度或对数密度。

阈值选择图

此外,可以使用Fisher信息来计算置信区间。

> x <- runif(10000)
> par(mfrow = c(1, 2))

结果如图所示。我们可以清楚地看到,将阈值设为0.98是合理的选择。

可以将置信区间添加到该图,因为经验均值可以被认为是正态分布的(中心极限定理)。但是,对于高阈值,正态性不再成立,此外,通过构造,该图始终会收敛到点(xmax; 0)。
这是另一个综合示例。

> x <- rnorm(10000)
plot(x, u.range = c(1, quantile(x, probs = 0.995)), col =

 L-矩图

L-矩是概率分布和数据样本的摘要统计量。它们类似于普通矩{它们提供位置,离散度,偏度,峰度以及概率分布或数据样本形状的其他方面的度量值{但是是从有序数据值的线性组合中计算出来的(因此有前缀L)。

这是一个简单的例子。

> x <- c(1 - abs(rnorm(200, 0, 0.2)), rgpd(100, 1, 2, 0.25))

我们发现该图形在真实数据上的性能通常很差。

色散指数图

在处理时间序列时,色散指数图特别有用。EVT指出,超出阈值的超出部分可以通过GPD近似。但是,EVT必须通过泊松过程来表示这些超额部分的发生。

对于下一个示例,我们使用POT包中包含的数据集。此外,由于洪水数据是一个时间序列,因此具有很强的自相关性,因此我们必须“提取”极端事件,同时保持事件之间的独立性。

5, clust.max = TRUE)
> diplot(events, u.range = c(2, 20))

色散指数图如图所示。从该图可以看出,大约5的阈值是合理的。

图片

图片


点击标题查阅往期内容

图片

极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

拟合GPD

单变量情况

可以根据多个估算器拟合GPD。
MLE是一种特殊情况,因为它是唯一允许变化阈值的情况。
我们在此给出一些教学示例。

scale shape
mom 1.9538076495 0.2423393
mle 2.0345084386 0.2053905
pwmu 2.0517348996 0.2043644
pwmb 2.0624399910 0.2002131
pickands 2.3693985422 -0.0708419
med 2.2194363549 0.1537701
mdpd 2.0732577511 0.1809110
mple 2.0499646631 0.1960452
ad2r 0.0005539296 27.5964097

MLE,MPLE和MGF估计允许比例或形状参数。例如,如果我们要拟合指数分布:

> fit(x, thresh = 1, shape = 0, est = "mle")
Estimator: MLE
Deviance: 322.686
AIC: 324.686
Varying Threshold: FALSE


Threshold Call: 1
Number Above: 100
Proportion Above: 1
Estimates
scale
1.847
Standard Error Type: observed
Standard Errors
scale
0.1847
Asymptotic Variance Covariance
scale
scale 0.03410
Optimization Information
Convergence: successful
Function Evaluations: 7
Gradient Evaluations: 1
> fitgpd(x, thresh = 1, scale = 2, est = "mle")
Estimator: MLE
Deviance: 323.3049
AIC: 325.3049
Varying Threshold: FALSE
Threshold Call: 1
Number Above: 100
Proportion Above: 1
Estimates
shape
0.0003398
Standard Error Type: observed
Standard Errors
shape
0.06685
Asymptotic Variance Covariance
shape
shape 0.004469
Optimization Information
Convergence: successful
Function Evaluations: 5
Gradient Evaluations: 1
If now, we want to fit a GPD with a varying threshold, just do:
> x <- rgpd(500, 1:2, 0.3, 0.01)
> fitgpd(x, 1:2, est = "mle")
Estimator: MLE
Deviance: -176.1669
AIC: -172.1669
Varying Threshold: TRUE
Threshold Call: 1:2
Number Above: 500
Proportion Above: 1
Estimates
scale shape
0.3261 -0.0556
Standard Error Type: observed
Standard Errors
scale shape
0.02098 0.04632
Asymptotic Variance Covariance
scale shape
scale 0.0004401 -0.0007338
shape -0.0007338 0.0021451
Optimization Information
Convergence: successful
Function Evaluations: 62
Gradient Evaluations: 11

scale1

shape1

scale2

shape2

α

6.784e-02

5.303e-02

2.993e-02

3.718e-02

2.001e-06

Asymptotic Variance Covariance
scale1 shape1 scale2 shape2 alpha
scale1 4.602e-03 -2.285e-03 1.520e-06 -1.145e-06 -3.074e-11
shape1 -2.285e-03 2.812e-03 -1.337e-07 4.294e-07 -1.843e-11
scale2 1.520e-06 -1.337e-07 8.956e-04 -9.319e-04 8.209e-12
shape2 -1.145e-06 4.294e-07 -9.319e-04 1.382e-03 5.203e-12
alpha -3.074e-11 -1.843e-11 8.209e-12 5.203e-12 4.003e-12
Optimization Information
Convergence: successful
Function Evaluations: 150
Gradient Evaluations: 21

双变量情况

拟合双变量POT。所有这些模型均使用最大似然估计量进行拟合。

vgpd(cbind(x, y), c(0, 2), model = "log")
> Mlog
Estimator: MLE
Dependence Model and Strenght:
Model : Logistic
lim_u Pr[ X_1 > u | X_2 > u] = NA
Deviance: 1313.260
AIC: 1323.260
Marginal Threshold: 0 2
Marginal Number Above: 500 500
Marginal Proportion Above: 1 1
Joint Number Above: 500
Joint Proportion Above: 1
Number of events such as {Y1 > u1} U {Y2 > u2}: 500
Estimates
scale1 shape1 scale2 shape2 alpha
0.9814 0.2357 0.5294 -0.2835 0.9993
Standard Errors

在摘要中,我们可以看到lim_u Pr [X_1> u | X_2> u] = 0.02。这是Coles等人的χ统计量。(1999)。对于参数模型,我们有:

图片

对于自变量,χ= 0,而对于完全依存关系,χ=1。在我们的应用中,值0.02表示变量是独立的{这是显而易见的。从这个角度来看,可以固定一些参数。

vgpd(cbind(x, y), c(0, 2), model = "log"
Dependence Model and Strenght:
Model : Logistic
lim_u Pr[ X_1 > u | X_2 > u] = NA
Deviance: 1312.842
AIC: 1320.842
Marginal Threshold: 0 2
Marginal Number Above: 500 500
Marginal Proportion Above: 1 1
Joint Number Above: 500
Joint Proportion Above: 1
Number of events such as {Y1 > u1} U {Y2 > u2}: 500
Estimates
scale1 shape1 scale2 shape2
0.9972 0.2453 0.5252 -0.2857
Standard Errors
scale1 shape1 scale2 shape2
0.07058 0.05595 0.02903 0.03490
Asymptotic Variance Covariance

图片

scale1 shape1 scale2 shape2
scale1 4.982e-03 -2.512e-03 -3.004e-13 3.544e-13
shape1 -2.512e-03 3.130e-03 1.961e-13 -2.239e-13
scale2 -3.004e-13 1.961e-13 8.427e-04 -8.542e-04
shape2 3.544e-13 -2.239e-13 -8.542e-04 1.218e-03
Optimization Information
Convergence: successful
Function Evaluations: 35
Gradient Evaluations: 9

注意,由于所有双变量极值分布都渐近相关,因此Coles等人的χ统计量。(1999)始终等于1。
检测依赖强度的另一种方法是绘制Pickands的依赖函数:

> pickdep(Mlog)

水平线对应于独立性,而其他水平线对应于完全相关性。请注意,通过构造,混合模型和非对称混合模型无法对完美的依赖度变量建模。

使用马尔可夫链对依赖关系结构进行建模

超越的马尔可夫链进行超过阈值的峰分析的经典方法是使GPD拟合最大值。但是,由于仅考虑群集最大值,因此存在数据浪费。主要思想是使用马尔可夫链对依赖关系结构进行建模,而联合分布显然是多元极值分布。这个想法是史密斯等人首先提出的。(1997)。在本节的其余部分,我们将只关注一阶马尔可夫链。因此,所有超出的可能性为:

图片

对于我们的应用程序,我们模拟具有极值依赖结构的一阶马尔可夫链。

mcgpd(mc, 2, "log")
Estimator: MLE
Dependence Model and Strenght:
Model : Logistic
lim_u Pr[ X_1 > u | X_2 > u] = NA
Deviance: 1334.847
AIC: 1340.847
Threshold Call:
Number Above: 998
Proportion Above: 1
Estimates
scale shape alpha
0.8723 0.1400 0.5227
Standard Errors
scale shape alpha
0.08291 0.04730 0.02345
Asymptotic Variance Covariance
scale shape alpha
scale 0.0068737 -0.0016808 -0.0009066
shape -0.0016808 0.0022369 -0.0004412
alpha -0.0009066 -0.0004412 0.0005501
Optimization Information
Convergence: successful
Function Evaluations: 70
Gradient Evaluations: 15

置信区间

拟合统计模型后,通常会给出置信区间。当前,只有mle,pwmu,pwmb,矩估计量可以计算置信区间。

conf.inf.scale conf.sup.scale
2.110881 2.939282

conf.inf.scale conf.sup.scale
1.633362 3.126838

conf.inf.scale conf.sup.scale
2.138851 3.074945

conf.inf.scale conf.sup.scale
2.149123 3.089090

对于形状参数置信区间:

conf.inf conf.sup
2.141919 NA
conf.inf conf.sup
0.05757576 0.26363636

分位数的置信区间也可用。

conf.inf conf.sup
2.141919 NA
conf.inf conf.sup
0.05757576 0.26363636

图片

 conf.inf conf.sup
8.64712 12.22558
conf.inf conf.sup
8.944444 12.833333

图片

conf.inf conf.sup
8.64712 12.22558
conf.inf conf.sup
8.944444 12.833333

轮廓置信区间函数既返回置信区间,又绘制轮廓对数似然函数。

模型检查

要检查拟合的模型,用户必须调用函数图。

> plot(fitted, npy = 1)

图显示了执行获得的图形窗口。

聚类技术

在处理时间序列时,超过阈值的峰值可能会出现问题。确实,由于时间序列通常是高度自相关的,因此选择高于阈值可能会导致相关事件。
该函数试图在满足独立性标准的同时识别超过阈值的峰。为此,该函数至少需要两个参数:阈值u和独立性的时间条件。群集标识如下:
1.第一次超出会启动第一个集群;
2.在阈值以下的第一个观察结果将“终止集群”,除非tim.cond不成立;
3.下一个超过tim.cond的集群将启动新集群;
4.根据需要进行迭代。
一项初步研究表明,如果两个洪水事件不在8天之内,则可以认为两个洪水事件是独立的,请注意,定义tim.cond的单位必须与所分析的数据相同。
返回一个包含已识别集群的列表。

 clu(dat, u = 2, tim.cond = 8/365)

其他

返回周期

将返回周期转换为非超出概率,反之亦然。它既需要返回期,也需要非超越概率。此外,必须指定每年平均事件数。

npy retper prob
1 1.8 50 0.9888889
npy retper prob
1 2.2 1.136364 0.6

图片

无偏样本L矩

函数samlmu计算无偏样本L矩。

l_1

l_2

t_3

t_4

t_5

0.455381591

0.170423740

0.043928262 -0.005645249 -0.009310069

3.7.3

河流阈值分析

在本节中,我们提供了对河流阈值的全面和详细的分析。

时间序列的移动平均窗口

从初始时间序列ts计算“平均”时间序列。这是通过在初始时间序列上使用长度为d的移动平均窗口来实现的。

> plot(dat, type = "l", col = "blue")
> lines(tsd, col = "green")

图片
执行过程如图所示。图描绘了瞬时洪水数量-蓝线。

由于这是一个时间序列,因此我们必须选择一个阈值以上的独立事件。首先,我们固定一个相对较低的阈值以“提取”更多事件。因此,其中一些不是极端事件而是常规事件。这对于为GPD的渐近逼近选择一个合理的阈值是必要的。

> par(mfrow = c(2, 2))
> plot(even[, "obs"])
> abline(v = 6, col = "green"

图片
根据图,阈值6m3 = s应该是合理的。平均剩余寿命图-左上方面板-表示大约10m3 = s的阈值应足够。但是,所选阈值必须足够低,以使其上方具有足够的事件以减小方差,而所选阈值则不能过低,因为它会增加偏差3。
因此,我们现在可以\重新提取阈值6m3 = s以上的事件,以获得对象event1。注意,可以使用极值指数的估计。

> events1 <-365, clust.max = TRUE)
> np
time obs
Min. :1970 Min. : 0.022
1st Qu.:1981 1st Qu.: 0.236
Median :1991 Median : 0.542
Mean :1989 Mean : 1.024
3rd Qu.:1997 3rd Qu.: 1.230
Max. :2004 Max. :44.200
NA's : 1.000

图片

结果给出了估计器的名称(阈值,阈值以上的观测值的数量和比例,参数估计,标准误差估计和类型,渐近方差-协方差矩阵和收敛性诊断。
图显示了拟合模型的图形诊断。可以看出,拟合模型“ mle”似乎是合适的。假设我们想知道与100年返回期相关的返回水平。

> rp2p
npy retper prob
1 1.707897 100 0.9941448
> 
scale
36.44331

考虑到不确定性,图描绘了与100年返回期相关的分位数的分布置信区间。

conf.inf conf.sup
25.56533 90.76633

图片

有时有必要知道指定事件的估计返回周期。让我们对较大事件进行处理。

> maxEvent
[1] 44.2

shape
0.9974115
> prob
npy retper prob
1 1.707897 226.1982 0.9974115

因此,2000年6月发生的最大事件的重现期大约为240年。

conf.inf conf.sup
25.56533 90.76633

图片

点击文末 “阅读原文”

获取全文完整资料。

本文选自《R语言有极值(EVT)依赖结构的马尔可夫链(MC)对洪水极值分析》。

点击标题查阅往期内容

R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
R语言POT超阈值模型和极值理论EVT分析
R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
R语言极值理论EVT:基于GPD模型的火灾损失分布分析
R语言有极值(EVT)依赖结构的马尔可夫链(MC)对洪水极值分析
R语言POT超阈值模型和极值理论EVT分析
R语言混合正态分布极大似然估计和EM算法
R语言多项式线性模型:最大似然估计二次曲线
R语言Wald检验 vs 似然比检验
R语言GARCH-DCC模型和DCC(MVT)建模估计
R语言非参数方法:使用核回归平滑估计和K-NN(K近邻算法)分类预测心脏病数据
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
R语言基于Bootstrap的线性回归预测置信区间估计方法
R语言随机搜索变量选择SSVS估计贝叶斯向量自回归(BVAR)模型
Matlab马尔可夫链蒙特卡罗法(MCMC)估计随机波动率(SV,Stochastic Volatility) 模型
Matlab马尔可夫区制转换动态回归模型估计GDP增长率R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法

标签:scale,MC,阈值,shape,conf,Above,EVT,极值
From: https://www.cnblogs.com/tecdat/p/17426762.html

相关文章

  • [hc32f460填坑] SystemCoreClock在进入main后变为0
    我的芯片型号是hc32f460jeua,使用的库为HC32F460_DDL_Rev3.1.0,keil包为HDSC.HC32F460.1.0.10。发现的问题:执行完SystemInit后SystemCoreClock为200000000,一进入mian函数就变为零。原因:__NO_INIT未起作用,__main对SystemCoreClock进行了初始化解决方法:1.把这两个勾上2,将Zero......
  • Q420MC力学性能、Q420MC切割加工、Q420MC期货订轧
    一、Q420MC钢板简介:Q420MC钢板系列有:Q420MB、Q420MC、Q420MD、Q420ME。Q、表示屈服强度“屈”字的拼音首字母;420是屈服值,M热机械轧制,C代表级别,表示钢板是0度冲击;当需方要求钢板具有厚度方向性能时,则在上述规定的牌号后加上代表厚度方向(Z向)性能级别的符号,如:Q420MCZ15、Q420MCZ......
  • MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合|附代码数据
    全文链接:http://tecdat.cn/?p=30426最近我们被客户要求撰写关于GARCH-EVT-Copula的研究报告,包括一些图形和统计输出。对VaR计算方法的改进,以更好的度量开放式基金的风险。本项目把基金所持股票看成是一个投资组合,引入Copula来描述多只股票间的非线性相关性,构建多元GARCH-EVT-Cop......
  • 痞子衡嵌入式:MCUBootUtility v5.0发布,初步支持i.MXRT1180
    --痞子衡维护的NXP-MCUBootUtility工具距离上一个大版本(v4.0.0)发布过去4个多月了,期间痞子衡也做过两个小版本更新,但不足以单独介绍。这一次痞子衡为大家带来了全新大版本v5.0.0,这次更新主要是想和大家特别聊聊恩智浦新一代i.MXRT旗舰RT1180。一、v4.1-v5.0更新记录-......
  • Tomcat JNDI 配置
    context.mxldruidjndi<Resourcename="jdbc/mysqldatasource"factory="com.alibaba.druid.pool.DruidDataSourceFactory"auth="Container"type="javax.sql.DataSource"driverClassName="com.mysql.jdbc.Driver&......
  • nginx+tomcat+pgsql+redis离线部署过程
    gccpcre-developenssl-develzlib-devel离线安装包:包含云盘地址.txt离线部署java+nginx+tomcat+pgsql+redis.zip:城通网盘:https://url86.ctfile.com/f/15666686-859830438-baa3a9?p=2048(访问密码:2048)阿里云网盘(城通速度慢可以选这个):https://www.aliyundrive......
  • 锯齿波调制的FMCW雷达差拍信号的推导与分析
    1、背景又是同事的问题,同事当时问了一下雷达的中频信号跟信号的起始的频率是否有关,我当时没有回答出来。于是我痛并思痛,找了一些相关的资料,来记录和总结一下,算是自己的一个学习,也方便后面自己的查阅,如果能够帮到大家,那便是极好的。话不多说,咱们进入正题。2、推导与分析......
  • 本机tomcat部署程序,局域网内部可以访问吗
    同一个局域网内可以如果另一台电脑与Tomcat所在的电脑,在同个局域网内,那么可以通过IP+端口号来访问。不在同个局域网内,需要做内网穿透如果不在同个局域网内,那可以先用花生壳,cpolar等将网站映射到公网上,会生成相应的公网URL地址,另一台电脑访问这个公网地址,就可以访问到内网网站。......
  • tomcat管理
    1.漏洞检测-默认文件(中风险)tomcat默认的错误页、索引页等页面会暴露tomcat或者主机的信息,应删除或修改这些文件。解决:删除docs、examples目录,一般情况下host-manager、manager、ROOT目录根据情况也可以直接删除。目录解释传送门tomcat根目录lib目录下,修改catalina.jar......
  • Tomcat&Servlet
    Tomcat1、JavaWeb的概念1、什么是JavaWeb?1、JavaWeb是指,所有通过Java语言编写可以通过浏览器访问的程序的总称,叫JavaWeb。2、JavaWeb是基于请求和响应来开发的。2、什么是请求?1、请求是指客户端给服务器发送数据,叫请求Request3、什么是响应?响应是指服务器给客户端回传数......