Nesta sessão vamos verificar como utilizar o R para obter intervalos de confiança para parâmetros de distribuições de probabilidade.
Para fins didáticos mostrando os recursos do R vamos mostrar três possíveis soluções:
fazendo as contas passo a passo, utilizando o R como uma calculadora,
escrevendo uma função,
usando uma função já existente no R.
Considere o seguinte problema:
Exemplo
O tempo de reação de um novo medicamento pode ser considerado como tendo distribuição Normal e
deseja-se fazer inferência sobre a média que é desconhecida obtendo um intervalo de confiança. Vinte
pacientes foram sorteados e tiveram seu tempo de reação anotado. Os dados foram os seguintes (em
minutos):
| 2.9 | 3.4 | 3.5 | 4.1 | 4.6 | 4.7 | 4.5 | 3.8 | 5.3 | 4.9 |
| 4.8 | 5.7 | 5.8 | 5.0 | 3.4 | 5.9 | 6.3 | 4.6 | 5.5 | 6.2 |
Entramos com os dados com o comando
> tempo <- c(2.9, 3.4, 3.5, 4.1, 4.6, 4.7, 4.5, 3.8, 5.3, 4.9, + 4.8, 5.7, 5.8, 5.0, 3.4, 5.9, 6.3, 4.6, 5.5, 6.2)
Sabemos que o intervalo de confiança para média de uma distribuição normal com variância desconhecida, para uma amostra de tamanho \(n\) é dado por: \[ \left (\bar {x} - t_t \sqrt {\frac {S^2}{n}}\;\;\;,\;\;\; \bar {x} + t_t \sqrt {\frac {S^2}{n}} \right ) \] em que \(t_t\) é o quantil de ordem \(1-\alpha /2\) da distribuição \(t\) de Student, com \(n-1\) graus de liberdade.
Vamos agora obter a resposta das três formas diferentes mencionadas acima.
Nos comandos a seguir calculamos o tamanho da amostra, a média e a variância amostral.
> n <- length(tempo) > n
[1] 20
> t.m <- mean(tempo) > t.m
[1] 4.745
> t.v <- var(tempo) > t.v
[1] 0.9920789
A seguir montamos o intervalo utilizando os quantis da distribuição \(t\), para obter um IC a 95% de confiança.
> t.ic <- t.m + qt(c(0.025, 0.975), df = n-1) * sqrt(t.v/length(tempo)) > t.ic
[1] 4.278843 5.211157
Podemos generalizar a solução acima agrupando os comandos em uma função. Nos comandos primeiro definimos a função e a seguir utilizamos a função criada definindo intervalos a 95% e 99%.
> ic.m <- function(x, conf = 0.95){ + n <- length(x) + media <- mean(x) + variancia <- var(x) + quantis <- qt(c((1-conf)/2, 1 - (1-conf)/2), df = n-1) + ic <- media + quantis * sqrt(variancia/n) + return(ic) + } > ic.m(tempo)
[1] 4.278843 5.211157
> ic.m(tempo, conf=0.99)
[1] 4.107814 5.382186
Escrever uma função é particularmente útil quando um procedimento vai ser utilizado várias vezes.
Mostramos as soluções acima para ilustrar a flexibilidade e o uso do programa. Entretanto não precisamos fazer isto na maioria das vezes porque o R já vem com várias funções para procedimentos estatísticos já escritas. Neste caso a função t.test() pode ser utilizada como vemos no resultado do comando a seguir, que coincide com os obtidos anteriormente.
> tt.tempo <- t.test(tempo) > tt <- t.test(tempo) > str(t.test(tempo))
List of 10 $ statistic : Named num 21.3 ..- attr(*, "names")= chr "t" $ parameter : Named num 19 ..- attr(*, "names")= chr "df" $ p.value : num 1.01e-14 $ conf.int : num [1:2] 4.28 5.21 ..- attr(*, "conf.level")= num 0.95 $ estimate : Named num 4.75 ..- attr(*, "names")= chr "mean of x" $ null.value : Named num 0 ..- attr(*, "names")= chr "mean" $ stderr : num 0.223 $ alternative: chr "two.sided" $ method : chr "One Sample t-test" $ data.name : chr "tempo" - attr(*, "class")= chr "htest"
> tt.tempo$conf.int
[1] 4.278843 5.211157 attr(,"conf.level") [1] 0.95
A chamada da função retorna uma lista que contém também resultados de um teste de hipótese que não é de interesse aqui. Para obter o intervalo de confiança selecionamos o elemento desejado da lista.
Em cada um dos exercícios abaixo tente obter os intervalos das três formas mostradas acima.
Pretende-se estimar a proporção p de cura, através de uso de um certo medicamento em
doentes contaminados com cercária, que é uma das formas do verme da esquistossomose.
Um experimento consistiu em aplicar o medicamento em 200 pacientes, escolhidos ao
acaso, e observar que 160 deles foram curados. Montar o intervalo de confiança para a
proporção de curados.
Note que há duas expressões possíveis para este IC: o “otimista” e o “conservativo”.
Encontre ambos intervalos.
Os dados abaixo são uma amostra aleatória da distribuição \(Bernoulli(p)\). Obter IC’s a 90% e 99%.
0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1
Encontre intervalos de confiança de 95% para a média de uma distribuição Normal com variância 1 dada a amostra abaixo
9.5 10.8 9.3 10.7 10.9 10.5 10.7 9.0 11.0 8.4
10.9 9.8 11.4 10.6 9.2 9.7 8.3 10.8 9.8 9.0
Queremos verificar se duas máquinas produzem peças com a mesma homogeneidade quanto a resistência à tensão. Para isso, sorteamos duas amostras de 6 peças de cada máquina, e obtivemos as seguintes resistências:
| Máquina A | 145 | 127 | 136 | 142 | 141 | 137 |
| Máquina B | 143 | 128 | 132 | 138 | 142 | 132 |
Obtenha intervalos de confiança para a razão das variâncias e para a diferença das médias dos dois grupos.