当前位置:   article > 正文

R语言极值分析:GEV与GPD模型与MCMC的海洋观测数据极值模拟可视化研究|数据分享...

R语言极值分析:GEV与GPD模型与MCMC的海洋观测数据极值模拟可视化研究|数据分享...

全文链接:https://tecdat.cn/?p=37007

在海洋科学领域,极端天气和海洋事件如极端海浪、风暴潮和海啸等,对沿海社区、基础设施及生态环境构成了重大威胁。准确预测和评估这些极端事件的强度和频率,对于制定有效的防灾减灾策略至关重要。极值分析作为统计学的一个重要分支,专门用于处理和分析极端值的出现规律,近年来在海洋观测数据的处理中得到了广泛应用点击文末“阅读原文”获取完整代码数据)。

相关视频

GEV分布是一个包含三种基本极值分布(Gumbel、Fréchet和Weibull)的通用框架,能够适用于广泛的极值数据场景。而GPD分布则在阈值超量建模中表现出色,特别适用于超过某一特定阈值的极值数据分析。结合这两种模型,研究人员可以更全面地理解和模拟海洋观测数据中的极值行为。

此外,马尔可夫链蒙特卡洛(Markov Chain Monte Carlo, MCMC)方法作为一种强大的统计模拟技术,在复杂分布的参数估计和预测中发挥着重要作用。将MCMC与GEV或GPD模型相结合,不仅可以提高参数估计的精度,还能够生成符合特定分布规律的模拟数据,为海洋极值事件的情景分析和风险评估提供有力支持。

本文旨在帮助客户探讨R语言环境下,实现GEV与GPD模型结合MCMC方法在海洋观测数据极值模拟可视化研究中的应用课题研究。

通过具体案例,展示如何构建这些模型,进行参数估计,并利用MCMC方法进行模拟数据生成和可视化分析。本文的研究不仅有助于深入理解海洋极值事件的统计规律,还为海洋灾害的预警和应对提供了科学依据和技术支持。

数据清理与统计分析

在本文中,我们首先对一组海洋观测数据查看文末了解数据免费获取方式进行了预处理,随后进行了基本的统计分析和可视化展示。这些数据包含了不同时间点的海浪高度(Hs)、最大海浪高度(Hmax)、水温(SST)以及其他海洋环境参数,如潮汐(Tz)、波峰周期(Tp)和波峰方向(Dir_Tp.TRUE)。数据的时间跨度为1996年11月21日的多个时间点,每行数据代表一个观测点。

3e2da8b284dbae1c7983755d25a3b555.png

数据预处理

为了确保数据分析的准确性和可靠性,我们首先对数据进行了清理,移除了任何可能存在的缺失值。在R语言中,使用na.omit()函数可以轻松实现这一步骤,该函数能够自动删除包含NA值的行。

  1. data <- na.omit(data)
  2. summary_stats <- c("Mean", "Median", "Sd")
  3. data_summary <- sapply(data[, c("Hs")], function(x) summary(x)[summary_stats])
  4. data_summary

可视化分析

为了进一步直观展示海浪高度的分布情况,我们采用了箱线图和直方图两种可视化方法。

箱线图

箱线图是一种用于展示数据分布情况的图表,它能够清晰地显示数据的四分位数、中位数以及异常值。在本例中,我们绘制了Hs的箱线图,并通过设置outlier.shape = NA来隐藏异常值的标记,使图表更加简洁。dfae344a831576d9d5b4fbb9c8ed3677.png

直方图

直方图则是另一种常用的数据分布展示方式,它通过条形图的形式展示了数据的频数分布。在本例中,我们设置了30个分组来绘制Hs的直方图,并通过设置颜色和填充样式来增强图表的可读性。

730a46603471ee5e936b1f7de7b45ea7.png

通过上述分析和可视化展示,我们可以对海浪高度(Hs)的分布情况有一个较为全面的了解,为后续的研究和预测提供了有力的数据支持。

GPD-MCMC模型在极端海浪高度分析中的应用

在本文中,我们利用广义帕累托分布(Generalized Pareto Distribution, GPD)模型对极端海浪高度数据(Hs)进行了详细的分析与拟合。GPD模型因其能够灵活捕捉极端值分布的特性,在极端事件统计分析中得到了广泛应用。

模型拟合

首先,我们使用R拟合GPD模型至海浪高度数据(Hs)。在拟合过程中,我们指定了类型为"GP"(即广义帕累托分布),并设置了阈值(threshold),以筛选出极端海浪高度数据进行专门分析。

模型诊断与可视化

为了评估GPD模型的拟合效果,我们进行了多个诊断步骤和可视化展示。通过distill函数,我们提取了模型的关键统计信息,以便进一步分析。

1e8e77f9648c3bb45e530f3e56dd25ab.png

接着,我们使用mrlplot函数绘制了超出量均值剩余寿命(Mean Residual Life, MRL)图,以检查数据是否满足GPD模型的假设。通过设定xlim参数,我们专注于海浪高度在0到12米范围内的分析。

cff1b394f38ae659824355d65d9ce59c.png

置信区间与极值预测

为了评估模型参数的不确定性,我们计算了参数的置信区间(CI)。这有助于我们理解模型估计的稳健性。
8ed8a89f4af74a96bbe7c9b8f53230fd.png
进一步地,我们利用ci函数预测了不同重现期(return period)下的极端海浪高度及其置信区间。这对于海洋工程设计和风险评估尤为重要。

阈值敏感性分析

为了探究阈值选择对模型结果的影响,我们进行了阈值范围分析。通过threshrange.plot函数,我们绘制了不同阈值下的模型拟合效果,并特别关注了阈值在-75.5到-68.5范围内(注意:这里假设的阈值范围可能基于特定数据集或分析需求,实际应用时需根据数据特性调整)的变化情况,采用“PP”(Pickands Plot)类型进行展示。

ae04a40648b716eafcb3c56a5185658a.png

MCMC 采样

我们开发了MCMC采样函数,通过提议分布(如正态分布)生成新的参数候选值,并根据Metropolis-Hastings算法接受或拒绝这些候选值。对数似然函数用于计算候选值和当前值的接受概率。

我们使用R语言实现了GPD的对数似然函数、提议分布和MCMC采样函数。具体实现细节已在前文给出。

  1. # 定义 GPD 的概率密度函数
  2. gpd_pdf <- function(x, shape, scale) {
  3. if (shape == 0) {
  4. return(exp(-x / scale) / scale)
  5. } else {
  6. return((1 + shape * x / scale)^(-1 - 1 / shape) * shape / scale)
  7. }
  8. }
  9. # 定义提议分布(这里使用正态分布)
  10. proposal_dist <- function(theta, var) {
  11. return(rnorm(length(theta), theta, var))
  12. }
  13. # MCMC 采样函数
  14. mcmc_sample <- function(log_likelihood, initial_theta, data, n_iter, var) {
  15. theta <- initial_theta

接下来,我们分别为形状参数和尺度参数绘制直方图和密度曲线,以便更直观地了解它们的分布特性。

e327fe41f7f58744790644ba7bacc1ad.png


点击标题查阅往期内容

1dc52ee94faa61ab42cf8f2a8852f22c.png

MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合

outside_default.png

左右滑动查看更多

outside_default.png

01

1512ca309739edcafc6712f089f8f496.png

02

d8d801756695149922ebf7f5a9cfa915.png

03

fa79a2ef725d9ef681ef8202c6a8b537.png

04

18a5ceaae9f60cc0870a3cb8aa59fcf6.png

广义极值分布(GEV)在极端海况分析中的应用

在本研究中,我们采用了广义极值分布(Generalized Extreme Value, GEV)模型来拟合和分析极端海况数据,特别是针对显著波高(Hs)数据集的极端值进行建模。GEV分布因其能够灵活捕捉极端事件分布特性而被广泛应用于气候科学和工程领域。

数据拟合与模型评估

首先,我们使用fevd函数从extRemes或类似包中,以GEV分布类型对显著波高数据集data$Hs进行了拟合,设定阈值为6,以排除非极端值的影响。

随后,我们输出了拟合结果以查看模型参数:

9aad3a4419a8bf101f832fc44f284f5c.png

为了进一步简化和解读模型结果,我们使用distill函数提取了关键的模型摘要信息:

6ae60dfd028fed6c7ceaf4a22ea25edf.png

为了直观地展示GEV模型的拟合效果,我们绘制了拟合结果的图形,包括拟合曲线和原始数据的散点图:

9a6dbf89a605919f887cc013bae7a5c5.png

此外,我们还通过函数绘制了边际剩余寿命(Marginal Return Level, MRL)图,以分析不同阈值下的极端值分布特性,特别设定了x轴的范围为0到7米:

模型诊断与有效性验证

为了验证模型的拟合质量,我们进一步绘制了拟合过程的“trace”图,该图提供了模型迭代过程中的收敛性和稳定性信息:

极端重现水平分析

基于拟合的GEV模型,我们计算了不同重现期(2年、20年和100年)下的有效重现水平(Effective Return Level, ERL)及其95%置信区间(CI)。这些信息对于评估极端海况的潜在风险和制定相应的防护措施至关重要:

4cf8e050735ee855f758d0ac46e4d450.png
20f0bc68a7feea1d9417ba91cc830275.png

多项式逼近方法在显著波高数据分析中的应用

我们采用多项式逼近方法(Polynomial Approximation Method)对显著波高(Hs)数据进行了建模与分析。多项式模型因其灵活性高,能够较好地捕捉数据中的非线性趋势,被广泛应用于数据拟合领域。

多项式模型构建

首先,我们定义了自变量x为数据集的行索引,从1到nrow(data),以便将时间序列或顺序数据映射到多项式模型中。随后,我们使用线性模型(lm)函数,将显著波高(data$Hs)作为因变量,对x进行6次多项式变换后的自变量进行拟合,构建模型如下:

a06d70e74e9d67a1f142474d5aaadf8e.png

通过summary(model),我们获得了模型的详细统计摘要,包括系数估计、标准误、t值和p值等,这些信息有助于评估模型的拟合效果和各个多项式项的显著性。

预测与置信区间

为了评估模型预测的准确性,我们计算了预测值及其99%置信区间。

随后,我们绘制了观测数据点,并计划(但未直接执行)将预测曲线及其置信区间叠加到图上,以便直观地比较模型预测与观测数据之间的差异。

98e0cad0be37ff5a6b8de34e8f0373b4.png

极端值分布探索

为了进一步研究显著波高数据的极端值分布特性,我们引入了极值理论(EVT)中的几种工具,特别是与广义极值分布(GEV)相关的函数。

综上所述,本文通过多项式逼近方法和极值理论对显著波高数据进行了全面的分析与探索,为相关领域的研究提供了有益的参考。

数据获取

在公众号后台回复“海洋”,可免费获取完整数据。

9fdee8f7c85a036c8f65fbb1706d3b2b.jpeg

点击文末“阅读原文”

获取全文完整代码数据资料。

本文选自《R语言极值分析:GEV与GPD模型与MCMC的海洋观测数据极值模拟可视化研究》。

点击标题查阅往期内容

MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合

R语言使用多元AR-GARCH模型衡量市场风险

R语言GARCH模型对股市sp500收益率bootstrap、滚动估计预测VaR、拟合诊断和蒙特卡罗模拟可视化

R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

GARCH-DCC模型和DCC(MVT)建模估计

R语言预测期货波动率的实现:ARCH与HAR-RV与GARCH,ARFIMA模型比较

ARIMA、GARCH 和 VAR模型估计、预测ts 和 xts格式时间序列

PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化

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

Garch波动率预测的区制转移交易策略

金融时间序列模型ARIMA 和GARCH 在股票市场预测应用

时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据

R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化

Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用

MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测

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

Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测

R语言时间序列GARCH模型分析股市波动率

R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测

matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计

Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测

使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略

R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模

R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析

R语言多元Copula GARCH 模型时间序列预测

R语言使用多元AR-GARCH模型衡量市场风险

R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格

R语言用Garch模型和回归模型对股票价格分析

GARCH(1,1),MA以及历史模拟法的VaR比较

matlab估计arma garch 条件均值和方差模型

34d1df3c4ec642210f27592b2fba355c.jpeg

862289237cc4df24c37727fc4baf7ced.png

c10a33da4f87c9575ca3ff9b507eb45d.png

5b0bbf3ffac8f8df27c90d3c045bd917.jpeg

b3b620e935e6caddd9345a897ed3b7f2.png

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/873315
推荐阅读