next up previous contents
Next: 7 Mais sobre intervalos Up: CE-210: Inferência Estatística II Previous: 5 Funções de verossimilhança   Sumário

Subsections

6 Intervalos de confiança baseados na deviance

Vamos fazer aqui os exemplos vistos em sala de aula sobre intervalos de confiança baseado na deviance.

6.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 6 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 7 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}

6.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 8 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.

6.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 9.

> 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).

6.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 10 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}

6.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 11) 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 7 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}

6.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 fução deviance para $\sigma^2$ e faa o seu gráfico.
    2. Obtenha a fução deviance para $\sigma$ e faa 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{\frac{x}{\lambda}}.\end{displaymath}

    Discuta as diferenças entre os resultados obtidos nas duas parametrizações.

next up previous contents
Next: 7 Mais sobre intervalos Up: CE-210: Inferência Estatística II Previous: 5 Funções de verossimilhança   Sumário
Paulo Justiniano & Ricardo Ehlers