关于算法:R语言极值理论基于GPD模型的火灾损失分布分析

11次阅读

共计 2186 个字符,预计需要花费 6 分钟才能阅读完成。

极值实践关注危险损失散布的尾部特色, 通常用来剖析概率常见的事件, 它能够依附大量样本数据, 在总体散布未知的状况下, 失去总体散布中极值的变动状况, 具备超过样本数据的预计能力。因而, 基于 GPD(generalized pareto distribution) 散布的模型可更无效地利用无限的巨灾损失数据信息, 从而成为极值实践以后的支流技术。

针对巨灾产生频率低、损失高、数据有余且具备厚尾性等特点, 利用 GPD 模型对火灾经济损失数据进行了统计建模; 并对形态参数及尺度参数进行了预计。模型测验表明,GPD 模型对巨灾危险厚尾特点具备较好的拟合成果和拟合精度, 为巨灾危险预计的建模及巨灾债券的定价提供了理论依据。

火灾损失数据

本文应用的数据是在再保险公司收集的,包含 1980 年至 1990 年期间的 2167 起火灾损失。已对通货膨胀进行了调整。总索赔额已分为建筑物损失、利润损失。

base1=read.table( "dataunivar.txt",
 header=TRUE)
base2=read.table( "datamultiva.txt",
 header=TRUE)

思考第一个数据集(到目前为止,咱们解决的是单变量极值),

 > D=as.Date(as.character(base1$Date),"%m/%d/%Y")
> plot(D,X,type="h")

图表如下:

而后一个天然的想法是可视化

例如

 > plot(log(Xs),log((n:1)/(n+1)))

线性回归

这里的点在一条直线上。斜率能够通过线性回归失去,

 lm(formula = Y ~ X, data = B)
lm(Y~X,data=B[(n-500):n,])
lm(formula = Y ~ X, data = B[(n - 100):n, ]) 

重尾散布

这里的斜率与散布的尾部指数无关。思考一些重尾散布

因为天然估计量是阶次统计量,因而直线的斜率与尾部指数相同 ​. 斜率的估计值为(仅思考最大的观测值)

=

心愿估算量

心愿估算量基于以下假如:下面的分母简直为 1(即等于)。

那么能够失去收敛性假如。进一步

基于这个(渐近)散布,能够失去一个(渐近)置信区间 

> xi=1/(1:n)*cumsum(logXs)-logXs
> xise=1.96/sqrt(1:n)*xi

> polygon(c(1:n,n:1),c(xi+xise,rev(xi-xise)), 

增量办法

与之相似(同样还有对于收敛速度的附加假如)

(应用增量办法取得)。同样,咱们能够应用该后果得出(渐近)置信区间

 > alphase=1.96/sqrt(1:n)/xi
> polygon(c(1:n,n:1),c(alpha+alphase,rev(alpha-alphase)), 

Deckers-einmal-de-Haan 估计量

而后(再次思考收敛速度的条件,即),

Pickands 预计

 因为 ​,

代码

> xi=1/log(2)*log((Xs[seq(1,length=trunc(n/4),by=1)]-
+ Xs[seq(2,length=trunc(n/4),by=2)])/

> xise=1.96/sqrt(seq(1,length=trunc(n/4),by=1))*
+sqrt(xi^2*(2^(xi+1)+1)/((2*(2^xi-1)*log(2))^2))

> polygon(c(seq(1,length=trunc(n/4),by=1),rev(seq(1, 

拟合 GPD 散布

也能够应用最大似然办法来拟合高阈值上的 GPD 散布。

 > gpd
$n
[1] 2167

$threshold
[1] 5

$p.less.thresh
[1] 0.8827873

$n.exceed
[1] 254

$method
[1] "ml"

$par.ests
xi      beta
0.6320499 3.8074817

$par.ses
xi      beta
0.1117143 0.4637270

$varcov
[,1]        [,2]
[1,]  0.01248007 -0.03203283
[2,] -0.03203283  0.21504269

$information
[1] "observed"

$converged
[1] 0

$nllh.final
[1] 754.1115

attr(,"class")
[1] "gpd"

或等效地

> gpd.fit
$threshold
[1] 5

$nexc
[1] 254

$conv
[1] 0

$nllh
[1] 754.1115

$mle
[1] 3.8078632 0.6315749

$rate
[1] 0.1172127

$se
[1] 0.4636270 0.1116136

它能够可视化尾部指数的轮廓似然性,

> gpd.prof

或者

> gpd.prof

因而,能够绘制尾指数的最大似然估计量,作为阈值的函数(包含置信区间),

Vectorize(function(u){gpd(X,u)$par.ests[1]})

plot(u,XI,ylim=c(0,2))
segments(u,XI-1.96*XIS,u,XI+ 

最初,能够应用块极大值技术。

gev.fit
$conv
[1] 0

$nllh
[1] 3392.418

$mle
[1] 1.4833484 0.5930190 0.9168128

$se
[1] 0.01507776 0.01866719 0.03035380

尾部指数的估计值是在这里最初一个系数。

正文完
 0