A partir da execução dos testes do exercício, conclui-se que a hipótese nula de que a média de avaliações é igual a 30 deve ser REJEITADA.
#Importação dos módulos
import pandas as pd
import numpy as np
from scipy import stats
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]})
#====================================================
# Etapa 1 - Cálculo da Média amostral
media_amostral=df_techtaste['avaliacoes'].mean()
print("Média amostral: ", media_amostral)
#====================================================
# Etapa 2 - Formulação das hipóteses
# H0: mi = 30
# H1: mi != 30
media_hipotese = 30
#====================================================
# Etapa 3 - Verificar se a média da amostra está definida dentro do intervalo de confiança da hipótese nula
# Dados
confianca = 0.95
desvio_padrao_populacional = 2.65
tamanho_amostra=len(df_techtaste)
print("Tamanho da amostra: ", tamanho_amostra)
#calculando o IC
intervalo=stats.norm.interval(
confianca,
loc=30,
scale = (desvio_padrao_populacional/np.sqrt(tamanho_amostra)))
print("IC - Intervalo de confiança (95%):", intervalo)
if media_amostral>intervalo[0] and media_amostral<intervalo[1]:
print("A média da amostra está dentro do intervalo de confiança")
else:
print("A média da amostra não está dentro do intervalo de confiança")
#====================================================
# Etapa 4 - Entendimento
if media_amostral>intervalo[0] and media_amostral<intervalo[1]:
print("A média da amostra está dentro do intervalo de confiança")
else:
print("A média da amostra não está dentro do intervalo de confiança")
#====================================================
# Etapa 5 - Utilizar o Teste Z
stats, p_valor = ztest(x1 = df_techtaste['avaliacoes'], value = 30, alternative = "two-sided")
print("Valor do p-valor: ", p_valor)
# Etapa 6 - Conclusão
significancia = 0.05
if p_valor < 0.05:
conclusao = "Rejeitar a hipótese nula"
else:
conclusao = "Não rejeita a hipótese nula"
print("Conclusão:", conclusao)