1.加载相应的包和数据
设置工作路径,并加载相应的边缘分布的pdf(累积分布函数概率值),这期主要讲解重现期等值线,因此具体的边缘分布函数的拟合过程和copula函数的拟合过程就不具体介绍了。
setwd("F:/copula-work")
library(copula)
library(VineCopula)
library(MASS)
library(FAdist)
library(fitdistrplus)
library(copBasic)
data<- read.csv('shuju.csv')
ls<-data[,1]#这里的数据为单变量分布函数F(X)
ld<-data[,2]#这里的数据为单变量分布函数F(Y)
2.绘制联合重现期等值线
根据定义,联合重现期是指,我们先将其转换为
,那么就可以根据copBasic包里的joint.curvesCOP()函数的定义进行计算,函数内定义type=“and"即为计算P[U ≤ v, V ≤ v] = t = C(u, v)情况下的等值线,那么我们可以知道当计算20年一遇时,即1-P[U ≤ v, V ≤ v]=1/20=0.05,所以P[U ≤ v, V ≤ v]=0.95,类似这样的规律,因此可写代码如下:
#family= clayton copula#
UV <- simCOP(n=1000, cop=CLcop, para=xm[1], snv=TRUE)#模拟拟合的copula函数的UV
AND <- joint.curvesCOP(cop=CLcop, para=xm[1], type="and",
divisor=1000, tol=.Machine$double.eps)#得到C(u,v)的等值线
#先弄一个绘图区域
plot(100, 100, type="n",
xlab&