Referências para leitura deste material:
Resumo: Este material apresenta as funções do R para desenvolver procedimentos de estatística inferencial para a média populacional no caso de grandes amostras. Por procedimentos inferenciais pra média entendemos que são os procedimentos de estimação e teste de hipóteses para este parâmetro populacional. No caso de grandes amostras, estes procedimentos são fundamentados em dois teoremas limites da teoria das probabilidades, a saber: a lei dos grandes números e o teorema central do limite. Portanto, por terem tais fundamentos, discutiremos inicialmente os teoremas limites antes de discutir os procedimentos inferenciais.
Estatística inferencial é fundamentada na teoria das probabilidades, mas por vezes possui uma linguagem própria. O objetivo aqui é fixar alguns termos dessa linguagem e estabelecer uma conexão direta entre estatística inferencial e teoria das probabilidades. Os termos que seguem possuem as seguintes explicações:
Resultado (LGN - Lei dos grandes números). Seja \(y_{1},y_{2},\ldots,y_{n}\) uma a.a.s. de uma va.a. \(y\) com média \(\mu\) finita e variância \(\sigma^{2}\) finita e seja \[ \bar{y}=\frac{1}{n}\sum_{i=1}^{n}y_{i} \] a média amostral. Então, para qualquer \(\varepsilon>0\), \[ \lim_{n\rightarrow\infty}\Pr\left(|\bar{y}-\mu|>\varepsilon\right)=0. \]
Em palavras, a LGN afirma que com alta probabilidade a média amostral \(\bar{y}\) está muito próxima da média populacional \(\mu\) se o tamanho amostral \(n\) é suficientemente grande. Formalmente, a convergência em questão é chamada de convergência em probabilidade e para denotá-la usamos os seguintes símbolos: \[ \bar{y}=\frac{1}{n}\sum_{i=1}^{n}y_{i}\stackrel{\Pr}{\rightarrow}\mu\hspace{1cm} \mbox{quando $n\rightarrow\infty$}. \]
Simulação. A seguinte simulação exemplifica a LGN usando amostras da distribuição normal \(\mbox{N}(2,1)\). Note a convergência da média amostral para a média populacional para todas as amostras simuladas.
set.seed(123)
n <- 200
mat.y <- matrix(NA,n,10)
for(j in 1:10){
y <- rnorm(n,mean=2,sd=1)
for(i in 1:n){mat.y[i,j] <- mean(y[1:i])}
}
matplot(1:n,mat.y,type="l",xlab="n",ylab="Média amostral")
abline(h=2,col="red")
dev.off()
## null device
## 1
A LGN é um resultado geral que vale para qualquer população com média finita. Entretanto, um caso particular importante é a LGN de Bernoulli, quando a população em questão é a distribuição de Bernoulli com parâmetro \(p\) (ou seja, \(\mbox{Be}(p)\), onde \(0<p<1\)). Lembre-se que se \(y\sim\mbox{Be}(p)\), então \(\mu=E(y)=p\) e \(\sigma^{2}=Var(y)=p(1-p)\).
Resultado (LGN de Bernoulli). Seja \(y_{1},y_{2},\ldots,y_{n}\) uma a.a.s. de uma va.a. \(y\sim\mbox{Be}(p)\) e seja \[ \hat{p}=\frac{1}{n}\sum_{i=1}^{n}y_{i} \] a proporção amostral. Então, \(\hat{p}\stackrel{\Pr}{\rightarrow}p\) quando \(n\rightarrow\infty\). Ou seja, com alta probabilidade a proporção amostral \(\hat{p}\) está muito próxima da proporção populacional \(p\) se o tamanho amostral \(n\) é suficientemente grande.
Simulação. A seguinte simulação exemplifica a LGN de Bernoulli usando amostras da distribuição de Bernoulli \(\mbox{Be}(0.6)\). Note a convergência da proporção amostral para a proporção populacional para todas as amostras simuladas.
set.seed(312)
n <- 200
mat.y <- matrix(NA,n,10)
for(j in 1:10){
y <- rbinom(n,size=1,prob=0.6)
for(i in 1:n){mat.y[i,j] <- mean(y[1:i])}
}
matplot(1:n,mat.y,type="l",xlab="n",ylab="Proporção amostral")
abline(h=0.6,col="red")
dev.off()
## null device
## 1
Resultado (TCL - Teorema central do limite). Seja \(y_{1},y_{2},\ldots,y_{n}\) uma a.a.s. de uma va.a. \(y\) com média \(\mu\) finita e variância \(\sigma^{2}\) finita e seja \[ z=\frac{\bar{y}-\mu}{\sigma/\sqrt{n}} \] a média amostral padronizada. Então, a distribuição de \(z\) é bem aproximada pela normal padrão se o tamanho amostral \(n\) é suficientemente grande. Formalmente, a convergência em questão é chamada de convergência em distribuição e para denotá-la usamos os seguintes símbolos: \[ z=\frac{\bar{y}-\mu}{\sigma/\sqrt{n}}\stackrel{a}{\sim}\mbox{N}(0,1). \] É importante ressaltar que este resultado equivale dizer que a distribuição da média amostral \(\bar{y}\) é bem aproximada por uma normal com média \(\mu\) e variância \(\sigma^{2}/n\) se o tamanho amostral \(n\) é suficientemente grande. Em símbolos: \[ \bar{y}\stackrel{a}{\sim}\mbox{N}\left(\mu,\frac{\sigma^{2}}{n}\right). \]
Simulação. A seguinte simulação exemplifica o TCL usando amostras da distribuição uniforme no intervalo \([0,1]\). Esta é uma distribuição contínua cuja função densidade de probabilidade é dada por \(f(y)=1\) se \(0\leq y\leq 1\) e \(f(y)=0\) caso contrário. A média e a variância da distribuição uniforme no intervalo \([0,1]\) são \(1/2\) e \(1/12\), respectivamente. Note que a forma do histograma densidade para a média amostral padronizada concorda muito bem com a forma da função densidade de probabilidade da normal padrão, evidenciando assim o resultado do TCL que afirma que a distribuição da média amostral padronizada é bem aproximada pela distribuição normal padrão quando o tamanho amostral \(n\) é suficientemente grande.
set.seed(321)
M=1000;n=256
mu <- 1/2;sigma <- sqrt(1/12)
z <- rep(NA,M)
for(i in 1:M){
amostra <- runif(n,0,1)
z[i] <- sqrt(n)*(mean(amostra)-mu)/sigma
}
summary(z)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -2.951602 -0.693122 0.002837 0.020414 0.681200 3.598610
hist(z,freq=FALSE,col="gray70",main="Uniforme(0,1)",xlim=c(-4,4),ylim=c(0,0.5),ylab="Densidade")
curve(dnorm(x,mean=0,sd=1),-4,4,add=TRUE,col="red")
dev.off()
## null device
## 1
O TCL é um resultado geral que vale para qualquer população com média finita e variância finita. Entretanto, um caso particular importante é o TCL de De Moivre-Laplace, quando a população em questão é a distribuição de Bernoulli com parâmetro \(p\).
Resultado (TCL de De Moivre-Laplace). Seja \(y_{1},y_{2},\ldots,y_{n}\) uma a.a.s. de uma va.a. \(y\sim\mbox{Be}(p)\) e seja \[ z=\frac{\hat{p}-p}{\sqrt{p(1-p)/n}} \] a proporção amostral padronizada. Então, a distribuição de \(z\) é bem aproximada pela normal padrão se o tamanho amostral \(n\) é suficientemente grande. Em símbolos: \[ z=\frac{\hat{p}-p}{\sqrt{p(1-p)/n}}\stackrel{a}{\sim}\mbox{N}(0,1). \] Novamente, é importante ressaltar que este resultado equivale dizer que a distribuição da proporção amostral \(\hat{p}\) é bem aproximada por uma normal com média \(p\) e variância \(p(1-p)/n\) se o tamanho amostral \(n\) é suficientemente grande. Em símbolos: \[ \hat{p}\stackrel{a}{\sim}\mbox{N}\left(p,\frac{p(1-p)}{n}\right). \]
Simulação. A seguinte simulação exemplifica o TCL de De Moivre-Laplace usando amostras da distribuição de Bernoulli \(\mbox{Be}(0.6)\). Note que a forma do histograma densidade para a proporção amostral padronizada concorda muito bem com a forma da função densidade de probabilidade da normal padrão, evidenciando assim o resultado do TCL que afirma que a distribuição da proporção amostral padronizada é bem aproximada pela distribuição normal padrão quando o tamanho amostral \(n\) é suficientemente grande.
set.seed(213)
M=1000;n=256;p=0.6
mu <- p;sigma <- sqrt(p*(1-p))
z <- rep(NA,M)
for(i in 1:M){
amostra <- rbinom(n,size=1,prob=0.6)
z[i] <- sqrt(n)*(mean(amostra)-mu)/sigma
}
summary(z)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -3.138409 -0.586857 -0.076547 0.003572 0.688919 2.985316
hist(z,freq=FALSE,col="gray70",main="Bernoulli(p)",xlim=c(-4,4),ylim=c(0,0.5),ylab="Densidade")
curve(dnorm(x,mean=0,sd=1),-4,4,add=TRUE,col="red")
dev.off()
## null device
## 1
Concluindo essa primeira seção, vamos discutir uma aplicação do TCL de De Moivre-Laplace conhecida como aproximação normal para a binomial. Este resultado está discutido no nosso livro-texto (veja Morettin & Bussab (2010, Cap. 7)). Para entender esse resultado, basta observar que: \[ z=z\cdot\frac{n}{n}=\frac{\hat{p}-p}{\sqrt{p(1-p)/n}}\cdot\frac{n}{n}= \frac{s-np}{\sqrt{np(1-p)}}\stackrel{a}{\sim}\mbox{N}(0,1) \] onde \(s=y_{1}+\cdots y_{n}\sim\mbox{Bin}(n,p)\).
Resultado (Aproximação normal para a binomial). Se \(x\sim\mbox{Bin}(n,p)\), então para \(a\) e \(b\) inteiros não-negativos tais que \(a<b\), a seguinte aproximação vale: \[ \Pr(a<x\leq b)\approx\Pr\left( \frac{a-np}{\sqrt{np(1-p)}}<Z\leq\frac{b-np}{\sqrt{np(1-p)}} \right) \] onde \(Z\sim\mbox{N}(0,1)\). A seguinte correção de continuidade melhora a aproximação \[ \Pr(a<x\leq b)\approx\Pr\left( \frac{a+0.5-np}{\sqrt{np(1-p)}}<Z\leq\frac{b+0.5-np}{\sqrt{np(1-p)}} \right). \]
Problema. Este exemplo está discutido em Morettin & Bussab (2010,Cap. 7). Se \(x\sim\mbox{Bin}(10,1/2)\), calcule \(\Pr(3<x\leq 6)\) exatamente. Obtenha também uma aproximação normal para essa probabilidade binomial com e sem correção de continuidade.
n=10;p=1/2
#
# Resultado exato
#
sum(dbinom(4:6,size=n,prob=p))
## [1] 0.65625
pbinom(6,size=n,prob=p)-pbinom(3,size=n,prob=p)
## [1] 0.65625
#
# Resultado via aproximacao normal sem correcao de continuidade
#
pnorm(6,mean=n*p,sd=sqrt(n*p*(1-p)))-pnorm(3,mean=n*p,sd=sqrt(n*p*(1-p)))
## [1] 0.6335038
#
# Resultado via aproximacao normal com correcao de continuidade
#
pnorm(6.5,mean=n*p,sd=sqrt(n*p*(1-p)))-pnorm(3.5,mean=n*p,sd=sqrt(n*p*(1-p)))
## [1] 0.6572183
Seja \(y_{1},y_{2},\ldots,y_{n}\) uma a.a.s. de uma va.a. \(y\sim f(y)\) com média \(\mu\) finita e variância \(\sigma^{2}\) finita. Assuma que \(\mu\) e \(\sigma^{2}\) são parâmetros populacionais desconhecidos. Usaremos a média amostral \(\bar{y}\) como um estimador pontual para \(\mu\).
Resultado. A média amostral possui as seguintes propriedades:
Resultado. Os seguintes resultados são válidos:
Resumo. A média amostral é um estimador com boas propriedades para estimar uma média populacional.
Problema. O gerente de um restaurante está interessado na distribuição do tempo de entrega de pedidos realizados pelo aplicativo do restaurante. Para tal estudo, uma a.a.s. de 32 tempos de entrega (medidos em minutos) foram registrados (veja os dados no script R abaixo). Apresente uma estimativa pontual para o tempo médio de entrega de pedidos.
dados <- c(4.24,9.94,11.31,11.84,13.89,19.97,21.18,22.15,
22.44,24.69,25.20,25.36,25.62,26.96,27.25,27.42,
29.98,32.54,32.98,34.88,35.34,35.44,35.57,36.29,
37.03,38.13,41.88,44.16,48.89,49.78,51.63,52.27)
summary(dados)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.24 22.37 28.70 29.88 36.48 52.27
var(dados)
## [1] 153.3435
sd(dados)
## [1] 12.38319
media.amostral <- mean(dados)
media.amostral
## [1] 29.88281
Uma análise descritiva revela que o tempo médio amostral de entrega de pedidos é 29.88 minutos. Este valor pode ser usado como uma estimativa pontual para o verdadeiro tempo médio populacional de entrega de pedidos, que neste caso é um parâmetro desconhecido que só saberíamos seu verdadeiro valor se soubéssemos a distribuição exata da variável tempo de entrega de pedidos realizados pelo aplicativo do restaurante. Uma visualização dos dados revela que uma distribuição normal centrada no tempo médio amostral se ajusta bem aos dados observados.
hist(dados,freq=FALSE,xlab="Tempos",ylab="Densidade",main="")
curve(dnorm(x,mean=mean(dados),sd=sd(dados)),-10,70,col="blue",add=TRUE)
abline(v=mean(dados),col="red")
qqnorm(dados,xlab="Quantis teóricos da normal",ylab="Quantis amostrais",main="Q-Q Plot Normal")
qqline(dados,col="red")
dev.off()
## null device
## 1
Seja \(y_{1},y_{2},\ldots,y_{n}\) uma
a.a.s. de uma va.a. \(y\sim f(y)\) com
média \(\mu\) finita e variância \(\sigma^{2}\) finita. A média amostral \(\bar{y}\) proporciona estimativas pontuais
para \(\mu\). Estimativas intervalares
para \(\mu\) podem ser proporcionadas
pelas seguintes equações: \[
IC(\mu;\gamma=1-\alpha)\approx\left[\bar{y}\pm
z_{\alpha/2}\cdot\frac{\sigma}{\sqrt{n}}\right]
\hspace{0.5cm}\mbox{se $\sigma$ conhecido}
\] ou \[
IC(\mu;\gamma=1-\alpha)\approx\left[\bar{y}\pm
z_{\alpha/2}\cdot\frac{s}{\sqrt{n}}\right]
\hspace{0.5cm}\mbox{se $\sigma$ desconhecido}.
\] \(IC(\mu;\gamma=1-\alpha)\)
proporciona um intervalo com aproximadamente \(100\gamma\%\) de confiança de conter o
verdadeiro valor de \(\mu\). Acima
\(\bar{y}\) é a média amostral, \(s\) é o desvio-padrão amostral e \(z_{\alpha/2}\) é um quantil na distribuição
normal padrão tal que \(\Pr(Z>z_{\alpha/2})=\alpha/2\). No R,
este quantil pode ser calculado automaticamente usando a função
qnorm(). Veja a seguir, um exemplo quando \(\alpha=5\%\).
z <- qnorm(0.025,mean=0,sd=1,lower.tail=FALSE);z
## [1] 1.959964
qnorm(0.975,mean=0,sd=1) # De forma equivalente
## [1] 1.959964
x <- seq(-4,4,l=200);f <- dnorm(x,mean=0,sd=1)
plot(x,f,type = "l",col="blue",xlab="x",ylab="f(x)",ylim=c(0,0.45),main="N(0,1)")
abline(v=0,h=0);abline(v=z,col="red")
x1 <- seq(z,4,l=200);y1 <- dnorm(x1,mean=0,sd=1)
polygon(rbind(cbind(rev(x1),0),cbind(x1,y1)),col="gray")
text(3.2,0.43,expression(quantil==1.959964))
text(3.2,0.07,expression(alpha/2==0.025))
dev.off()
## null device
## 1
Resumo. Se o tamanho amostral \(n\) for suficientemente grande, então \(IC(\mu;\gamma=1-\alpha)\) proporciona um intervalo com aproximadamente \(100\gamma\%\) de confiança de conter o verdadeiro valor de \(\mu\).
Problema. Considere os dados e a mesma situação do problema anterior. Proporcione uma estimativa intervalar para o tempo médio de entrega de pedidos realizados pelo aplicativo do restaurante com aproximadamente 95% de confiança de conter o verdadeiro valor desse tempo médio. Vale ressaltar mais uma vez que esse tempo médio é um parâmetro populacional desconhecido que só saberíamos seu verdadeiro valor se soubéssemos a distribuição exata da variável tempo de entrega de pedidos realizados pelo aplicativo do restaurante.
dados <- c(4.24,9.94,11.31,11.84,13.89,19.97,21.18,22.15,
22.44,24.69,25.20,25.36,25.62,26.96,27.25,27.42,
29.98,32.54,32.98,34.88,35.34,35.44,35.57,36.29,
37.03,38.13,41.88,44.16,48.89,49.78,51.63,52.27)
summary(dados)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.24 22.37 28.70 29.88 36.48 52.27
var(dados)
## [1] 153.3435
sd(dados)
## [1] 12.38319
length(dados)
## [1] 32
z <- qnorm(0.025,mean=0,sd=1,lower.tail=FALSE);z
## [1] 1.959964
ic.95 <- c(mean(dados)-z*sd(dados)/sqrt(length(dados)),
mean(dados)+z*sd(dados)/sqrt(length(dados)))
ic.95
## [1] 25.59233 34.17329
Um intervalo com aproximadamente 95% confiança de conter o verdadeiro
tempo médio populacional de entrega de pedidos é dado por \(\mbox{IC}(\mu;0.95)\approx(25.59,34.17)\)
minutos. Este resultado pode ser obtido automaticamente usando a função
z.test() do pacote TeachingDemos. Este pacote
não é nativo do R, sendo assim, ele precisa ser instalado e carregado
para que suas funções funcionem adequadamente.
library(TeachingDemos) # carrega do pacote previamente instalado
dados
## [1] 4.24 9.94 11.31 11.84 13.89 19.97 21.18 22.15 22.44 24.69 25.20 25.36
## [13] 25.62 26.96 27.25 27.42 29.98 32.54 32.98 34.88 35.34 35.44 35.57 36.29
## [25] 37.03 38.13 41.88 44.16 48.89 49.78 51.63 52.27
out <- z.test(x=dados,mu=mean(dados),stdev=sd(dados),alt="two.sided",n=length(dados),conf.level=0.95)
names(out)
## [1] "statistic" "parameter" "p.value" "conf.int" "estimate"
## [6] "null.value" "alternative" "method" "data.name"
out$estimate
## mean of dados
## 29.88281
as.vector(out$conf.int)
## [1] 25.59233 34.17329
Alternativamente, o pacote BSDA (que também não é nativo do
R) pode ser usado para se obter automaticamente o mesmo intervalo de
confiança.
dados
## [1] 4.24 9.94 11.31 11.84 13.89 19.97 21.18 22.15 22.44 24.69 25.20 25.36
## [13] 25.62 26.96 27.25 27.42 29.98 32.54 32.98 34.88 35.34 35.44 35.57 36.29
## [25] 37.03 38.13 41.88 44.16 48.89 49.78 51.63 52.27
BSDA::z.test(x=dados,alternative="two.sided",mu=mean(dados),sigma.x=sd(dados),conf.level=0.95) -> out
names(out)
## [1] "statistic" "p.value" "conf.int" "estimate" "null.value"
## [6] "alternative" "method" "data.name"
out$estimate
## mean of x
## 29.88281
as.vector(out$conf.int)
## [1] 25.59233 34.17329
Seja \(y_{1},y_{2},\ldots,y_{n}\) uma a.a.s. de uma va.a. \(y\sim f(y)\) com média \(\mu\) finita e variância \(\sigma^{2}\) finita. Aqui, estamos interessados em usar a média amostral padronizada \[ z=\frac{\bar{y}-\mu_{0}}{s/\sqrt{n}} \hspace{0.5cm}\mbox{ou}\hspace{0.5cm} z=\frac{\bar{y}-\mu_{0}}{\sigma/\sqrt{n}} \] como uma estatística para testar uma suposição (ou hipótese) quanto ao valor de \(\mu\) ser igual a um valor \(\mu_{0}\) fixado. Antes de discutir concretamente como realizar este teste, necessitamos formalizar alguns conceitos prévios.
Uma hipótese estatística relativa à média populacional é uma suposição quanto ao seu valor que será verificada por um teste de hipóteses. Um teste de hipóteses é uma regra de decisão desenvolvida para rejeitar ou não-rejeitar (aceitar) uma hipótese estatística com base em dados observados. Num teste de hipóteses, \(H_{0}\) denota uma hipótese chamada de hipótese nula. A hipótese nula é testada contra uma hipótese chamada de hipótese alternativa, geralmente denotada por \(H_{1}\) ou \(H_{a}\). Em geral, \(H_{1}\) representa uma suposição que o pesquisador deseja comprovar (ou não) empiricamente e \(H_{0}\) representa uma hipótese conservadora formulada com a expectativa de ser rejeitada, caso exista nos dados observados, evidências experimentais contra \(H_{0}\).
Estamos interessados especificamente em testes de hipóteses para a média populacional. Tais testes podem ser definidos como um dos seguintes tipos:
Quando realizamos um teste de hipóteses, estamos sujeitos a eventualmente cometer erros de decisão, a saber: rejeitar \(H_{0}\) quando \(H_{0}\) é verdadeira (erro tipo I) e não-rejeitar \(H_{0}\) quando \(H_{0}\) é falsa (erro tipo II). Tais erros podem ou não ocorrer e a probabilidade \(\alpha=\Pr(\mbox{Erro tipo I})\) de ocorrer o erro tipo I é chamada de nível de significância do teste.
| Estado | Verdadeira | Falsa |
|---|---|---|
| Decisão | H0 | H0 |
| Rejeitar H0 | Erro tipo I | Decisão correta |
| Não rejeitar H0 | Decisão correta | Erro tipo II |
Em geral, um “bom” procedimento de teste controla seu nível de significância fixando seu valor num nível relativamente baixo (normalmente, \(5\%\)) e define uma estatística de teste que respeita esse nível ao mesmo tempo que mantém a probabilidade do erro tipo II em torno de valores razoáveis para que a probabilidade de rejeitar \(H_{0}\) quando \(H_{0}\) é falsa seja a maior possível na maior parte dos casos.
Uma estatística de teste é uma estatística que mede a discrepância entre o que foi observado na amostra e o que se espera observar, supondo \(H_{0}\) verdadeira. Qualquer um dos teste para a média, utiliza uma das seguintes estatísticas como estatística de teste: \[ z=\frac{\bar{y}-\mu_{0}}{\sigma/\sqrt{n}}\hspace{0.5cm}\mbox{se $\sigma$ conhecido} \] ou \[ z=\frac{\bar{y}-\mu_{0}}{s/\sqrt{n}}\hspace{0.5cm}\mbox{se $\sigma$ desconhecido}. \] Em qualquer um dos casos, \(z\stackrel{a}{\sim}\mbox{N}(0,1)\), supondo \(H_{0}\) verdadeira.
Fixado um nível de significância \(\alpha\) (\(0<\alpha<1\)), a decisão do teste para a média se baseia no valor observado da estatística de teste \(z\), que denotaremos por \(z^{obs}\). De fato, rejeita-se \(H_{0}:\mu=\mu_{0}\) se:
Os seguintes passos são gerais e podem ser aplicados em qualquer teste de hipóteses, incluíndo o teste de hipóteses para a média populacional que é o nosso foco aqui.
Fixado um nível de significância \(\alpha\) do teste para a média, a decisão do teste pode ser tomada com base no p-valor do teste, a saber: rejeita-se \(H_{0}:\mu=\mu_{0}\), se o p-valor for menor que o nível \(\alpha\). O p-valor do teste é definido como segue:
Nos primeiros dois problemas que foram discutidos, vimos como o gerente de um restaurante proporcionou estimativas (pontual e intervalar) para o tempo médio de entrega de pedidos realizados pelo aplicativo do restaurante. Considere agora a seguinte situação.
Problema. Com base na sua experiência administrativa, o gerente do restaurante entende que o tempo de entrega de pedidos realizados pelo aplicativo do restaurante deve ser, em média, menor que 20 minutos, o que não acontece atualmente com base nos resultados estimados desse tempo médio. Ele decide aprimorar diversos processos da cadeia interna de serviços do restaurante, desde o processo que recebe o pedido de um cliente até o processo que entrega o pedido recebido em sua residência. Ele decide investir em treinamento de pessoal e automação para reduzir o tempo de entrega de pedidos pelo aplicativo. Após 4 meses implementando e refinando a cadeia interna de serviços um novo estudo experimental é realizado obtendo uma nova amostra aleatória simples de 32 tempos de entrega registrados (veja os novos dados no script R abaixo). Com base nesses dados e considerando um nível de significância \(\alpha=5\%\), teste a hipótese que o tempo médio de entrega de pedidos pelo aplicativo é menor que 20 minutos. Formalmente, o gerente está interessado no seguinte teste: \(H_{0}:\mu=20\hspace{0.2cm}\mbox{min}\) versus \(H_{1}:\mu<20\hspace{0.2cm}\mbox{min}\).
library(TeachingDemos)
dados <- c(5.38,5.69,7.32,7.79,8.45,8.96,11.59,11.81,
12.42,12.61,13.20,13.39,13.70,14.71,15.27,16.50,
16.67,17.21,18.35,19.19,19.21,20.18,20.47,20.68,
21.00,22.23,23.11,23.23,23.98,24.04,24.33,36.53)
summary(dados)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.38 12.27 16.59 16.54 20.76 36.53
sd(dados)
## [1] 6.758385
out1 <- z.test(x=dados,mu=20,stdev=sd(dados),alt="less",n=length(dados),conf.level=0.95)
out1
##
## One Sample z-test
##
## data: dados
## z = -2.8982, n = 32.0000, Std. Dev. = 6.7584, Std. Dev. of the sample
## mean = 1.1947, p-value = 0.001877
## alternative hypothesis: true mean is less than 20
## 95 percent confidence interval:
## -Inf 18.50265
## sample estimates:
## mean of dados
## 16.5375
out2 <- z.test(x=dados,mu=20,stdev=sd(dados),alt="two.sided",n=length(dados),conf.level=0.95)
out2$estimate
## mean of dados
## 16.5375
as.vector(out2$conf.int)
## [1] 14.19588 18.87912
O teste para a média pode ser realizado automaticamente usando a função
z.test() do pacote TeachingDemos. Usando essa
função, obtemos que o p-valor do teste é menor que o nível \(\alpha\) fixado e, assim, rejeitamos \(H_{0}\). Ou seja, existem evidências
experimentais que o tempo médio de entrega de pedidos pelo aplicativo é
menor que 20 minutos. Um intervalo de aproximadamente 95% confiança para
o tempo médio de entrega \(\mu\) é dado
por \(\mbox{IC}(\mu;0.95)\approx(14.20,18.88)\)
minutos. Note que o intervalo intervalo de confiança obtido não contém o
valor conjecturado em \(H_{0}\). Note
também que o pacote BSDA proporciona exatamente os mesmos
resultados.
dados
## [1] 5.38 5.69 7.32 7.79 8.45 8.96 11.59 11.81 12.42 12.61 13.20 13.39
## [13] 13.70 14.71 15.27 16.50 16.67 17.21 18.35 19.19 19.21 20.18 20.47 20.68
## [25] 21.00 22.23 23.11 23.23 23.98 24.04 24.33 36.53
BSDA::z.test(x=dados,alternative="less",mu=20,sigma.x=sd(dados),conf.level=0.95) -> out3
out3
##
## One-sample z-Test
##
## data: dados
## z = -2.8982, p-value = 0.001877
## alternative hypothesis: true mean is less than 20
## 95 percent confidence interval:
## NA 18.50265
## sample estimates:
## mean of x
## 16.5375
BSDA::z.test(x=dados,alternative="two.sided",mu=20,sigma.x=sd(dados),conf.level=0.95) -> out4
out4$estimate
## mean of x
## 16.5375
as.vector(out4$conf.int)
## [1] 14.19588 18.87912
Seja \(y_{1},y_{2},\ldots,y_{n}\) uma a.a.s. de uma va.a. \(y\sim f(y)\) com média \(\mu\) finita e desvio-padrão \(\sigma\) finita. Usaremos o desvio-padrão amostral \(s\) como um estimador pontual para \(\sigma\). Além disso, no caso de grandes amostras, uma estimativa intervalar para \(\sigma\) pode ser proporcionada pela seguinte equação: \[ IC(\sigma;\gamma=1-\alpha)\approx\left[ \frac{s}{1+\frac{z_{\alpha/2}}{\sqrt{2n}}}; \frac{s}{1-\frac{z_{\alpha/2}}{\sqrt{2n}}} \right]. \]
Resumo. Se o tamanho amostral \(n\) for suficientemente grande, então \(IC(\sigma;\gamma=1-\alpha)\) proporciona um intervalo com aproximadamente \(100\gamma\%\) de confiança de conter o verdadeiro valor de \(\sigma\).
Problema. Considere os dados e a mesma situação do problema anterior, novamente sem assumir conhecimento algum em relação à variância populacional da normal em questão. Proporcione uma estimativa intervalar para o desvio-padrão do tempo de entrega de pedidos com aproximadamente 95% de confiança de conter o verdadeiro valor desse parâmetro.
dados
## [1] 5.38 5.69 7.32 7.79 8.45 8.96 11.59 11.81 12.42 12.61 13.20 13.39
## [13] 13.70 14.71 15.27 16.50 16.67 17.21 18.35 19.19 19.21 20.18 20.47 20.68
## [25] 21.00 22.23 23.11 23.23 23.98 24.04 24.33 36.53
summary(dados)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5.38 12.27 16.59 16.54 20.76 36.53
sd(dados)
## [1] 6.758385
z <- qnorm(0.025,mean=0,sd=1,lower.tail=FALSE);z
## [1] 1.959964
ic.sigma.95 <- c(sd(dados)/(1+(z/sqrt(2*length(dados)))),
sd(dados)/(1-(z/sqrt(2*length(dados)))))
ic.sigma.95
## [1] 5.428442 8.951451
Problema. Um material radioativo emite partículas alfa ao longo do tempo. Deseja-se entender a distribuição dos tempos entre duas emissões sucessivas de partículas deste material. Para tal estudo, uma amostra aleatória simples de 36 tempos entre duas emissões sucessivas foram registrados (veja os dados no script R abaixo). Teste a hipótese que o tempo médio entre duas emissões sucessivas é igual a 1.
library(TeachingDemos)
dados <- c(0.02,0.04,0.05,0.07,0.07,0.09,0.09,0.10,0.12,
0.22,0.28,0.34,0.34,0.35,0.36,0.43,0.43,0.46,
0.61,0.62,0.74,0.80,0.81,0.85,0.90,0.93,1.02,
1.09,1.17,1.18,1.40,1.53,1.54,1.81,2.02,2.10)
summary(dados)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.0200 0.1950 0.5350 0.6939 1.0375 2.1000
#
# Teste de hipóteses
#
out <- z.test(x=dados,mu=1,stdev=sd(dados),alt="two.sided",n=length(dados),conf.level=0.95)
out
##
## One Sample z-test
##
## data: dados
## z = -3.0933, n = 36.000000, Std. Dev. = 0.593764, Std. Dev. of the
## sample mean = 0.098961, p-value = 0.00198
## alternative hypothesis: true mean is not equal to 1
## 95 percent confidence interval:
## 0.4999295 0.8878483
## sample estimates:
## mean of dados
## 0.6938889
#
# Estimativas
#
ic.mu.95 <- as.vector(out$conf.int)
ic.sigma.95 <- c(sd(dados)/(1+(z/sqrt(2*length(dados)))),
sd(dados)/(1-(z/sqrt(2*length(dados)))))
mean(dados)
## [1] 0.6938889
sd(dados)
## [1] 0.5937642
ic.mu.95
## [1] 0.4999295 0.8878483
ic.sigma.95
## [1] 0.4823492 0.7721089
Rejeitamos a hipótese nula \(H_{0}\)
(veja que o p-valor é pequeno, menor que 5%). Ou seja, existem
evidências experimentais que o tempo médio entre duas emissões
sucessivas de partículas é diferente de 1. Um intervalo de
aproximadamente 95% confiança é proporcionado pela função
z.test(). Note que o intervalo não contém o valor
conjecturado a hipótese \(H_{0}\). Além
disso, estimativa intervalar também foi proporcionada para o
desvio-padrão populacional.
hist(dados,freq=FALSE,xlab="Tempos",ylab="Densidade",main="")
curve(dexp(x,rate=1/mean(dados)),0,3,col="blue",add=TRUE)
abline(v=mean(dados),col="red")
Seja \(y_{1},y_{2},\ldots,y_{n}\) uma a.a.s. de uma va.a. \(y\sim\mbox{Be}(p)\) com proporção \(p\), onde \(0<p<1\). Assuma que \(p\) é um parâmetro populacional desconhecido. Usaremos a proporção amostral \(\hat{p}=(1/n)\sum_{i}y_{i}\) como um estimador pontual para \(p\).
Resultado. A proporção amostral possui as seguintes propriedades:
Resultado. Os seguintes resultados são válidos:
Interpretações dos resultados acima são análogas às interpretações dos resultados para a média amostral. Estimativa intervalar para \(p\) podem ser proporcionada pela seguinte equação: \[ IC(p;\gamma=1-\alpha)\approx\left[\hat{p}\pm z_{\alpha/2}\cdot\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\right]. \]
Resumo. A proporção amostral é um estimador com boas propriedades para estimar uma proporção populacional. Se o tamanho amostral \(n\) for suficientemente grande, então \(IC(p;\gamma=1-\alpha)\) proporciona um intervalo com aproximadamente \(100\gamma\%\) de confiança de conter o verdadeiro valor de \(p\).
Problema. Uma amostra de 500 habitantes de uma cidade com idade igual ou superior a 16 anos foi selecionada para participar de uma pesquisa de opinião. Cada pessoa na amostra respondeu se concordava ou não com a solução proposta pela prefeitura da cidade para resolver um problema municipal que está prejudicando seriamente a população. As opções de resposta para a pergunta são: sim (se a pessoa é favorável a solução proposta) ou não (se a pessoa não é favorável a solução proposta). Das 500 pessoas ouvidas, 300 responderam sim e 200 responderam não. Com base nos dados, proporcione estimativas para a proporção da população em questão (habitantes da cidade com idade igual ou superior a 16 anos) que é favorável a solução proposta pela prefeitura.
respostas <- c(rep("nao",200),rep("sim",300))
respostas <- factor(respostas,levels=c("nao","sim"))
n <- 500
df <- data.frame(Indivíduos=1:n,Resposta=respostas)
str(df)
## 'data.frame': 500 obs. of 2 variables:
## $ Indivíduos: int 1 2 3 4 5 6 7 8 9 10 ...
## $ Resposta : Factor w/ 2 levels "nao","sim": 1 1 1 1 1 1 1 1 1 1 ...
head(df)
## Indivíduos Resposta
## 1 1 nao
## 2 2 nao
## 3 3 nao
## 4 4 nao
## 5 5 nao
## 6 6 nao
freq <- as.vector(table(df$Resposta))
prop <- as.vector(prop.table(table(df$Resposta)))
tabela <- data.frame(Classe=c("Não","Sim"),Frequencia=freq,Proporções=prop)
tabela
## Classe Frequencia Proporções
## 1 Não 200 0.4
## 2 Sim 300 0.6
z <- qnorm(0.025,mean=0,sd=1,lower.tail=FALSE);z
## [1] 1.959964
#
# Estimacao pontual
#
p.hat <- prop[2]
p.hat
## [1] 0.6
#
# Estimacao intervalar
#
ic.95 <- c(p.hat-z*sqrt(p.hat*(1-p.hat)/n),p.hat+z*sqrt(p.hat*(1-p.hat)/n))
ic.95
## [1] 0.5570593 0.6429407
Este resultado também pode ser obtido com a função
prop.test()
head(df)
## Indivíduos Resposta
## 1 1 nao
## 2 2 nao
## 3 3 nao
## 4 4 nao
## 5 5 nao
## 6 6 nao
tabela
## Classe Frequencia Proporções
## 1 Não 200 0.4
## 2 Sim 300 0.6
out5 <- prop.test(x=300,n=500,p=0.6,alternative="two.sided",conf.level=0.95,correct=FALSE)
out5$estimate
## p
## 0.6
as.vector(out5$conf.int)
## [1] 0.5564541 0.6420210
Estamos interessados especificamente em testes de hipóteses para a proporção populacional. Tais testes podem ser definidos como um dos seguintes tipos:
Qualquer um desses testes, utiliza a seguinte estatística como estatística de teste: \[ z=\frac{\hat{p}-p_{0}}{\sqrt{\frac{p_{0}(1-p_{0})}{n}}}\stackrel{a}{\sim}\mbox{N}(0,1) \hspace{0.5cm}\mbox{sob $H_0$}. \]
Fixado um nível de significância \(\alpha\), a decisão do teste para a proporção se baseia no valor observado da estatística de teste \(z\), que denotaremos por \(z^{obs}\). De fato, rejeita-se \(H_{0}:p=p_{0}\) se:
Problema. Os produtores de um programa de TV pretendem modificá-lo se for assistido regularmente por menos de 1/4 dos possuidore de televisão. Uma pesquisa encomendada a uma empresa especializada mostrou que, de 400 famílias entrevistadas, 80 assistem ao programa regularmente. Como base nos dados, qual deve ser a decisão dos produtores?
prop.test(x=80,n=400,p=0.25,alternative="less",conf.level=0.95,correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: 80 out of 400, null probability 0.25
## X-squared = 5.3333, df = 1, p-value = 0.01046
## alternative hypothesis: true p is less than 0.25
## 95 percent confidence interval:
## 0.0000000 0.2348638
## sample estimates:
## p
## 0.2
prop.test(x=80,n=400,p=0.25,alternative="less",conf.level=0.95,correct=TRUE)
##
## 1-sample proportions test with continuity correction
##
## data: 80 out of 400, null probability 0.25
## X-squared = 5.07, df = 1, p-value = 0.01217
## alternative hypothesis: true p is less than 0.25
## 95 percent confidence interval:
## 0.0000000 0.2361813
## sample estimates:
## p
## 0.2
Rejeitamos \(H_{0}:p\geq 1/4\) e o programa deve ser modificado.
Problema. Os produtores de um programa de TV pretendem modificá-lo se for assistido regularmente por menos de 1/4 dos possuidore de televisão. Uma pesquisa encomendada a uma empresa especializada mostrou que, de 400 famílias entrevistadas, 110 assistem ao programa regularmente. Como base nos dados, qual deve ser a decisão dos produtores?
prop.test(x=110,n=400,p=0.25,alternative="less",conf.level=0.95,correct=FALSE)
##
## 1-sample proportions test without continuity correction
##
## data: 110 out of 400, null probability 0.25
## X-squared = 1.3333, df = 1, p-value = 0.8759
## alternative hypothesis: true p is less than 0.25
## 95 percent confidence interval:
## 0.0000000 0.3131418
## sample estimates:
## p
## 0.275
prop.test(x=110,n=400,p=0.25,alternative="less",conf.level=0.95,correct=TRUE)
##
## 1-sample proportions test with continuity correction
##
## data: 110 out of 400, null probability 0.25
## X-squared = 1.2033, df = 1, p-value = 0.8637
## alternative hypothesis: true p is less than 0.25
## 95 percent confidence interval:
## 0.0000000 0.3144345
## sample estimates:
## p
## 0.275
Não rejeitamos a \(H_{0}:p\geq 1/4\) e o programa não deve ser modificado.