Aplicação: Transformação Box-Cox com auxílio do R
I — Estratégia para lidar com não normalidade
Quando os dados disponíveis afastam-se da distribuição normal, principalmente, quando o modelo utilizado parte do pressuposto necessário de normalidade, um dos caminhos é fazer a transformação dos dados — por mais que “nem sempre a normalização da variável conduz a uma estabilização da variância’’ (PINO, 2014, p. 25; EFRON, 1982). O objetivo do presente texto colide justamente com a problemática da distribuição normal: como fazer transformação Box-Cox utilizando o R?
Comumente é utilizado a transformação Box-Cox, derivada dos trabalhos de Box & Cox (1964)— da família paramétrica de transformação potência, de acordo com Pino (2014, p. 25). A qual pode ser escrita da seguinte forma:
A qual consiste em encontrar um λ tal que os dados transformados Y1, …, Yn se aproximem de uma distribuição normal[1]. Para um explicação matemática completa da transformação, ver aqui. Até porque é de suma importância entender o arcabouço teórico e matemático antes de passar para a aplicação.
II- Dados
Os dados utilizando são do IPEA
Estão disponíveis aqui
Como de praxe, gosto de trabalhar nos meus exemplos de aplicação com dados reais.
O dados são referentes: as exportações de café (em sacas de 60kg)
Do período: de 1821 a 1900(anualmente)
III — Análise Exploratória
Como de praxe, antes da aplicação vou fazer uma rápida análise exploratória dos dados para podemos ter uma melhor visualização dos dados. Segue o código com os histogramas e o teste de Shapiro-Wilk para verificar a distribuição:
A seguir o Teste de Shapiro-Wilk transformando os dados por logarítmico natural, note que melhorou razoavelmente, porém longe de atingir uma distribuição normal:
E, por fim, a visualização com histograma de frequência e com o QQ-Plot:
Tanto visualmente quanto com o teste de Shapiro-Wilk fica evidente que os dados rejeitaram a hipótese de normalidade (atingindo um P-valor < 0.05) Sendo assim, vamos aplicar a transformação Box-Cox e refazer os testes para observar os resultados. Para isso, vou utilizar o pacote forecast e usar os limites da lambda λ de [-5, 5], isto é, lower=-5 e upper=5.
IV- Transformação Box-Cox
Segue o código com a transformação Box-Cox:
Teste de Shapiro-Wilk:
Bem, agora o teste de Shapiro-Wilk retornou não rejeitando a hipótese de normalidade (P-valor>0.05). À guisa de conclusão, vamos visualizar novamente:
Notas
[1] http://www.portalaction.com.br/analise-de-capacidade/411-transformacao-de-box-cox
Referência bibliográfica:
BOX, G. E. P.; COX, D. R. An analysis of transformations. Journal of the Royal Statistical Society, Edinburgh, Vol. 26, Issue 2, pp. 211–252, 1964.
EFRON, B. Transformation theory: how normal is a family of distributions? The Annals of Statistics, Philadelphia, Vol. 10, pp. 323–339, 1982
PINO. F. A. A questão da não-normalidade: uma revisão. Rev. de Economia Agrícola, São Paulo, v. 61, n. 2, p. 17–33, jul.-dez. 2014