import pandas as pd
from scipy import stats
import numpy as np
from statsmodels.stats.weightstats import ztest
# Conjunto de dados TechTaste
df_techtaste = pd.DataFrame({'avaliacoes': [38, 44, 33, 42, 47, 33, 36, 39, 42, 36, 39,
34, 42, 42, 36, 43, 31, 35, 36, 41, 42, 30,
25, 38, 47, 36, 32, 45, 44, 45, 37, 48, 37,
36, 44, 49, 31, 45, 45, 40, 36, 50, 38, 34,
36, 42, 46, 49, 36, 34, 38, 31, 53, 40, 57,
40, 36, 42, 26, 50, 32, 43, 35, 37, 42, 30,
36, 43, 40, 43, 44, 52, 37, 51, 35, 47, 40,
50, 37, 49]})
#Calcule a média amostral das avaliações
media_amostral = df_techtaste['avaliacoes'].mean()
print(media_amostral)
#Formule hipóteses para o problema da empresa
hipotese_nula = 30
#Estabelecidos o nível de confiança em 95% e o desvio padrão populacional em 2.65,
#verifique se a média da amostra está definida dentro do intervalo de confiança da hipótese nula.
nivel_confianca = 0.95
desvio_padrao_populacional = 2.65
tamanho_amostra = len(df_techtaste)
intervalo_confianca = stats.norm.interval(
nivel_confianca,
loc = hipotese_nula,
scale = desvio_padrao_populacional / np.sqrt(tamanho_amostra)
)
print(intervalo_confianca)
(np.float64(29.419303816868016), np.float64(30.580696183131984))
#### O que é possível entender a partir do resultado da etapa anterior?
if media_amostral in intervalo_confianca:
print(f'A média da amostra({media_amostral}) está no intervalo de confiança')
else:
print(f'A média da amostra({media_amostral}) não está no intervalo de confiança')
A média da amostra(40.025) não está no intervalo de confiança
#Utilize o Teste Z para calcular o valor da Estatística Z e o p-valor para o problema da TechTaste.
stats, p_valor = ztest(
x1 = df_techtaste['avaliacoes'], #amostragem que estou testando
value = hipotese_nula, #hipótese a ser testada
alternative = "two-sided" #coloca a outra hipótese
)
print(f'Estatística Z: {stats}, Valor-p: {p_valor}')
Estatística Z: 13.96274198988354, Valor-p: 2.6311293593122384e-44
#Pelos resultados anteriores, a hipótese nula formulada é rejeitada
# ou não rejeitada? Explique o que justifica sua decisão.
if p_valor < 0.05:
print('A hipótese nula é rejeitada')
else:
print('A hipótese nula não é rejeitada')
A hipótese nula é rejeitada.