In [1]:
options(OutDec = ",")
#==============================================================================
# Exercicio com dados artificiais
#==============================================================================
# Gerando dados artificiais (amostras aleatorias)
#==============================================================================
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

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
In [2]:
#==============================================================================
# Calculando algumas estatisticas descritivas
#==============================================================================
print(describe(y))  # Leptocurtica (caudas pesadas)
print(describe(z))
   vars    n  mean   sd median trimmed mad   min  max range  skew kurtosis   se
X1    1 1000 -0,02 1,08      0   -0,02   1 -4,33 3,69  8,02 -0,08     0,51 0,03
   vars    n  mean   sd median trimmed  mad   min  max range skew kurtosis   se
X1    1 1000 -0,03 0,97  -0,04   -0,04 0,97 -3,52 2,76  6,28 0,06     0,07 0,03
In [3]:
#==============================================================================
# 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
tSy   <- Sy/sqrt(6/n)                # Razao t-Student
test1 <- abs(tSy) > qnorm(1-alpha/2) # (TRUE=Rejeitar, FALSE=Nao rejeitar)
print(tSy)
print(test1)
print("====================")

# Testando a curtose
tKy   <- Ky/sqrt(24/n)               # Razao t-Student
test2 <- abs(tKy) > qnorm(1-alpha/2) # (TRUE=Rejeitar, FALSE=Nao rejeitar)
print(tKy)
print(test2) 
print("====================")

# Testando a normalidade - teste de Jarque Bera
JB    <- tSy^2 + tKy^2
names(JB) <- "Jarque-Bera"
test3 <- JB  >  qchisq(1-alpha,2)    # (TRUE=Rejeitar, FALSE=Nao rejeitar)
print(JB)
print(test3)
print("====================")

print(jarque.bera.test(y))           # Verificar o valor p (mesma conclusao)
print("====================")
         skew
X1 -0,9796015
    skew
X1 FALSE
[1] "===================="
   kurtosis
X1 3,288744
   kurtosis
X1     TRUE
[1] "===================="
   Jarque-Bera
X1    11,77545
   Jarque-Bera
X1        TRUE
[1] "===================="

	Jarque Bera Test

data:  y
X-squared = 12,079, df = 2, p-value = 0,002383

[1] "===================="
In [4]:
#==============================================================================
# Testando a normalidade (dados da distribuicao normal)
#==============================================================================
Sz    <- describe(z)[11]             # Assimetria
Kz    <- describe(z)[12]             # Excesso de curtose

# Testando a assimetria
tSz   <- Sz/sqrt(6/n)                # Razao-t
test1 <- abs(tSz) > qnorm(1-alpha/2) # (TRUE=Rejeitar, FALSE=Nao rejeitar)
print(tSz)
print(test1)
print("====================")

# Testando a curtose
tKz   <- Kz/sqrt(24/n)               # Razao-t
test2 <- abs(tKz) > qnorm(1-alpha/2) # (TRUE=Rejeitar, FALSE=Nao rejeitar)
print(tKz)
print(test2)
print("====================")

# Testando a normalidade - teste de Jarque Bera
JB    <- tSz^2 + tKz^2
names(JB) <- "Jarque-Bera"
test3 <- JB  >  qchisq(1-alpha,2)    # (TRUE=Rejeitar, FALSE=Nao rejeitar)
print(JB)
print(test3)
print("====================")

print(jarque.bera.test(z))           # Verificar o valor p (mesma conclusao)
print("====================")
        skew
X1 0,8243693
    skew
X1 FALSE
[1] "===================="
    kurtosis
X1 0,4681225
   kurtosis
X1    FALSE
[1] "===================="
   Jarque-Bera
X1   0,8987233
   Jarque-Bera
X1       FALSE
[1] "===================="

	Jarque Bera Test

data:  z
X-squared = 0,93954, df = 2, p-value = 0,6251

[1] "===================="