R语言极值推断:广义帕累托分布GPD使用极大似然估计、轮廓似然估计、Delta法
作者:互联网
原文链接:http://tecdat.cn/?p=22566
原文出处:拓端数据部落公众号
本文是极端值推断的内容。我们在广义帕累托分布上使用最大似然方法。
在参数模型的背景下,标准技术是考虑似然的最大值(或对数似然)。考虑到一些技术性假设,如 ,的某个邻域,那么
其中表示费雪信息矩阵。在此考虑一些样本,来自广义帕累托分布,参数为 ,因此
如果我们解决极大似然的一阶条件,我们得到一个满足以下条件的估计
这种渐进正态性的概念如下:如果样本的真实分布是一个具有参数的GPD,那么,如果n足够大,就会有一个联合正态分布。因此,如果我们产生大量的样本(足够大,例如200个观测值),那么估计的散点图应该与高斯分布的散点图相同。
- > for(s in 1:1000){
- + param[s,]=gpd(x,0)$par.ests
- > image(x,y,z)
得到一个3D的表示
- > persp(x,y,t(z)
- + xlab="xi",ylab="sigma")
有了200个观测值,如果真正的基础分布是GPD,那么,联合分布是正态的。
另一个重要的属性是德尔塔法。这个想法是,如果是渐进正态,足够平滑,那么也是渐进高斯的。
从这个属性中,我们可以得到(这是极值模型中使用的另一个参数化)的正态性,或者在任何四分位数上 。我们运行一些模拟,再一次检查联合正态性。
- > for(s in 1:1000)
- + gpd(x,0)$par.ests
- + q=sha * (.01^(-xih) - 1)/xih
- + tvar=q+(sha + xih * q)/(1 - xih)
- dmnorm(cbind(vx,vy),m,S)
- > image(x,y,t(z)
正如我们所看到的,在样本大小为200的情况下,我们不能使用这个渐进式的结果:看起来我们没有足够的数据。但是,如果我们在n=5000运行同样的代码,
- > n=5000
我们得到和的联合正态性。这就是我们可以从这个结果中得到的delta-方法。
另一个有趣的方法是Profile 似然函数的概念。因为尾部指数,在这里是辅助参数。
这可以用来推导出置信区间。在GPD的情况下,对于每个 ,我们必须找到一个最优的 。我们计算Profile 似然函数,即 。而我们可以计算出这个轮廓似然的最大值。一般来说,这个两阶段的优化与(全局)最大似然是不等价的,计算结果如下
- + profilelikelihood=function(beta){
- + -loglik(XI,beta) }
- + L[i]=-optim(par=1,fn=profilelik)$value }
如果我们想计算轮廓似然的最大值(而不是像以前那样只计算网格上的轮廓似然的值),我们使用
- + profile=function(beta){
- + -loglikelihood(XI,beta) }
- (OPT=optimize(f=PL,interval=c(0,3)))
我们得到结果和最大似然估计的相似。我们可以用这种方法来计算置信区间,在图表上将其可视化
- > line(h=-up-qchisq(p=.95,df=1)
- > I=which(L>=-up-qchisq(p=.95,df=1))
- > lines(XIV[I]
竖线是参数95%置信区间的下限和上限。
最受欢迎的见解
3.R语言有极值(EVT)依赖结构的马尔可夫链(MC)对洪水极值分析
4.R语言回归中的hosmer-lemeshow拟合优度检验
5.matlab实现MCMC的马尔可夫切换ARMA – GARCH模型估计
9.R语言如何在生存分析与Cox回归中计算IDI,NRI指标
标签:似然,语言,GPD,我们,xih,估计,Delta,极值 来源: https://www.cnblogs.com/tecdat/p/14847615.html