Entendendo os intervalos de confiança com Python

Nó Fonte: 1883080

Este artigo foi publicado como parte do Blogathon de Ciência de Dados.

Índice

  1. Introdução
  2. Intervalos de confiança com estatística Z
  3. Interpretando Intervalos de Confiança
  4. Suposições para IC usando a estatística z
  5. Intervalos de confiança com estatística t
  6. Suposições para IC usando a estatística t
  7. Fazendo um intervalo t com dados pareados
  8. Valor z vs valor t: quando usar o quê?
  9. Intervalos de confiança com python
  10. Nota Final

Introdução

Sempre que resolvemos um problema estatístico estamos preocupados com a estimativa dos parâmetros populacionais, mas na maioria das vezes é quase impossível calcular os parâmetros populacionais. O que fazemos em vez disso é pegar amostras aleatórias da população e calcular estatísticas amostrais esperando aproximar os parâmetros da população. Mas como sabemos se as amostras são verdadeiras representantes da população ou o quanto essas estatísticas amostrais se desviam dos parâmetros populacionais? É aqui que os intervalos de confiança entram em cena. Então, quais são esses intervalos? O intervalo de confiança é um intervalo de valores que variam acima e abaixo das estatísticas da amostra ou também podemos defini-lo como a probabilidade de que um intervalo de valores em torno da estatística da amostra contenha o parâmetro populacional verdadeiro.

Intervalos de confiança com estatística Z

Antes de nos aprofundarmos no assunto, vamos nos familiarizar com algumas terminologias estatísticas.

população: É o conjunto de todos os indivíduos semelhantes. Por exemplo, a população de uma cidade, estudantes de uma faculdade, etc.

amostra: É um pequeno conjunto de indivíduos semelhantes retirados da população. Da mesma forma, uma amostra aleatória é uma amostra retirada aleatoriamente da população.

parâmetros: Média(mu), desvio padrão(sigma), proporção(p) derivada da população.

estatística: média(x bar), desvio padrão(S), proporções(p^) referentes às amostras.

Escore Z: é a distância de qualquer ponto de dados brutos em uma distribuição normal da média normalizada pelo desvio padrão. Dado por: x-mu/sigma

Tudo bem, agora estamos prontos para mergulhar fundo no conceito de intervalos de confiança. Por alguma razão, acredito que é muito melhor entender conceitos por meio de exemplos relacionáveis, em vez de definições matemáticas brutas. Então vamos começar.

suponha, você vive em uma cidade de 100,000 habitantes e uma eleição está chegando. Como pesquisador, você deve prever quem vai ganhar a eleição, seja o partido azul ou o amarelo. Então, você vê que é quase impossível coletar informações de toda a população, então você escolhe aleatoriamente 100 pessoas. No final da pesquisa, você descobriu que 62% das pessoas vão votar no amarelo. Agora a questão é: devemos concluir que o amarelo vai ganhar com uma probabilidade de vitória de 62% ou 62% de toda a população vai votar no amarelo? Então, a resposta é não. Não sabemos ao certo a que distância nossa estimativa está do parâmetro verdadeiro, se tomarmos outra amostra, o resultado pode ser 58% ou 65%. Então, o que faremos é encontrar um intervalo de valores em torno de nossa estatística de amostra que provavelmente capturará a verdadeira proporção da população. Aqui, a proporção se refere à porcentagem de

Intervalos de confiança com Python

                                                                   imagem pertence ao autor

Agora, se pegarmos cem dessas amostras e plotarmos a proporção amostral de cada amostra, obteremos uma distribuição normal das proporções amostrais e a média da distribuição será o valor mais aproximado da proporção populacional. E nossa estimativa pode estar em qualquer lugar na curva de distribuição. De acordo com a regra de 3 sigma, sabemos que cerca de 95% das variáveis ​​aleatórias estão dentro de 2 desvios padrão da média da distribuição. Assim, podemos concluir que a probabilidade de p^ está dentro de 2 desvios padrão de p é 95%. Ou também podemos afirmar que a probabilidade de p estar dentro de 2 desvios padrão abaixo e acima de p^ também é de 95%. Essas duas declarações são efetivamente equivalentes. Esses dois pontos abaixo e acima do p^ são nossos intervalos de confiança.

Intervalos de confiança com Python

                                                           imagem pertence ao autor

Se pudermos de alguma forma encontrar o sigma, podemos calcular o intervalo necessário. Mas sigma aqui é o parâmetro da população e sabemos que muitas vezes é quase impossível calcular, então usaremos estatísticas de amostra, ou seja, erro padrão. Isso é dado como

onde p^= proporção da amostra, n=número de amostras

SE =√(0.62 . 0.38/100) = 0.05

então, 2xSE = 0.1

O intervalo de confiança para nossos dados é (0.62-0.1,0.62+0.1) ou (0.52,0.72). Como tomamos 2xSE, isso se traduz em um intervalo de confiança de 95%.

Agora, a questão é: e se quisermos criar um intervalo de confiança de 92%? No exemplo anterior, multiplicamos 2 com SE para construir um intervalo de confiança de 95%, este 2 é o z-score para um intervalo de confiança de 95% (o valor exato é 1.96) e esse valor pode ser encontrado em uma tabela z. O valor crítico de z para um intervalo de confiança de 92% é 1.75. Referir-se isto artigo para uma melhor compreensão do z-score e z-table.

O intervalo é dado por: (p^ + z*.SE , p^-z*.SE).

Se, em vez da proporção da amostra, a média da amostra for fornecida, o erro padrão será sigma/quadrado(n). Aqui sigma é o desvio padrão da população, como muitas vezes não temos, usamos o desvio padrão da amostra. Mas muitas vezes observa-se que esse tipo de estimativa em que a média é dada ao resultado tende a ser um pouco tendenciosa. Portanto, em casos como esse, é preferível usar a estatística t em vez da estatística z.

A fórmula geral para um intervalo de confiança com estatística z é dada por

Aqui, a estatística refere-se à média da amostra ou à proporção da amostra. sigmas são o desvio padrão da população.

Interpretando Intervalos de Confiança

É muito importante interpretar os intervalos de confiança corretamente. Considere o exemplo anterior do pesquisador, onde calculamos nosso intervalo de confiança de 95% como (0.52,0.62). O que isso significa? Bem, um intervalo de confiança de 95% significa que, se extrairmos n amostras da população, em 95% das vezes o intervalo derivado conterá a verdadeira proporção da população. Lembre-se de que um intervalo de confiança de 95% não significa que há uma probabilidade de 95% de que o intervalo contenha a verdadeira proporção da população. Por exemplo, para um intervalo de confiança de 90%, se extrairmos 10 amostras de uma população, 9 em cada 10 vezes o referido intervalo conterá o parâmetro populacional verdadeiro. Observe a imagem abaixo para entender melhor.

Interpretando o intervalo de confiança

                                                            imagem pertence ao autor

Suposições para intervalos de confiança usando a estatística Z

Existem certas suposições que precisamos procurar para construir um intervalo de confiança válido usando a estatística z.

  1. Amostra aleatória: As amostras precisam ser aleatórias. Existem diferentes métodos de amostragem, como amostragem estratificada, amostragem aleatória simples, amostragem por conglomerados para obter amostras aleatórias.
  2. Condição normal: Os dados devem satisfazer esta condição np^>=10 e n.(1-p^)>=10. Isso significa essencialmente que nossa distribuição amostral das médias amostrais precisa ser normal, não distorcida em nenhum dos lados.
  3. Independente: As amostras precisam ser independentes. O número de amostras precisa ser menor ou igual a 10% da população total ou se a amostragem for feita com reposição.

Intervalos de confiança com estatística T

E se o tamanho da amostra for relativamente pequeno e o desvio padrão da população não for fornecido ou não puder ser assumido? Como construir um intervalo de confiança? bem, é aí que entra a estatística t. A fórmula básica para encontrar o intervalo de confiança aqui permanece a mesma com apenas z* substituído por t*. A fórmula geral é dada por

onde S = desvio padrão da amostra, n = número de amostras

Suponha que você organizou uma festa e deseja estimar o consumo médio de cerveja por seus convidados. Então, você obtém uma amostra aleatória de 20 indivíduos e mede o consumo de cerveja. Os dados da amostra são simétricos com média 0f 1200 ml e desvio padrão de 120 ml. Então, agora você deseja construir um intervalo de confiança de 95%.

Assim, temos o desvio padrão da amostra, o número de amostras e a média amostral. Tudo o que precisamos é t*. Assim, t* para um intervalo de confiança de 95% com um grau de liberdade de 19(n-1 = 20-1) é 2.093. Portanto, nosso intervalo necessário é após o cálculo ser (1256.16, 1143.83) com uma margem de erro de 56.16. Referir-se isto vídeo para saber como ler a t-table.

Suposições para IC usando a estatística T

Semelhante ao caso da estatística z, aqui no caso da estatística t também existem algumas condições que precisamos observar em determinados dados.

  1. A amostra precisa ser aleatória
  2. A amostra precisa ser normal. Para ser normal, o tamanho da amostra deve ser maior ou igual a 30 ou se o conjunto de dados pai, ou seja, a população for aproximadamente normal. Ou se o tamanho da amostra estiver abaixo de 30, a distribuição precisa ser aproximadamente simétrica.
  3. As observações individuais precisam ser independentes. Isso significa que segue a regra dos 10% ou a amostragem é feita com reposição.

Fazendo um intervalo T para dados emparelhados

Até agora, usamos apenas dados de uma amostra. Agora veremos como podemos construir um intervalo t para dados pareados. Em dados pareados, fazemos duas observações no mesmo indivíduo. Por exemplo, comparando notas pré-teste e pós-teste de alunos ou dados sobre o efeito de uma droga e placebo em um grupo de pessoas. Nos dados pareados, encontramos a diferença entre as duas observações na 3ª coluna. Como de costume, vamos passar por um exemplo para entender esse conceito também,

P. Um professor tentou avaliar o efeito de um novo currículo no resultado do teste. Abaixo estão os resultados das observações.

Intervalo T para dados pareados

                                                      imagem pertence ao autor

Como pretendemos encontrar intervalos para a diferença média, precisamos apenas das estatísticas para as diferenças. Usaremos a mesma fórmula que usamos antes

estatística +- (valor crítico ou valor t) (desvio padrão da estatística)

xd = média da diferença, Sd = desvio padrão da amostra, para um IC de 95% com grau de liberdade 5 t* é dado por 2.57. A margem de erro = 0.97 e o intervalo de confiança (4.18,6.13).

Interpretação: Das estimativas acima, como podemos ver, o intervalo de confiança não contém valores zero ou negativos. Assim, podemos concluir que o novo currículo teve um impacto positivo no desempenho dos alunos nos testes. Se tivesse apenas valores negativos, poderíamos dizer que o currículo teve um impacto negativo. Ou se contivesse zero, poderia haver a possibilidade de que a diferença fosse zero ou nenhum efeito do currículo nos resultados dos testes.

Valor Z vs valor T

Há muita confusão no início sobre quando usar o quê. A regra geral é quando o tamanho da amostra é >= 30 e o desvio padrão da população é conhecido por usar a estatística z. Caso o tamanho da amostra seja < 30, use a estatística t. Na vida real, não temos parâmetros populacionais, então usaremos z ou t com base no tamanho da amostra.

Com amostras menores (n<30) o Teorema do Limite central não se aplica, e outra distribuição chamada distribuição t de Student é usada. A distribuição t é semelhante à distribuição normal, mas assume formas diferentes dependendo do tamanho da amostra. Em vez de valores z, são usados ​​valores t que são maiores para amostras menores, produzindo uma margem de erro maior. Como um tamanho de amostra pequeno será menos preciso.

Intervalos de confiança com Python

Python tem uma vasta biblioteca que suporta todos os tipos de cálculos estatísticos tornando nossa vida um pouco mais fácil. Nesta seção, examinaremos os dados sobre os hábitos de sono das crianças pequenas. Os 20 participantes dessas observações eram saudáveis, de comportamento normal, não tinham nenhum distúrbio do sono. Nosso objetivo é analisar a hora de dormir de crianças que cochilam e não cochilam.

Referência: Akacem LD, Simpkin CT, Carskadon MA, Wright KP Jr, Jenni OG, Achermann P, et al. (2015) O tempo do relógio circadiano e do sono diferem entre crianças cochilando e não cochilando. PLoS ONE 10(4): e0125181. https://doi.org/10.1371/journal.pone.0125181

Estaremos importando bibliotecas que precisaremos

import numpy as np import pandas as pd from scipy.stats import t pd.set_option('display.max_columns', 30) # set para poder ver todas as colunas do DataFrame import math
df = pd.read_csv(nap_no_nap.csv) #lendo dados
df.head ()
Intervalos de confiança com Python

Crie dois intervalos de confiança de 95% para a hora de dormir média, um para crianças que cochilam e outro para crianças que não dormem. Primeiro, vamos isolar a coluna 'noite de dormir' para aqueles que cochilam em uma nova variável e aqueles que não cochilam em outra nova variável. A hora de dormir aqui é decimal.

bedtime_nap = df['noite hora de dormir'].loc[df['napping'] == 1] bedtime_no_nap = df['noite hora de dormir'].loc[df['napping'] == 0]

print(len(hora de dormir))

imprimir(len(hora de dormir_sem sesta))

saída: 15 n 5


Agora, vamos encontrar a amostra média de hora de dormir para cochilo e no_nap.

nap_mean_bedtime = bedtime_nap.mean() #20.304 no_nap_mean_bedtime = bedtime_no_nap.mean() #19.59

Agora, vamos encontrar o desvio padrão da amostra para Xsesta e Xsem cochilo 

nap_s_bedtime = np.std(bedtime_nap,ddof=1) no_nap_s_bedtime = np.std(bedtime_no_nap,ddof=1)

Nota: O parâmetro ddof é definido como 1 para amostra std dev ou então se tornará população std dev.

Agora, vamos encontrar o erro padrão da amostra para Xsesta e Xsem cochilo 

nap_se_mean_bedtime = nap_s_bedtime/math.sqrt(len(bedtime_nap)) #0.1526 no_nap_se_mean_bedtime = no_nap_s_bedtime/math.sqrt(len(bedtime_no_nap)) #0.2270

Até aí tudo bem, agora como o tamanho da amostra é pequeno e não temos um desvio padrão da proporção da população vamos usar o valor t*. Uma maneira de encontrar o valor de t* é usando scipy.stats t.ppf função. Os argumentos para t.ppf() são q = porcentagem, df = grau de liberdade, escala = std dev, loc = média. Como a distribuição t é simétrica para um intervalo de confiança de 95%, q será 0.975. Consulte isto para mais informações sobre t.ppf().

nap_t_star = t.ppf(0.975,df=14) #2.14 no_nap_t_star = t.ppf(0.975,df=5) #2.57

Agora, vamos adicionar as peças para finalmente construir nosso intervalo de confiança.

cochilo_ci_plus = cochilo_média_hora de dormir + cochilo_t_star*cochilo_se_hora de dormir

cochilo_ci_minus = cochilo_mean_hora de dormir – cochilo_t_star*cochilo_se_hora de dormir

imprimir(nap_ci_minus,nap_ci_plus)

no_nap_ci_plus = no_nap_mean_bedtime + no_nap_t_star*nap_se_bedtime

no_nap_ci_minus = no_nap_mean_bedtime – no_nap_t_star*nap_se_bedtime

imprimir(no_nap_ci_minus,no_nap_ci_plus)


saída: 19.976680775477412 20.631319224522585 18.95974084563192 20.220259154368087

Interpretação: 

A partir dos resultados acima, concluímos que estamos 95% confiantes de que a hora média de dormir para crianças que cochilam é entre 19.98 e 20.63 (pm), enquanto para crianças que não cochilam é entre 18.96 e 20.22 (pm). Esses resultados estão de acordo com nossa expectativa de que, se você tirar uma soneca durante o dia, dormirá tarde da noite.

Notas finais

Então, isso foi tudo sobre intervalos de confiança simples usando valores de z e t. É de fato um conceito importante para se conhecer no caso de qualquer estudo estatístico. Um ótimo método estatístico inferencial para estimar parâmetros populacionais a partir de dados amostrais. Os intervalos de confiança também estão vinculados ao teste de hipóteses de que, para um IC de 95%, você deixa 5% de espaço para anomalias. Se a hipótese nula estiver dentro do intervalo de confiança, o valor p será grande e não poderemos rejeitar nulo. Por outro lado, se for além, teremos provas suficientes para rejeitar nulo e aceitar hipóteses alternativas.

Espero que tenham gostado do artigo e Feliz Ano Novo (:

A mídia mostrada neste artigo não é propriedade da Analytics Vidhya e é usada a critério do Autor.

Fonte: https://www.analyticsvidhya.com/blog/2022/01/understanding-trust-intervals-with-python/

Carimbo de hora:

Mais de Análise Vidhya