Subsections

24 Intervalos de confiança baseados na deviance

Neste sessão discutiremos a obtenção de intervalos de confiança baseado na deviance.

24.1 Média da distribuição normal com variância conhecida

Seja $X_1, \ldots, X_n$ a.a. de uma distribuição normal de média $\theta$ e variância 1. Vimos que:

  1. A função de log-verossimilhança é dada por $l(\theta) = {\rm cte} + \frac{1}{2} \sum_{i=1}^{n} (x_i - \theta)^2$;
  2. o estimador de máxima verossimilhança é $\hat{\theta} = \frac{\sum_{i=1}^{n} X_i}{n} = \bar{X}$;
  3. a função deviance é $D(\theta) = n(\bar{x} - \theta)^2$;
  4. e neste caso a deviance tem distribuição exata $\chi^2_{(1)}$;
  5. e os limites do intervalo são dados por $\bar{x} \stackrel{+}{-} \sqrt{c^*/n}$, onde $c^*$ é o quantil $(1 - \alpha/2)$ da distribuição $\chi^2_{(1)}$.

Vamos considerar que temos uma amostra onde $n=20$ e $\bar{x} = 32$. Neste caso a função deviance é como mostrada na Figura [*] que é obtida com os comandos abaixo onde primeiro definimos uma função para calcular a deviance que depois é mostrada em um gráfico para valores entre 30 e 34. Para obtermos um intervalo a 95% de confiança escolhemos o quantil correspondente na distribuição $\chi^2_{(1)}$ e mostrado pela linha tracejada no gráfico. Os pontos onde esta linha cortam a função são, neste exemplo, determinados analiticamente pela expressão dada acima e indicados pelos setas verticais no gráfico.

> dev.norm.v1 <- function(theta, n, xbar){n * (xbar - theta)^2} 
> thetaN.vals <- seq(31, 33, l=101)
> dev.vals <- dev.norm.v1(thetaN.vals, n=20, xbar=32)
> plot(thetaN.vals, dev.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))
> corte <- qchisq(0.95, df = 1)
> abline(h = corte, lty=3)
> limites <- 32 + c(-1, 1) * sqrt(corte/20)
> limites
[1] 31.56174 32.43826
> segments(limites, rep(corte,2), limites, rep(0,2))

Figura : Função deviance para ${\rm N}(\theta, 1)$ para uma amostra de tamanho 20 e média 32.
\begin{figure}\centerline{\includegraphics{figuras/icdev01.ps}}\end{figure}

Vamos agora examinar o efeito do tamanho da amostra na função. A Figura [*] mostra as funções para três tamanhos de amostra, $n=10, 20 $ e $ 50 $ que são obtidas com os comandos abaixo. A linha horizontal mostra o efeito nas amplitudes dos IC's.

> dev10.vals <- dev.norm.v1(thetaN.vals, n=10, xbar=32)
> plot(thetaN.vals, dev10.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))
> dev20.vals <- dev.norm.v1(thetaN.vals, n=20, xbar=32)
> lines(thetaN.vals, dev20.vals, lty=2)
> dev50.vals <- dev.norm.v1(thetaN.vals, n=50, xbar=32)
> lines(thetaN.vals, dev50.vals, lwd=2)
> abline(h = qchisq(0.95, df = 1), lty=3)
> legend(31, 2, c('n=10', 'n=20', 'n=50'), lty=c(1,2,1), lwd=c(1,1,2), cex=0.7)

Figura : Funções deviance para o parâmetro $\theta$ da ${\rm N}(\theta, 1)$ para amostras de média 32 e tamanhos de amostra $n=10, 20 $ e $ 50 $.
\begin{figure}\centerline{\includegraphics{figuras/icdev02.ps}}\end{figure}

24.2 IC para o parâmetro da distribuição exponencial

Seja $X_1, \ldots, X_n$ a.a. de uma distribuição exponencial de parâmetro $\theta$ com função de densidade $f(x) = \theta \exp\{-\theta x\}$. Vimos que:

  1. A função de log-verossimilhança é dada por $l(\theta) = n \log(\theta) - \theta n \bar{x}$;
  2. o estimador de máxima verossimilhança é $\hat{\theta} = \frac{n}{\sum_{i=1}^{n} X_i} = \frac{1}{\bar{X}}$;
  3. a função deviance é $D(\theta) = 2n\left[\log(\hat{\theta}/\theta) + \bar{x}(\theta - \hat{\theta})\right]$;
  4. e neste caso a deviance tem distribuição assintótica $\chi^2_{(1)}$;
  5. e os limites do intervalo não podem ser obtidos analiticamente, devendo ser obtidos por:

A seguir vamos ilustrar a obtenção destes intervalos no R. Vamos considerar que temos uma amostra onde $n=20$ e $\bar{x} = 10$ para a qual a função deviance é mostrada na Figura [*] e obtida de forma análoga ao exemplo anterior.

> dev.exp <- function(theta, n, xbar){
+   2*n*(log((1/xbar)/theta) + xbar*(theta-(1/xbar)))
+ } 
> thetaE.vals <- seq(0.04,0.20, l=101)
> dev.vals <- dev.exp(thetaE.vals, n=20, xbar=10)
> plot(thetaE.vals, dev.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))

Figura : Função deviance da ${\rm Exp}(\theta)$ para uma amostra de tamanho 20 e média 10.
\begin{figure}\centerline{\includegraphics{figuras/icdev03.ps}}\end{figure}

Neste exemplo, diferentemente do anterior, não determinamos a distribuição exata da deviance e usamos a distribuição assintótica $\chi^2_{(1)}$ na qual se baseia a linha de corte tracejada mostrada no gráfico para definir o IC do parâmetro ao nível de 95% de confiança.

Para encontrar os limites do IC precisamos dos valores no eixo dos parâmetros nos pontos onde a linha de corte toca a função deviance o que corresponde a resolver a equação $D(\theta) = 2n\left[\log(\hat{\theta}/\theta) + \bar{x}(\theta - \hat{\theta})\right] = c^*$ onde $c^*$ é quantil da distribuição da $\chi^2$ com 1 grau de liberdade correspondente ao nível de confiança desejado. Por exemplo, para 95% o valor de $\chi^2_{1, 0.95}$ é 3.84. Como esta equação não tem solução analítica (diferentemente do exemplo anterior) vamos examinar a seguir duas possíveis soluções para encontrar os limites do intervalo.

24.2.1 Solução numérica/gráfica simplificada

Iremos aqui considerar uma solução simples baseada no gráfico da função deviance para encontrar os limites do IC que consiste no seguinte: Para fazermos o gráfico da deviance criamos uma sequência de valores do parâmetro $\theta$. A cada um destes valores corresponde um valor de $D(\theta)$. Vamos então localizar os valores de $\theta$ para os quais $D(\theta)$ é o mais próximo possível do ponto de corte. Isto é feito com o código abaixo e o resultado exibido na Figura [*].

> plot(thetaE.vals, dev.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))
> corte <- qchisq(0.95, df = 1)
> abline(h = corte, lty=3)
> dif <- abs(dev.vals - corte)
> linf <- thetaE.vals[thetaE.vals<(1/10)][which.min(dif[thetaE.vals<(1/10)])]
> lsup <- thetaE.vals[thetaE.vals>(1/10)][which.min(dif[thetaE.vals>(1/10)])]
> limites.dev <- c(linf, lsup)
> limites.dev
[1] 0.0624 0.1504
> segments(limites.dev, rep(corte,2), limites.dev, rep(0,2))

Figura : Obtenção gráfica do IC para o parâmetro $\theta$ da ${\rm Exp}(\theta)$ para uma amostra de tamanho 20 e média 10.
\begin{figure}\centerline{\includegraphics{figuras/icdev04.ps}}\end{figure}

Note que neste código procuramos primeiro e limite inferior entre os valores menores que a estimativa do parâmetro (1/10) e depois o limite superior entre os valores maiores que esta estimativa. Embora este procedimento bastante simples e sujeito a imprecisão podemos torná-lo quão preciso quanto quisermos bastando para isto definir um vetor com menor espaçamento para os valores para o parâmetro, por exemplo poderiamos usar thetaE.vals <- seq(0.04,0.20,l=1001).

24.2.2 Aproximação quadrática da verossimilhança

Nesta abordagem aproximamos a função deviance por uma função quadrática obtida pela expansão por série de Taylor ao redor do estimador de máxima verossimilhança:

\begin{displaymath}D(\theta) \approx n\left(\frac{\theta - \hat{\theta}}{\hat{\theta}} \right)^2.\end{displaymath}

A Figura [*] obtida com os comandos mostra o gráfico desta função deviance aproximada. A Figura também mostra os IC's obtido com esta função. Para a aproximação quadrática os limites dos intervalos são facilmente determinados analiticamente e neste caso dados por:

\begin{displaymath}\left(\hat{\theta}(1 - \sqrt{c^*/n})\;\; , \;\; \hat{\theta}(1 + \sqrt{c^*/n}) \right).\end{displaymath}

> devap.exp <- function(theta, n, xbar){n * (xbar *(theta - (1/xbar)))^2}
> devap.vals <- devap.exp(thetaE.vals, n=20, xbar=10)
> plot(thetaE.vals, devap.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))
> corte <-  qchisq(0.95, df = 1)
> abline(h = corte, lty=3)
> limites.devap <- c((1/10)*(1 - sqrt(corte/20)), (1/10)*(1 + sqrt(corte/20)))
> limites.devap
[1] 0.05617387 0.14382613
> segments(limites.devap, rep(corte,2), limites.devap, rep(0,2))

Figura : Função deviance obtida pela aproximação quadrática para ${\rm Exp}(\theta)$ e uma amostra de tamanho 20 e média 10.
\begin{figure}\centerline{\includegraphics{figuras/icdev05.ps}}\end{figure}

24.3 Comparando as duas estratégias

Examinando os limites dos intervalos encontrados anteriormente podemos ver que são diferentes. Vamos agora colocar os resultados pelos dois métodos em um mesmo gráfico (Figura [*]) para comparar os resultados.

> plot(thetaE.vals, dev.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))
> lines(thetaE.vals, devap.vals, lty=2)
> abline(h = corte, lty=3)
> segments(limites.dev, rep(corte,2), limites.dev, rep(0,2)) 
> segments(limites.devap, rep(corte,2), limites.devap, rep(0,2), lty=2) 
> legend(0.07, 12, c('deviance', 'aproximacão quadrática'), lty=c(1,2), cex=0.7)

Figura : Comparação dos IC's de confiança obtidos pela solução gráfica/numérica (linha sólida) e pela aproximação quadrática (linha tracejada) para o parâmetro $\theta$ da ${\rm Exp}(\theta)$ para uma amostra de tamanho 20 e média 10.
\begin{figure}\centerline{\includegraphics{figuras/icdev06.ps}}
\end{figure}

Vamos agora examinar o efeito do tamanho da amostra na função deviance e sua aproximação quadrática. A Figura [*] mostra as funções para três tamanhos de amostra, $n=10, 30$ e $100$ que são obtidas com os comandos abaixo onde vemos que a aproximação fica cada vez melhor com o aumento do tamanho da amostra.

> thetaE.vals <- seq(0.04, 0.20, l=101)
> dev10.vals <- dev.exp(thetaE.vals, n=10, xbar=10)
> plot(thetaE.vals, dev10.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))
> devap10.vals <- devap.exp(thetaE.vals, n=10, xbar=10)
> lines(thetaE.vals, devap10.vals, lty=2)
> abline(h = qchisq(0.95, df = 1), lty=3)
> 
> dev30.vals <- dev.exp(thetaE.vals, n=30, xbar=10)
> plot(thetaE.vals, dev30.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))
> devap30.vals <- devap.exp(thetaE.vals, n=30, xbar=10)
> lines(thetaE.vals, devap30.vals, lty=2)
> abline(h = qchisq(0.95, df = 1), lty=3)
> 
> dev100.vals <- dev.exp(thetaE.vals, n=100, xbar=10)
> plot(thetaE.vals, dev100.vals, ty='l',
+      xlab=expression(theta), ylab=expression(D(theta)))
> devap100.vals <- devap.exp(thetaE.vals, n=100, xbar=10)
> lines(thetaE.vals, devap100.vals, lty=2)
> abline(h = qchisq(0.95, df = 1), lty=3)

Figura : Funções deviance e deviance aproximada para o parâmetro $\theta$ da ${\rm Exp}(\theta)$ em amostras de média 10 e tamanhos $n=10$ (esquerda), $30$ (centro) e $100$ (direita).
\begin{figure}\centerline{\includegraphics[width=\textwidth]{figuras/icdev07.ps}}\end{figure}

24.4 Exercícios

  1. Seja $14.1, 30.0, 19.6, 28.2, 12.5, 15.2, 17.1, 11.0, 25.9, 13.2, 22.8, 22.1$ a.a. de uma distribuição normal de média 20 e variância $\sigma^2$.
    1. Obtenha a função deviance para $\sigma^2$ e faça o seu gráfico.
    2. Obtenha a função deviance para $\sigma$ e faça o seu gráfico.
    3. Obtenha os IC's a 90% de confiança.

  2. Repita as análises mostradas no exemplo acima da distribuição exponencial mas agora utilizando a seguinte parametrização para a função de densidade:

    \begin{displaymath}f(x) = \frac{1}{\lambda} \exp{(-x/\lambda)} \;\;\; x \geq 0.\end{displaymath}

    Discuta as diferenças entre os resultados obtidos nas duas parametrizações.
Paulo Justiniano Ribeiro Jr