Retransformação de Variáveis (2)

Raiz cúbica

Segundo Land (1972), o cubo de uma variável aleatória normal \(X \sim N(\mu, \sigma^2)\) é igual a (ver prova):

\[\mathbb{E}[X^3] = \mu^3 + 3\mu\sigma^2\]

Para melhor compreender, criei os dados abaixo no R:

set.seed(1)
dados <- data.frame(
  Area = runif(100, min = 360, max = 600)
)
dados$CROOTVU <- 40 - .05*dados$Area + rnorm(100, mean = 0, sd = 1.5)
dados$VU <- dados$CROOTVU^3

A Figura 1 mostra que os dados transformados pela raiz cúbica são aproximadamente normais.

m <- mean(dados$VU^(1/3))
s <- sd(dados$VU^(1/3))
histogram(~VU^(1/3), dados)
plotDist("norm", mean = m, sd = s, add = TRUE)
Histograma dos dados transformados.

Figure 1: Histograma dos dados transformados.

Primeiro ajustamos um modelo linear:

linFit <- lm(VU~Area, dados)
summary(linFit)
## 
## Call:
## lm(formula = VU ~ Area, data = dados)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2665.4  -736.0  -124.3   501.4  5114.1 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 22608.881   1004.015   22.52   <2e-16 ***
## Area          -37.484      2.055  -18.24   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1313 on 98 degrees of freedom
## Multiple R-squared:  0.7724, Adjusted R-squared:  0.7701 
## F-statistic: 332.6 on 1 and 98 DF,  p-value: < 2.2e-16

Percebem-se os problemas do modelo na Figura 2:

Modelo linear.

Figure 2: Modelo linear.

A Figura ?? mostra que a transformação ideal é mesmo a raiz cúbica (que surpresa!).

boxcox(linFit)

Mais uma vez, fica nítida a não-linearidade pela análise da Figura 3, como no caso da raiz quadrada. Mas é claro que o ajuste está longe do ideal.

powerPlot(linFit, axis = "inverted")
Poder de Predição para o modelo linear.

Figure 3: Poder de Predição para o modelo linear.

Ajusta-se então um modelo com a variável transformada.

transFit <- lm(VU^(1/3)~Area, dados)
s <- summary(transFit)
s
## 
## Call:
## lm(formula = VU^(1/3) ~ Area, data = dados)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.7747 -0.8433 -0.1306  0.7864  3.7749 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 39.028240   1.079110   36.17   <2e-16 ***
## Area        -0.048048   0.002209  -21.75   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.412 on 98 degrees of freedom
## Multiple R-squared:  0.8284, Adjusted R-squared:  0.8266 
## F-statistic: 473.1 on 1 and 98 DF,  p-value: < 2.2e-16

Na Figura 4 pode-se ver o Poder de Predição do modelo com a retransformação naive, ou seja, com a adoção da mediana.

powerPlot(dados$VU, fitted(transFit)^3, axis = "inverted")
Poder de predição com retransformação \emph{naive}

Figure 4: Poder de predição com retransformação

E na Figura 5 pode-se ver o Poder de Predição obtido com a média da distribuição original.

yhatMedia <- fitted(transFit)^3 + 3*fitted(transFit)*s$sigma^2
powerPlot(dados$VU, yhatMedia, axis = "inverted")
Poder de predição com a média.

Figure 5: Poder de predição com a média.

É possível perceber que o ajuste dos dados (\(R^2\)) não aumenta substancialmente. De maneira análoga, aliás, ao que ocorreu com as outras transformações estudadas nos posts anteriores.

Mas percebe-se uma nítida melhora na previsão de valores nos extremos da amostra. Além disto, as hipóteses da inferência clássica não se verificam nos modelos sem a transformação das variáveis, o que significa que os testes de hipótese e os intervalos de confiança obtidos com estes modelos.

Avatar
Luiz F. P. Droubi
Mestrando no Programa de Pós-Graduação em Engenharia de Transportes e Gestão Territorial

comments powered by Disqus