Olá, Julia! Como vai?
Você fez uma ótima observação. O ztest()
, quando não especificamos o desvio padrão populacional, usará o desvio padrão amostral por padrão. Isso pode levar a resultados inesperados...
Quando conhecemos desvio padrão populacional (105 no nosso caso), temos como possibilidade não usar o ztest()
, mas sim fazer o cálculo manualmente. Dessa forma:
Dados:
- Média amostral:
x̄ = 1530
- Média hipotética:
μ₀ = 1570
- Tamanho da amostra:
n = 100
- Desvio padrão populacional:
σ = 105
Fórmula e cálculo:

Transformando isso em código:
import numpy as np
from scipy.stats import norm
# Dados
media_amostra = 1530
tamanho_amostra = 100
valor_medio_hipotese = 1570
desvio_padrao_populacional = 105
# Cálculo
z = (media_amostra - valor_medio_hipotese) / (desvio_padrao_populacional / np.sqrt(tamanho_amostra))
print(f'z = {z:.2f}')
Resultado:
z = -3.81
Esse z-score indica que a média observada está 3,81
desvios padrão abaixo da média hipotética.
Levarei essa observação para a nossa equipe, espero ter ajudado e fico à disposição se precisar.
Abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado