Teste de Hipóteses: Alguns testes

Agora que já definimos os principais conceitos de teste de hipótese, vamos discutir algun casos particulares:

  1. Teste de Razão de Verossimilhança
  2. Teste de Hipóteses Simples
  3. Karlin-Rubin
  4. Hipótese Alternativa Bilateral
  5. Teste T
  6. Comparando médias de duas Normais
  7. Comparando variâncias de duas Normais

Teste de Razão de Verossimilhança

Se é a verossimilhança de um modelo para , considere a estatística para o teste contra . A região de rejeição desse teste é do tipo com dado de forma que .

Teste de Hipótese Simples

Uma hipótese é dita simples se contém um único parâmetro . Nesse caso, o espaço é formada por duas distribuições concorrentes. Isto é, vamos assumir que vem de ou . Assim e se os dados tem distribuição .

A função poder para um teste é denotada da seguinte forma:

Teorema: Seja o procedimento de teste que não rejeita se e rejeita se . Então, para todo outro procedimento de teste ,

Queremos escolher um teste que minimize essa combinação linear . Claro que seria ótimo ter esse erro zerado, mas sabemos que existe uma espécie de trade off entre esses erros. Esse teorema dá o teste necessário para que isso acontença.

Corolário: Considere as hipóteses do teorema anterior, e . Defina estatística de teste razão de verossimilhança: Defina o procedimento de teste : Rejeita se . Então o valor de é mínimo.

Lema Neyman-Pearson

Suponha que tem a seguinte forma, para algum : não é rejeitada se e o é quando Se é outro procedimento de teste tal que , então


📝 Exemplo inicial

Considere a densidade Considere a Hipotese Nula e a Alternativa . Rejeitamos a hipótese nula se em que é determinado de forma que para um pre-especificado. Pelo Lema de Neyman Pearson, qualquer outro procedimento com nível reduz o poder do teste.


Implementação

Vamos fazer uma simples implementação de uso para esse tipo de problema.

python import numpy as np from scipy.stats import bernoulli, binom from scipy.optimize import brute

Nesse caso, vamos fazer uma simples simulação, onde um parâmetro de uma distribuição de Bernoulli pode ser ou . Vamos gerar essa amostra, mas sem de fato conhecer verdadeiro.

python ro = np.random.RandomState(1000000) #random state p = ro.choice([0.4, 0.6])

Teremos uma amostra de tamanho .

python n = 20 X = ro.binomial(1, p, size = n)

Vamos utilizar o Lema Neyman-Pearson. O objetivo é testar as seguintes hipóteses:

Vamos fixar o tamanho do teste. Temos que, se ,

Assim:

Isto é, preciso escolher que satisfaça essa relação. Vamos calcular numericamente utilizando um método de otimização por bruta força (são poucas as opções). Como não queremos que seja marior do que 0.05, precisamos colocar peso para que não seja. Veja que existem vários valores de que satisfazem isso.

```python alpha0 = 0.05 Y = binom(n = n, p = 0.4)

func = lambda k, n: np.abs(0.95 - Y.cdf((1/2)np.log(k)/np.log(3/2) + n/2)) + \ 10(0.95 > Y.cdf((1/2)*np.log(k)/np.log(3/2) + n/2)) ```

python k = brute(func, ranges = (slice(1,20,1),), args = (n,))[0] k 6.0

Por esse motivo, vamos tomar . Pela Lema de Neyman Pearson, esse teste é o que minimiza o Erro do Tipo II.

Vamos ver se rejeitamos ou não a hipótese nula baseado nos dados obtidos.

```python f0 = lambda x: 0.4(sum(x))*0.6(len(x) - sum(x)) f1 = lambda x: 0.6(sum(x))*0.4(len(x) - sum(x))

if f1(X) > k*f0(X): print(r'Rejeitamos H0.') else: print(r'Não rejeitamos H0.') ```

Não rejeitamos H0.

Vamos ver quem é , então.

python print('O valor de p é .... ') print(p) O valor de p é .... 0.4

Fizemos bem em não rejeitar a hipótese nula!

Karlin-Rubin

O Teorema de Karlin-Rubin estende o Lema de Neyman-Pearson para hipóteses compostas. Assim, considere contra . Se é uma estatística suficiente para e a familia de pdfs de tem razão de verossimilhanças crescentes, então para todo , o teste que rejeita se é UMP com nível , em que .

Hipótese Alternativa Bilateral

Seja uma amostra aleatória de uma distribuição normal com média desconhecida e variância conhecida e queremos testar a hipótese

Como é um estimador consistente de , faz sentido rejeitar a hipótese nula quando a média amostral se afasta de . Para isso, vamos escolher de forma que

Observação:

Observação 2: No cálculo substituimos por , porque estamos "condicionando" no conhecimento deles serem iguais.

Isto é, queremos que o tamanho do teste seja , lembrando que o tamanho do teste é o supremo das probabilidades de se rejeitar a hipótese nula quando ela é verdadeira.

Teste t

Suponha que é uma amostra aleatória da distribuição , com parâmetros desconhecidos e queremos testar a hipótese:

Sabemos que é uma boa estatística de teste e rejeitamos se . Essa estatística é interessante porque quando . Por isso chamamos de testes t quando baseados na estatística . Podemos também inverter os sinais de desigualdade e rejeitar quando .

```python from pandas import DataFrame from scipy.stats import t import matplotlib.pyplot as plt import seaborn as sns sns.set()

%matplotlib notebook ```

```python mu0 = 10

Vamos escolher mu e sigma de forma aleatória, mas não significa que é uma variável aleatória.

n = 20 ```

Distibuição de U

Vamos gerar uma aproximação para a distribuição de para um determinado .

python U_values = {} for i in range(6): mu = ro.normal(mu0, 1) if i < 5 else 10 sigma = ro.exponential(mu0) key = 'mu = {}, sigma = {}'.format(np.round(mu,2), np.round(sigma,2)) U_values[key] = np.zeros(10000) for j in range(10000): X = ro.normal(mu, sigma, size = n) U = np.sqrt(n)*(np.mean(X) - mu0)/np.std(X, ddof = 1) U_values[key][j] = U U_values = DataFrame(U_values)

python fig, ax = plt.subplots(figsize = (10,6)) sns.kdeplot(data = U_values, ax = ax) ax.set_title('Distribuição aproximada de U') plt.show()

png

Teorema: Seja o quartil da distribuição com graus de liberdade. Então, segundo o teste citado acima, a função poder tem as seguintes propriedades:

  1. , quando .
  2. , quando .
  3. , quando .
  4. , quando .
  5. , quando .

O teste também é não enviesado como consequência.

P-valores para testes t

Seja a estatística quando observada. Seja a cdf da distribuição t com graus de liberdade. Então o p-valor para é , enquanto o p-valor para é .

Distribuição t não central

O objetivo é encontrar a distribuição de mesmo quando . Seja e variáveis aletórias independentes com distribuição e , respectivamente. Então tem distribuição t não central com graus de liberdade e não centralidade . Denotaremos a cdf dessa distribuição.

Teorema: (Função Poder): Seja amostra aleatória de . A distribuição de é t não central com graus de liberdade e parâmetro de não centralidade (Observe que isso ocorre porque dividimos o numerador e o denominador por . Além disso, note que não é uma quantidade pivotal, dado que sua distribuição depende de parâmetros desconhecidos) Suponha que o procedimento rejeita se . Então a função poder é Se rejeita se . Então a função poder é

```python from scipy.stats import nct #noncentral t distribution from matplotlib import animation from IPython.display import HTML import warnings

warnings.filterwarnings('ignore') ```

python n = 10 mu0 = 5 sigma = 2 psi = lambda mu: np.sqrt(n)*(mu - mu0)/sigma

python X = nct(df = n-1, nc = psi(-20))

Vamos ver o que acontece quando variamos . Nesse caso .

```python fig, ax = plt.subplots()

x = np.linspace(X.ppf(0.01), X.ppf(0.99), 100)

line, = ax.plot(x, X.pdf(x), 'r-', lw=5, alpha=0.6)

ax.set_xlim((-60,60)) ax.set_ylim((0,0.3)) ax.set_title('t não central')

def animate(i,n):

x = np.linspace(-60, 60, 100)
line.set_data(x, nct.pdf(x, df = n-1, nc = psi(i-20)))

return line,

HTML(animation.FuncAnimation(fig, animate, frames = 40, interval = 100, fargs=(n,), repeat = False).to_html5_video()) ```

png

Alternativa Bilateral

Tome agora a hipótese

Podemos usar a mesma estatística , mas agora que temos dois lados, vamos fazer o seguinte processo (vou construir de forma intuitiva, no livro tem uma formalização):

  1. O procedimento de teste é do tipo: Rejeitamos se ou . Vamos considerar e , para simplificar.

  2. Seja o tamanho do teste, isto é, a probabilidade de rejeitarmos a hipótese nula quando . Quando , tem distribuição t com graus de liberdade. Assim:

python n = 20 alpha0 = 0.05 c = t.ppf(df = n-1, q = 1 - alpha0/2)

python X = t(df = n-1) x = np.arange(-5,5,0.1) plt.plot(x, X.pdf(x)) plt.fill_between(x[(x < -c)], X.pdf(x[(x < -c)]), color = 'blue') plt.fill_between(x[(x > c)], X.pdf(x[(x > c)]), color = 'blue') plt.title('Distribuição de U e Região de Rejeição') plt.show()

png

Função Poder

P-valor

Seja o valor observado da variável . Vamos lembrar que o p-valor é o menor tamanho tal que se rejeita a hipótese com esse valor observado. Como só rejeitamos se:

Logo o p-valor é .

Comparando médias de duas normais

Assumimos que é uma amostra da distribuição normal com média e variância , enquanto é normal com média e variância . Estamos interessados no teste A função poder é dada por . A discussão quando as normais tem diferentes normais será postergada.

Defina

A distribuição: com graus de liberdade, com parâmetro de não centralidade

Note que se , é uma distribuição t padrão.

Função Poder

Considere o procedimento de teste que rejeite se . Assim:

  1. , quando .
  2. , quando .
  3. , quando .
  4. , quando .
  5. , quando .

Além do mais o teste é não enviesado.

P-valor

Depois de termos observado as amostras, seja a estatística observada de . O p-valor da hipótese é .

Equivalentemente com o teste t do item 3, podemos expressar tudo com a hipótese bilateral e só altera o graude liberade quando comparado com o teste t anterior.

Variâncias diferentes

Razão entre as variâncias é conhecida

Suponha que se as variâncias de e são e e que . Então podemos usar a estatística

Problema de Behrens-Fisher

Quando os 4 parâmetros das normais são desconhecidos, tão pouco a razão de variâncias, nem a estatística de razão de verossimilhança tem distribuição conhecida. Algumas tentativas já foram feitas, como Welch e outros.

Comparando variâncias de duas Normais

Assumimos que é uma amostra da distribuição normal com média e variância , enquanto é normal com média e variância . Estamos interessados no teste A função poder é dada por . COnsidere e definidos anteriormente. Então temos que é estimador para , enquanto é estimador para .

Defina

Rejeitaremos se , onde será escolhido para que esse teste tenha nível de significância . Esse teste é chamado de teste F, pois a distribuição de é F com parâmetros e . Em particular se , tem distribuição F. Onde a distribuição F é descrita aqui.

Função Poder

Considere o procedimento de teste que rejeite se . Assim:

  1. , quando .
  2. , quando .
  3. , quando .
  4. , quando .
  5. , quando .

Além do mais o teste é não enviesado.

P-valor

Depois de termos observado as amostras, seja a estatística observada de . O p-valor da hipótese é .