21/4/2021

Modelación de las pérdidas agregadas

Al estudiar la frecuencia y la severidad, se puede pensar en las razones por las que se debería prestar atención a la separación de estos componentes:

  • Contractual. Es común que los contratos de seguro impongan deducibles y límites de póliza por ocurrencia. Por ejemplo, si la póliza tiene un deducible de \(100\) por ocurrencia, entonces dos pérdidas de \(100\) resultarían en un pago (reclamación) de cero por parte de la aseguradora, mientras que una sola pérdida de \(200\) resultaría en un pago de \(100\). Para modelar las pérdidas agregadas de las aseguradoras se deben tener en cuenta los deducibles y los límites de la póliza por cada evento asegurado.

  • Conductual. Las pérdidas agregadas dan cuenta implícita o explícitamente de decisiones y comportamientos de personas y empresas que pueden afectar las pérdidas. Las variables conductuales explicativas (de calificación) pueden tener diferentes efectos en los modelos de la frecuencia con que ocurre un evento en contraste con el tamaño del evento. Podríamos considerar las medidas de prevención de pérdidas como determinantes que sugieren baja frecuencia. Por el contrario, podríamos considerar las áreas geográficas como un proxy del nivel de los accidentes, lo que sugiere una alta severidad. La decisión de utilizar la atención médica por parte de las personas se relaciona principalmente con las características individuales, mientras que el costo por usuario puede estar más relacionado con las características del proveedor de atención médica. Como otro ejemplo, podríamos pensar que la densidad de población se correlaciona positivamente con la frecuencia de accidentes automovilísticos y se asocia negativamente con la severidad.

  • Bases de datos. Mantener archivos de datos separados que sugieren el desarrollo de modelos separados de frecuencia y severidad. Este proceso de registro hace que sea natural modelar la frecuencia y la severidad como procesos separados.

  • Regulación y Administración. Las entidades reguladtorias exigen de forma rutinaria que se informen tanto los números como las cantidades de las reclamaciones. Esto puede deberse al hecho de que puede haber definiciones alternativas de una cantidad, y hay menos errores potenciales al informar los números de reclamación. Se necesitan sistemas administrativos muy diferentes para manejar pérdidas pequeñas, que ocurren con frecuencia y son reembolsables (por ejemplo, medicamentos recetados) versus eventos poco frecuentes y de alto impacto, como la navegación marítima. Esto sugiere que la frecuencia de las reclamaciones es un determinante importante de los gastos.

Muestreo y modelos lineales generalizados

Para una base de muestreo, para cada observación \(i\) las respuestas potencialmente observables son:

  • \(N_i-\) el número de reclamaciones (eventos)
  • \(y_{ij}, \,\ j=1,...,N_i-\) el monto de cada reclamación (pérdidas), y
  • \(S_i=y_{i1}+\cdots+y_{iN}\), el monto total de la reclamación.

Por convención, el conjunto \(\{y_{ij}\}\) está vacío cuando \(N_i = 0\).

Para un período específico (como un año), la muestra de respuestas observables puede consistir en lo siguiente:

  1. \(S_i\), de modo que solo estén disponibles las pérdidas agregadas.
  2. \((N_i, S_i)\), de modo que se disponga del número y la cantidad de pérdidas agregadas.
  3. \((N_i, y_{i1},. . . , y_{i,N_i})\), de modo que se disponga de información detallada sobre cada reclamación. Sea \(\mathbf{y}_i = (y_{i1},. . . , y_{i,N_i})'\) el vector de pérdidas individuales. Suprimiendo el subíndice \(\{i\}\), la distribución de las variables dependientes se descompone como

\[f(N,\mathbf{y})=f(N)\times f(\mathbf{y}|N)\] \[\text{conjunta}=\text{frecuencia}\times \text{severidad condicional}\] donde \(f (N, \mathbf{y})\) denota la distribución conjunta de \((N, \mathbf{y})\). Esta distribución conjunta es igual al producto de dos componentes:

  • frecuencia de reclamaciones: \(f (N)\) denota la probabilidad de tener \(N\) reclamaciones, y
  • severidad condicional: \(f (\mathbf{y} | N)\) denota la densidad condicional del vector de reclamación \(\mathbf{y}\) dado \(N\).

La segunda representación de datos reemplaza el vector de pérdidas individuales por la pérdida agregada \(S\). Se puede descomponer la primera representación de datos separando el evento cero mediante la función indicadora \(r_i = \mathbb{I}_{(S _i> 0)}\) para la componente de frecuencia y condicionndo en \(r_i = 1\) para la componente de severidad y utilizar los modelos de dos partes.

A través de esta descomposición, no se requiere independencia de las componentes de frecuencia y severidad. Para de modelar dependencia al considerar la distribución conjunta \(f (N, \mathbf{y)}\), se toman variables latentes.

Empleando modelos lineales generalizados (GLM’s) se pueden ajustar las componentes de frecuencia y severidad. Estos modelos se enfocan en una variable dependiente genérica \(y_i\) (ya sea que represente frecuencia o severidad), y en los enlaces logarítmicos (links logaritmicos) para que la función de medias sea

\[\text{E} \,\ y_i = \exp (\mathbf{x}'_i \mathbf{β}).\] Cuando la media varía de forma proporcional con una variable que etiquetamos como \(E _i\), la exposición, siempre se puede especificar que una de las variables explicativas sea \(\ln E_i\) y restringir el coeficiente de regresión correspondiente a \(1\); este término se conoce como offset (factor de compensación). Con esta convención, la función link es

\[\ln \mu_i=\ln E_i + \mathbf{x}'_i \mathbf{β}.\]

En el siguiente ejemplo se consideran las variables de exposición, gastos ajustados por pérdidas, primas, terriorio y nivel del monto asegurado:

AOI <- rep(c("Low","Medium","High"), times=3) #nivel del seguro
Terr <- rep(c(1,2,3), each=3) #territorio
Exposure <- c(7, 108,179,130,126,129,143,126,40) #exposición
LossLAE <- c(210.93,4458.05,10565.98,6206.12,8239.95,12063.68,8441.25,
             10188.7,4625.34) #pérdidas
Premium <- c(335.99,6479.87,14498.71,10399.79,12599.75,17414.65,
             14871.7,16379.68,7019.86) #primas
Sampdata <- data.frame(AOI,Terr,Exposure,LossLAE,Premium)

Un GLM en los datos con \(\texttt{LossLAE}\) para comprender la influencia de \(\texttt{AOI}\) y \(\texttt{Terr}\) se puede implementar con la interpretación de variables categóricas que se hace con el tipo \(\texttt{factor}\) y las propias categorías de esta se identifican como \(\texttt{levels}\). Una referencia permite un punto de comparación.

Se toma una cantidad media de seguro (\(\texttt{AOI = medium}\)) y el segundo territorio (\(\texttt{Terr = 2}\)) como niveles de referencia. \(\texttt{Exposure}\) en escala logarítmica se utiliza como la variable offset, para que las celdas (combinaciones de las dos variables categóricas) con un mayor número de exposiciones/pólizas tengan mayores pérdidas esperadas.

require(tidyverse)
fct_relevel(as.factor(AOI),"Medium")
## [1] Low    Medium High   Low    Medium High   Low    Medium High  
## Levels: Medium High Low
fct_relevel(as.factor(Terr), "2")
## [1] 1 1 1 2 2 2 3 3 3
## Levels: 2 1 3

Aplicaciones biomédicas

Así, la aplicación central vuelve a consistir en alguna forma de aprendizaje automático, con lo que se pueden considerar aplicaciones de naturalezas diversas. Los avances en robótica y automatización han permitido a la química y a la biología generar enormes cantidades de datos. Para extraer la información de estos conjuntos de datos, hay que identificar relaciones no obvias y explotacr patrones en grandes cantidades como el análisis de imágenes, la traducción de idiomas y el reconocimiento de voz. Entre los avances que se han beneficiado y seguirán avanzando mediante métodos computacionales se pueden mencionar:

  • El desarrollo continuo de terapias retrovirales
  • Curas para la hepatitis C
  • Identificación y tratamiento de enfermedades

Entre algunas aplicaciones de las redes neuronales encontramos:

  • Avances en el reconocimiento de voz
  • El reconocimiento de imágenes, por ejemplo, para clasificar las células tumorales en diferentes tipos.
  • Los sistemas de recomendación se están utilizando para identificar nuevas moléculas que pueden proporcionar puntos de partida para los descubrimientos de fármacos.
  • Muchas de las ideas en traducción de idiomas se están utilizando para extraer conceptos de la literatura y alertar sobre publicaciones que pueden haber pasado por alto.
  • Vinculación del código genético individual a una multitud de resultados relacionados con la salud y enfermedades genéticas.
  • Clasificación de estructuras y desarrollo de fármacos.

Los principios básicos del aprendizaje profundo serán la creación de una función:

\[\mathbf{y} = f(\mathbf{x}).\] Algunos ejemplos de funciones que quizás se deseen crear:

  • \(\mathbf{x}\) contiene los colores de todos los píxeles de una imagen. \(f(\mathbf{x})\) debe ser igual a \(1\) si la imagen contiene un gato y \(0\) si no lo tiene.
  • \(\mathbf{x}\) contiene la secuencia de ADN de un cromosoma. \(\mathbf{y}\) debería ser un vector cuya longitud sea igual al número de bases en el cromosoma. Cada elemento debe ser igual a \(1\) si esa base es parte de una región que codifica una proteína, o \(0\) en caso contrario.

  • \(\mathbf{x}\) describe la estructura de una molécula. \(\mathbf{y}\) debería ser un vector en el que cada elemento describa alguna propiedad física de la molécula, con qué facilidad se disuelve en agua o con qué fuerza se une a alguna otra molécula, etc.

El aprendizaje automático permite que la computadora aprenda su propia \(f(\mathbf{x})\) en función de los datos.

Uno de los modelos más simples a considerar es un modelo lineal

\[\mathbf{y}=\mathbf{M} \mathbf{x} +\mathbf{b},\] donde, \(\mathbf{M}\) es una matriz de “pesos” y \(\mathbf{b}\) es un vector de “sesgos”. Esta ecuación dice que cada componente de salida es un combinación lineal de los componentes de entrada. A este modelo se le conoce como perceptrón.

Los perceptrones multicapa (MLP) sirven para apilar múltiples transformadas lineales, una tras otra. Por ejemplo,

\[\mathbf{y}=\mathbf{M}_2 \phi(\mathbf{M}_1 \mathbf{x} +\mathbf{b}_1) +\mathbf{b}_2.\] Comenzamos con una transformación lineal ordinaria, \(\mathbf{M}_1 \mathbf{x} +\mathbf{b}_1\). Luego pasamos el resultado a través de una función no lineal \(\phi(x)\), y luego aplicamos una segunda transformación lineal al resultado. La función \(\phi(x)\) se conoce como función de activación, la cual inserta una no linealidad, permitiendo que el modelo aprenda una gama mucho más amplia de funciones.

Podemos apilar tantas capas como queramos:

\[\mathbf{h}_1 = \phi_1 (\mathbf{M}_ 1 \mathbf{x} + \mathbf{b}_ 1)\]

\[\mathbf{h}_2 = \phi_2 (\mathbf{M}_ 2 \mathbf{h}_1 + \mathbf{b}_ 2)\] \[\cdots\] \[\mathbf{h}_{n-1} = \phi_{n-1}(\mathbf{M}_{n-1} \mathbf{h}_{n-2} + \mathbf{b}_{n-1})\] \[\mathbf{y}=\phi_n(\mathbf{M}_n \mathbf{h}_{n-1}+ \mathbf{b}_n).\] Los pasos intermedios \(h_i\) se denominan capas ocultas. No son entradas ni salidas, solo valores intermedios utilizados en el proceso de cálculo del resultado. También se ha agregado un subíndice a cada \(x\). Esto indica que diferentes capas pueden usar diferentes no linealidades. Los perceptrones multicapa y sus variantes también se denominan redes neuronales. El nombre refleja una neurona biológica se conecta a muchas otras neuronas. Recibe señales, suma las señales y luego envía sus propias señales según el resultado.

La funciones de activación más populares son la unidad lineal rectificada (ReLU), \(\phi(x) = \text{max}(x, 0)\), la tangente hiperbólica, \(\text{tanh}(x)\), y la sigmoide logística, \(\phi(x)= 1/(1 + e^{−x})\). El ancho se refiere al tamaño de las capas ocultas. La profundidad se refiere al número de capas del modelo. Un modelo con una sola capa oculta se describe como superficial. Un modelo con muchas capas ocultas se describe como profundo. Hay algunos principios que pueden orientar para elegir el número y el ancho de las capas en el modelo:

  1. Un MLP con una capa oculta es un aproximador universal.
  2. Los modelos profundos tienden a requerir menos parámetros que los poco profundos.
  3. Los modelos profundos tienden a ser más difíciles de entrenar que los superficiales.

Entrenamiento

Los MLP proporcionan un modelo genérico que se puede utilizar para cualquier problema para una colección de datos. Este conjunto se conoce como conjunto de entrenamiento y consta de un gran número de parejas \((\mathbf{x}, \mathbf{y})\), también conocidas como muestras. A continuación se define una función de pérdida \(L (\mathbf{y}, \hat{\mathbf{y}})\) donde \(\mathbf{y}\) es la salida real del modelo y \(\hat{\mathbf{y}}\) es el valor objetivo especificado en el conjunto de entrenamiento, y la pérdida es promediada sobre cada muestra en el conjunto de entrenamiento:

\[\text{pérdida promedio}=\frac{1}{N}\sum_{i=1}^N L (\mathbf{y}_i, \hat{\mathbf{y}}_i).\]

Las funciones de pérdida más comunes son la distancia euclidiana \(L (\mathbf{y}, \hat{\mathbf{y}})=\sqrt{\sum_i (\mathbf{y}_i-\hat{\mathbf{y}}_i)^2}\) y cuando \(\mathbf{y}\) representa una distribución de probabilidad, una opción popular es la entropía cruzada, \(L (\mathbf{y}, \hat{\mathbf{y}})=-\sum_i \mathbf{y}_i-\log{\mathbf{y}}_i\). Después de medir qué tan bien funciona el modelo, hay que mejorarlo. Queremos buscar los valores de los parámetros que minimicen la pérdida promedio en el conjunto de entrenamiento, empleando alguna variante del algoritmo de descenso en gradiente. Sea \(θ\) el conjunto de todos los parámetros del modelo. El descenso en gradiente implica dar una serie de pequeños pasos:

\[θ \leftarrow θ −\epsilon \frac{\partial}{\partial \theta}\left\langle L \right\rangle,\] \(\left\langle L \right\rangle\) es la pérdida promedio en el conjunto de entrenamiento y \(\epsilon\) es la tasa de aprendizaje.

El algoritmo de descenso en gradiente estocástico (SGD), para cada paso, toma un pequeño conjunto de muestras (conocido como lote) del conjunto de entrenamiento y calcula el gradiente de la función de pérdida, promediado solo sobre las muestras del lote.

Este algoritmo tiende a ser mucho más rápido. El tiempo necesario para cada paso depende únicamente del tamaño de cada lote, que puede ser bastante pequeño (a menudo del orden de \(100\) muestras) y es independiente del tamaño del conjunto de entrenamiento.

La desventaja es que cada paso hace un peor trabajo para reducir la pérdida, porque se basa en una estimación ruidosa del gradiente en lugar del gradiente real. Aún así, conduce a un tiempo de entrenamiento mucho más corto en general, por lo que la mayoría de los algoritmos de optimización utilizados en el aprendizaje profundo se basan en SGD.

Validación

Después de recopilar una gran cantidad de datos de entrenamiento, seleccionar un modelo y luego ejecutar un algoritmo de entrenamiento hasta que la pérdida se vuelva muy pequeña, se necesita validar el modelo para ver si funciona con datos en los que no se ha entrenado específicamente, llamado conjunto de prueba. Tiene exactamente la misma forma que el conjunto de entrenamiento, una colección de pares \(x, y\), pero no deben tener muestras en común. Se entrena el modelo en el conjunto de entrenamiento y luego se valida en el conjunto de prueba. Lo que lleva a uno de los principios más importantes del aprendizaje automático:

  • No debe utilizar el conjunto de prueba de ninguna manera mientras diseña o entrena el modelo.

Regularización

El objetivo de cualquier técnica de regularización es evitar el sobreajuste y producir un modelo entrenado que funcione bien en cualquier entrada, no solo en las entradas particulares que se utilizaron para el entrenamiento. Hay dos aspectos a considerar. Primero, la mejor manera de evitar el sobreajuste es casi siempre obtener más datos de entrenamiento. En segundo lugar, no se sabe en qué se diferencia la distribución de datos reales de los datos de entrenamiento, por lo que lo mejor que se puede hacer es producir un modelo que funcione bien en el conjunto de entrenamiento, o si eso no es lo que se quiere, especificarlo. Esa es la esencia de cualquier método de regularización: sesgar el proceso de entrenamiento para preferir ciertos tipos de modelos sobre otros haciendo suposiciones sobre las propiedades que debería tener un modelo y en qué se diferencia de uno de sobreajuste.

Uno de los métodos de regularización más simples es simplemente entrenar el modelo para menos pasos. Al principio del entrenamiento, tiende a captar propiedades generales de los datos de entrenamiento que probablemente se apliquen a la distribución real. Al limitar el número de pasos de entrenamiento, le da menos oportunidades de sobreajuste. Otro método consiste en restringir la magnitud de los parámetros en el modelo. Por ejemplo, agregar un término a la función de pérdida que sea proporcional a \(|θ|^ 2\), donde \(θ\) es un vector que contiene todos los parámetros del modelo.

Un método de regularización muy popular se llama dropout (abandono o deserción). Para cada capa oculta en el modelo, selecciona aleatoriamente un subconjunto de elementos en el vector de salida \(h _i\) y los establece en \(0\). En cada paso del descenso en gradiente, se elige un subconjunto aleatorio diferente de elementos. Así, ningún cálculo individual dentro del modelo debería ser demasiado importante.

Hiperparámetros

Un hiperparámetro es cualquier aspecto del modelo o algoritmo de entrenamiento que debe configurarse de antemano en lugar de ser aprendido por el algoritmo de entrenamiento. Ejemplos incluyen; el número de capas en el modelo, el ancho de cada capa, el número de pasos de entrenamiento a realizar, la tasa de aprendizaje que se utilizará durante el entrenamiento, la fracción de elementos que se establecerá en \(0\) al utilizar dropout. La forma más sencilla de hacer optimización de hiperparámetros es probar muchos valores para cada hiperparámetro y ver qué funciona mejor. La respuesta más simple sería simplemente ver qué produce el valor más bajo de la función de pérdida (o alguna otra medida de precisión) en el conjunto de entrenamiento, pero se quiere minimizar el error en el conjunto de prueba, no en el conjunto de entrenamiento. La solución es crear otro conjunto de datos, que se denomina conjunto de validación.

El conjunto de validación no comparte muestras ni con el de entrenamiento ni con el de prueba. El procedimiento es:

  1. Entrenar los hiperparámetros en el conjunto de entrenamiento y luego calcular la pérdida en el conjunto de validación.
  2. Aceptar como modelo final el conjunto de hiperparámetros que dé la menor pérdida en el conjunto de validación, .
  3. Evaluar ese modelo final en el conjunto de prueba para obtener una medida imparcial de qué tan bien funciona.

Hay dos clases de modelos que se utilizan ampliamente en muchos campos:

  • Redes Convolucionales (CNN): Los MLP utilizan capas completamente conectadas.

Cada elemento del vector de salida depende de cada elemento del vector de entrada. Las CNN utilizan capas convolucionales que aprovechan la localidad espacial. Cada elemento de salida corresponde a una pequeña región de la imagen y solo depende de los valores de entrada en esa región. Esto reduce enormemente el número de parámetros que definen cada capa. En efecto, asume que la mayoría de los elementos de la matriz de ponderación \(\mathbf{M}_i\) son \(0\), ya que cada elemento de salida solo depende de un pequeño número de elementos de entrada.

Las capas convolucionales asumen que los parámetros son los mismos para cada región local de la imagen. Si una capa usa un conjunto de parámetros para detectar líneas horizontales en una ubicación en la imagen, también usa exactamente los mismos parámetros para detectar líneas horizontales en cualquier otro lugar de la imagen. Esto hace que el número de parámetros de la capa sea independiente del tamaño de la imagen.

  • Redes Recurrentes (RNN): Los elementos de la secuencia se introducen en la entrada de la red una a la vez y la salida de cada capa se retroalimenta en su propia entrada en el siguiente paso. Esto permite que las RNN tengan una especie de memoria. Cuando un elemento de la secuencia se introduce en la red, la entrada a cada capa depende de ese elemento, pero también de todos los elementos anteriores.

Entonces, la entrada a una capa recurrente tiene dos partes: la entrada regular (es decir, la salida de la capa anterior en la red) y la entrada recurrente (que es igual a su propia salida del paso anterior). Luego se calcula una nueva salida basada en esas entradas. En la práctica las dos capas más populares se denominan unidad recurrente cerrada (GRU) y memoria a corto plazo (LSTM). El modelo tiene su propio estado interno, compuesto por las salidas de todas sus capas del paso más reciente.