Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2015:alunos:trabalho_final:comandante.soares:start

**Anderson Soares Silva**

Doutorando em Controladoria e Contabilidade da FEA/USP

O título provisório da minha tese é: “Avaliação atuarial de regimes previdenciários: uma aplicação ao sistema de pensão das Forças Armadas no Brasil”,sob a orientação do Prof. Dr. Luís Eduardo Afonso.

Meus Exercícios

exec

## 7.2 O modelo mais simples possível

#Respostas: library(MASS) data(Animals) anim.m2 ← lm(log(brain)~log(body),data=Animals, subset=!(log(Animals$body)>8&log(Animals$brain)<6))

anim.m0 ← lm(log(brain)~1, data=Animals, subset=!(log(Animals$body)>8&log(Animals$brain)<6))

anova(anim.m0,anim.m2) anova(anim.m2)

#7.2.1.

## Ambos os comandos geram o mesmo resultado. Na primeira operação a hipótese nula foi salva em um objeto denominado “anim.m0”, para então se fazer a comparação com anim.m2. No entanto, tal ação poderia ser vista como desnecessária, pois, como visto, na segunda operação “anova(anim.m2)” essa comparação é feita de forma automática.

#7.2.2. summary(anim.m0) mean(log(Animals$brain[!(log(Animals$body)>8&log(Animals$brain)<6)])) sd(log(Animals$brain[!(log(Animals$body)>8&log(Animals$brain)<6)])) #Observa-se que ao se sumarizar o modelo que contém a hipótese nula obtém-se os resultados do intercepto e do erro residual padrão iguais à média e ao desvio padrão gerados, respectivamente, pelos comandos “mean” e “sd”

Trabalho Final

Trabalho Final

Proposta A

Nome da Função: pensionres.ci

O passivo atuarial é uma métrica contábil, de sistemas previdenciários, gerada por um tipo de avaliação que projeta as despesas no longo prazo. De maneira simplificada, ele representa o valor das reservas matemáticas necessárias para fazer frente aos gastos previdenciários futuros. Ocorre que algumas variáveis utilizadas para esse cálculo, como tx. de juros ou tx. de real de crescimento salarial são revestidas de graus de incerteza significativos. Assim, as chances de erro nas projeções, conforme o aumento da moldura temporal, tendem a ser maiores. Isso se deve ao fato de que as referidas projeções, em geral, são realizadas com uma abordagem determinística, ao invés de uma abordagem estocástica, que poderia ser mais indicada em diversos casos. Dessa forma, a presente proposta visa à criação de uma função que inserisse um fator de incerteza nos valores encontrados por meio do fluxo atuarial projetado com abordagem determinística. Como, normalmente, no setor público essas avaliações são feitas para um horizonte de 75 anos, de forma determinística, pode-se inferir que conforme nos afastamos do momento inicial (t0), o poder preditivo do modelo se reduz. Ou seja, há uma medida de erro implícita gerada pelas incertezas oriundas da defasagem temporal, entre o momento inicial e o final. Isso pode ser visualizado por meio do gráfico abaixo:

grafico A

Assim, é possível identificar um aumento do intervalo de confiança dos valores projetados para as reservas matemáticas à medida que o tempo evolui. Com isso a função a ser criada deverá retornar um objeto (do tipo data.frame) que contenha os valores numéricos dos limites superiores e inferiores calculados a partir de um vetor que contenha os valores determinísticos. Com base nesse objeto a função retornará a representação gráfica da evolução do intervalo de confiança das reservas matemáticas, tendo por base o valor da reserva determinística calculada ano a ano para um determinado horizonte temporal, seja ele qual for (15, 30, 60 anos etc). Dessa maneira, o argumento (input) principal para a função, ora proposta, consiste em um objeto (vetor) que contenha os valores determinísticos das reservas matemáticas para uma série temporal de n anos. O intervalo de confiança ao redor desse valor central deverá ser gerado por meio de simulação, com base na técnica de bootstrap. Espera-se que gráfico a ser gerado pela função apresente um intervalo mais estreito no início da série, sendo que a largura desse intervalo cresceria com a evolução do tempo, dado que aumenta a dificuldade em se prever acertadamente as premissas, em especial as econômicas, no longo prazo. Por fim, pretende-se que a função gráfica seja parametrizada da forma par (mfrow=c(1,3), no intuito de possibilitar a análise de cenários, do tipo teste de sensibilidade. Dessa maneira, poder-se-ia ter a representação lado a lado de cenários, dentro do conceito de “pessimista”, “realista” e “otimista”, bastante empregado na área de economia e finanças. Esses cenários seriam gerados por variações na tx. de juros, por exemplo (4%, 5%, 6% a.a).

Proposta B

Nome da Função: pyrproj

O uso de projeções populacionais é fundamental para o planejamento em qualquer esfera administrativa. Os principais métodos de projeção podem ser classificados em dois grupos: os chamados métodos matemáticos e o método das componentes demográficas. Para consecução da proposta, ora apresentada, utilizar-se-á o método das componentes demográficas, que utiliza informação sobre as tendências observadas em cada uma das três componentes: mortalidade, fecundidade e migração. Esse método tem a vantagem de poder projetar a população por sexo e idade, ou qualquer outra variável de interesse. Além disso, o referido método facilita a elaboração de hipóteses sobre o comportamento futuro de cada variável, utilizando toda a informação disponível sobre a população. O método das componentes demográficas parte da equação demográfica básica, que é dada por:

P t+n=Pt+ Nt,t+n - Ot,t+n + It,t+n - Et,t+n

Onde: - Pt + n é a população no ano t + n; Pt é a população no ano t; Nt, t + n é o número de nascimentos ocorridos no período t, t + n; Ot, t + n é o número de óbitos ocorridos no período t, t + n; It, t + n é o número de imigrantes no períodot, t + n; Et, t + n é o número de emigrantes no período t, t + n; O aumento da longevidade das pessoas vem sendo apontado como um dos riscos demográficos que mais afetarão a sustentabilidade dos sistemas previdenciários em um futuro próximo. Nesse sentido, a presente proposta visa à criação de uma função que retorne projeções populacionais, de grupos fechados vinculados a regimes previdenciários, por meio de sua representação gráfica em forma de pirâmide etária, dividida pelo gênero dos participantes. No entanto, é possível inferir que o processo de “retangularização” da pirâmide tenda a se estabilizar com o passar do tempo. Assim, essa função possuirá um filtro, com base na razão de dependência entre a população jovem e a idosa, que só permitira a construção gráfica se houver diferenças estatísticas significativas entre as pirâmides de dois momentos subsequentes. Imagine-se, por exemplo, que na figura abaixo as razões de dependência entre as populações citadas sejam estatisticamente iguais para os períodos de 2040 e 2060. Pela função ora proposta, nesse caso, a pirâmide de 2060 não seria plotada, passando-se para momento imediatamente posterior, que poderia ser o de 2080.

grafico B

Assim, ao fim do ciclo dessa função, serão evidenciadas apenas as pirâmides que apresentem diferenças significativas entre si, para um horizonte de tempo pré-determinado, com intervalos constantes (Ex: Projeção para 60 anos, a partir de 2020, com intervalos de decenais. Ou seja, a análise irá de 2020 a 2080, de 10 em 10 anos, “plotando” as pirâmides em que haja diferenças significativas, com base na razão de dependência das populações idosa e jovem).

F

Anderson, achei suas duas propostas muito interessantes. O plano A me parece inovador e factível, só acho que seria interessante detalhar melhor como as estimativas são obtidas ou colocar uma citação (tanto aqui quanto no help). Uma sugestão: ao invés de determinar que a função vai calcular três cenários (otimista, realista e pessimista) com taxas de juros fixadas por você, acho mais utilitário permitir que o usuário determine quantos cenários ele quer em um vetor de taxas de juros. Com isso o usuário pode escolher quantos cenários quiser e pode ele mesmo determinar o que é otimista e o que é pessimista.

A proposta B é curiosamente familiar por parecer muito com algumas das coisas que fazemos na ecologia. É interessante, mas o método de estimativa populacional me pareceu muito simples (ou eu não entendi bem), se você quiser seguir o plano B minha sgestão seria incluir incerteza na estimativa populacional também (como no plano A).

—-Danilo Muniz

Trabalho Final - Função

Página de ajuda

projapyr               package:unknown                 R Documentation



Description:

     Esta função retorna uma janela gráfica que contém as pirâmides etárias projetadas para um determinado período de 
     tempo, dividido em uma sequência de intervalos pré-estabelecida. O objetivo da função é permitir uma visualização 
     geral da evolução(positiva ou negativa) de determinada população, possibilitando uma comparação rápida entre os 
     períodos analisados. As projeções são feitas por meio da aplicação de taxas de crescimento populacional, por gênero, 
     estabelecidas em estudos de dinâmica populacional, com base nos componentes demográficos (fecundidade, mortalidade, 
     e migração) que compõem tal crescimento.

Usage:

     projapyr<- function(homens, mulheres,idades,pop, taxas de crescimento populacional, intervalo de tempo)

Arguments:

 
 Homens                     vetor que contém as quantidades de homens, por faixas etárias, na mesma dimensão estabelecida no vetor idades (class=numeric)
 
 Mulheres                   vetor que contém as quantidades de mulheres, por faixas etárias, na mesma dimensão estabelecida no vetor idades (class=numeric)
 
 Idades                     vetor que contém as faixas etárias, estabelecidas conforme o interesse do usuário (class=factor)

 pop                        data frame que deverá conter os dados populacionais. Esse objeto deverá conter as quantidades de homens e mulheres dentro das faixas etárias estabelecidas pelo usuário.

 taxas de crescimento       vetores que deverão conter as taxas médias de crescimento das populações de homens e mulheres.
                            Essas taxas devem representar o crescimento anual das populações, por gênero, com base nos cálculos 
                            realizados pelos órgãos oficiais de estatísticas populacionais. A base para chegar a essas taxas, à 
                            luz do método dos componentes demográficos, está contida nas variáveis: taxa de fecundidade; taxa de mortalidade; e migração líquida.

 intervalo de tempo        objeto que deverá conter o horizonte de projeção das pirâmides etárias, dividido pelos intervalos escolhidos pelo usuário.


Details:

     O uso de projeções populacionais é fundamental para o planejamento em qualquer esfera administrativa. O aumento da longevidade das pessoas vem sendo 
     apontado como um dos riscos demográficos que mais afetarão a sustentabilidade dos sistemas previdenciários em um futuro, relativamente, próximo. Nesse 
     sentido, a presente função contribui para a ocorrência de uma rápida vizualização da dinâmica demográfica referente à massa populacional estudada. Dessa 
     forma, em ambientes decisórios dinâmicos,como os de regimes previdenciários, tal ferramenta pode vir a contribuir para a escolha das decisões mais adequadas 
     diante da tendência dos cenários projetados. Destaca-se que a referida função não pretende, em primeira instância, constituir-se ferramenta demográfica precisa, 
     mas apenas ser capaz de apontar as linhas de tendência, em período pré-determinado, a fim de facilitar a visualização de possíveis riscos originados pela mudança
     na composição das pirâmides etárias, em especial no que se refere ao incremento da população idosa.

Value:

     A função retorna uma janela gráfica contendo, de uma só vez, diversas pirâmides etárias projetadas, por gênero, conforme o horizonte temporal estabelecido.

Warning:

     Esta função requer o pacote pyramid. Os dados do data.frame que contém a população inicial (pop), que serve de base para a projeção das pirâmides deverão ser apresentados seguindo a ordem: homens, mulheres e idades.


Author(s):

     Anderson Soares Silva
     comandante.soares@usp.br

References:

     CEDEPLAR (2014): Estimativas de população para o Brasil: total do país, unidades federativas e municípios, 2010-2030.


Example:

    
     O exemplo para testar a função utiliza dados fictícios, mas que procuram manter aderência com a realidade, no que concerne à dinâmica populacional. 
     As taxas médias de crescimento aplicadas são distintas entre homens e mulheres, conforme estudos realizados pelo IBGE e Cedeplar/UFMG.

#################
    Exemplo 
#################

# Dados populacionais do período (ano)/base

Homens<- c(100,104,107,110,81,57,28) #quantidade de homens por faixas etárias estabelecidas no vetor idades
Mulheres<- c(102,107,110,113,89,68,35) #quantidade de mulheres por faixas etárias estabelecidas no vetor idades
Idades<- c('0-10','11-20','21-30','31-40','41-50','51-60','61-70') #faixas etárias da população analisada, estabelecidas conforme o interesse do usuário
pop<-data.frame(Homens,Mulheres,Idades)# objeto que contém todos os dados populacionais, que servirão como base para a construção das pirâmides projetadas

# Taxas de crescimento

txcreschom<- c(.002,.004,.005,.01,.015,.025,.035) # vetor que contém as taxas médias de crescimento da população de homens, por faixas etárias, usadas nas projeções
txcrescfem<- c(.003,.006,.009,.015,.02,.030,.038) # vetor que contém as taxas médias de crescimento da população de mulheres, por faixas etárias, usadas nas projeções

# Horizonte de tempo para a projeção
n<-seq(5,45,5)# horizonte de projeção de 45 anos, sendo a primeira feita a partir de 5 anos do período base. Em sequência, serão feitas as demais projeções em intervalos de 5 anos.

Função a ser executada

mathom <- matrix(NA, nrow = 7, ncol = 9) #cria um objeto para guardar os valores projetados de pop. masculina
matfem <- matrix(NA, nrow = 7, ncol = 9) #cria um objeto para guardar os valores projetados de pop. feminina

for(i in 1:7) #loop realizado conforme a quantidade de faixas etárias estabelecidas, no caso são as 7 contidas em pop$Idades
{
txprojhom<- (1+txcreschom[i])^n # calcula as taxas projetadas para a população de homens, dentro do horizonte temporal estabelecido
txprojfem<- (1+txcrescfem[i])^n # calcula as taxas projetadas para a população de mulheres, dentro do horizonte temporal estabelecido
projhom<-(txprojhom*pop$Homens[i]) # calcula as popullações projetadas, de acordo com as faixas etárias, para os homens
projfem<-(txprojfem*pop$Mulheres[i]) # calcula as popullações projetadas, de acordo com as faixas etárias, para as mulheres
mathom[i,]<-projhom #atribui os valores projetados para os homens à matriz criada para guardá-los
matfem[i,]<-projfem #atribui os valores projetados para as mulheres à matriz criada para guardá-los
}
par(mar=c(2,1,.5,1))#default
par(mfrow=c(3,3))# estabelece a disposição gráfica de apresentação das 9 pirâmides projetadas, em 3 linhas e 3 colunas
for(j in 1:9)# loop realizado conforme a quantidade de períodos estabelecidos, no caso são os 9 estabelecidos em n
{
pyramid(data.frame(mathom[,j],matfem[,j],idades),Llab="Homens", Rlab="Mulheres", Clab="Idades",Lcol="Blue", Rcol="Orange")# plota as pirâmides, conforme os resultados projetados contidos nas matrizes referentes a homens e mulheres
}

#FIM

Código da Função

##Código da função que plota pirâmides etárias, de populações divididas por gênero, com base em taxas de crecimentos médios.

projapyr<- function(Homens, Mulheres, Idades, pop, txcresc, n)
Homens<- c(length(Idades))#vetor que concatena as quantidades de homens por faixas etárias, na mesma dimensão estabelecida no vetor idades
Mulheres<- c(length(Idades))#vetor que concatena as quantidades de mulheres por faixas etárias, na mesma dimensão estabelecida no vetor idades
Idades<- c(a,b,c,.....,t)#faixas etárias estabelecidas pelo usuário
pop<-data.frame(Homens,Mulheres,Idades)# data frame que contém os dados populacionais, referente ao período-base (t0), que servirão como instrumento de partida para as projeções populacionais
n<-seq(x,y,z)# sequencia iniciada no período x anos, após o ano base t0, indo até o período y anos,após o ano base t0, em intervalos de z períodos.Ex:partindo do ano-base 2015, com um n=seq(5,45,5), teremos x=5,y=45 e z=5.Isso nos dá a 1ª projeção em 2020 e a última em 2060, com as intermediárias de 5 em 5 anos.
txcreschom<- c(length(Idades))#vetor que concatena as taxas de crescimento, em % ao ano, da pop. de homens a serem inseridas pelo usuários, de acordo com as faixas etárias estabelecidas em Idades
txcrescfem<- c(length(idades))#vetor que concatena as taxas de crescimento, em % ao ano, da pop. de mulheres a serem inseridas pelo usuários, de acordo com as faixas etárias estabelecidas em Idades
mathom <- matrix(NA, nrow = length(Idades), ncol = length(n))#cria um objeto para guardar os valores projetados de pop. masculina
matfem <- matrix(NA, nrow = length(Idades), ncol = length(n))#cria um objeto para guardar os valores projetados de pop. feminina

for(i in 1:length(Idades))#loop para a realização dos cálculos de projeção de taxas de crescimento e quantidades, com um contador que vai de 1 até o número de faixas etárias estabelecidas
{
txprojhom<- (1+txcreschom[i])^n #objeto que contém os resultados das taxas de crescimento masculino,projetadas com base nos juros compostos, para o horizonte temporal estabelecido
txprojfem<- (1+txcrescfem[i])^n #objeto que contém os resultados das taxas de crescimento feminino,projetadas com base nos juros compostos, para o horizonte temporal estabelecido
projhom<-(txprojhom*pop$Homens[i])#objeto que contém os resultados das quantidades projetadas de homens, por meio do produto realizado entre as quantidades originais (ano-base) e as taxas de crescimentos contidas em txprojhom
projfem<-(txprojfem*pop$Mulheres[i])#objeto que contém os resultados das quantidades projetadas de mulheres, por meio do produto realizado entre as quantidades originais (ano-base) e as taxas de crescimentos contidas em txprojfem
mathom[i,]<-projhom #atribui todos os valores projetados para os anos da sequência, de acordo com as faixas etárias, à matriz criada para guardar os resultados referentes às projeções populacionais de homens
matfem[i,]<-projfem #atribui todos os valores projetados para os anos da sequência, de acordo com as faixas etárias, à matriz criada para guardar os resultados referentes às projeções populacionais de mulheres

}
par(mar=c(2,1,.5,1))#default - estabelece as margens dos gráficos das pirâmides projetadas
par(mfrow=c(w,u))#onde w*u=length(n)#estabelece a disponibilização, em termos de divisão de apresentação na janela gráfica, dos resultados das pirâmides a serem plotadas
for(j in 1:length(n))#loop para a realização da plotagem das pirâmides, de acordo com os valores projetados contidos nas matrizes de homens e mulheres, com um contador que vai de 1(primeiro período de projeção) até length(n)(último período de projeção). No exemplo acima mencionado, como a sequência é de um total de 45anos, de 5 em 5, tem-se 9 períodos de projeção
{
pyramid(data.frame(mathom[,j],matfem[,j],idades),Llab="Homens", Rlab="Mulheres", Clab="Idades",Lcol="Blue", Rcol="Orange")#cria um data frame, no mesmo formato de pop (base da projeção), contendo os valores projetados para cada período; e já plota a pirâmide referente à cada período, conforme estabelecido no contador do for. Estabelece os labels da esquerda (Homens), da direita (Mulheres) e central (Idades), bem como muda as cores da representação gráfica, passando homens para azul e mulheres para laranja
}

Resultado da Função

http://ecologia.ib.usp.br/bie5782/lib/exe/fetch.php?w=120&h=57&t=1428808469&tok=e473c7&media=bie5782:01_curso_atual:alunos:trabalho_final:comandante.soares:resultado_funcao.jpeg

05_curso_antigo/r2015/alunos/trabalho_final/comandante.soares/start.txt · Última modificação: 2020/08/12 06:04 (edição externa)