Você está na página 1de 13

11/07/2020 Aplicação da Transformação Box-Cox

Aplicação da Transformação Box-Cox


Fernando Monteiro, Guilherme da Silva e Valentina Lírio
13/07/2020

library(knitr)
library(tseries)
library(forecast)
library(ggplot2)
library(ggfortify)
library(plotly)
library(magrittr)
library(ggseas)
library(lmtest)
library(ggpubr)
library(fma)
library(tsdl)
library(outliers)

Aplicação da Transformação Box-Cox na


série: Quantidade de produção de energia
primária não renovável (gás natural) no
Brasil
1. Introdução
Energia não renovável, são as fontes de energia que dependem da formação do sistema solar para se
tornarem disponíveis, um exemplo, é o carvão mineral, o petróleo, o gás natural e a energia nuclear. Assim,
esse tipo de energia primária precisa ser transformada em energia secundária, como eletricidade ou gasolina
para então ser utilizada (PENA, 2020).

Portanto, como o gás natural é uma fonte de energia não renovável, e como qualquer outra fonte de
energia, apresenta suas vantagens e desvantagens. Segundo Santos, et al. (2015), as suas principais
vantagens é que sua produção é ininterrupta, o gás pode ser eliminado na atmosfera em casos de vazamento
e é pouco poluente, já suas desvantagens são o alto risco de incêndio e explosões e em caso de acidente, há
liberação de monóxido de carbono (CO), que é altamente tóxico.

A partir de 1990, o gás natural começou a ter mais importância na matriz energética nacional, já que
anteriormente não se acreditava que o Brasil tinha recursos significativos desse gás. Entretanto, quando
processo de privatização parcial começou, as descobertas de gás na bacia de Campos-RJ e o racionamento
de energia elétrica, impulsionaram a importância do gás natural como matriz energética e a cada ano o
consumo de gás natural vem aumentado, principalmente devido a indústria e o setor energético (BRONZATTI;
NETO, 2008).

Os dados utilizados no trabalho, sobre o gás natural, tem como unidade de medida o Tep(mil), que significa
tonelada equivalente de petróleo, é a unidade primordial de energia para apresentação dos balanços
energéticos nacionais. Além disso, os dados foram coletados do site do Instituto de Pesquisa Econômica
Aplicada (www.ipeadata.gov.br), que tem como fonte de seus dados, o Ministério de Minas e Energia, Balanço
Energético Nacional (MME).
file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 1/13
11/07/2020 Aplicação da Transformação Box-Cox

Finalizando, tendo em vista o cenário da produção de gás natural no país, projeção de reservas e intenções
de investimentos da produção desse gás, estima-se que em 2030 a produção pode chegar a 251,7 milhões de
m /dia com crescimento de 5% ano, enquanto que o consumo pode chegar a 4% ao ano (BRONZATTI;
3

NETO, 2008).

O relatório encontra-se dividido em 2 seções, sendo a primeira esta introdução e a segunda a análise e
discussão dos resultados.

1.1. Objetivos
1.1.1 Objetivo Geral
Analisar a série temporal da quantidade de produção de energia primária não renovável (gás natural), no
Brasil, de 1970 à 2018, utilizando a metodologia de Box-Cox.

1.1.2 Objetivos Específicos


Encontrar uma série temporal real para ser analisada;
Apresentar a série temporal (o que significam, suas propriedades, períodos a que se referem, outliers,
etc.), ou seja, descrever a série temporal;
Analisar a série temporal utilizando as rotinas para a metodologia de Box-Cox;
Apresentar pacotes, rotinas e funções utilizadas para analisar as séries temporais;
Todos os resultados devem ser apresentados em um relatório digitado em Latex, Word ou R Markdown
e convertidos em pdf.

2. Análise e discussão dos resultados


2.1. Análise descritiva da série

library(readxl)

## Warning: package 'readxl' was built under R version 3.6.1

gn <- read.table("gn.txt",header=T,sep="\t")
dados<-gn$quant
matrix<-cbind(summary(dados))
colnames(matrix)<-c("Tabela 1: Estatística Descritiva")
kable(matrix)

Tabela 1: Estatística Descritiva

Min. 1.16900

1st Qu. 3.00800

Median 7.69900

Mean 12.24055

3rd Qu. 17.58200

Max. 40.56000

Na Tabela 1, vista acima, apresenta-se algumas estatísticas descritivas da série em questão. Portanto,
ressaltamos, a quantidade média de produção de energia primária não renovável (gás natural), no Brasil, de

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 2/13


11/07/2020 Aplicação da Transformação Box-Cox

1970 à 2018, que é igual a 12,241 Tep (mil). Tem-se também que, a quantidade de produção mínima e
máxima é de 1,169 Tep (mil) e 40,56 Tep (mil), respectivamente.

dados.ts<-ts(dados,start=c(1970),frequency = 1)

2.2. Gráfico da série temporal

# Base plot with date axis


autoplot(dados.ts)+ggtitle("Gráfico 1 - Quantidade de produção de gás natural de 1970 à 2018"
) +
xlab("Tempo") + ylab("Quantidade")+theme_minimal()

Por inspeção visual da série original, no gráfico 1, percebe-se que a série “Quantidade de Produção de
energia primária não renovável (gás natural)” não é estacionária, ou seja, que a mesma possui algum tipo de
tendência determinística.

2.3. Presença de Outliers


Utilizando o comando à seguir, podemos ver a presença ou não de outliers na série estudada. Assim,
percebe-se que o ano de 2018 é o único outlier da série, que correspondente ao valor da quantidade de
produção de 40,560 Tep (mil), ou seja, essa quantidade foi bem superior a quantidade média de produção
dessa energia.

outlier(dados.ts)

## [1] 40.56

# Base plot with date axis


autoplot(ts(dados[-49],start=c(1970),frequency = 1))+ggtitle(" Gráfico 2 - Quantidade de prod
ução de gás natural de 1970 à 2018") +
xlab("Tempo") + ylab("Quantidade")+theme_minimal()

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 3/13


11/07/2020 Aplicação da Transformação Box-Cox

No gráfico 2, percebe-se que a série “Quantidade de Produção de energia primária não renovável (gás
natural)” está sem o ano de 2018, o que não causa muitas mudanças na série. Com isso, as análises serão
feitas com a série completa.

Funções de Autocorrelação (FAC) e Autocorrelação Parcial (FACP) da série temporal

ggAcf(dados.ts, lag.max=100,type = c("correlation"))+labs(y = "FAC Amostral",title="Gráfico 3


- Função de Autocorrelação")+
theme_minimal()
ggAcf(dados, lag.max=100,type = c("partial"))+labs(y = "FACP Amostral",title="Gráfico 4 - Fun
ção de Autocorrelação Parcial")+
theme_minimal()

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 4/13


11/07/2020 Aplicação da Transformação Box-Cox

Nos gráficos 3 e 4, são apresentadas a FAC e FACP da série, respectivamente. A FAC possui uma
correlação positiva até o lag 17, depois a correlação passa a ser negativa, o que pode ser um indicativo de
sazonalidade, além de ter também um comportamento ondulatório. Observa-se também que vários lags
apresentam-se fora do intervalo de confiança (IC). Na FACP, tem-se que a maioria das observações
encontram-se dentro do IC.

2.4. Normalidade da Série Temporal


Assim, para testar a normalidade da série, foi realizado 2 testes, sendo eles: Shapiro-Wilk e Jarque-Bera,
vistos abaixo.

shapiro.test(dados.ts)

##
## Shapiro-Wilk normality test
##
## data: dados.ts
## W = 0.85865, p-value = 3.153e-05

jarque.bera.test(dados.ts)

##
## Jarque Bera Test
##
## data: dados.ts
## X-squared = 9.5685, df = 2, p-value = 0.00836

Os testes possuem as seguintes hipóteses:

é
H0 = A s rie segue distribui ção normal

é ã
H1 = A s rie n o segue distribui ção normal

Logo, para os 2 testes, em ambas as ocasiões, rejeita-se a hipótese de que a série segue uma distribuição
normal, visto que os p-valores são menores que o nível de significância de 0,05. Os p-valores obtidos foram
3,153e-05 e 0,00836, para os testes de Shapiro-Wilk e Jarque-Bera, respectivamente.

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 5/13


11/07/2020 Aplicação da Transformação Box-Cox

# ggqqplot is a generic function the default method of which produces a normal QQ plot
#of the values in y.
ggqqplot(dados, main = "Gráfico 5 - QQplot")

No gráfico 5, confirma-se o que é testado acima. Os dados não se dispõem em uma reta linear, logo a série
não possui normalidade nos dados.

2.5. Transformação de Box-Cox


A transformação de Box-Cox é utilizada em séries temporais para obter uma distribuição mais próxima da
normal, para que assim a estimação de máxima verossimilhança da série estudada seja possível. Afinal, para
o cálculo dos EMVs precisa-se da suposição de normalidade. Box e Cox (1964) apresentam a seguinte
transformação:
λ
Y −c
t

λ , para λ ≠ 0
Y = { λ
t
log(Y λ ), para λ = 0

onde λ necessita ser estimado. Box, et al. (2008) sugerem aplicar a tranformação na série para vários valores
de λ e escolher o λ que minimiza a soma dos quadrados. O comando BoxCox.lambda do pacote forecast
estima o parâmetro λ.

Com base nos testes de normalidade de Shapiro-Wilk e Jarque-Bera e pelo qqplot, a série temporal em
análise não apresenta normalidade. Assim, é utilizado uma rotina para estimar os coeficientes da
transformação de Box-Cox para tentar a normalidade dos dados.

2.5.1. Rotina box.cox()


Utilizando a rotina box.cox(), temos os seguintes resultados:

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 6/13


11/07/2020 Aplicação da Transformação Box-Cox

#Rotina Implementada pelo Professor


box.cox<-function(x,z){
lambda<-x$lambda
d<-x$d
bc<-matrix(ncol=3,nrow=(length(lambda)*length(d)))
type<-lambda != 0.0
k<-1
for(j in 1:length(lambda)){
for(i in 1:length(d)){
if(type[j]==TRUE){y<-((z^lambda[j])-d[i])/lambda[j]}
if(type[j]!=TRUE){y<-log(z)}
bc[k,]<-c(lambda[j],d[i],
round(jarque.bera.test(y)$p.value,4))
k<-k+1
}
}
return(bc)
}

z<-dados
lambda<-seq(-7,7,by=0.1)
d<-seq(-5,5,by=0.1)
x<-list(d=d,lambda=lambda)
tmp<-box.cox(x=x,z=z)
plot(x=tmp[,1],y=tmp[,2],type="l")
plot.ts(tmp[,3])
t<-which(tmp[,3]>0.05)
tmp[t,]

Antes de executar a rotina, decidimos optar por usar apenas 1 dos 2 testes de normalidade já citados no
relatório, assim utilizamos nas análises seguintes apenas o teste de normalidade Jarque-Bera. Observa-se
que foram estimados vários valores de λ e c, na qual a série temporal apresentou distribuição normal, ou
seja, que não rejeitaram a hipótese nula do teste de Jarque-Bera. Assim, é escolhido os valores de λ e c na
qual o p-valor do teste é mais alto que o nível de significância de 5%.
Com base na rotina, será feita a estimação com λ = −0.1 e c = −2.1.

lambda<--0.1
c<--2.1
bc.dados<-(dados^lambda-c)/lambda
jarque.bera.test(bc.dados)

##
## Jarque Bera Test
##
## data: bc.dados
## X-squared = 3.4125, df = 2, p-value = 0.1815

Portanto, com a transformação feita, não se rejeita a hipótese nula de que a série segue uma distribuição
normal. O p-valor, correspondente a 0.1815, é maior que o nível de significância de 0,05.

# ggqqplot is a generic function the default method of which produces a normal QQ plot
# of the values in y.
ggqqplot(bc.dados, main="Gráfico 6 - QQplot")

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 7/13


11/07/2020 Aplicação da Transformação Box-Cox

No gráfico 6, os dados se aproximam de uma reta linear, logo a série possui normalidade. Percebe-se que
os pontos estão dentro da região em cinza, com exceção de apenas 1 ponto.
Gráfico da série temporal normalizada:

Foram feitas as representações gráficas da série para a normalização, dada pela rotina box.cox().

# Base plot with date axis


autoplot(ts(bc.dados,start=c(1970),frequency = 1))+ggtitle("Gráfico 7 - Quantidade de produçã
o de gás natural de 1970 à 2018") +
xlab("Tempo") + ylab("Quantidade")+theme_minimal()

No gráfico 7, tem-se a série normalizada pela transformação de Box-Cox, usando a rotina box.cox().
Portanto, percebe-se que a série é estacionária, ou seja, ainda possui tendência determinística.
Funções de Autocorrelação e Autocorrelação Parcial da série temporal normalizada:

ggAcf(ts(bc.dados,start=c(1970),frequency = 1), lag.max=100,type = c("correlation"))+labs(y =


"FAC Amostral",title="Gráfico 8 - Função de Autocorrelação")+
theme_minimal()
ggAcf(ts(bc.dados,start=c(1970),frequency = 1), lag.max=100,type = c("partial"))+labs(y = "FA
CP Amostral",title="Gráfico 9 - Função de Autocorrelação Parcial")+
theme_minimal()

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 8/13


11/07/2020 Aplicação da Transformação Box-Cox

Nos gráficos 8 e 9, são apresentadas a FAC e FACP da série normalizada, respectivamente. A FAC possui
uma correlação positiva até o lag 18, depois a correlação passa a ser negativa, o que pode ser um indicativo
de sazonalidade, além de ter também um comportamento ondulatório. Na FACP, tem-se que a maioria das
observações encontram-se dentro do IC. No entanto, podemos ajustar um modelo na série normalizada,
porque é possível a estimação de máxima verossimilhança.

2.5.2. Rotina do pacote Forecast


Utilizando o pacote forecast do R Core Team (2019), a rotina BoxCox.lambda() fornece os seguintes
resultados:
dados<-gn
glambda<-BoxCox.lambda(dados.ts,method = c("guerrero"))
glambda

## [1] 0.198033

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 9/13


11/07/2020 Aplicação da Transformação Box-Cox

llambda<-BoxCox.lambda(dados.ts,method = c("loglik"))
llambda

## [1] 0.2

bc21.dados<-BoxCox(dados, glambda)
bc22.dados<-BoxCox(dados, llambda)

Com base na rotina, foi estimado λ = 0, 1980 usando o método Guerrero e utilizando o método Loglik foi
estimado λ = 0, 2 , ou seja, em ambos os métodos os valores de lambda foram mto próximos.

jarque.bera.test(bc21.dados$quant)

##
## Jarque Bera Test
##
## data: bc21.dados$quant
## X-squared = 2.5254, df = 2, p-value = 0.2829

jarque.bera.test(bc22.dados$quant)

##
## Jarque Bera Test
##
## data: bc22.dados$quant
## X-squared = 2.524, df = 2, p-value = 0.2831

Portanto, para os 2 métodos, não se rejeita a hipótese nula de que a série segue uma distribuição normal.
Os p-valores são maiores que o nível de significância de 0,05, sendo que 0,2829 foi dado pelo método
Guerrero e 0,2831 pelo Loglik, usando o teste Jarque-Bera.

# ggqqplot is a generic function the default method of which produces a normal QQ plot
#of the values in y.
ggqqplot(bc22.dados$quant, main="Gráfico 10 - Guerrero")
ggqqplot(bc21.dados$quant, main = "Gráfico 11 - Loglik")

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 10/13


11/07/2020 Aplicação da Transformação Box-Cox

Nos gráficos 10 e 11, os dados se aproximam de uma reta linear, logo a série possui normalidade nos
dados em ambos os métodos. Percebe-se que os pontos estão dentro da região em cinza, com exceção de
apenas 1 ponto. Vale ressaltar que podemos escolher um dos 2 métodos disponíveis na rotina do R, mas
como ambos os métodos deixaram os dados normais, optou-se em deixar os 2 no relatório.
Gráfico da série temporal normalizada:

Foram feitas as representações gráficas da série para a normalização, dada pela rotina BoxCox.lambda()
do pacote forecast.

# Base plot with date axis


autoplot(ts(bc21.dados,start=c(1970),frequency = 1))+ggtitle("Gráfico 12 - Quantidade de prod
ução de gás natural de 1970 à 2018") +
xlab("Tempo") + ylab("Quantidade")+theme_minimal()

No gráfico 12, tem-se a série normalizada pela transformação de Box-Cox, percebe-se que a série ainda
possui algum tipo de tendência determinística, ou seja, ainda não é estacionária. Lembrando que para torná-la
estacionária podemos, por exemplo, diferenciá-la ou então eliminar tendência polinomial ao ajustar uma curva
aos valores observados da série temporal, para estimar t e fazer previsões, mas isso será realizado nos
próximos relatórios e neles também serão ajustados modelos a série temporal.
Funções de Autocorrelação e Autocorrelação Parcial da série temporal normalizada:

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 11/13


11/07/2020 Aplicação da Transformação Box-Cox

ggAcf(ts(bc21.dados,start=c(1970),frequency = 1), lag.max=100,type = c("correlation"))+labs(y


= "FAC Amostral",title="Gráfico 13 - Função de Autocorrelação")+
theme_minimal()
ggAcf(ts(bc21.dados,start=c(1970),frequency = 1), lag.max=100,type = c("partial"))+labs(y =
"FACP Amostral",title="Gráfico 14 - Função de Autocorrelação Parcial")+
theme_minimal()

Nos gráficos 13 e 14, são apresentadas a FAC e FACP da série normalizada, respectivamente. A FAC
possui uma correlação positiva até o lag 18, depois a correlação passa a ser negativa, o que pode ser um
indicativo de sazonalidade, além de ter também um comportamento ondulatório. Na FACP, tem-se que a
maioria das observações encontram-se dentro do IC. Observamos que não temos muitas diferenças entre a
série sem normalizar os dados para a série normalizada, ou seja, as interpretações seguem as mesmas. No
entanto, podemos ajustar um modelo na série normalizada, porque é possível a estimação de máxima
verossimilhança.

REFERÊNCIAS
file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 12/13
11/07/2020 Aplicação da Transformação Box-Cox

PENA, R. F. A. (2020). “Fontes não renováveis de energia”; Brasil Escola. Disponível em:
(www.brasilescola.uol.com.br/geografia/fontes-nao-renovaveis-energia.htm).

Santos, P. R. G. dos, Florentino, M. C. C., Bastos, J. L. C., e Trevisan, G. V. (2015). Fontes renováveis e não
renováveis geradoras de energia elétrica no Brasil. Mostra Nacional de Iniciação Científica e Tecnológica
Interdisciplinar.

Bronzatti, F. L. e Neto, A. I. (2008). Matrizes energéticas no Brasil: cenário 2010-2030. Enegep.

Box, G. E. e Cox, D. R. (1964). An analysis of transformations, Journal of the Royal Statistical Society: Series
B (Methodological), 26(2):211–243.

Box, G. E. P., Reinsel, G. C., e Jenkins, G. M. (2015). Time Series Analysis: Forecasting and Control. John
Wiley & Sons.

file:///C:/Users/Valentina/Desktop/Séries Temporais II/relatório 1/Rel_Par_8+.html 13/13

Você também pode gostar