Статьи

Чрезмерная дисперсия с различными воздействиями

В актуарной науке и определении страховых тарифов учет  воздействия  может быть кошмаром (в наборах данных некоторые клиенты были здесь в течение нескольких лет — мы называем это воздействие — в то время как другие были здесь в течение нескольких месяцев или недель). Почему-то простые результаты, потому что сложнее вычислять только потому, что мы должны принимать во внимание тот факт, что воздействие является неоднородной переменной.

Подверженность при формировании страхового тарифа можно рассматривать как проблему цензурированных данных (в моем наборе данных подверженность всегда меньше 1, поскольку наблюдения являются контрактами, а не держателями полисов),

  • количество претензий  http://latex.codecogs.com/gif.latex?N_i за период http://latex.codecogs.com/gif.latex?[0,1]
  • количество претензий  http://latex.codecogs.com/gif.latex?Y_i на  http://latex.codecogs.com/gif.latex?[0,E_i])

И как всегда, переменная интереса является ненаблюдаемой, потому что мы должны оценить договор страхования с периодом покрытия один (полный) год. Таким образом, мы должны смоделировать годовую частоту страховых возмещений.

http://f.hypotheses.org/wp-content/blogs.dir/253/files/2013/02/Capture-d%E2%80%99e%CC%81cran-2013-02-01-a%CC% 80-09.30.00.png

В нашем наборе данных у нас есть  http://latex.codecogs.com/gif.latex?(Y_i,E_i)— или, в более общем смысле, также некоторые дополнительные ковариаты  http://latex.codecogs.com/gif.latex?(Y_i,E_i,\boldsymbol{X}_i). Для определения скорости мы должны оценить  http://latex.codecogs.com/gif.latex?\mathbb{E}(N\vert\boldsymbol{X}=\boldsymbol{x}) и, возможно, также  http://latex.codecogs.com/gif.latex?\text{Var}(N|\boldsymbol{X}=\boldsymbol{x}) (например, проверить, верно ли предположение Пуассона или нет). Для оценки ожидаемого значения естественной оценкой  http://latex.codecogs.com/gif.latex?\mathbb{E}(N) (забудьте о ковариатах в качестве начала) является то,
http://latex.codecogs.com/gif.latex?m_N=\frac{\sum_{i=1}^n%20Y_i}{\sum_{i=1}^n%20E_i}
что также является средневзвешенным значением в годовом исчислении отдельных лиц.
http://latex.codecogs.com/gif.latex?m_N=\sum_{i=1}^n%20\frac{%20E_i}{\sum_{i=1}^n%20E_i}%20\cdot % 20 \ гидроразрыва {Y_i} {} e_i
Мы рассматриваем отношение общего количества требований к общему
риску. Эта оценка появляется, например, если мы рассмотрим пуассоновский процесс, так что  http://latex.codecogs.com/gif.latex?N\sim\mathcal{P}(\lambda) пока  http://latex.codecogs.com/gif.latex?Y\sim\mathcal{P}(\lambda%20\cdot%20E). Тогда вероятность

http://latex.codecogs.com/gif.latex?\mathcal {L} (\ Lambda, \ boldsymbol {Y}, \ boldsymbol {Е}) = \ prod_ {I = 1} ^ п% 20 \ гидроразрыва { е ^ {- \ Lambda% 20E_i}!% 20 [\ Lambda% 20E_i] ^ {Y_i}} {Y_i}

т.е.

http://latex.codecogs.com/gif.latex?\log%20\mathcal {L} (\ Lambda, \ boldsymbol {Y}, \ boldsymbol {Е})% 20% = 20- \ Lambda% 20 \ sum_ {I = 1} ^ п% 20E_i% 20 + \ sum_ {I = 1} ^ п% 20Y_i% 20 \ журнал [\ Lambda% 20E_i]% 20-% 20 \ журнал \ влево (\ prod_ {I = 1 } ^ п% 20Y_i! \ справа)

Первое условие заказа здесь

http://latex.codecogs.com/gif.latex?\frac {\ парциальное} {\ парциальное% 20 \ Lambda} \ лог% 20 \ mathcal {L} (\ Lambda, \ boldsymbol {Y}, \ boldsymbol { Е})% 20 =% 20% 20% 20- \ sum_ {I = 1} ^ п% 20E_i% 20 + \ гидроразрыва {1} {\ Lambda} \ sum_ {I = 1} ^ п% 20Y_i% 20 = 0

который удовлетворен, если

http://latex.codecogs.com/gif.latex?\widehat{\lambda}=\frac{\sum_{i=1}^n%20Y_i}{\sum_{i=1}^n%20E_i}

Итак, у нас есть оценка ожидаемого значения, и тогда естественная оценка для  http://latex.codecogs.com/gif.latex?\mathbb{E}(N\vert\boldsymbol{X}=\boldsymbol{x}) (если мы рассмотрим категориальные ковариаты)
http://latex.codecogs.com/gif.latex?m_{N|\boldsymbol{x}}%20=\frac{\sum_{i,\boldsymbol{X}_i=\boldsymbol{x}}%20Y_i } {\ sum_% 20 {я, \ boldsymbol {X} =-i \ boldsymbol {х}}}% 20E_i

Теперь нам нужна оценка дисперсии, или, точнее, условной переменной. Предположим (в качестве отправной точки), что все имеют одинаковую экспозицию  http://latex.codecogs.com/gif.latex?E. Например, если  http://latex.codecogs.com/gif.latex?E это половина, застрахованные наблюдались только первые шесть месяцев. Затем  http://latex.codecogs.com/gif.latex?N=Y+Y%27 с  http://latex.codecogs.com/gif.latex?Y\overset{\mathcal%20L}{=}Y%27 ( http://latex.codecogs.com/gif.latex?Y это число претензий за первые шесть месяцев, а  http://latex.codecogs.com/gif.latex?Y%27 количество претензий за последние шесть месяцев), то есть  http://latex.codecogs.com/gif.latex?\text{Var}(N)=\text{Var}(Y)+%20\text{Var}(Y%27) если мы допустим независимые приращения. Т.е.
http://latex.codecogs.com/gif.latex?\text{Var}(N)=2\text{Var}(Y)или наоборот  http://latex.codecogs.com/gif.latex?E%20\cdot\text{Var}(N)=\text{Var}(Y). В целом, разумно предположить, что

http://latex.codecogs.com/gif.latex?\text{Var}(Y)=E\cdot%20\text{Var}(N)
для всех значений  http://latex.codecogs.com/gif.latex?E. И тогда
http://latex.codecogs.com/gif.latex?\text{Var}\left(\frac{Y}{E}\right)=\frac{1}{E}\cdot%20\text{Var } (N)
Таким образом, представляется правомерным предположить , что эмпирическая дисперсия  http://latex.codecogs.com/gif.latex?N может быть записана
http://latex.codecogs.com/gif.latex?S_N^2=E\cdot%20S_{Y/E}^2
Так как среднее  http://latex.codecogs.com/gif.latex?Y_i/E это  http://latex.codecogs.com/gif.latex?\overline{N}=m_N, то
http://latex.codecogs.com/gif.latex?S_N^2=E\cdot%20\frac{1}{n}\sum_{i=1}^n%20\left[\frac{Y_i} {Е} - \ Overline {N} \ право] ^ 2}% 20 =% 20 \ гидроразрыва {1} {N} \ sum_ {I = 1} ^ п% 20E \ влево [\ гидроразрыва {Y_i} {Е} - \ Overline {N} \ право] ^ 2}или , что эквивалентно
http://latex.codecogs.com/gif.latex?S_N^2=\frac {1} {N} \ sum_ {I = 1} ^ п% 20 \ гидроразрыва {Е} {Е ^ 2} \ влево [ Y_i- \ Overline {N} \ CDOT% 20E \ вправо] ^ 2}% 20 = \ гидроразрыва {1} {N} \ sum_ {I = 1} ^ п% 20 \ гидроразрыва {1} {Е} [Y_i- \ Overline {N} \ CDOT% 20E] ^ 2http://latex.codecogs.com/gif.latex?S_N^2=\frac{\sum_{i=1}^n%20[Y_i-\overline{N}\cdot%20E]^2%20} {} пТаким образом, с различными  http://latex.codecogs.com/gif.latex?E_i«с, было бы законным (я думаю) рассмотреть
http://latex.codecogs.com/gif.latex?S_N^2=\frac{\sum_{i=1}^n%20[Y_i-\overline{N}\cdot%20E_i]^2%20} {\ sum_ {I = 1} ^ п% 20E_i}Таким образом, блок оценки для http://latex.codecogs.com/gif.latex?\text{Var}(N|\boldsymbol{X}=\boldsymbol{x})IS
http://latex.codecogs.com/gif.latex?S_{N|\boldsymbol{x}}^2=\frac{\sum_{i,\boldsymbol{X}_i=\boldsymbol{x}}%20 [Y_i- \ Overline {N} \ CDOT% 20E_i] ^ 2} {\ sum_ {я, \ boldsymbol {X} =-i \ boldsymbol {х}}% 20% 20E_i}

Это можно использовать для проверки правильности допущения Пуассона для частоты модели. Рассмотрим следующий набор данных,

>  sinistre=read.table("http://freakonometrics.free.fr/sinistreACT2040.txt",
+  header=TRUE,sep=";")
>  sinistres=sinistre[sinistre$garantie=="1RC",]
>  sinistres=sinistres[sinistres$cout>0,]
>  contrat=read.table("http://freakonometrics.free.fr/contractACT2040.txt",
+  header=TRUE,sep=";")
>  T=table(sinistres$nocontrat)
>  T1=as.numeric(names(T))
>  T2=as.numeric(T)
>  nombre1 = data.frame(nocontrat=T1,nbre=T2)
>  I = contrat$nocontrat%in%T1
>  T1= contrat$nocontrat[I==FALSE]
>  nombre2 = data.frame(nocontrat=T1,nbre=0)
>  nombre=rbind(nombre1,nombre2)
>  baseFREQ = merge(contrat,nombre)

Здесь у нас есть две переменные интереса, подверженность, на контракт,

>  E <- baseFREQ$exposition

и (наблюдаемое) количество требований (в течение этого периода времени)

>  Y <- baseFREQ$nbre

Можно рассчитать без ковариат, среднего (годового) количества претензий по контракту и связанных с ними отклонений

> (mean=weighted.mean(Y/E,E))
[1] 0.07279295
> (variance=sum((Y-mean*E)^2)/sum(E)) 
[1] 0.08778567

Похоже, что дисперсия (немного) больше, чем в среднем (через несколько недель мы увидим, как ее проверить, более формально). Можно добавить ковариаты, например, плотность населения в районе проживания страхователя,

>  X=as.factor(baseFREQ$densite)
>  for(i in 1:length(levels(X))){
+ 	   Ei=E[X==levels(X)[i]]
+ 	   Yi=Y[X==levels(X)[i]]
+  (meani=weighted.mean(Yi/Ei,Ei))    # moyenne 
+  (variancei=sum((Yi-meani*Ei)^2)/sum(Ei))    # variance
+ cat("Density, zone",levels(X)[i],"average =",meani," variance =",variancei,"\n")
+ }
Density, zone 11 average = 0.07962411  variance = 0.08711477 
Density, zone 21 average = 0.05294927  variance = 0.07378567 
Density, zone 22 average = 0.09330982  variance = 0.09582698 
Density, zone 23 average = 0.06918033  variance = 0.07641805 
Density, zone 24 average = 0.06004009  variance = 0.06293811 
Density, zone 25 average = 0.06577788  variance = 0.06726093 
Density, zone 26 average = 0.0688496   variance = 0.07126078 
Density, zone 31 average = 0.07725273  variance = 0.09067 
Density, zone 41 average = 0.03649222  variance = 0.03914317 
Density, zone 42 average = 0.08333333  variance = 0.1004027 
Density, zone 43 average = 0.07304602  variance = 0.07209618 
Density, zone 52 average = 0.06893741  variance = 0.07178091 
Density, zone 53 average = 0.07725661  variance = 0.07811935 
Density, zone 54 average = 0.07816105  variance = 0.08947993 
Density, zone 72 average = 0.08579731  variance = 0.09693305 
Density, zone 73 average = 0.04943033  variance = 0.04835521 
Density, zone 74 average = 0.1188611   variance = 0.1221675 
Density, zone 82 average = 0.09345635  variance = 0.09917425 
Density, zone 83 average = 0.04299708  variance = 0.05259835 
Density, zone 91 average = 0.07468126  variance = 0.3045718 
Density, zone 93 average = 0.08197912  variance = 0.09350102 
Density, zone 94 average = 0.03140971  variance = 0.04672329

Возможно, графики будут хорошим инструментом для визуализации этой информации.

> plot(meani,variancei,cex=sqrt(Ei),col="grey",pch=19,
+ xlab="Empirical average",ylab="Empirical variance")
> points(meani,variancei,cex=sqrt(Ei))

http://f.hypotheses.org/wp-content/blogs.dir/253/files/2013/02/Capture-d%E2%80%99e%CC%81cran-2013-02-01-a%CC% 80-10.51.26.png

Размер кружков связан с размером группы (площадь пропорциональна общей экспозиции в группе). Первая диагональ соответствует модели Пуассона, т.е. дисперсия должна быть равна средней. Также можно рассмотреть другие ковариаты, такие как тип газа

http://f.hypotheses.org/wp-content/blogs.dir/253/files/2013/02/Capture-d%E2%80%99e%CC%81cran-2013-02-01-a%CC% 80-10.52.02.png

или марка автомобиля,

http://f.hypotheses.org/wp-content/blogs.dir/253/files/2013/02/Capture-d%E2%80%99e%CC%81cran-2013-02-01-a%CC% 80-10.50.49.png

Также можно рассматривать возраст водителя как категорическое изменение

http://f.hypotheses.org/wp-content/blogs.dir/253/files/2013/02/Capture-d%E2%80%99e%CC%81cran-2013-02-01-a%CC% 80-10.51.40.png

На самом деле, возраст интересен: в этом наборе данных мы можем наблюдать особенность, которую  Жан-Филипп Буше  наблюдал и в своих собственных наборах данных. Давайте посмотрим внимательнее, где разные возрасты,

http://f.hypotheses.org/wp-content/blogs.dir/253/files/2013/02/Capture-d%E2%80%99e%CC%81cran-2013-02-01-a%CC%80-10.55.17.png

On the right, we can observe young (unexperienced) drivers. That was expected. But some classes are belowthe first diagonal: the expected frequency is large, but not the variance. I.e. we know for sure that young drivers have more car accidents. It is not an heterogeneous class, on the contrary: young drivers can be seen as a relatively homogeneous class, with a high frequency of car accidents.

With the original dataset (here, I use only a subset with 50,000 clients), we do obtain the following graph:

http://f.hypotheses.org/wp-content/blogs.dir/253/files/2013/02/Capture-d%E2%80%99e%CC%81cran-2013-02-01-a%CC%80-11.27.04.png

If we do not observe underdispersion for young drivers, observe that those are incredibly homogeneous classes. With a clear impact of experience, since circles are moving downward from age 18 to 25.

Another disturbing story (this was – one more time – suggestion from Jean-Philippe) that it might be possible to consider the exposure as a standard variable, and see if the coefficient is actually equal to 1. Without any covariate,

>  reg=glm(Y~log(E),family=poisson("log"))
>  summary(reg)

Call:
glm(formula = Y ~ log(E), family = poisson("log"))

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.3988  -0.3388  -0.2786  -0.1981  12.9036  

Coefficients:
            Estimate Std. Error z value Pr(>|z|)    
(Intercept) -2.83045    0.02822 -100.31   <2e-16 ***
log(E)       0.53950    0.02905   18.57   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

(Dispersion parameter for poisson family taken to be 1)

    Null deviance: 12931  on 49999  degrees of freedom
Residual deviance: 12475  on 49998  degrees of freedom
AIC: 16150

Number of Fisher Scoring iterations: 6

i.e. the parameter is clearly strictly smaller than 1. And it is neither related to significance,

> library(car)
> linearHypothesis(reg,"log(E)",1)
Linear hypothesis test

Hypothesis:
log(E) = 1

Model 1: restricted model
Model 2: Y ~ log(E)

  Res.Df Df  Chisq Pr(>Chisq)    
1  49999                         
2  49998  1 251.19  < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

nor to the fact that I did not take into account covariates,

> reg=glm(nbre~log(exposition)+carburant+as.factor(ageconducteur)+as.factor(densite),family=poisson("log"),data=baseFREQ)
>  summary(reg)

Call:
glm(formula = nbre ~ log(exposition) + carburant + as.factor(ageconducteur) + 
    as.factor(densite), family = poisson("log"), data = baseFREQ)

Deviance Residuals: 
    Min       1Q   Median       3Q      Max  
-0.7114  -0.3200  -0.2637  -0.1896  12.7104  

Coefficients:
                              Estimate Std. Error z value Pr(>|z|)    
(Intercept)                  -14.07321  181.04892  -0.078 0.938042    
log(exposition)                0.56781    0.03029  18.744  < 2e-16 ***
carburantE                    -0.17979    0.04630  -3.883 0.000103 ***
as.factor(ageconducteur)19    12.18354  181.04915   0.067 0.946348    
as.factor(ageconducteur)20    12.48752  181.04902   0.069 0.945011

(etc). So it might be a too strong assumption to assume that the exposure is an exogenous variate here. But that’s another story !