R_Actuarial

El objetivo de este repositorio es brindar un apoyo a la comunidad interesada en mejorar sus técnicas en el lenguaje de programación R o emprenderlo desde un punto de vista muy aplicado. Un repositorio con códigos de R para aplicaciones actuariales: probabilidad, estadística, riesgo y finanzas.

45
5
R

output: github_document

library(dplyr)
library(ggplot2)
knitr::opts_chunk$set(echo = FALSE)
source("_Edgar Package_/mis_funciones.R",encoding = "UTF-8")
source("_Edgar Package_/Funciones_RMD.R",encoding = "UTF-8")

“R Actuarial” por Edgar Gerardo Alarcón González

El objetivo de este repositorio es brindar un apoyo a la comunidad interesada en mejorar sus técnicas en el lenguaje de programación R o emprenderlo desde un punto de vista muy aplicado. Un repositorio con códigos de R para aplicaciones actuariales: probabilidad, estadística, riesgo y finanzas.

Por favor no olvides dejar tu estrella, eso me motiva a seguir subiendo y actualizando este material 😃

> Biblioteca Digital <

Les comparto todos los libros digitales con los que cuento. Hay desde temas de probabilidad, estadística, actuaría, programación en R, LaTeX, Mathematica, Python, hasta mangas, libros de música, trading y más. 😃 Ojalá les sirva.

>>>> clic aquí <<<<

Cápsulas AMAT Canal de YouTube - AMAT

foto("README_files/figure-gfm/AMAT.PNG")

Aquí encontrarán los códigos que fueron utilizados para la elaboración de las cápsulas en las que participo en el canal de Youtube de AMAT.

Ponencia de AMAT en el XXXIII Congreso Nacional de Actuaría.

Impartida por el Mtro. Edgar Alarcón y el Mtro. Erick Mier sobre Simulación en R: Aplicaciones actuariales en el tema "Límite máximo de retención y su cálculo en R’'.

Todo el código y material necesario para realizar lo que se muestra en esta conferencia lo podrán encontrar dando clic aquí.

De igual manera, se puede consultar el código para la Shiny-App o bien pueden ver su funcionamiento online dando clic aquí.

El Act. Edgar Alarcón nos plática sobre una clase de familias muy importantes para modelar variables aleatorias discretas que representan la frecuencia del número de reclamaciones en un seguro, analizando un ejemplo de su implementación en R. En el video se menciona que es posible demostrar que las distribuciones de clase (a,b,0) propuestas son de hecho las únicas que satisfacen la propiedad recursiva, dicha demostración la podrás ver dando clic aquí.

El Act. Edgar Alarcón nos habla sobre un modelo fundamental para describir el riesgo de una aseguradora: El Modelo de Pérdida Agregada, S=X1+…+XN. Para esto, hace uso de las propiedades de la familia de clase (a,b,0) y la fórmula recursiva de Panjer para obtener la distribución de S, su media y su varianza. Finalmente, implementa las fórmulas en R Studio, con la paquetería “actuar”.

El Act. Edgar Alarcón nos habla sobre uno de los elementos estadísticos más importantes, la función de verosimilitud y, en particular, sobre un tema muy importante como es la estimación de parámetros por el método de máxima verosimilitud.

Finalmente, implementa las fórmulas en R Studio, mostrándonos una sencilla aplicación en R Shiny, donde podremos visualizar un ejemplo teórico-práctico de lo desarrollado a lo largo del video.

En la cápsula de esta semana, el Act. Edgar Alarcón, nos muestra una interesante aplicación del Método de Simulación Montecarlo para estimar la medida (longitud, área, volumen o hipervolumen) de un subconjunto del espacio Euclidiano con ayuda de R-Studio.

En la cápsula de esta semana, el Act. Edgar Alarcón, nos muestra una interesante aplicación del Método de Simulación Montecarlo para estimar una integral definida (área bajo la curva en una región) usando teoremas sencillos de probabilidad y mostrándonos el código de esta aplicación en R-Studio y una aplicación en Shiny que realiza todo el proceso.

Teoría del Riesgo

Subimos el curso completo de Teoría del Riesgo que se ha impartido en diversos semestres en la facultad de Ciencias de la UNAM por su servidor. El curso tiene un enfoque principalmente basado en temas teoricos y prácticos necesarios para presentar los exámenes P, FM, IFM y STAM de la SoA (Society Of Actuaries).

Los temas que se ven en este curso son los siguientes:

  1. Conceptos Básicos y Preeliminares (Notas) (Código)

  2. Medidas de Riesgo (Notas) (Código)

  3. Frecuencia (Notas) (Código)

  4. Severidad (Notas) (Código)

  5. Modelo Individual (Notas) (Código)

  6. Modelo Colectivo (Notas) (Código)

  7. Reaseguro (Notas) (Código)

  8. Cálculo de Primas (Notas) (Código)

  9. Credibilidad (Notas) (Código)

Las notas originales se pueden encontrar dando clic aquí

Estadística

El objetivo de mostrar estos documentos es dar ejemplos de cómo puede estár organizado un reporte estadístico, ya sea mostrando y ejecutando código de R o bien únicamente mostrando los resultados obtenidos, aún cuando el documento detrás sí ejecute los comandos requeridos.

  1. Modelos con tablas de contingencia

Este archivo busca principalmente ejemplificar el uso de tablas con apoyo de la paquetería ‘kable’, gráficos con ‘ggplot’ y la técnica de Macros en R en un archivo Markdown. El documento habla sobre diversos modelos que se pueden aplicar a tablas de contingencia “Independencia”, “Cuasi-Independencia”, “Homogeneidad Marginal”, “Simetría” y “Cuasi-Simetría”. Una aplicación de los modelos lineales generalizados y datos categóricos.

  1. Predicción de la precipitación en estados al noroeste de México
foto("README_files/figure-gfm/Noroeste_Mex.PNG")

Este archivo es un proyecto (es un poco largo, así que tendrán que descargar el archivo para verlo) que realicé en una clase de estadística espacial. El objetivo es pronosticar la precipitación en ciertas zonas de México, por los estados de Baja California Norte y Sur, Sonora y Sinaloa. En este R Markdown encontrarán un ejemplo de cómo poner un índice o tabla de contenido (table of contents), así como para hacer gráficos de calor con ggplot. Además, viene un ejemplo de cómo conectar un RMarkdown de formato pdf con otros archivos del mismo formato, lo que se hizo aquí fue conectar con una portada para el trabajo, esto pues no siempre es sencillo diseñar algo de este estilo en R Markdown. Por lo mismo, para que el documento trabaje bien, necesitarán descargar toda la carpeta que contiene el archivo y posteriormente compilarlo. Recuerden hacer una instalación correcta de MikTek. ¡No olviden cambiar su directorio de trabajo!

  1. Inlfuencia espacial en enfermedades

El proyecto tiene como objetivo estimar el riesgo relativo de muerte de cuna para los años 1974-1978 y 1979-1984 para el estado de Carolina del Norte por condado. Para esto, comenzaremos dando una introducción de qué es la muerte de cuna y algunos otros datos derivados de esta enfermedad. Posteriormente vamos a mostrar un análisis descriptivo de los datos con los que contamos para realizar un modelo estadístico que pueda estimar el riesgo relativo por condado. Luego, realizamos un modelo lineal generalizado que no contempla el efecto espacial con la finalidad de mostrar que es necesario acudir a esta rama de la estadística. Una vez expuesto el punto anterior, realizamos un par de modelos espaciales del tipo SAR y CAR, para finalmente buscar el mejor modelo por periodo y culminar respondiendo a tres preguntas importantes derivadas de este análisis.

  1. Modelos Lineales Generalizados sobre Alumnos de Maestría

Los datos que se trabajan en este documento son datos de alumnos/aspirantes que entraron a la “Maestría en Ciencias Matemáticas” por parte del programa “Maestría y Doctorado en Ciencias Matemáticas y de la Especialización en Estadística Aplicada” de la Unidad de Posgrado de la Universidad Nacional Autónoma de México (UNAM). Como parte de la labor administrativa, es de interés que los alumnos/aspirentes logren el objetivo de titularse, esto debido al alto nivel académico que se maneja y reporta a instituciones como el Consejo Nacional de Ciencia y Tecnología (CONACyT).

Por tal motivo, la elección correcta de los aspirantes resulta ser un aspecto fundamental para prgoresar con dicho rendimiento y desempeño académico. De tal manera que se ha recopilado información estadística de algunos de los aspirantes a entrar a la maestría de los semestres 2015-1 al 2019-2 con el objetivo de buscar alguna relación que favorezca la posibilidad de graduarse del grado académico al que se aspira. Todo esto se realizará utilizando los conceptos más fundamentales de Modelos Lineales Generalizados (MLG). El software que estaremos trabajando será R y el reporte estará hecho en R Markdown.

Probabilidad

Aquí encontrarán ejercicios e implementaciones, con sus respectivas aplicaciones en el lenguaje de programación estadística R relacionados con la probabilidad; una de las ramas en matemáticas más apasionantes e importantes.

  1. Votos (Bertrand’s ballot theorem)

El candidato A obtiene n votos y B obtiene m con n > m. ¿Cuál es la probabilidad que A siempre vaya en la delantera en los conteos?. En este código explicamos la solución de una forma un tanto eurística y verificamos el resultado haciendo uso de simulaciones.

  1. La paradoja del cumpleaños (Video)

Para ponerlos en contexto, se siguiere ver el siguiente video (clic). En este código vamos a verificar vía simulaciones que en efecto esta paradoja es cierta y las probabilidades exactas se comportan de acuerdo al comportamiento estocástico del experimento.

Finanzas

  1. Tiempo continuo - 1 (Documento en Overleaf)

Del examen general de finanzas matematicas del posgrado en ciencias matematicas, enero 2017, resolveremos los ejercicios 3 y 4, relativos a finanzas en tiempo continuo. En este documento veremos las soluciones escritas junto con imágenes, LaTeX y R. Este script fue realizado completamente online en la página Overleaf. Este es un buen ejemplo para poder usar esta plataforma y juntar estos dos lenguajes de programación en un estilo muy similar a un R Sweave.

  1. Modelo de Vasicek (Presentación en Beamer y aplicación en Shiny)

Esta es una breve e introductoria explicación de un modelo de tasas de interés bajo una medida martingala de no arbitraje para el cálculo de tasas spot. Aquí mostramos un ejemplo de cómo hacer una presentación en Beamer usando R Markdown. Lo interesante de este documento es que muestra cómo ligar un R Markdown con un preámbulo .tex. Más aún, se ve cómo usar diferentes colores para los bloques en Beamer, poner imágenes, establecer un tema, poner pies de página, urls, etc. Con el objetivo de ver de forma un tanto más interactiva la teoría de la que el trabajo menciona, se desarrolló también una aplicación en Shiny. Podrán acceder a todos los enlaces importantes que tiene este documento descargando la presentación en .pdf.

R Markdown

Lo mejor de dos mundos LaTeX + R. Los archivos del estilo R Markdown permiten al usuario escribir ecuaciones, instertar gráficos, crear tablas de datos y escribir código de R con el apoyo de LaTeX todo en un mismo archivo. Estos archivos pueden llevar una presentación técnica al nivel más alto.

IMPORTANTE

Se recomienda la instalación de MikTek antes de comenzar para poder compilar archivos del tipo pdf y así poder usar herramientas más fuertes de LaTeX.

  1. Introducción a R Markdown

Aquí damos una introducción a la realización de reportes con R Markdown, las reglas básicas y comandos más importantes se comentan en estos archivos que son a su vez un ejemplo de cómo empezar a usar este tipo de archivos.

Adicionalmente, si ya eres experimentado con RMarkdown y si desean subir un archivo con formato .md en GitHub con ayuda de RStudio, pueden dar clic aquí para explorar una carpeta donde vemos un ejemplo.

  1. Blocks de Colores en Beamer

En este documento en formato de presentación Beamer escrito en un archivo R Markdown mostramos el uso de una serie de funciones creadas en formato LaTeX en un preámbulo que nos permitirán crear los conocidos “Blocks” de diferentes colores en un ambiente de LaTeX. Beamer es una herramienta de LaTeX sumamente utilizada en el ámbito matemático para hacer presentaciones. Resulta que R permite hacer este tipo de presentaciones en su modalidad R Markdown. Más aún, es posible ligar un preámbulo escrito en la extensión .tex a un archivo R Markdown. Este documento es un ejemplo de ello. Para ver más colores, da clic aquí.

Paquetería personal

Este apartado está dedicado a funciones que he creado con la finalidad de realizar tareas repetitivas que pueden consumir bastante código y tiempo. Los scripts de este apartado vienen tienen como objetivo lo siguiente:

  1. Funciones_RMD.R: son funciones que facilitan la creación de documentos con R Markdown en LaTeX, la elaboración de tablas, entre otras entidades para R Markdown. Con este script, por ejemplo, la elaboración de una tabla como la siguiente para un modelo lineal generalizado dado por la función glm() resulta ser cuestión de un par de líneas de código e incluso tendrá una referencia para que se pueda citar usando el comando \autoref o \ref de LaTeX.
# Creación del modelo
fit_gamma <- glm(Crash_Score~.,family = Gamma(link = "log"),data = June)
# Creación de la tabla
kabla_fit_glm(fit_gamma,
              title = "Estadísticas del modelo lineal generalizado (Gamma) $log\\left(\\mathbb{E}[y_i]\\right) = \\underline{\\beta}^T X_i$",
              ref="fit_gamma_tabla")
foto("README_files/figure-gfm/Tabla_GLM.PNG")
  1. mis_funciones.R: son funciones que facilitan la creación y manipulación principalmente de gráficos. Este script está principalmente cimentado en la librería ggplot y llevado a un nivel fácil de usar para cualquier usuario de R y podremos tener gráficos como los siguientes
# Datos
X <- runif(100,-5,5)
Y <- ifelse(test = X>=0,yes = X^2+2,no = X^2-2)
Ymin <- Y + abs(rnorm(length(X),sd=2))
Ymax <- Y - abs(rnorm(length(X),sd=2))
Label_column <- ifelse(test = X>=0,yes = "Negativo",no = "Positivo")
Data <- data.frame(X,Y,Ymin,Ymax,Label_column)

# Gráfico
ggplot_time_series(data = Data,x = "X",y = "Y",
                   label_column = "Label_column",
                   ymin = "Ymin",ymax = "Ymax",
                   title = "Parábola partida",
                   subtitle = "En positivos y negativos",
                   xlab = "X",
                   ylab = latex2exp::TeX("$Y=X^2 + '\\epsilon'$"),
                   alpha = 0.25,x_breaks = 10,y_breaks = 20)

Entre otros ejemplos…

foto("README_files/figure-gfm/Serie_tiemp_hist.PNG")

Conteo Rápido 2021 (INE)

foto("README_files/figure-gfm/CR2021.png")

El objetivo es estimar la conformación de la cámara de diputados como parte de los resultados del conteo rápido de las elecciones federales del año 2021. Esto se realiza mediante técnicas de muestreo aplicado en el lenguaje de programación estadística R y llevado a aplicaciones Shiny dinámicas en tiempo real. A continuación se exhiben algunos de los códigos implementados para lograr los resultados obtenidos en la jornada electoral del día 6 de Junio del 2021. Estos se pueden consultar en la página oficial Portal INE.

Como parte de la transparencia técnica para la Tesis de Maestría de Edgar Gerardo Alarcón González, los códigos se enumeran con base en los capítulos de este documento.

  1. La Cámara de Diputados: Códigos relacionados con los ejemplos poblacionales del cálculo de la conformación de la cámara de Diputados para los años 2015 y 2018.

  2. Muestreo Probailístico: Se muestran los códigos que fueron implementados para ejemplificar temas como la función de distribución acumulada, bootstrap y cómo obtener intervalos de confianza utilizando estos temas.

  3. Muestreo Aplicado al Conteo Rápido: Se muestran los códigos que fueron utilizados para comparar la metodología teórica vs. la implementación bootstrap. Y además el código de la aplicación Shiny con la que se seleccionó la muestra en vivo el día 4 de Junio del 2021 (Video).

  4. Imputación: En este apartado se crean los códigos para mostrar ejemplos básicos de imputación y también se muestran los scripts que fueron utilizados para crear los intervalos que contuvieron los valores reales para la estimación de la conformación de la cámara de diputados el día de la jornada electoral.

  5. Día de la elección: 6 de junio de 2021: Aquí se muestra la aplicación de en Shiny original que se utilizó para mostrar y estimar la conformación de la cámara de diputados en tiempo real cada 5 minutos utilizando los datos reales que fueron proporcionados por el INE el día de la Jornada Electoral. Una versión beta de esta aplicación puede utilizarse dando clic aquí.

Los resultados de este proceso fueron publicados en vivo y pueden consultarse dando clic aquí.

foto("README_files/figure-gfm/EDGAR.jpg")

De igual manera, existe una plática realizada en el congreso “Actuarios por México” donde se habla a grandes de lo realizado en el conteo Rápido. Este evento fue en vivo de manera virtual, puede verse la repetición dando clic aquí.

foto("README_files/figure-gfm/AXMEX.png")

La tesis en la versión editable más actual puede encontrarse en código LaTeX dando clic aquí.

Esperen más próximamente…

Contacto

Estoy muy atento a los comentarios que me puedan hacer, así como para atender dudas, apoyo o participación en proyectos.

Teléfono: (55) 8718-0868

Celular y what’s app: (55) 3912-0683

Correo: [email protected]

Quedo a sus órdenes y espero esto ayude al gremio.

FAQ

Una respuesta rápida a esta última pregunta es la siguiente.

  1. Ve al archivo que quieres descargar.
  2. Dale click para ver los contenidos dentro de la UI (Interfaz de Usuario) de GitHub.
  3. En el lado superior derecho de la visualización del archivo, da click derecho en el botón que dice Raw.
  4. Seleccionar la opción save as (guardar cómo) y el resto es seleccionar dónde lo deseamos guardar.