Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Como resolver a questão 1 do Cap. 9 do livro Mathematical Statistics and Data Analysis, John A. Rice?

0 votos
33 visitas
perguntada Mai 7 em Economia por Tales Lins Costa (36 pontos)  

Uma moeda é jogada 10 vezes de forma independente para testar a hipótese de que a probabilidade de sair cara é \(\frac{1}{2}\) versus a hipótese alternativa de que não é \(\frac{1}{2}\). O teste rejeita a hipótese se saírem 0 caras ou 10 caras.

a. Qual o nível de significância do teste?

b. Se de fato a probabilidade de cara for 0.1, qual é poder do teste?

Compartilhe
comentou Mai 25 por danielcajueiro (5,581 pontos)  
Seria interessante evitar colocar a referência a fonte da questão no título, mas sim colocar o enunciado ou um título ou uma manchete para a questão. A referência a questão pode vir na caixa de texto abaixo.

1 Resposta

0 votos
respondida Mai 8 por Tales Lins Costa (36 pontos)  
selecionada Mai 17 por Tales Lins Costa
 
Melhor resposta

Para respondermos os dois itens da pergunta podemos resolver da maneira tradicional (fazendo as contas), ou podemos fazer uma série de comandos no programa Python. Para diferenciar, vamos elaborar os comandos no Python, logo:

a. Seja \(X\) o número de caras que aparem nas 10 jogadas, sabendo que \(p\) é a probabilidade de se ter cara, temos que: \(\)

\(H_0 : p = \frac{1}{2}\)

\(H_1 : p \neq\frac{1}{2}\)

Como o teste rejeita a hipótese se saírem 0 ou 10 caras, podemos definir uma função decisão como:

http://prorum.com/?qa=blob&qa_blobid=12580731335902105724

*Tive que colocar a imagem pois o sistema não estava carregando a programação corretamente na hora de salvar(Colocarei os códigos no final, se alguém souber como resolve eu agradeço e edito com a correção).

Sabe-se que \(\alpha\), que é a probabilidade de Erro Tipo I, pode ser dada pelo valor esperado da função de decisão, \(d(X)\), com a probabilidade \(p\) de \(H_0\), sendo assim, temos:

\(\alpha=E_0(d(X)) = 1\cdot P_0( X \in \mbox{{0, 10}})+ 0\cdot P_0(X \in \mbox{{1, 2, ..., 9}})\)

\(\alpha=P_0(X \in \mbox{{0, 10}}) = P_0(X=0)+P_0(X=10)\)

Sabendo que esse caso pode ser escrito por uma binomial padrão, vamos utilizar o Python para fazer esses cálculos quando \(X = 0\) e \(X = 10\). Nesse caso a função binomial tem o seguinte formato:

\(\binom{n}{X}(p)^X(1-p)^{n-X}\)

Sendo assim, para calcular no Python, primeiro importe a biblioteca scipy como stats:

import scipy.stats as stats

Em seguida use a função scipy.stats.binom:

n = 10
p = 0.5

print(round(stats.binom.pmf(0,n,p) + stats.binom.pmf(10,n,p), 4))

Usei a função *round() para aproximar o resultado.

Dado o resultado obtido, temos o nível de significância é dado por:

\(\alpha = 0.002\)

b. Se agora sabemos que a probabilidade é de \(p = 0.1\) e que hipótese alternativa é verdadeira, então o poder do teste é dado por:

\(\mbox{ Poder do Teste } = 1 - \beta\)

Podemos realizar o cálculo de \(\beta\) da mesma forma que fizemos no item a., mas considerando a probabilidade especificada para \(H_1\), então:

\(1-\beta=E_1(d(X)) = 1\cdot P_1( X \in \mbox{{0, 10}})+ 0\cdot P_1(X \in \mbox{{1, 2, ..., 9}})\)

\(1-\beta=P_1(X \in \mbox{{0, 10}}) = P_1(X=0)+P_1(X=10)\)

Para realizar esses cálculos no Python, utilize, novamente, a função scipy.stats.binom:

n = 10
p = 0.1

print(round(stats.binom.pmf(0,n,p) + stats.binom.pmf(10,n,p), 4)) 

Usei a função *round() para aproximar o resultado.

Dessa forma, você poderá ver no console o Poder do Teste que é:

\(1-\beta = 0.3487\)

Respondemos, então, os dois itens da questão.

Código da imagem que não carregou corretamente:

\(d(X) = \begin{cases} 1, & \mbox{X } \in\mbox{ {0, 10}} \ 0, & \mbox{X } \in\mbox{ {1, 2, ..., 9}}\end{cases}\)
comentou Mai 10 por Luiz Guilherme Hass (11 pontos)  
editado Mai 10 por Luiz Guilherme Hass

A resolução da questão foi elaborada de uma forma interessante e está com os resultados corretos. Alguns comentários podem ser acrescentados:

Podemos construir um histograma com as probabilidades de uma moeda dar cara em 100 lançamentos, considerando 50% a probabilidade do resultado ser cara.

Código:

import numpy as np
import random
import matplotlib.pyplot as plt
Cara = 1
Coroa = 0
Moeda = [Cara,Coroa]
Equilibrio = [1/2,1/2]
lancamentos = 100
repeticoes = 100
np.random.seed(1)
resultado = np.random.choice(a=Moeda, p=Equilibrio, replace=True, size=(repeticoes,lancamentos))
resultado=np.sum(resultado, axis=1)
probabilidades,_ = np.histogram(a=resultado, density=True, bins=range(0,101,1))

plt.bar(range(0,100,1),probabilidades, facecolor='blue', alpha=1.0)
plt.xlabel('# Caras')
plt.ylabel('Probabilidade')
plt.title('Histograma Moeda')
plt.grid(True)
plt.show()

print (np.sum(probabilidades))

A imagem será apresentada aqui.

Agora podemos construir um histograma com as probabilidades de uma moeda dar cara em 1000 lançamentos, considerando 50% a probabilidade do resultado ser cara.

O código é o mesmo, apenas alteramos o número de lançamentos e repetições de 100 para 1000.

A imagem será apresentada aqui.

Aumentando o número de lançamentos, a concentração de probabilidades em torno da mediana de vai se tornando cada vez maior.

No exercício proposto na letra "a" foi encontrado um nível de significância de \(α=0.002\), o que significa que a probabilidade de rejeição da hipótese nula quando ela é verdadeira é muito pequena. Os dois histogramas construídos corroboram a ideia da hipótese do evento "sair cara" ser 50%.

Já na letra "b", foi encontrado o valor do poder de teste de 0,3487 .

Em um novo teste, com o mesmo código proposto, considerando agora a probabilidade de cara de 0.2 , encontramos um poder de teste de 0,1074.

Se a probabilidade de cara ser 0.3 , encontramos um poder de teste de 0,0283.

Se a probabilidade de cara ser 0.5 , encontramos um poder de teste de 0,002.

Nesta probabilidade de 0.5 , o poder do teste encontrado é o menor possível.

A partir de 0.5 , aumentando-se a probabilidade de ser cara, o poder do teste aumenta sucessivamente até a probabilidade de 1.0 .

...