# rm(list=ls())
options(OutDec = ",")
#==============================================================================
# Exercicio com dados artificiais
#==============================================================================
silence <- suppressPackageStartupMessages # Para omitir mensagens de alertas
silence(library(psych)) # Para a funcao 'describe'
silence(library(tseries)) # Para o teste de normalidade de Jarque-Bera
#==============================================================================
# Gerando dados artificiais (amostras aleatorias)
#==============================================================================
set.seed(3345) # Fixa a sequencia de numeros pseudo-aleatorios
n <- 1000 # Tamanho da amostra
df <- 10 # Graus de liberdade da distribuicao t-Student
y <- rt(n,df) # Dados artificiais da distribuicao t-Student
z <- rnorm(n) # Dados artificiais da distribuicao normal
#==============================================================================
# Calculando algumas estatisticas descritivas
#==============================================================================
print(describe(cbind(y,z))) # y: Leptocurtica (caudas pesadas); z: normal
vars n mean sd median trimmed mad min max range skew kurtosis se y 1 1000 -0,02 1,08 0,00 -0,02 1,00 -4,33 3,69 8,02 -0,08 0,51 0,03 z 2 1000 -0,03 0,97 -0,04 -0,04 0,97 -3,52 2,76 6,28 0,06 0,07 0,03
#==============================================================================
# Testando a normalidade (dados da distribuicao t-Student)
#==============================================================================
alpha <- 0.05 # Nivel de significancia do teste
Sy <- describe(y)[11] # Assimetria
Ky <- describe(y)[12] # Excesso de curtose
#==============================================================================
# Testando a assimetria (TRUE=Rejeitar, FALSE=Nao rejeitar)
#==============================================================================
tSy <- Sy/sqrt(6/n) # Razao t-Student
print(c(abs(tSy) > qnorm(1-alpha/2)))
[1] FALSE
#==============================================================================
# Testando a curtose (TRUE=Rejeitar, FALSE=Nao rejeitar)
#==============================================================================
tKy <- Ky/sqrt(24/n) # Razao t-Student
print(c(abs(tKy) > qnorm(1-alpha/2)))
[1] TRUE
#==============================================================================
# Testando a normalidade - teste de Jarque Bera
# (TRUE=Rejeitar, FALSE=Nao rejeitar)
#==============================================================================
JB <- tSy^2 + tKy^2
print(c(JB > qchisq(1-alpha,2))) # Testanto
print("=============")
jarque.bera.test(y) # Verificar o valor p (mesma conclusao)
[1] TRUE [1] "============="
Jarque Bera Test data: y X-squared = 12,079, df = 2, p-value = 0,002383
#==============================================================================
# Testando a normalidade (dados da distribuicao normal)
#==============================================================================
Sz <- describe(z)[11] # Assimetria
Kz <- describe(z)[12] # Excesso de curtose
#==============================================================================
# Testando a assimetria (TRUE=Rejeitar, FALSE=Nao rejeitar)
#==============================================================================
tSz <- Sz/sqrt(6/n) # Razao t-Student
print(c(abs(tSz) > qnorm(1-alpha/2)))
[1] FALSE
#==============================================================================
# Testando a curtose (TRUE=Rejeitar, FALSE=Nao rejeitar)
#==============================================================================
tKz <- Kz/sqrt(24/n) # Razao t-Student
print(c(abs(tKz) > qnorm(1-alpha/2)))
[1] FALSE
#==============================================================================
# Testando a normalidade - teste de Jarque Bera
# (TRUE=Rejeitar, FALSE=Nao rejeitar)
#==============================================================================
JB <- tSz^2 + tKz^2
print(c(JB > qchisq(1-alpha,2))) # Testanto
print("=============")
jarque.bera.test(z) # Verificar o valor p (mesma conclusao)
[1] FALSE [1] "============="
Jarque Bera Test data: z X-squared = 0,93954, df = 2, p-value = 0,6251