11  Cópulas

Hasta el momento hemos visto como construir modelos univariados. Pero existen aplicaciones donde dos riesgos están correlacionados.

Es decir, a partir de la correlación lineal ρ entre dos variables X y Y, podríamos describir su comportamiento. Sin embargo, en pérdidas nos interesa responder otras preguntas:

Estas preguntas se responde a partir del concepto de dependencia en las colas construida a partir de la cópula.

11.1 Definición y construcción de cópulas

El concepto de cópula es una distribución generada a partir de las distribuciones marginales de dos o más variables. Formalmente

Una cópula es una función C:[0,1]d[0,1] con las siguientes propiedades:

  • Marginales:. Para cualquier j=1,,d se tiene que C(1,,1,uj,1,,1)=uj.
  • Isotónica: C(u)C(v) si uv, donde uv significa que ujvj para todo j=1,,d.
  • d-creciente: para cualquier caja [a,b][0,1]d con volumen no vacío, C([a,b])>0.

En particular una cópula C con d-variable es la función de distribución conjunta de d variables aleatorias uniformes (0,1). Si etiquetamos las variables aleatorias d como U1,U2,,Ud, entonces podemos escribir la cópula C como

C(u1,,ud)=Pr(U1u1,,Udud).

Ahora considere cualquier variable aleatoria continua X1,X2,,Xd con funciones de distribución F1,F2,,Fd, respectivamente.

Construya una función de distribución multivariada de la siguiente manera:

F(x1,,xd)=C[F1(x1),,Fd(xd)]=Pr(U1F1(x1),,UdFd(xd)).

Primero hay que verificar dos cosas

F es una función de distribución.

Prueba. Note que cada argumento es no decreciente ya que conforme crece cada xi la función Fi(xi) correspondiente no decrece (por ser una distribución). Como la función C fue construida a partir de la definición de una distribución conjunta, entonces F también lo es.

Note que el Teorema 11.1 (Sklar) nos dice que siempre se puede construir esta función C a partir de las distribuciones marginales y que esta es única.

Teorema 11.1 (Teorema de Sklar) Para un vector aleatorio X con distribución F y marginales univariadas F1,,Fd. Existe una cópula C tal que F(x1,,xd)=C(F1(x1),,Fd(xd)). Si X es continua, entonces tal cópula C es única.

Las marginales de F son también funciones de distribución.

Prueba. Para una variable X1 se tiene que: Pr(X1x1)=F(x1,,,)=Pr[U1F1(x1),U2F2(),,UdFd()]=Pr[U1F1(x1),U21,,Ud1]=Pr[U1F1(x1)]=F1(x1)

Las ventajas de usar cópulas es que en un problema podemos reconocer el riesgo individual y que este está ligado con otros. Pero no tenemos idea como. El Teorema 11.1 nos dice que podemos experimentar con los riesgos individuales para constuir ese riesgo conjunto desconocido.

11.2 Medidas de asociación

La forma más sencilla de construir una cópula es basado en su correlación

11.2.1 ρ de Spearman

Para dos variables aleatoarios (X1,X2), esta cópula se define como

ρS(X1,X2)=ρ(F1(X1),F2(X2)),

donde ρ es la correlación lineal clásica.

Si recordamos que la distribución es una variable uniforme (0,1) con media 1/2 y varianza 1/12 entonces:

ρS(X1,X2)=E[F1(X1)F2(X2)]E[F1(X1)]E[F2(X2)]Var(F1(X1))Var(F2(X2))=12E[F1(X1)F2(X2)]3.

Más concretamente, la ρ de Spearman se puede escribir como ρS(X1,X2)=12E[UV]3=120101uvdC(u,v)3=120101C(u,v)dudv3.

Ejercicio 11.1 Muestre que 0101uvdC(u,v)=0101C(u,v)dudv. usando integración por partes.

11.2.2 τ de Kendall

Considere dos variables aleatorias bivariadas continuas independientes e idénticamente distribuidas (X1,X2) y (X1,X2) con distribución marginal F1(x1) para X1 y X1 y distribución marginal F2(x2) para X2 y X2.

La medida de asociación, de la τ de Kendall, τK(X1,X2), está dada por τK(X1,X2)=Pr[(X1X1)(X2X2)>0]Pr[(X1X1)(X2X2)<0]

Es claro que esta medida se puede reescribir como τK(X1,X2)=E[sign(X1X1)(X2X2)].

Además se puede reescribir como función de la cópula misma

τK(X1,X2)=40101C(u,v)dC(u,v)1=4E[C(U,V)]1.

Ejercicio 11.2 Pruebe la igualdad anterior haciendo lo siguiente:

  1. Recuerde que Pr[(X1X1)(X2X2)<0]=1Pr[(X1X1)(X2X2)>0]
  2. Separe en dos probabilidades distintas Pr[(X1X1)(X2X2)>0].
  3. Reconstruya cada termino en terminos de C.

Si la cópula es absolutamente continua, entonces la ecuación anterior se puede reescribir como τK(X1,X2)=40101C(u,v)c(u,v)dudv1

donde c(u,v)=2C(u,v)uv es la función de densidad.

11.3 Dependencia en las colas

El interés de construir estos objetos es en caso de que haya pérdidas grandes en una variable, entonces reconocer que también lo existe en las otras.

Considere dos variables aleatorias continuas X y Y con distribuciones marginales F(x) y G(y). El índice de dependencia de la cola superior λU se define como:

λU=limu1Pr[X>F1(u)Y>G1(u)].

En resumen, si X es muy grande, dado que Y lo es, entonces podemos identificar cierta dependencia.

Podemos reescribir esta igualdad como

λU=limu1Pr[F(X)>uG(Y)>u]=limu1Pr[U>uV>u]

Haciendo un poco más de álgebra se puede escribir así (¿por qué?):

λU=limu11Pr(Uu)Pr(Vu)+Pr(Uu,Vu)1Pr(Vu)=limu112u+C(u,u)1u

De acá observamos que la dependencia de las colas puede ser explicada completamente partir de la cópula y no de las distribuciones marginales.

11.4 Generación de cópulas

El punto clave en la discusión de modelos de cópulas es la construcción de la función C(u,v). En esta sección veremos algunas formas de construirla.

11.4.1 Cópulas arquimedianas

La forma de esta cópula es,

C(u1,,ud)=ϕ1[ϕ(u1)++ϕ(ud)], donde ϕ(x) es llamado generador.

Propiedades de un generador
  • Es una función estrictamente decreciente, convexa y continua.
  • Se tiene que ϕ:[0,1][0,].
  • ϕ(1)=0.
  • La inversa del generador ϕ1(t) debe ser completamente monótona en [0,]. Es decir debe cumplir que (1)ndndxnϕ1(x)0,n=1,2,3,

Para el caso de dos variables, se puede describir,

  • τK de kendall: Haciendo los respectivos cálculos se tiene que
    τK(X1,X2)=1+40tϕ(u)ϕ(u)du.

  • Dependencia de la colas: λ=limu112u+C(u,u)1u=limu112u+ϕ1[2ϕ(u)]1u=22limt0ddtϕ1(2t)ddxϕ1(t) con la condición que limt0ddtdtϕ1(t)=.

Ejercicio 11.3 Prueben esta propiedad usando el teorema de l’Hopital.

11.4.2 Cópulas independientes

Una caso particular de las arquimedianas es cuando ϕ(u)=ln(u). Acá se obtiene que

C(u1,,ud)=j=1duj

Ejercicio 11.4 Para este caso en el caso de dos variables se tiene que

  • τK=0.
  • λU=0.

¿Por qué se da este fenómeno?

11.4.3 Cópula de Gumbel

Usando ϕ(u)=(lnu)θ,θ1 se obtiene

C(u1,,ud)=exp{[(lnu1)θ++(lnud)θ]1/θ}

En este caso se debe ajustar el parametro θ.

Ejercicio 11.5 Para este caso en el caso de dos variables se tiene que

  • τK=11θ.
  • λU=221θ.

11.4.4 Otras cópulas

Nombre Generador C(u1,,ud) λU
Joe ln[1(1u)θ],θ1 1[j=1d(1uj)θj=1d(1uj)θ]1/θ 221θ
BB1 (u51)θ,δ>0,θ1 {1+[j=1d(ujδ1)θ]1/θ}1/δ 221/(δθ)

11.5 Cópulas elípticas

Estas son generadas principalmente por distribuciones elípticas.

11.5.1 Cópula gaussiana

C(u1,,ud)=ΦP(Φ1(u1),,Φ1(ud))

donde Φ(x) es la cdf normal univariada estándar y ΦP(x1,,xd) es la cdf multivariada de la distribución normal multivariada estándar (con media cero y varianza de 1 para cada componente) y matriz de correlación P. Debido a que la matriz de correlación contiene d(d1)/2 correlaciones por pares, este es el número de parámetros en la cópula.

No existe una forma cerrada simple para la cópula. En el caso bidimensional (con un solo elemento de correlación ρ ), la cópula gaussiana se puede escribir como C(u1,u2)=Φ1(u1)Φ1(u2)12π1ρ2exp{x22ρxy+y22(1ρ2)}dydx

Aunque su forma teórica es algo difícil de construir, es muy fácil de simular.

Para dos variable se tiene que τK(X1,X2)=2πarcsin(ρ) si ρ=0 entonces se obtiene la cópula independiente.

Además, λU=0 por lo que esta cópula no es adecuada para modelado de riesgo por este motivo.

11.5.2 Cópula t-student

La cópula t viene dada por C(u1,,ud)=tν,P(tν1(u1),,tν1(ud)), donde tν(x) es el cdf de la distribución estándar t con ν grados de libertad y tν,P(x1,,xd) es la cdf conjunta de la distribución estándar multivariada t con ν grados de libertad para cada componente y donde P es una matriz de correlación. En el caso bidimensional (con un solo elemento de correlación ρ ), la cópula t se puede escribir comoC(u1,u2)=tν1(u1)tν1(u2)12π1ρ2{1+x22ρxy+y2ν(1ρ2)}1ν2dydx.

Se puede estimar que τK(X1,X2)=2πarcsinρ pero si ρ=0 no implica la cópula independiente.

Para este caso, λU=2tν+1(1ρ1+ρ(ν+1)).

11.6 Laboratorio

Para este ejercicio vamos a usar el siguiente paquete

library(copula)
set.seed(123)
  1. Abra la ayuda en la función ellipCopula y describa que tipo de entradas se necesita y que objeto voy a obtener.
  2. Construya una cópula gauassiana, de dimensión 3 y ρ=0.4. Use getSigma para ver la matriz de correlación.
  3. Haga lo mismo con cópula t con 8 df, pero use dispstr='toep' y param = c(0.8, 0.5). Qué ocurrió?
  4. Finalmente use la función archmCopula y construya una cópula gumbel con parámetro 3.

Ejercicio 11.6 En este ejemplo se generarán datos que tengan marginales Gamma con una cópula elíptica.

CopulaModelo <-
  mvdc(
    copula = ellipCopula(family = "normal", param = 0.5),
    margins = c("gamma", "gamma"),
    paramMargins = list(list(shape = 2, scale = 1), list(shape = 3, scale = 2))
  )

contour(CopulaModelo, dMvdc, xlim = c(-1, 6), ylim = c(-1, 14))

n <- 1000
dat <- rMvdc(mvdc = CopulaModelo, n = n)
  1. Cuál es la fórmula exacta para calcular los parámetros shape y scale usando los datos.
  1. Construya la τK para estos datos
  1. Use la función fitMvdc para ajustar la cópula sin valores iniciales. ¿Qué parámetros necesita?
  2. Usando los valores iniciales calculados anteriormente vuelva a hacer el ajuste.
  3. Vuelva a dibujar la copula, pero usando los valores ajustados del punto anterior.

11.7 Cópulas de valor extremo

Una cópula de este tipo tiene la propiedad de tener estabilidad en el máximo. Para entender esta propiedad veamos esta proposición:

Proposición 11.1 Una cópula de valor extremo satisface la igualdad,

C(u1n,,udn)=Cn(u1,,ud),

para todo (u1,,ud) y para todo n0.

Prueba. Para demostrar esta propiedad, considere el caso bivariado. Supongamos que (X1,Y1),(X2,Y2),,(Xn,Yn) son n pares aleatorios independientes e idénticamente distribuidos extraídas de la distribución conjunta F(x,y), con distribuciones marginales FX(x) y FY(y) y cópula C(x,y).

Sea MX=max(X1,,Xn) y MY=max(Y1,,Yn) los máximos por en cada margen.

Entonces la función de distribución del par aleatorio (MX,MY) es Pr(MXx,MYy)=Pr(Xix,Yiy, para todo i)=Fn(x,y)

De manera similar, las distribuciones marginales de MX y MY son FXn(x) y FYn(y). Entonces, dado que F(x,y)=C[FX(x),FY(y)], podemos escribir la distribución conjunta de los máximos como Fn(x,y)=Cn[FX(x),FY(y)]=Cn{[FXn(x)]1/n,[FYn(y)]1/n}. Por tanto, la cópula de los máximos viene dada por Cmax(u1,u2)=Cn(u11/n,u21/n) o equivalente, Cmax(u1n,u2n)=Cn(u1,u2).

El resultado anterior dice que si Cmax es del mismo tipo que la cópula original C, entonces la cópula tiene la estabilidad del máximo.

En otras palabras, esta propiedad dice la copula asociados con (MX,MY) es la misma que C(x,y)

Se puede probar que la forma general de estas cópulas es

C(u1,u2)=exp{ln(u1u2)A(lnu1ln(u1u2))},

donde A(w) es una función de dependencia,

A(w)=01max[x(1w),w(1x)]dH(x)

para cualquier w[0,1] y H es una función de distribución sobre [0,1]. Resulta que A(w) debe ser una función convexa que satisfaga max(w,1w)A(w)1,0<w<1 y que cualquier función convexa diferenciable A(w) que satisfaga esta desigualdad puede usarse para construir una cópula. Tenga en cuenta que la cópula de independencia resulta de establecer A(w) en su límite superior A(w)=1. En el otro extremo, si A(w)=max(w,1w), entonces hay correlación perfecta y, por tanto, dependencia perfecta con C(u,u)=u.

La dependencia de la cola superior se puede escribir como

λU=limu112u+C(u,u)1u=limu112u+u2A(1/2)1u=limu122A(1/2)u2A(1/2)1=22A(1/2).

Algunos ejemplos de este tipo de cópulas son

Nombre A(w) λU
Gumbel [wθ+(1w)θ]1/θ,θ0 si w=12 entonces 221θ
Galambos 1[wθ+(1w)θ]1/θ,θ>0 21/θ

11.7.1 Cópulas Archimax

Combinando cópulas arquimedianas y de valor extremos se puede escribir las siguiente representación,

C(u1,u2)=ϕ1[{ϕ(u1)+ϕ(u2)}A(ϕ(u1)ϕ(u1)+ϕ(u2))], donde ϕ(u) es un generador arquimediano válido y A(w) es una función de dependencia válida.

Nombre ϕ(u) A(w) C(u1,u2)
BB4 uθ1,θ0 1{wδ+(1w)δ}1/δ,θ>0,δ>0 {u1θ+u2θ1[(u1θ1)δ+(u2θ1)δ]1/δ}1/θ

11.8 Estimación por máxima verosimilitud

Recuerde que la cópula es de la forma F(x1,,xd)=C[F1(x1),,Fd(xd)]

y su densidad es f(x1,,xd)=f1(x1)f2(x2)fd(xd)c[F1(x1),,Fd(xd)]

Nota

La estimación de los parámetros de la cópula depende de la estimación de las marginales.

Entonces se puede escribir para n datos

l=j=1nlnf(x1,j,,xd,j)=j=1ni=1dlnfi(xi,j)+j=1nlnc[F1(x1,j),,Fd(xd,j)]=lw+lc.

Forma de estimación
  1. Optimice las d funciones ln(fi(xij) individualmente.
  2. Use esos valores para construir los pseudo-verosimiludes u~i,j=F~i(xi,j).
  3. Optimice la pseudo-verosimilitud de la cópula l~c=j=1nlnc(u~1,j,,u~dj).

11.9 Medidas de mejor ajuste

Sabemos que U1=F1(X1) y U2=F2(X2) son ambas variables aleatorias uniformes (0,1).

Ahora introduzca las variables aleatorias condicionales V1=F12(X1X2) y V2=F21(X2X1). Entonces, las variables aleatorias V1 y U2 son (0,1) variables aleatorias uniformes mutuamente independientes.

Note que la variable aleatoria V1=F12(X1 X2=x ). Debido a que es una distribución aplicada a una variable aleatoria, debe tener una distribución uniforme (0,1). Este resultado es cierto para cualquier valor de x. Así, la distribución de V1 no depende del valor de X2 y por tanto no depende de U2=F2(X2).

El valor observado de la función de distribución de la variable aleatoria condicional X2 dada X1=x1 es F21(x2X1=x1)=C1[FX1(x1),FX2(x2)]. El valor observado v2 de la variable aleatoria V2 se puede obtener a partir de los valores observados de las variables aleatorias bivariadas (X1,X2) de v2=F^21(x2X1=x1)=C^1[F^X1(x1),F^X2(x2)]. Por lo tanto, podemos generar un conjunto univariado de datos que debería verse como una muestra de una distribución (0,1) uniforme si la combinación de distribuciones marginales y la cópula se ajusta bien a los datos.

El método sugerido para probar el ajuste es el siguiente

Nota
  • Paso 1. Ajuste y seleccione las distribuciones marginales utilizando métodos univariados.
  • Paso 2. Pruebe la uniformidad de la distribución condicional de V1.
  • Paso 3. Pruebe la uniformidad de la distribución condicional de V2.

Las pruebas a usar son las usuales que hemos visto en el curso.

Para más dimensiones, se pueden probar las variables dos a dos y comprobar el ajuste.

11.9.1 Laboratorio

library(copula)
library(tidyverse)
data(loss)
# loss data loss: pérdida de la compañía hasta cierto límite.
# alae: gastos relacionados con el reclamo (gastos legales, gastos por
# investigaciones, etc. )

ggplot(loss, aes(loss, alae)) +
  geom_point()

ggplot(loss, aes(log(loss), log(alae))) +
  geom_point()

  1. Ajuste las variables loss y alae individualmente. Traten Pareto, lognormal, gamma, etc. ¿Cuál es mejor? (Noten que algunos valores están censurados) (usen coef(fit) para obtener los parámetros correctos.)
  2. Construya las variables U1 y U2 para cada marginal. Compruebe que la hipotesis de uniformidad se cumple.
  3. Use cópulas Frank, Gumbel, Normal y t para modelar la distribución conjunta de U1 y U2. (revise la función archCopula).
  4. Use la funciones contour y persp para visualizar la copula.
  5. Revisen la tau de Kendall y la dependencia de la cola para caso.
  6. Calcule la distribuciones condicionales usando cCopula y verifique el supuesto de uniformidad.
  7. Finalmente, calcule el VaR al 95% y 99% de cada margen asumiendo independencia. Usando la función rMvdc genere datos aleatorios de cada margen usando la cópula y calcule los mismos niveles de VaR. Compare los resultados.

11.10 El rol de los deducibles

Cada variable puede tener su propio deducibles y las variables en los margenes podrían ser datos individuales o agrupados. Esto genera diferencias para la construcción del estimador de máxima verosimilitud.

En este caso explicaremos las diferencias en el caso bivariado. Recordemos que

F(x,y)=C[F1(x1),F2(x2)]f(x,y)=f1(x1)f2(x2)c[F1(x1),F2(x2)]

donde C1(u1,u2)=u1C(u1,u2)C2(u1,u2)=u2C(u1,u2),c(u1,u2)=C12(u1,u2)=u1u2C(u1,u2).

En el caso de datos agrupados solo hay que considerar el caso cuando el dato cae sobre intervalo. Llamemos [a1,b1] y [a2,b2] los intervalos respectivos para X1 y X2.

Consideramos cuatro casos:

  • Caso #1: Datos individuales para X1 y X2.
    En este caso, se tiene un factor muy similar al visto para el caso univariado. Si X1 o X2 caen por debajo de su deducibles no son tomadas en cuenta.

f(x1,x2)1F1(d1)F2(d2)+F(d1,d2)=f1(x1)f2(x2)c[F1(x1),F2(x2)]1F1(d1)F2(d2)+C[F1(d1),F2(d2)].

  • Caso #2: Dato individual para X1 y dato agrupado para X2.
    Tenemos lo siguiente

x1F(x1,b2)x1F(x1,a2)1F1(d1)F2(d2)+F(d1,d2)=f1(x1){C1[F1(x1),F2(b2)]C1[F1(x1),F2(a2)]}1F1(d1)F2(d2)+C[F1(d1),F2(d2)].

  • Caso #3: Dato individual para X2 y dato agrupado para X1.
    x2F(b1,x2)x2F(a1,x2)1F1(d1)F2(d2)+F(d1,d2)=f2(x2){C2[F1(b1),F2(x2)]C1[F1(a1),F2(x2)]}1F1(d1)F1(d2)+C[F1(d1),F2(d2)].
  • Caso #4: Ambos datos agrupados.
    F(b1,b2)F(a1,b2)F(b1,a2)+F(a1,a2)1F1(d1)F2(d2)+F(d1,d2){C[F1(b1),F2(b2)]C[F1(a1),F2(b2)]=C[F1(b1),F2(a2)]+C[F1(a1),F2(a2)]}1F1(d1)F2(d2)+C[F1(d1),F2(d2))].

11.11 Simulación de copulas

Para efectos de análisis de la cópula y las marginales, es necesario definir un proceso para generación de valores aleatorios.

11.11.1 Cópulas Gaussianas

Un vector gaussiano d-dimensional tiene la caracteristica de que

X=μ+LZ

donde Σ=LL. Entonces para generar números aleatorios a partir de la cópula se puede hacer lo siguiente:

  1. Calcule el factor de Cholesky L de la matriz de correlación P.
  2. Genera una muestra Z1,,Zd ind. N(0,1).
  3. Calcule X=LZ.
  4. Devuelve U=(Φ(X1),,Φ(Xd)).

11.11.2 Cópulas t

Este caso es similar al gaussiano, salvo una modificación:

  1. Calcule el factor de Cholesky L de la matriz de correlación P.
  2. Genera una muestra Z1,,Zd ind. N(0,1).
  3. Genere una muestra WIG(ν2,ν2) independiente de Z.
  4. Calcule X=WLZ.
  5. Devuelve U=(tν(X1),,tν(Xd)).

11.11.3 Cópulas arquimedianas

Para el caso de las arquimedianas, primero hay que definir lo siguiente.

Sea V una variable aleatoria no negativa con distribución F. La transformada de Laplace-Stielties de F está definida por LS[F](t)=0exp(tv)dF(v)=E(exp(tV)),t[0,).

La función F se puede recuperar a partir de la inversa LS1[ψ]. El uso de esta función es debido al teorema de Bernstein. Este dice que ψ es completamente monótona si y solo si ψ es la transformada de Laplace-Stielties de una distribución F en los reales positivos con F(0)=0.

La variable aleatoria VF se cononce como frailty y F es la distribución frailty.

Se puede probar que

U=(ψ(E1V),,ψ(EdV))C

donde E1,,Ed ind Exp(1) son independientes deV.

El algoritmo general es

  1. Muestree VF=LS1[ψ].
  2. Muestree E1,,Ed ind Exp(1), independiente de V.
  3. Devuelva U=(ψ(E1/V),,ψ(Ed/V)).

11.11.4 Laboratorio

  1. Use el algoritmo de construcción de cópulas gaussianas con matrices covarianza (16442)(10.50.51) Use 1000 valores. Compare ambos resultados.

  2. Construya una copula normal asumiendo que la τK=0.5. Revise la función iTau para encontrar el parámetro correcto.

  3. Genere con rCopula y haga el plot de estos resultados. Comparelos con el punto estos resultados. Comparelos con el punto 1.

  4. Suponga que se quiere simular una cópula t con 4 grados de libertad. Repita lo puntos 1 a 3 para este caso. W puede simularse como W=ν/T con Tχν2

  5. Para 5 variables, ajuste una cópula Gumbel con τK=0.5. Use iTau de nuevo.

  6. Para generar manualmente los valores aleatorios de la cópula se necesita lo siguiente

family = "Gumbel"
cop <- getAcop(family) 
V <- cop@V0(n, theta = parametro_de_iTau) 

Revise la ayuda de acopula. 7. Compare este resultado con rCopula.