Você está na página 1de 2

# Script - Ajustando distribuies de sinistros

# Instalar e carregar os seguintes pacotes:

install.packages("MASS")
install.packages("survival")
install.packages("actuar")
install.packages("fitdistrplus")

library("MASS")
library("survival")
library("actuar")
library("fitdistrplus")

# Claim size (risk modelling)

# voc vai escolher o arquivo claimsize


claimsize <- read.csv(file.choose())

# transformar claim em vetor


claim <- claimsize$claim

# Estatstica descritiva
summary(claim)
var(claim)
sd(claim)
IQR(claim)

# Histograma
hist(claim, main = "Histograma dos Sinistros", xlab = "Sinistros", ylab =
"Frequncia")

# Estimar os parmetros das distribuies com a funo fitdist(x, "dist", method)


fitexp <- fitdist(claim, "exp", method = 'mme') # mtodo dos momentos para uma
exponencial
summary(fitexp)

fitexpmle <- fitdist(claim, "exp", method = 'mle') # No maximizou pela Mxima


verossimilhana

fitlnmme <- fitdist(claim, "lnorm", method = 'mme') # Mtodo dos momentos para uma
Log Normal
summary(fitlnmme)

fitln <- fitdist(claim, "lnorm", method = 'mle') #lognormal - mxima


verossimilhana
summary(fitln)

fitg <- fitdist(claim, "gamma", method = 'mme') #gamma - mtodo dos momentos
summary(fitg)

fitpmme <- fitdist(claim, 'pareto', method = 'mme') #pareto - mtodo dos momentos

fitp <- fitdist(claim, 'pareto', method = 'mle') #pareto - mxima verossimilhana


summary(fitp)

# Aps estimar os parmetros para as distribuies necessrio realizar o teste de


Kolmogorov-Smirnoff (KS)
ks.test(claim, 'pexp', 0.00034) # testando o Kolmogorov-Smirnoff para a exponencial

ks.test(claim, 'plnorm', 7.30866, 1.163663) # teste KS para Lognormal

ks.test(claim, 'plnorm', 7.107351, 1.36986) # teste KS para Lognormal

ks.test(claim, 'pgamma', 0.3480297879, 0.0001184) # KS para gamma

ks.test(claim, 'ppareto', 1.987978, 3076.045027) # KS para Pareto

# Fazer os grficos para a acumulada (cdfcomp), densidade (denscomp), quantis


tericos (qqcomp), probabilidades (ppcomp)
cdfcomp(list(fitexp, fitln, fitg, fitp), legendtext=c("exponencial", "lognormal",
"gamma", "pareto"))
denscomp(list(fitexp, fitln, fitg, fitp), legendtext=c("exponencial", "lognormal",
"gamma", "pareto"))
qqcomp(list(fitexp, fitln, fitg, fitp), legendtext=c("exponencial", "lognormal",
"gamma", "pareto"))
ppcomp(list(fitexp, fitln, fitg, fitp), legendtext=c("exponencial", "lognormal",
"gamma", "pareto"))

# Apresentar a qualidade do ajustamento das estimaes


gofstat(list(fitexp, fitln, fitg, fitp), fitnames=c("exponencial", "lognormal",
"gamma", "pareto"))