## Package: lifecontingencies
## Authors: Giorgio Alfredo Spedicato [aut, cre]
## (<https://orcid.org/0000-0002-0315-8888>),
## Christophe Dutang [ctb] (<https://orcid.org/0000-0001-6732-1501>),
## Reinhold Kainhofer [ctb] (<https://orcid.org/0000-0002-7895-1311>),
## Kevin J Owens [ctb],
## Ernesto Schirmacher [ctb],
## Gian Paolo Clemente [ctb] (<https://orcid.org/0000-0001-6795-4595>),
## Ivan Williams [ctb]
## Version: 1.3.6
## Date: 2019-03-05 23:50:03 UTC
## BugReport: http://github.com/spedygiorgio/lifecontingencies/issues
O objetivo deste “Apêndice Computacional” é ilustrar como as técnicas atuariais descritas no livro Cálculo Atuarial Aplicado - Teoria e Aplicações Exercícios Resolvidos e Propostos de autoria do Prof. Antônio Cordeiro Filho podem ser implementadas utilizando o software R.
O livro serve de fio condutor para a apresentação dos tópicos atuariais mas aproveitamos cada tópico, sempre que possível, para apresentar elementos adicionais ao que é apresentado no livro.
Este apêndice, em boa medida, busca trazer para junto da teoria apresentada no livro os aspectos práticos relacionados aos conceitos desenvolvidos.
A inspiração veio do site https://www.ime.usp.br/~pam/scriptsR.html.
Neste “Apêndice” utilizaremos os pacotes lifecontingencies, demography, xxx, e xxx.
Assumiremos que o leitor já possua conhecimentos básicos do R. Caso essa hipótese não seja aplicável a você, recomendo a leitura de algum dos vários materiais disponíveis da internet. Um muito bom é o R para Cientistas Sociais, que você pode baixa no link http://www.uesc.br/editora/livrosdigitais_20140513/r_cientistas.pdf
Nesta parte vamos ver algumas coisas que, embora não abordadas no livro do Prof. Cordeiro são importantes para o atuário e que saber implementar no R acreditamos ser algo importante.
Este é um capítulo estritamente conceitual e embora não sejam apresentados problemas a serem resolvidos, alguns conceitos atuariais já começam a ser apresentados, como por exemplo o conceito de tábua de sobrevivência ou de mortalidade, vista como os “levantamentos e conclusões da quantidade de pessoas vivas e os totais de falecimentos conforme as idades, o tempo decorrido ou a decorrer, a vida média e provável”.
Algumas funções biométricas \(\ell_x\) (no de sobriventes na idade \(x\)) e \(d_x\) (no de falecidos com a idade \(x\)) são também introduzidas neste capítulo.
O conceito de função de sobrevivência, fundamental nos estudos atuariais, também é apresentado neste capítulo.
À função \(S(x)\) definida no intervalo \(0 \leq x \leq \omega\) que associa \(x\) (a idade de uma pessoa) à probabilidade de uma pessoa viver mais de \(x\) anos dá-se o nome de função de sobrevivência.
A idade máxima que uma pessoa pode sobreviver é designada por \(\omega\) (ômega).
Essa função está associada a uma variável aleatória \(X\) que representa a probabilidade de uma pessoa alcançar a idade \(x\).
Neste capítulo, são discutidas as tábuas e as funções biométricas a ela associadas.
O Instituto Brasileiro de Atuária - IBA (https://www.atuarios.org.br/) disponibiliza um arquivo excel (Banco de Tábuas Biométricas.xls) contendo diversas tábuas de sobrevibência. O link para download do arquivo é: https://www.atuarios.org.br/tabuas-biometricas
Com o pacote lifecontingencies é possível criar um objeto da classe lifetable que representa uma tábua de mortalidade e com a qual é possível realizar diversos cálculos atuariais. No tópico a seguir vamos ilustrar como converter um conjunto de dados que represente uma tábua de mortalidade em um objeto da classe lifetable.
A partir de uma planilha contendo valores de idade e os correspondentes valores de \(l_x\) é possível criar um objeto da classe lifetable a partir do qual é possível realizar o cálculo de algumas funções atuariais.
Com o exemplo, ilustra-se como calcular tais quantidades utilizando a tábua IBGE 2017. As tábuas do IBGE podem ser obtidas no seguinte endereço: http://www.previdencia.gov.br/regimes-proprios/atuaria/
O primeiro passo é importar os dados. Como estão contidos numa planilha do Excel, vamos utilizar a função read_excel() do pacote readxl para fazer a importação:
# Sexo Feminino
ibge2017F <- read_excel("tabuas/2017_TABUAS-DE-MORTALIDADE-IBGE_EXTRAPOLADAS_Publicar_28012019.xls",
sheet="IBGE_2017_Extrap_MPS_Mulheres", skip = 3)
names(ibge2017F)[1] <- "Idades"
# Sexo Masculino
ibge2017M <- read_excel("tabuas/2017_TABUAS-DE-MORTALIDADE-IBGE_EXTRAPOLADAS_Publicar_28012019.xls",
sheet="IBGE_2017_Extrap_MPS_Homens", skip = 3)
names(ibge2017M)[1] <- "Idades"
# Ambos os sexos
ibge2017A <- read_excel("tabuas/2017_TABUAS-DE-MORTALIDADE-IBGE_EXTRAPOLADAS_Publicar_28012019.xls",
sheet="IBGE_2017_Extrap_MPS_AmbosSexos", skip = 3)
names(ibge2017A)[1] <- "Idades"Vamos dar uma olhada em um dos conjuntos de dado. Por exemplo ibge2017A (ambos os sexos)
## # A tibble: 6 x 4
## Idades lx qx ex
## <dbl> <dbl> <dbl> <dbl>
## 1 0 100000 0.0128 76.0
## 2 1 98719. 0.000848 76.0
## 3 2 98635. 0.000548 75.1
## 4 3 98581. 0.000418 74.1
## 5 4 98540. 0.000344 73.2
## 6 5 98506. 0.000296 72.2
A tabela nos fornece os valores de algumas funções da tábua.
Para que possamos utilizar esses válores para a realização de cálculos atuariais uma providência é converter este data frame para um objeto da classe lifetable. Isso pode ser feito utilizando-se a função new() conforme mostrado a seguir:
Como pode ser visto, a criação de uma tábua necessita de apenas 3 elementos:
1. As idades (\(x\)). Que é uma sequência de números inteiros 0,1,…, \(\omega\).
2. O vetor dos \(\ell_x\)
3. Um nome para a tábua. No exemplo eu chamei de IBGE2017F
Vamos agora visualizar o conteúdo desse novo objeto:
## x lx px ex
## 1 0 100000.00 0.9882477 79.11828
## 2 1 98824.77 0.9992309 79.05916
## 3 2 98748.77 0.9995134 78.12001
## 4 3 98700.71 0.9996341 77.15804
## 5 4 98664.59 0.9997026 76.18629
## 6 5 98635.25 0.9997468 75.20895
Deve ser observado que os valores px e ex foram calculados a partir das duas informações passadas à função new(): a idade e os \(l_x\). Observa-se, também, diferenças nos valoes de \(e_x\) dados pela tábua e os cálculados pela função…Esse é um ponto para investigação posterior.
Qual o valor de \(\omega\)? (última idade da tábua)
## [1] 111
Podemos também plotar o objeto:
O gráfico nos fornece a evolução da população ao longo dos anos. Um gráfico dos \(\ell_x\) contra os \(x\).
No item 2.7 o autor descreve o denominado “diagrama de Lexis”.