Como calcular intervalos de confiança em python
Um intervalo de confiança para uma média é um intervalo de valores que provavelmente contém uma média populacional com um certo nível de confiança.
É calculado da seguinte forma:
Intervalo de confiança = x +/- t*(s/√n)
Ouro:
- x : média amostral
- t: valor t que corresponde ao nível de confiança
- s: desvio padrão da amostra
- n: tamanho da amostra
Este tutorial explica como calcular intervalos de confiança em Python.
Intervalos de confiança usando a distribuição t
Se estivermos trabalhando com uma amostra pequena (n <30), podemos usar a função t.interval() da biblioteca scipy.stats para calcular um intervalo de confiança para uma média populacional.
O exemplo a seguir mostra como calcular um intervalo de confiança para a altura média real da população (em polegadas) de uma determinada espécie de planta, usando uma amostra de 15 plantas:
import numpy as np import scipy.stats as st #define sample data data = [12, 12, 13, 13, 15, 16, 17, 22, 23, 25, 26, 27, 28, 28, 29] #create 95% confidence interval for population mean weight st.t.interval(alpha=0.95, df=len(data)-1, loc=np.mean(data), scale=st.sem(data)) (16.758, 24.042)
O intervalo de confiança de 95% para o verdadeiro tamanho médio da população é (16,758, 24,042) .
Você notará que quanto maior o nível de confiança, maior será o intervalo de confiança. Por exemplo, veja como calcular um IC de 99% para exatamente os mesmos dados:
#create 99% confidence interval for same sample st.t.interval(alpha= 0.99 , df=len(data)-1, loc=np.mean(data), scale=st.sem(data)) (15.348, 25.455)
O intervalo de confiança de 99% para o verdadeiro tamanho médio da população é (15,348, 25,455) . Observe que esse intervalo é maior que o intervalo de confiança anterior de 95%.
Intervalos de confiança usando a distribuição normal
Se estivermos trabalhando com amostras maiores (n≥30), podemos assumir que a distribuição amostral da média amostral é normalmente distribuída (graças ao teorema do limite central ) e podemos, em vez disso, usar a função norma. interval() da biblioteca scipy .stats.
O exemplo a seguir mostra como calcular um intervalo de confiança para a altura média real da população (em polegadas) de uma determinada espécie de planta, usando uma amostra de 50 plantas:
import numpy as np import scipy.stats as st #define sample data np.random.seed(0) data = np.random.randint(10, 30, 50) #create 95% confidence interval for population mean weight st.norm.interval(alpha=0.95, loc=np.mean(data), scale=st.sem(data)) (17.40, 21.08)
O intervalo de confiança de 95% para o verdadeiro tamanho médio da população é (17,40, 21,08) .
E tal como acontece com a distribuição t, níveis de confiança mais elevados levam a intervalos de confiança mais amplos. Por exemplo, veja como calcular um IC de 99% para exatamente os mesmos dados:
#create 99% confidence interval for same sample st.norm.interval(alpha= 0.99 , loc=np.mean(data), scale=st.sem(data)) (16.82, 21.66)
O intervalo de confiança de 95% para o verdadeiro tamanho médio da população é (17,82, 21,66) .
Como interpretar intervalos de confiança
Suponha que nosso intervalo de confiança de 95% para a altura média real de uma espécie de planta seja:
Intervalo de confiança de 95% = (16,758, 24,042)
A forma de interpretar este intervalo de confiança é a seguinte:
Há 95% de chance de que o intervalo de confiança de [16,758, 24,042] contenha a verdadeira altura média das plantas da população.
Outra maneira de dizer a mesma coisa é que há apenas 5% de probabilidade de que a verdadeira média da população esteja fora do intervalo de confiança de 95%. Ou seja, há apenas 5% de chance de que a altura média real da planta seja inferior a 16,758 polegadas ou superior a 24,042 polegadas.