Sumário

  • 1  População e Amostra
  • 2  Problemas da inferência
  • 3  Como selecionar uma amostra
  • 4  Amostragem aleatória simples
    • 4.1  Amostragem aleatória com reposição
    • 4.2  Amostragem aleatória sem reposição
  • 5  Estatística e parâmetros
  • 6  Distribuições amostrais
  • 7  Distribuição amostral da média
  • 8  Teorema do limite central
  • 9  Distribuição amostral de uma proporção
  • 10  Determinação do tamanho de uma amostra
  • 11  Referências
In [1]:
import pandas as pd
import numpy as np
from scipy import stats
import seaborn as sns
import matplotlib.pyplot as plt
from decimal import Decimal

import warnings  
warnings.filterwarnings('ignore')
In [2]:
df_salarios = pd.read_csv('dados/dados_tratados.csv').drop('Unnamed: 0', axis=1)
df_b3 = pd.read_csv('dados/b3_stocks_1994_2020.csv')
df_b3['datetime'] = pd.to_datetime(df_b3['datetime'])

População e Amostra¶

No estudo de probabilidades, vimos alguns modelos probabilísticos que procuram medir a variabilidade de fenômenos casuais de acordo com suas ocorrências, esses são as distribuições de probabilidade de variáveis aleatórias. Porém, na prática, por mais que tenhamos uma ideia sobre a forma da distribuição, não temos os valores exatos dos parâmetros que a especificam. Logo, o nosso propósito é descobrir (estimar) os parâmetros da distribuição para sua posterior utilização.

Raramente se consegue obter a distribuição exata de alguma variável, ou porque isso é muito custoso, ou muito demorado ou às vezes o processo medido não permite isso. Outras vezes estamos interessados em explorar relações entre variáveis envolvendo experimentos mais complexos, para a obtenção dos dados. Imagine que estamos entender a relação entre a venda de um produto com sua localização em um supermercado. Para responder essa questão, teríamos que testar diversas localizações para obter os dados de vendas para essa localizações, o que, nesse caso, não existe uma forma clara de um conjunto de dados com todos os elementos. Mas um pequena parcela desse todo, uma amostra, nos facilita na identificação e solução do problema de localização do produto. Essas situações ditas acima são objetos da inferência estatística.

Dois conceitos fundamentais para o desenvolvimento da inferência estatística são:

  • População é o conjunto de todos os elementos ou resultados que estão sendo investigados;
  • Amostra é qualquer subconjunto da população.

Vamos ver no Python.

In [3]:
df_salarios
Out[3]:
ano_trabalho nivel_experiencia tipo_de_contrato cargo salario moeda_salario salario_em_dolares pais_residencia tipo_trabalho local_companhia tamanho_companhia
0 2023 Senior/Especialista Tempo integral Principal Data Scientist 80000 EUR 85847 ES Home office ES Grande
1 2023 Pleno Contrato ML Engineer 30000 USD 30000 US Home office US Pequeno
2 2023 Pleno Contrato ML Engineer 25500 USD 25500 US Home office US Pequeno
3 2023 Senior/Especialista Tempo integral Data Scientist 175000 USD 175000 CA Home office CA Medio
4 2023 Senior/Especialista Tempo integral Data Scientist 120000 USD 120000 CA Home office CA Medio
... ... ... ... ... ... ... ... ... ... ... ...
3750 2020 Senior/Especialista Tempo integral Data Scientist 412000 USD 412000 US Home office US Grande
3751 2021 Pleno Tempo integral Principal Data Scientist 151000 USD 151000 US Home office US Grande
3752 2020 Junior Tempo integral Data Scientist 105000 USD 105000 US Home office US Pequeno
3753 2020 Junior Contrato Business Data Analyst 100000 USD 100000 US Home office US Grande
3754 2021 Senior/Especialista Tempo integral Data Science Manager 7000000 INR 94665 IN Hibrido IN Grande

3755 rows × 11 columns

df_salarios será nossa população, sendo a mesma disposta de 3755 linhas. Logo nossa população é de 3755

In [4]:
df_amostra = df_salarios.sample(n=500, random_state=42)
df_amostra
Out[4]:
ano_trabalho nivel_experiencia tipo_de_contrato cargo salario moeda_salario salario_em_dolares pais_residencia tipo_trabalho local_companhia tamanho_companhia
2148 2022 Senior/Especialista Tempo integral Machine Learning Software Engineer 168000 USD 168000 CA Home office CA Medio
1044 2023 Senior/Especialista Tempo integral Data Analyst 179975 USD 179975 US Home office US Medio
3321 2022 Senior/Especialista Tempo integral Data Scientist 144000 USD 144000 US Home office US Medio
439 2023 Senior/Especialista Tempo integral Applied Scientist 222200 USD 222200 US Presencial US Grande
3519 2021 Diretor Tempo integral Head of Data 230000 USD 230000 RU Hibrido RU Grande
... ... ... ... ... ... ... ... ... ... ... ...
2110 2022 Senior/Especialista Tempo integral Data Engineer 220000 USD 220000 US Home office US Medio
157 2023 Pleno Tempo integral Data Analyst 38000 GBP 46178 GB Presencial GB Medio
2754 2022 Senior/Especialista Tempo integral Data Analyst 110000 USD 110000 US Presencial US Medio
912 2023 Pleno Tempo integral Data Engineer 154000 USD 154000 US Presencial US Medio
551 2023 Pleno Tempo integral Data Engineer 149600 USD 149600 US Presencial US Medio

500 rows × 11 columns

Já acima, temos uma amostra aleatória com 500 pessoas. Logo nossa amostra é de 500.

Temos que ter um cuidado como escolhemos nossa amostra, pois se está for escolhida de forma errada, podemos ter resultados que não são reais. Vamos exemplificar. Nós temos a população (df_salarios), temos a amostra aleatória (df_amostra) e vamos agora criar uma amostra que seja enviesada, pegando apenas valores que tenham um salário maior que o da população.

In [5]:
df_amostra2 = df_salarios[df_salarios['salario_em_dolares'] > 137570].sample(n=500, random_state=42)
df_amostra2
Out[5]:
ano_trabalho nivel_experiencia tipo_de_contrato cargo salario moeda_salario salario_em_dolares pais_residencia tipo_trabalho local_companhia tamanho_companhia
1888 2022 Senior/Especialista Tempo integral ML Engineer 235000 USD 235000 US Home office US Medio
369 2023 Senior/Especialista Tempo integral Data Engineer 240000 USD 240000 US Presencial US Medio
3053 2022 Senior/Especialista Tempo integral Data Scientist 180000 USD 180000 US Home office US Grande
791 2023 Senior/Especialista Tempo integral Data Engineer 252000 USD 252000 US Presencial US Medio
1449 2023 Senior/Especialista Tempo integral Data Scientist 139000 USD 139000 US Home office US Medio
... ... ... ... ... ... ... ... ... ... ... ...
2938 2022 Pleno Tempo integral Product Data Analyst 140000 USD 140000 US Home office US Medio
1362 2023 Senior/Especialista Tempo integral Machine Learning Engineer 163800 USD 163800 US Presencial US Medio
2095 2022 Pleno Tempo integral Machine Learning Scientist 165000 USD 165000 US Presencial US Medio
3376 2022 Senior/Especialista Tempo integral Data Scientist 210000 USD 210000 US Home office US Medio
1376 2023 Senior/Especialista Tempo integral Data Engineer 226700 USD 226700 US Presencial US Medio

500 rows × 11 columns

In [6]:
print(f'A média de salário da população é: {df_salarios["salario_em_dolares"].mean()}')
print(f'A média de salário da amostra aleatória 1 é: {df_amostra["salario_em_dolares"].mean()}')
print(f'A média de salário da amostra aleatória 2 é: {df_amostra2["salario_em_dolares"].mean()}')
A média de salário da população é: 137570.38988015978
A média de salário da amostra aleatória 1 é: 136439.28
A média de salário da amostra aleatória 2 é: 190619.94

Vemos que por uma amostragem errada, temos a amostra 2 nos devolvendo um valor diferente da realidade. Fazer uma inferência com essa amostra 2, nos daria resultados errados. Já a amostra 1 tem um valor próximo da média de salário em dólares da população total. Então ter cuidado na hora da amostragem, com ela respeitando a motivação a ser estudada, faz toda a diferença.

Problemas da inferência¶

O objetivo da Inferência Estatística é produzir afirmações sobre dada característica da população, na qual estamos interessados, a partir de informações colhidas de uma parte dessa população (amostra). Se tivéssemos a informação completa sobre a função de probabilidade, no caso discreto, ou sobre a função densidade de probabilidade, no caso contínuo, da variável em questão, não teríamos necessidade de escolher uma amostra. Toda a informação desejada seria obtida por meio da distribuição da variável, usando-se o que estudamos nos artigos anteriores.

Mas isso raramente acontece. Ou não temos nenhuma informação a respeito da variável, ou ela é apenas parcial. Podemos admitir em uma amostra que ela segue alguma distribuição, como a normal, mas podemos não ter os parâmetros que a caracterizam (média, variância). Podemos também ter esses parâmetros, mas não saber qual a forma da curva. Ou, na maioria dos casos, não ter nenhum nem outro. Então, o uso de uma amostra nos ajuda a forma uma opinião sobre o comportamento da variável (população) que estamos estudando.

Identificar e descrever a população estudada é fundamental em inferência estatística. Porém é mais comum dedicarmos mais tempo em descrever a amostra do que população, pois a partir da amostra que vamos inferir para a população. É imprescindível que se explicite claramente a população investigada. Vamos a um exemplo.

Exemplo:

Temos uma moeda. Indicando por $X$ o número de caras obtidas depois de lançar a moeda 50 vezes, sabemos que $X$ segue uma distribuição binomial, ou seja, $X \sim b(50, p)$.

Esse modelo é válido, admitindo-se ou não a “honestidade” da moeda, isto é, sendo ou não $p = \frac{1}{2}$. Lançada a moeda, vamos supor que tenham ocorrido 36 caras. Esse resultado traz a evidência de que a moeda é “honesta”?

Para tomarmos uma decisão, podemos partir do princípio de que a moeda não favorece nem cara nem coroa, isto é, $p = \frac{1}{2}$. Com essa informação e com o modelo binomial, podemos encontrar qual a probabilidade de se obterem 36 caras ou mais, vamos ver com Python.

In [7]:
stats.binom.pmf(36, 50, 0.5)
Out[7]:
0.0008329742729351612

Temos que pra tirar 36 caras, temos a probabilidade de 0,8%. Esse resultado nos ajuda a tomar uma decisão sobre a honestidade da moeda. Suponha que a decisão foi rejeitar a “honestidade” da moeda.

Qual é a melhor estimativa para $p$, baseando-se no resultado observado?

Descrevemos aí os dois problemas básicos da Inferência Estatística: o primeiro é chamado teste de hipóteses, e o segundo, estimação.

Como selecionar uma amostra¶

As observações contidas em uma amostra serão mais informativas sobre uma população quanto mais conhecimento tivermos dessa mesma população.

Vamos imaginar uma sala onde encontra-se 30 professores de matemática. Se pegarmos uma amostra dessa sala, por exemplo 5 professores, e aplicarmos um teste básico de matemática, acreditamos que o resultado será representativo dessa população, já que é uma população é só de matemáticos. Porém devemos entender que nem sempre a escolha de uma amostra adequada é algo simples ou imediato. Vamos imaginar agora que uma determinada prefeitura fez uma obra em um bairro de seu município, onde esse bairro acabou tendo mais visibilidade e melhor qualidade de vida. Se formos fazer uma pesquisa de satisfação do governo municipal e pegarmos uma amostra desse bairro que teve a obra, teremos uma possível opinião favorável ao governo, tendo um resultado com um viés de seleção. Isto é, na amostra colhida, a proporção de pessoas que foram beneficiadas diretamente pelo projeto deverá ser maior do que de pessoas que não foram beneficiadas diretamente, fazendo com que o resultado não seja representativo de toda a população do município.

Escolher a amostra é algo tão crucial que existem modos para fazê-lo. Podemos dividir em três grandes grupos:

  • Levantamentos amostrais: São amostras obtidas de uma população bem definida, por meio de processos bem protocolados e controlados pelo pesquisador. Podemos, ainda, subdividi-los em dois subgrupos: levantamentos probabilísticos e não-probabilísticos.
    • Levantamentos probabilísticos: Reúne técnicas que usam mecanismos aleatórios de seleção dos elementos de uma amostra, atribuindo a cada um deles uma probabilidade, conhecida a priori, de pertencer à amostra.
    • Levantamentos não-probabilísticos: Aqui estão os demais procedimentos, tais como: amostras intencionais, nas quais os elementos são selecionados com o auxílio de especialistas, e amostras de voluntários, como ocorre em alguns testes sobre novos medicamentos e vacinas.
  • Planejamento de Experimentos: Seu principal objetivo é o de analisar o efeito de uma variável sobre outra. Requer, portanto, interferências do pesquisador sobre o ambiente em estudo (população), bem como o controle de fatores externos, com o intuito de medir o efeito desejado. Um exemplo são ensaios clínicos para testar a eficiência de um novo medicamento.
  • Levantamentos Observacionais: Os dados são coletados sem que o pesquisador tenha controle sobre as informações obtidas, exceto eventualmente sobre possíveis erros grosseiros. As séries temporais são exemplos típicos desse levantamento.

Amostragem aleatória simples¶

A amostragem aleatória simples(AAS) é a maneira mais fácil para selecionarmos uma amostra probabilística de uma população. Vamos imaginar que temos uma população de pessoas, com $N$ elementos. Podemos obter uma AAS dessa população através de uma numeração de toda a população e um seguinte sorteio por meio de uma tabela de números aleatórios ou, o mais usado, por meio de uso de algum software, que gerem números aleatórios.

Utilizando-se um procedimento aleatório, sorteia-se um elemento da população, sendo que a probabilidade de ser selecionado de todos é igual. Repete-se o procedimento até que sejam sorteadas as $n$ unidades da amostra. Podemos ter uma AAS com reposição, se for permitido que uma unidade possa ser sorteada mais de uma vez, e sem reposição, se a unidade sorteada for removida da população.

Do ponto de vista da quantidade de informação contida na amostra, amostra sem reposição é mais adequado. Contudo, a amostragem com reposição conduz a um tratamento teórico mais simples, pois ela implica que tenhamos independência entre as unidades selecionadas. Essa independência facilita o desenvolvimento das propriedades dos estimadores que serão considerados.

Amostragem aleatória com reposição¶

Na amostragem aleatória simples com reposição temos a situação onde extraímos um determinado elemento da amostra e devolvemos o mesmo pra amostra. Vamos a um exemplo simples:

Vamos imaginar que temos uma população com 100 elementos e queremos extrair uma amostra com 3 elementos. Logo nós temos

$$100 \cdot 100 \cdot 100 = 1.000.000$$

Essa é a quantidade de possíveis amostras que nós temos. Isso se deve ao fato de tirarmos o primeiro elemento, que pode ser qualquer 1 dos 100 elementos e devolvê-lo para a população, então quando formos para a segunda extração, novamente teremos 100 possibilidades. Isso faz com que tenhamos um número de amostras com a seguinte possibilidade:

$$N^n = N \cdot N \cdot N \cdot N ... \cdot N$$

Onde:

  • $N$: Tamanho da população
  • $n$: Tamanho da amostra

Consequentemente, a probabilidade de extrair qualquer elemento para a amostra é sempre a mesma, que é:

$$P = \frac{1}{N}$$

Exemplo

Vamos retirar uma amostra aleatória com reposição dos nossos dados de salário.

In [8]:
# população
df_salarios['salario_em_dolares'][0:10]
Out[8]:
0     85847
1     30000
2     25500
3    175000
4    120000
5    222200
6    136000
7    219000
8    141000
9    147100
Name: salario_em_dolares, dtype: int64
In [10]:
# amostra
df_salarios['salario_em_dolares'][0:10].sample(n=5, replace=True)
Out[10]:
6    136000
2     25500
1     30000
3    175000
6    136000
Name: salario_em_dolares, dtype: int64

Passamos para nosso comando para ele pegar com reposição, o que ele faz, já que pega duas vezes o índice 6. Se quisermos gerar números aleatórios com esse mesmo princípio, podemos fazer isso com numpy. Nesse caso uso a geração de números é através da distribuição normal.

In [11]:
np.random.normal(df_salarios['salario_em_dolares'].mean(), df_salarios['salario_em_dolares'].std(), 5)
Out[11]:
array([130994.18217351, 158378.26454968,  81615.39916725,  88755.86296217,
       -27703.77217867])

Amostragem aleatória sem reposição¶

Na amostragem aleatória simples sem reposição temos a situação onde extraímos um determinado elemento da amostra e não devolvemos o mesmo pra amostra. Vamos a um exemplo:

Vamos imaginar que temos uma população com 100 elementos e queremos extrair uma amostra com 3 elementos. Logo nós temos

$$100 \cdot 99 \cdot 98 = 970.200$$

Porém, nesse caso, a ordem não importa então se temos 3 elementos (ABC), temos que: $$ABC = ACB = BAC = BCA = CAB = CBA$$

Então, devemos retirar esses possíveis casos do nosso resultado final, então:

$$\frac{970.200}{6} = 161.700$$

Logo temos que para uma população de 100, retirar uma amostra de 3, temos 161.700 possíveis amostras.

Então podemos definir a amostra aleatória sem reposição como:

$$C_{N,n} = C_N^n = {N \choose n} = \frac{N!}{(N-n)!n!}$$

Onde:

  • $N$: Tamanho da população
  • $n$: Tamanho da amostra

A probabilidade de extrair os elementos para a AAS sem reposição são diferentes, pois variam a cada extração:

  • A probabilidade de um elemento ser selecionado na primeira extração é $P_1 = \frac{1}{N}$ ;
  • A probabilidade de um elemento, dentre os 𝑁 − 1 elementos não selecionados, ser selecionado na segunda extração é: $P_2 = \frac{1}{N-1}$
  • A probabilidade de um elemento, dentre os 𝑁 − 2 elementos não selecionados, ser selecionado na terceira extração é: $P_3 = \frac{1}{N-2}$
  • ...
  • A probabilidade de um elemento, dentre os 𝑁 − (N-1) elementos não selecionados, ser selecionado na n-ésima extração é: $P_n = \frac{1}{N-(N-1)} = \frac{1}{1}$

Vemos que nesse caso, a probabilidade das observações são dependentes. Porém, para casos de populações infinitas (na prática, muito grande) e a amostra pequena (quando comparada a população) a AAS sem reposição tem observações independentes, pois o tamanho da amostra faz com que a probabilidade não tenha uma mudança entre uma extração e outra. Vamos imaginar que agora temos uma popuação de 10.000.000.000 (10 bilhões) e queremos uma amostra de 3.

  • $P_1 = \frac{1}{10.000.000.000} = 0,0000000001$, $P_2 = \frac{1}{9.999.999.999} = 0,0000000001$, $P_3 = \frac{1}{9.999.999.998} = 0,0000000001$

Vemos que como são números muito grandes a probabilidade não se altera, logo podemos considerar como independentes.

Exemplo

Vamos retirar uma amostra aleatória sem reposição dos nossos dados de salário.

In [12]:
# população
df_salarios['salario_em_dolares'][0:10]
Out[12]:
0     85847
1     30000
2     25500
3    175000
4    120000
5    222200
6    136000
7    219000
8    141000
9    147100
Name: salario_em_dolares, dtype: int64
In [13]:
# amostra
df_salarios['salario_em_dolares'][0:10].sample(n=5, replace=False)
Out[13]:
8    141000
0     85847
1     30000
2     25500
5    222200
Name: salario_em_dolares, dtype: int64

Estatística e parâmetros¶

Um parâmetro é uma medida usada para descrever uma característica da população.

Obtida uma amostra, muitas vezes desejamos usá-la para produzir alguma característica específica. Por exemplo, se quisermos calcular a média da amostra $(X_1, X_2, ...,X3)$, esta será dada por:

$$\overline{X} = \frac{1}{X}\cdot (X_1 + X_2 + ... + X_n)$$

As estatísticas mais comuns são:

  • Média da amostra: $\overline{X} = \frac{1}{X} \sum_{i=1}^{n}X_i$

  • Mediana da amostra: $md = q_2$

  • Variância da amostra: $S² = \frac{1}{n-1} \sum_{i=1}^{n}(X_i - \overline{X})$

  • Desvio padrão da amostra: $S = \sqrt{S²}$

  • Menor valor da amostra: $ X_{\text{min}} = \text{min}(X_1 + X_2 + ... + X_n) $

  • Maior valor da amostra: $ X_{\text{max}} = \text{max}(X_1 + X_2 + ... + X_n) $

  • Amplitude amostral: $W = X_{\text{max}} - X_{\text{min}}$

Distribuições amostrais¶

O grande problema da inferência estatística é fazer uma afirmação sobre os parâmetros da população através da amostra. Digamos que nossa afirmação deva ser feita sobre um parâmetro $\theta$ da população (por exemplo, a média, a variância ou qualquer outra medida). Decidimos que usaremos uma AAS de $n$ elementos sorteados dessa população. Nossa decisão será baseada na estatística $T$, que será uma função da amostra $(X_1, X_2, ..., X_n)$, ou seja, $T = f( X_1, X_2, ..., X_n)$. Colhida essa amostra, teremos observado um particular valor de $T$, digamos $t_0$, e baseados nesse valor é que faremos a afirmação sobre $\theta$, o parâmetro populacional.

A validade da nossa resposta seria melhor compreendida se soubéssemos o que acontece com a estatística $T$, quando retiramos todas as amostras de uma população conhecida segundo o plano amostral adotado. Isto é, qual a distribuição de $T$ quando $(X_1, X_2, ..., X_n)$ assume todos os valores possíveis. Essa distribuição é chamada de distribuição amostral da estatística $T$ e desempenha papel fundamental na teoria da inferência estatística.

Esquematicamente, teríamos:

  • uma população $X$, com determinado parâmetro de interesse $\theta$;
  • todas as amostras retiradas da população, de acordo com certo procedimento;
  • para cada amostra, calculamos o valor $t$ da estatística $T$; e
  • os valores $t$ formam uma nova população, cuja distribuição recebe o nome de distribuição amostral de $T$.

Vamos a um exemplo:

Exemplo: Vamos voltar ao nosso exemplo da moeda, onde lançamos ela 50 vezes, usando como estatística $X =$ número de caras obtidas. Sabemos que a distribuição amostral é dada pelo modelo binomial $b(50, p)$, qualquer que seja $p = $ probabilidade de ocorrer cara num lançamento e sabemos que $0 < p < 1$. Se a quisermos julgar a honestidade da moeda, estaremos averigunado se $p = 0,5$. Nessas condições temos

$$P(X \geq 36| n = 50, p = 0,5)$$

Vamos fazer esse cálculo usando o Python:

In [14]:
def fatorial(x):
    valor = 1
    for i in range(1, x+1):
        valor *= i
    return valor
In [15]:
# número de sucessos = k
# tamanho da amostra = n
# probabilidade de sucesso = p
def distribuicao_binomial(numero_sucessos, tamanho_amostra, probabilidade_sucesso):
    possiveis_sequencias = (fatorial(tamanho_amostra)/(fatorial(numero_sucessos) 
                                                       * fatorial(tamanho_amostra-numero_sucessos)))
    nao_sucessos = 1 - probabilidade_sucesso
    return (possiveis_sequencias * (probabilidade_sucesso**numero_sucessos)
            * (nao_sucessos **(tamanho_amostra-numero_sucessos)))
In [16]:
lista = []
lista2 = []
lista3 = []
for i in range(1, 51):
    lista.append(distribuicao_binomial(i, 50 , 0.5))
    lista2.append(i)
    if i >= 36:
        lista3.append(distribuicao_binomial(i, 50 , 0.5))
    
    
with sns.axes_style("whitegrid"):
    plt.figure(figsize=(14, 5))
    plt.bar(lista2, lista)
    plt.plot(lista2, lista)
    plt.xlabel('Número de sucessos')
    plt.ylabel('Probabilidade')
    plt.title('Distribuição Binomial')
    plt.show()
In [17]:
sum(lista3)
Out[17]:
0.0013010857283610733

Logo temos que pra termos um resultado igual ou maior que 36 caras, a probabilidade é de $0,13\%$

Portanto, caso a moeda seja honesta, em 50 lançamentos, a probabilidade de se obterem 36 ou mais caras é da ordem de 1 por 1.000. Ou seja, se a moeda fosse honesta, o resultado observado (36 caras) seria muito pouco provável, evidenciando que $p > 0,5$.

Vamos ver com um valor de $p > 0,72$

In [18]:
lista = []
lista2 = []
lista3 = []
for i in range(1, 51):
    lista.append(distribuicao_binomial(i, 50 , 0.72))
    lista2.append(i)
    
    
with sns.axes_style("whitegrid"):
    plt.figure(figsize=(14, 5))
    plt.bar(lista2, lista)
    plt.plot(lista2, lista)
    plt.xlabel('Número de sucessos')
    plt.ylabel('Probabilidade')
    plt.title('Distribuição Binomial')
    plt.show()

Logo, para termos uma moeda que sai cara em 36 resultados, temos que ter uma probabilidade de $0,72$, o que indica uma moeda viciada.

Distribuição amostral da média¶

Vamos ver agora a distribuição amostral da estatística $\overline{X}$, a média da amostra. Vamos considerar uma população identificada pela variável $X$, cujos parâmetros média populacional $\mu = E(X)$ e variância populacional $\sigma^2 = \text{Var(X)}$ são conhecidos.

Vamos retirar todas as possíveis AAS de tamanho $n$ dessa população, e para cada uma calcular a média $\overline{X}$. Em seguida, vamos considerar a distribuição amostral e estudar suas propriedades.

Vamos há um exemplo:

Exemplo: Vamos voltar ao nosso caso da moeda, porém agora teremos 3 eventos com cada um lançando 5 vezes a moeda. Vamos considerar 1 para cara e 0 para coroa

  • Evento 1: {Cara, Coroa, Cara, Cara, Coroa} = $\overline{X}_1 = \frac{1 + 0 + 1 + 1 + 0}{5} = 0,6$
  • Evento 2: {Cara, Coroa, Coroa, Coroa, Cara} = $\overline{X}_1 = \frac{1 + 0 + 0 + 0 + 1}{5} = 0,4$
  • Evento 3: {Coroa, Cara, Coroa, Cara, Cara} = $\overline{X}_1 = \frac{0 + 1 + 0 + 1 + 1}{5} = 0,6$

Logo temos uma média amostral de:

$$\frac{0,6 + 0,4 + 0,6}{3} = 0,5333$$

Sabendo que só temos duas faces possíveis, e tendo a moeda como honesta, logo temos 50% de probabilidade para cada face, esperamos que a média amostral do experimento seja um valor em torno de 0,5. Como mostramos acima, nosso experimento de um valor parecido. Então, podemos afirmar que: a esperança da média amostra é igual à média populacional.

$$E(\overline{X}) = \mu$$

Já a variância mostral será a razão entre a variância populacional e o tamanho da amostra:

$$\text{Var}(\overline{X}) = \frac{\sigma^2}{n}$$

Teorema do limite central¶

Vamos ver um exemplo.

In [19]:
import numpy
import matplotlib.pyplot as plt
 
num = [1, 10, 20, 30, 40, 50] 

media = [] 
 
for j in num:
    numpy.random.seed(42)
    x = [numpy.mean(
        numpy.random.randint(
            0, 10, j)) for i in range(1000)]
    media.append(x)
k = 0

fig, ax = plt.subplots(2, 3, figsize =(14, 8))
for i in range(0, 2):
    for j in range(0, 3):
        ax[i, j].hist(media[k], bins=50, density = True)
        ax[i, j].set_title(label = num[k])
        k = k + 1
plt.show()

Vemos que quanto maior o nosso $n$ (tamanho da amostra), mais o formato da curva tende a uma normal.

Por definição temos:

Definição:

Para amostras aleatórias simples $(X_1, X_2 ..., X_n)$, retiradas de uma população com média $\mu$ e variância $\sigma²$ finita, a distribuição amostral da média $\overline{X}$ aproxima-se, para $n$ grande, de uma distribuição normal, com média $\mu$ e variância $\frac{\sigma²}{n}$.

Logo, temos:

  • Se a população tem distribuição normal, a distribuição das médias amostrais também será normal para todos os tamanhos de amostra.
  • Se a população tem distribuição não-normal, a distribuição de médias amostrais será aproximadamente normal para grandes amostras.

Outra forma de apresentar o teorema do limite central é:

Se $(X_1, X_2 ..., X_n)$ for uma amostra aleatória simples da população $X$, com média $\mu$ e variância $\sigma²$ finita, e $X = \frac{(X_1, X_2 ..., X_n)}{n}$, então

$$Z = \frac{\overline{X} - \mu}{\sigma/\sqrt{n}} \sim N(0, 1)$$

Basta notar que se usou a transformação usual de reduzir a distribuição de $\overline{X}$ a uma normal padrão. O TLC afirma que $\overline{X}$ aproxima-se de uma normal quando $n$ tende para o infinito, e a rapidez dessa convergência depende da distribuição da população Se a população original tem uma distribuição próxima da normal, a convergência é rápida; se a população original se afasta muito de uma normal, a convergência é mais lenta, ou seja, necessitamos de uma amostra maior para que $\overline{X}$ tenha uma distribuição aproximadamente normal. Para amostras maiores que 30 ou 50 elementos, a aproximação pode ser considerada boa.

Vamos ver um exemplo para entender de forma mais clara:

Exemplo:

A máquina de empacotar um determinado produto o faz segundo uma distribuição normal, com média $\mu$ e desvio padrão 10 g.

  1. Em quanto deve ser regulado o peso médio $\mu$ para que apenas 10% dos pacotes tenham menos do que 500 g?
  2. E após a máquina estar regulada, programou-se uma carta de controle de qualidade. De hora em hora, será retirada uma amostra de quatro pacotes e esses serão pesados. Se a média da amostra for inferior a 495 g ou superior a 520 g, encerra-se a produção para reajustar a máquina, isto é, reajustar o peso médio. Qual é a probabilidade de ser feita uma parada desnecessária?

Resolução:

  1. Nós sabemos o desvio padrão ($\sigma$) e temos o peso limite ($500$) e sabemos a probabilidade ($10\%$) então :
$$P(X < 500) = P(Z < \frac{500 - \mu}{10}) = 0,1$$

Numa tabela de distribuição normal padrão, normalmente os valores são dados por $P(0 < Z < Z_c)$, onde essa probabilidade será os valores contido nesse intervalo, como nós queremos a probabilidade acima desse intervalo, podemos escrever de tal forma: $0,5 - $P(0 < Z < Z_c)$, pegando assim, a probabilidade posterior ao intervalo.

$$0,5 - P(0 < Z < \frac{500 - \mu}{10}) = 0,1$$$$P(0 < Z < \frac{500 - \mu}{10}) = - 0,4$$

Procurando em uma tabela de distribuição normal padrão (pode ser vista uma ao longo do artigo 5), encontramos que o valor que dá probabilidade 0,4 é 1,28

$$\frac{500 - \mu}{10} = 1,28 = 500 - \mu = -12,8$$$$\mu = 512,8$$
  1. Agora temos $\mu = 512,8$, $\sigma = 10$, $n = 4$. Sabemos que nossa média amostral não pode ter menos que 495g e mais que 520g. Então temos:

$P(\overline{X} < 495)$ e $P(\overline{X} > 520)$

Logo, a soma dessas duas probabilidades, deve dá o que queremos, então vamos achar cada uma e depois somar.

$$P(\overline{X} < 495) = P(Z < \frac{495 - 512,8}{10/\sqrt{2})} = 0,5 - P(0 < Z < -3,56) = 0,5 - 0,49981 = 0,00019$$$$P(\overline{X} > 520) = P(Z < \frac{520 - 512,8}{10/\sqrt{2})} = 0,5 - P(0 < Z < 1,44) = 0,5 - 0,4250 = 0,075$$

Então:

$$0,00019 + 0,075 = 0,0752 = 7,52\%$$

Temos a probabilidade de $7,52\%$ de paradas desnecessárias.

Distribuição amostral de uma proporção¶

Vamos considerar uma população em que a proporção de elementos portadores de certa característica é $p$. Logo, podemos definir uma variável aleatória $X$, da seguinte maneira:

$$x = \begin{cases} 1, \text{se o indivíduo estudado for portador da característica}\\ 0, \text{se o indivíduo estudado não for portador da característica}\\ \end{cases}$$

Um elemento qualquer da população $X$ pode apresentar a característica estudada, o que chamamos de sucesso $(X = 1)$, ou não, o que chamamos de fracasso $(X = 0)$. A probabilidade de sucesso é $p$ e a probabilidade de fracasso é $q = 1 − p$. Assim, essa população apresenta uma distribuição de Bernoulli, com parâmetro $p$.

Vamos retirar uma AAS dessa população, e indicando por $X_n$ o total de indivíduos portadores da característica na amostra, já vimos que:

$$X_n \sim b(n, p)$$

Se retirarmos uma AAS dessa população, que chamaremos de $X$, não sabemos proporção populacional, então precisamos estimá-la a partir da proporção de sucessos encontrada na amostra, denotada por $\hat{p}$. Considerando que cada observação $X_i$ da amostra será $X_i = 0$ ou $X_i = 1$ (como para a população), então a proporção de sucessos na amostra pode ser calculada pela razão entre a soma dos valores observados e o tamanho da amostra:

$$\hat{p} = \frac{\sum_{i=1}^n X_i}{n}$$

Porém, como possuímos valores $X_i = 0$ para os fracassos, basta apenas somar o número de sucessos ($X_i = 1$). Chamaremos os valores que são portadores da característica da amostra de $Y_n$, então teremos:

$$\hat{p} = \frac{Y_n}{n}$$

Logo,

$$P(Y_n = k) = P(\frac{Y_n}{n} = \frac{k}{n}) = P(\hat{p} = \frac{k}{n})$$

Ou seja, a distribuição amostral de $\hat{p}$ é obtida da distribuição $Y_n$.

Pelo teorema do limite central, uma distribuição amostral grande tende a uma distribuição normal, vamos ver nesse caso.

Temos inicialmente que:

$$Y_n = X_1 + X_2 + X_3 + X_4 + ... + X_n$$

onde cada $X_i$ tem distribuição de Bernoulli, com média $\mu = p$ e variância $\sigma² = p(1 - p)$. Podemos escrever como

$$Y_n = n\cdot \overline{X}$$

pelo teorema do limite central, $\overline{X}$ terá distribuição normal, com $\mu = p$ e $\sigma² = \frac{p(1-p)}{n}$, ou seja:

$$\overline{X} \sim N \Big(p, \frac{p(1-p)}{n}\Big)$$

Então

$$Y_n \sim N (np, np(1-p))$$

Sendo $\overline{X}$ a variável $\hat{p}$, temos para a distribuição amostral p:

$$\hat{p} \sim N \Big(p, \frac{p(1-p)}{n}\Big)$$

Para facilitar e saber quando $n$ é grande, basta seguir a seguinte regra

  • A aproximação da distribuição normal se justifica quando:
    • $n\cdot p \geq 5$ e $n\cdot(1 - p) \geq 5$

Então num caso que $p$ seja 0.5, uma amostra de 10 ou mais já se justifica aproximar pela normal.

Vamos há um exemplo para um melhor entendimento.

Exemplo:

  1. Um procedimento de controle de qualidade foi planejado para garantir um máximo de 10% de itens defeituosos na produção. A cada 6 horas sorteia-se uma amostra de 20 peças e, havendo mais de 15% de defeituosas, encerra-se a produção para verificação do processo. Qual a probabilidade de uma parada desnecessária?

Temos que $p = 0,1$, $n = 20$ e $\hat{p} = 0,15$

$$P(|\hat{p} - p| > 0,05)$$

Vamos achar a variância:

$$\text{Var}(\hat{p}) = \frac{(0,1) \cdot (0,9)}{20} = 0,0045$$

Com a variância achamos a probabilidade:

$$P(0 < Z < \frac{0,05}{\sqrt{0,0045}}) = P(0 < Z < 0,75)$$

Vendo em uma tabela de distribuição normal padrão temos que quando $Z = 0,75$ o valor é $0,27337$

$$P(Z > 0,75) = 0,5 - 0,27337 = 0,22663$$

Então temos que a probabilidade de uma parada desnecessária de $22,66\%$

Determinação do tamanho de uma amostra¶

Anteriormente, fizemos suposições sobre o tamanho da amostra, tendo exemplos com valors conhecidos e fixos, porém nem sempre saberemos qual valor usar. Como vamos conseguir garantir que a escolha de tamanho da amostra que escolhemos é o acertado. Podemos, em certas ocasiões, querer determinar o tamanho da amostra a ser escolhida de uma população, de modo a obter um erro de estimação previamente estipulado, com determinado grau de confiança.

Para achar esse tamanho, basta determinarmos qual grau de confiança e erro de estimação queremos.

Para distribuições amostrais da média temos a fórmula:

$$n = \frac{\sigma² z_{\gamma}²}{\epsilon²}$$

Para distribuições amostrais de uma proporção temos a fórmula:

$$n = \frac{z_{\gamma}²}{4\epsilon²}$$

Se tivermos alguma informação sobre a proporção populacional ($p$) ou pudermos estimar, a fórmula é:

$$n = \frac{z_{\gamma}²p(1-p)}{\epsilon²}$$

Onde:

  • $\gamma$: Nível de confiança
  • $z_{\gamma}²$: Valor tabelado para o nível de confiança Ex.: $z_{0,95}² = 1,96$
  • $\epsilon$: Erro de estimação

Note que na fórmula para a média, temos a variância populacional, que não conhecemos. Então devemos ter alguma pequena amostra para podermos estimar a variância.

Exemplo: Temos uma amostra $n= 20$ de uma população. Essa amostra nos forneceu valores $\overline{X} = 10$ e $S² = 12$. Fixando o erro em $0,5$ e nível de confiança de $0,95$, temos:

$$n = \frac{12² \cdot 1,96²}{0,5²} \approx 2.213$$

Exemplo:

Uma pesquisa sobre um determinado produto, estima que no mínimo 80% das pessoas entrevistas preferirão esse produto ao do concorrente. Querendo um erro amostral menor que 3% e com nível de confiança de 95%, temos:

$$n = \frac{(1,96²)(0,8)(0,2)}{(0,03)²} \approx 683$$

Referências¶

  1. Morettin, P. A., Bussab, W. O. Estatística Básica, 6. ed. – São Paulo : Saraiva, 2010.
  2. Devore, J. L., Probabilidade e estatística: para engenheria e ciência, São Paulo: Cengage Learning, 2006.

In [ ]:
 
$\leftarrow$Ir para artigo anterior Voltar ao site Voltar à página de estatística Ir para próximo artigo $\rightarrow$