R Markdown

######################### TRABALHO 1 - ECONOMETRIA 1
######################### PPGE-UFRJ 
######################### GRUPO 9 - EMMANUEL & MARCEL


# Limpando Environment do R
rm(list = ls())

# Carregando pacotes via Pacman
library(pacman)
pacman::p_load(
  "tidyverse",
  "readxl",
  "lubridate",
  "stringr",
  "janitor",
  "arsenal", 
  "diffdf",
  "knitr",
  "kableExtra",
  "RQuantLib",
  "ggpubr", 
  "splines", 
  "stats",
  "VGAM",
  "stats4")

#Número de Repetições 
Rp<-10000
#Tamanho da amostra padrão
sz<- 1000
#Número do grupo
K <- 9
#Amostras
n1<- K*1000
n2<- K*100
n3<- K*10
n4<- K+5

#Matrizes de resultado 
TT<-matrix(0,ncol=12,nrow=Rp) # estimates matrix
TS<-matrix(0,ncol=12,nrow=Rp) # Std Err. matrix

############################################################################## QUESTÃO 3

for(i in 1:Rp) {
  Y<-rexp(sz,rate=2)          # Exponencial
  X<-exp(Y)                   # Pareto com par=2
  
  #Método de Momentos
  #MM estimates n1
  TT[i,1]<-mean(X)/(mean(X)-1)
  TS[i,1]<-( ((TT[i,1]+1)^2 *TT[i,1])/(TT[i,1]+2)  )/sz
  #MM estimates n2
  TT[i,2]<-mean(X[c(1:n2)])/(mean(X[c(1:n2)])-1)
  TS[i,2]<-( ((TT[i,2]+1)^2 *TT[i,2])/(TT[i,2]+2)  )/n2
  #MM estimates n3
  TT[i,3]<-mean(X[c(1:n3)])/(mean(X[c(1:n3)])-1)
  TS[i,3]<-( ((TT[i,3]+1)^2 *TT[i,3])/(TT[i,3]+2)  )/n3
  #MM estimates n4
  TT[i,4]<-mean(X[c(1:n4)])/(mean(X[c(1:n4)])-1)
  TS[i,4]<-( ((TT[i,4]+1)^2 *TT[i,4])/(TT[i,4]+2)  )/n4
  
  #Máxima Verossimilhança
  #ML estimates n1
  TT[i,5]<-1/mean(Y)
  TS[i,5]<-TT[i,5]^2/sz
  #ML estimates n2
  TT[i,6]<-1/mean(Y[c(1:n2)])
  TS[i,6]<-TT[i,6]^2/(n2)
  #ML estimates n3
  TT[i,7]<-1/mean(Y[c(1:n3)])
  TS[i,7]<-TT[i,7]^2/(n3)
  #ML estimates n4
  TT[i,8]<-1/mean(Y[c(1:n4)])
  TS[i,8]<-TT[i,8]^2/(n4)
  
  #Mediana
  #ME estimates n1
  TT[i,9]<-log(2)/log(median(X))
  TS[i,9]<-(1/log(median(X))^2) * var(log(X))
  #ME estimates n2
  TT[i,10]<-log(2)/log(median(X[c(1:n2)]))
  TS[i,10]<-(1/log(median(X[c(1:n2)]))^2) * var(log(X[c(1:n2)]))
  #ME estimates n3
  TT[i,11]<-log(2)/log(median(X[c(1:n3)]))
  TS[i,11]<-(1/log(median(X[c(1:n3)]))^2) * var(log(X[c(1:n3)]))
  #ME estimates n4
  TT[i,12]<-log(2)/log(median(X[c(1:n4)]))
  TS[i,12]<-(1/log(median(X[c(1:n4)]))^2) * var(log(X[c(1:n4)]))
}

############################################################################## QUESTÃO 4

############## I) 

dTT1 <- density(TT[,1])
dTT2 <- density(TT[,2])
dTT3 <- density(TT[,3])
dTT4 <- density(TT[,4])
dTT5 <- density(TT[,5]) 
dTT6 <- density(TT[,6])
dTT7 <- density(TT[,7])
dTT8 <- density(TT[,8])
dTT9 <- density(TT[,9]) 
dTT10 <- density(TT[,10])
dTT11 <- density(TT[,11])
dTT12 <- density(TT[,12])


#Plotando os Gráficos - amostra n5
plot(dTT1, xlim = c(1,3), lty = 1, lwd = 2, main = " ", xlab = " ", ylab = " ")   
lines(dTT5, lty = 5, lwd = 2)    
lines(dTT9, lty = 9, lwd = 2)
legend("topright", legend = c("MM", "MV", "ME"), lty = 1:3, lwd = 2)

#Plotando os Gráficos - amostra n10
plot(dTT2, xlim = c(1,3), lty = 2, lwd = 2, main = " ", xlab = " ", ylab = " ")   
lines(dTT6, lty = 6, lwd = 2)   
lines(dTT10, lty = 10, lwd = 2)
legend("topright", legend = c("MM", "MV", "ME"), lty = 1:3, lwd = 2)

#Plotando os Gráficos - amostra n100
plot(dTT3, xlim = c(1,3), lty = 3, lwd = 2, main = " ", xlab = " ", ylab = " ")   
lines(dTT7, lty = 7, lwd = 2)    
lines(dTT11, lty = 11, lwd = 2)
legend("topright", legend = c("MM", "MV", "ME"), lty = 1:3, lwd = 2)

#Plotando os Gráficos - amostra n1000
plot(dTT4, xlim = c(1,3), lty = 4, lwd = 2, main = " ", xlab = " ", ylab = " ")   
lines(dTT8, lty = 8, lwd = 2)    
lines(dTT12, lty = 12, lwd = 2)
legend("topright", legend = c("MM", "MV", "ME"), lty = 1:3, lwd = 2)

########### II)

# Convergência em distribuição
TTS <- (TT-2)/sqrt(TS)

summary(TTS[,c(1:4)])  # MM
##        V1                  V2                  V3                V4         
##  Min.   :-23.98088   Min.   :-23.04088   Min.   :-7.1276   Min.   :-3.1638  
##  1st Qu.: -0.67122   1st Qu.: -0.64460   1st Qu.:-0.4209   1st Qu.:-0.2632  
##  Median :  0.23128   Median :  0.23069   Median : 0.2733   Median : 0.3139  
##  Mean   :  0.05926   Mean   :  0.06459   Mean   : 0.1719   Mean   : 0.2599  
##  3rd Qu.:  1.00782   3rd Qu.:  1.01128   3rd Qu.: 0.9070   3rd Qu.: 0.8513  
##  Max.   :  4.06777   Max.   :  4.28248   Max.   : 3.1926   Max.   : 2.6101
summary(TTS[,c(5:8)])  # MV
##        V1                  V2                  V3                  V4          
##  Min.   :-4.231820   Min.   :-3.715285   Min.   :-3.842273   Min.   :-4.64995  
##  1st Qu.:-0.671731   1st Qu.:-0.665391   1st Qu.:-0.658446   1st Qu.:-0.64487  
##  Median : 0.013498   Median : 0.012754   Median : 0.037521   Median : 0.08314  
##  Mean   : 0.001488   Mean   : 0.004248   Mean   : 0.002912   Mean   :-0.01209  
##  3rd Qu.: 0.682162   3rd Qu.: 0.683896   3rd Qu.: 0.693440   3rd Qu.: 0.71245  
##  Max.   : 3.595819   Max.   : 3.624316   Max.   : 3.303770   Max.   : 2.56738
summary(TTS[,c(9:12)]) # ME
##        V1                   V2                   V3            
##  Min.   :-0.2717270   Min.   :-0.2660962   Min.   :-1.0125684  
##  1st Qu.:-0.0418996   1st Qu.:-0.0440886   1st Qu.:-0.1412299  
##  Median : 0.0005792   Median : 0.0007247   Median : 0.0022412  
##  Mean   : 0.0001940   Mean   : 0.0003200   Mean   : 0.0002713  
##  3rd Qu.: 0.0428092   3rd Qu.: 0.0447168   3rd Qu.: 0.1473844  
##  Max.   : 0.2278944   Max.   : 0.2465801   Max.   : 0.7706602  
##        V4          
##  Min.   :-2.72990  
##  1st Qu.:-0.40829  
##  Median :-0.01479  
##  Mean   :-0.02984  
##  3rd Qu.: 0.35623  
##  Max.   : 4.27257
# Calculando as densidades do estimador padronizado
densidades_TTS <- list()

for (i in 1:12) {
  densidades_TTS[[i]] <- density(TTS[,i])
}

# Plotando as densidades do estimador padronizado
cores <- c("red", "blue", "green")
plot(densidades_TTS[[1]], xlim = range(TTS), lty = 1, lwd = 2, col = cores[1], 
     main = "Densidades do estimador padronizado", xlab = "TTS", ylab = "Densidade") 
for (i in 2:12) {
  lines(densidades_TTS[[i]], lty = i%%4, lwd = 2, col = cores[(i-1) %/% 4 + 1])
}
legend("topright", legend = c("MM", "MV", "ME"), lty = 1:3, lwd = 2, col = cores)

############################################################################## QUESTÃO 5

summary(TT[,1])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.072   1.956   2.016   2.008   2.070   2.312
summary(TT[,2])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.065   1.955   2.016   2.009   2.074   2.352
summary(TT[,3])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.077   1.910   2.063   2.067   2.224   3.064
summary(TT[,4])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.013   1.860   2.194   2.294   2.620   6.745
summary(TT[,5])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.764   1.958   2.001   2.002   2.044   2.257
summary(TT[,6])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.780   1.957   2.001   2.002   2.047   2.275
summary(TT[,7])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.423   1.870   2.008   2.023   2.158   3.069
summary(TT[,8])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.8918  1.7060  2.0455  2.1470  2.4704  6.3727
summary(TT[,9])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.649   1.941   2.001   2.004   2.063   2.371
summary(TT[,10])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.654   1.938   2.001   2.004   2.066   2.422
summary(TT[,11])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.200   1.816   2.003   2.038   2.226   3.713
summary(TT[,12])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.6201  1.5556  1.9811  2.1757  2.5716  9.3136
BiasTT<-cbind(mean((TT[,1]-2)), mean((TT[,2]-2)),mean((TT[,3]-2)), mean((TT[,4]-2)),mean((TT[,5]-2)),mean((TT[,6]-2)),mean((TT[,7]-2)),mean((TT[,8]-2)),mean((TT[,9]-2)),mean((TT[,10]-2)),mean((TT[,11]-2)),mean((TT[,12]-2)))
EQMTT<-cbind(mean((TT[,1]-2)^2), mean((TT[,2]-2)^2),mean((TT[,3]-2)^2), mean((TT[,4]-2)^2),mean((TT[,5]-2)^2),mean((TT[,6]-2)^2),mean((TT[,7]-2)^2),mean((TT[,8]-2)^2),mean((TT[,9]-2)^2),mean((TT[,10]-2)^2),mean((TT[,11]-2)^2),mean((TT[,12]-2)^2))
BiasTT
##             [,1]        [,2]      [,3]      [,4]        [,5]        [,6]
## [1,] 0.008345451 0.009331507 0.0670083 0.2937466 0.002083015 0.002475444
##            [,7]      [,8]        [,9]       [,10]      [,11]     [,12]
## [1,] 0.02311746 0.1470445 0.003641065 0.004163761 0.03780114 0.1756861
EQMTT
##             [,1]        [,2]      [,3]      [,4]        [,5]        [,6]
## [1,] 0.009048484 0.009869497 0.0653915 0.4680585 0.003995905 0.004408015
##            [,7]      [,8]        [,9]       [,10]      [,11]     [,12]
## [1,] 0.04715633 0.4033023 0.008196453 0.009058549 0.09987027 0.8401895
############################################################################## QUESTÃO 6

summary(TS[,1])
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.001498 0.004320 0.004565 0.004543 0.004793 0.005881
summary(TS[,2])
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.001647 0.004798 0.005076 0.005053 0.005345 0.006746
summary(TS[,3])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.01677 0.04595 0.05292 0.05378 0.06079 0.11102
summary(TS[,4])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.09732 0.28162 0.38112 0.44060 0.53095 3.30433
summary(TS[,5])
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.003112 0.003835 0.004003 0.004012 0.004178 0.005092
summary(TS[,6])
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
## 0.003519 0.004254 0.004448 0.004460 0.004654 0.005750
summary(TS[,7])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## 0.02251 0.03886 0.04480 0.04600 0.05173 0.10463
summary(TS[,8])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.0568  0.2079  0.2988  0.3565  0.4359  2.9008
summary(TS[,9])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.384   1.918   2.075   2.092   2.242   3.502
summary(TS[,10])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.345   1.912   2.076   2.093   2.252   3.652
summary(TS[,11])
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##  0.5934  1.5712  2.0222  2.1859  2.6028 11.5787
summary(TS[,12])
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##   0.1298   0.8929   1.5883   2.6582   2.9823 112.5042
BiasTS <- cbind(mean((TS[,1]-2)), mean((TS[,2]-2)),mean((TS[,3]-2)), mean((TS[,4]-2)),mean((TS[,5]-2)),mean((TS[,6]-2)),mean((TS[,7]-2)),mean((TS[,8]-2)),mean((TS[,9]-2)),mean((TS[,10]-2)),mean((TS[,11]-2)),mean((TS[,12]-2)))
EQMTS <- cbind(mean((TS[,1]-2)^2), mean((TS[,2]-2)^2),mean((TS[,3]-2)^2), mean((TS[,4]-2)^2),mean((TS[,5]-2)^2),mean((TS[,6]-2)^2),mean((TS[,7]-2)^2),mean((TS[,8]-2)^2),mean((TS[,9]-2)^2),mean((TS[,10]-2)^2),mean((TS[,11]-2)^2),mean((TS[,12]-2)^2))
BiasTS
##           [,1]      [,2]      [,3]      [,4]      [,5]     [,6]      [,7]
## [1,] -1.995457 -1.994947 -1.946224 -1.559399 -1.995988 -1.99554 -1.954004
##           [,8]       [,9]      [,10]     [,11]     [,12]
## [1,] -1.643466 0.09225532 0.09291883 0.1858899 0.6582028
EQMTS
##          [,1]     [,2]     [,3]     [,4]     [,5]     [,6]     [,7]     [,8]
## [1,] 3.981848 3.979812 3.787926 2.490755 3.983967 3.982179 3.818232 2.752803
##           [,9]      [,10]     [,11]    [,12]
## [1,] 0.0681228 0.07421034 0.8165807 14.36925
############################################################################## QUESTÃO 7

setwd("C:/Users/MarcelAlmeida/Cofco International/FSUSA - Coffee/Marcel/R/")

data_pop <- readxl::read_excel("pop2000.xlsx")
pop <- data_pop[,3]*1


#Características 
K = 9
samplesz <- 50000+K*50
samplesz
## [1] 50450
subset <- subset(pop, pop >samplesz)


tt_subset <- matrix(0, ncol=3, nrow = 3) # estimates matrix


tt_subset[,1] <- mean(subset[,1])/(mean(subset[,1])-1)    ### MM
tt_subset[,2] <- 1/mean(log(subset[,1]))                  ### MVM
tt_subset[,3] <- log(2)/log(median(subset[,1]))      ### Mediana

#Calculando densidades

TT1_d <- density(tt_subset[,1]) #MM
TT2_d <- density(tt_subset[,2]) #MV
TT3_d <- density(tt_subset[,3]) #ME
  
#Plot

plot(TT1_d, xlim = c(-2,4), ylim = c(0, 5), lty = 1, lwd = 2, main = "Densidade dos Estimadores", xlab = " ", ylab = " ") # n1000    
lines(TT2_d, lty = 2, lwd = 2, col = "red")
lines(TT3_d, lty = 3, lwd = 2, col = "blue")
legend("topright", legend = c("MM", "MV", "ME"), lty = 1:3, lwd = 2)