<jupyter_start><jupyter_text>Testes de hipóteseEste notebook é responsável por realizar testes de hipóteses sobre o dataset, para comparar valores de categorias.<jupyter_code>from Utils import *
from tqdm import tqdm
from matplotlib import pyplot as plt
import seaborn as sns
from scipy import stats

#Ao executar o teste de Shapiro-Wilk, o Scipy gera um Warning dizendo que este
#teste pode retornar valores não acurados para populaçoes com mais de 5000 elementos.
import warnings
warnings.filterwarnings('ignore')
pd.set_option('display.max_colwidth', 100)
DATASET = "../datasets/clean_vehicles_2.csv"
df = pd.read_csv(DATASET)<jupyter_output><empty_output><jupyter_text>PropostaQueremos analisar qual o comportamento de troca de veículos de consumidores de carros japoneses. Carros Japoneses são muito conhecidos por sua durabilidade, logo é expectável que um proprietário passe mais tempo com ele antes de revendê-lo. Vamos tentar verificar se isto é uma verdade, e vamos tentar saber se este padrão de troca de veículos é comum entre usuários das 3 marcas japonesas mais populares nos EUA: Toyota, Nissan e Honda.Para isso, vamos verificar se a distribuição de ano de fabricação de cada carro revendido é normal. Divideremos os dados nas 3 fabricantes citadas acima<jupyter_code>filter_list = ['toyota','nissan','honda']

#Dividindo o dataset entre as 3 fabricantes citadas
toyota = df[df['manufacturer'].isin(['toyota'])][['price', 'year','odometer']]
nissan = df[df['manufacturer'].isin(['nissan'])][['price', 'year','odometer']]
honda = df[df['manufacturer'].isin(['honda'])][['price', 'year','odometer']]

#Plotting do Histograma e Boxplot
fig, axs = plt.subplots(1,2)
fig.subplots_adjust(right=2)
df[df['manufacturer'].isin(filter_list)]['year'].plot.hist(ax=axs[0], bins = 30)
df[df['manufacturer'].isin(filter_list)]['year'].plot(kind='box',ax=axs[1])<jupyter_output><empty_output><jupyter_text>Conseguimos observar que o gráfico não parece uma distribuição normal.vamos garantir isto executando o teste de normalidade Shapiro-Wilk. Adotando uma significancia de 5%. Ou seja, se P-Valor < 0,05 a hipótese nula é rejeitada.**Hipótese nula: A população é normalmente distribuída.**<jupyter_code>#Executando o teste de Shapiro-Wilk
ststc, pvalue = stats.shapiro(df[df['manufacturer'].isin(filter_list)]['year'])

if(pvalue < 0.05):
    print("Hipótese Nula rejeitada: A população não é normalmente distribuida.")
else:
    print("Hipótese Nula aceita: A população é normalmente distribuida.")<jupyter_output>Hipótese Nula rejeitada: A população não é normalmente distribuida.<jupyter_text>Análises individuais por marca Toyota<jupyter_code>#Plotting do histograma e do Boxplot
fig, axs = plt.subplots(1,2)
fig.subplots_adjust(right=2)
toyota['year'].plot.hist(ax=axs[0], bins = 30)
toyota['year'].plot(kind='box',ax=axs[1])

#Executando o teste de Shapiro-Wilk
ststc, pvalue = stats.shapiro(toyota['year'])

if(pvalue < 0.05):
    print("Hipótese Nula rejeitada: A população não é normalmente distribuida.")
else:
    print("Hipótese Nula aceita: A população é normalmente distribuida.")

mode = toyota['year'].mode().loc[0]
print("Para Toyota, os carros mais revendidos são os fabricados em " +floatStr(mode)+ ". Com "+str(2020-mode)+" anos de uso.")<jupyter_output>Hipótese Nula rejeitada: A população não é normalmente distribuida.
Para Toyota, os carros mais revendidos são os fabricados em 2017.0. Com 3.0 anos de uso.<jupyter_text>Honda<jupyter_code>#Plotting do histograma e do Boxplot
fig, axs = plt.subplots(1,2)
fig.subplots_adjust(right=2)
honda['year'].plot.hist(ax=axs[0], bins = 30)
honda['year'].plot(kind='box',ax=axs[1])

#Executando o teste de Shapiro-Wilk
ststc, pvalue = stats.shapiro(honda['year'])

if(pvalue < 0.05):
    print("Hipótese Nula rejeitada: A população não é normalmente distribuida.")
else:
    print("Hipótese Nula aceita: A população é normalmente distribuida.")
    
    
mode = honda['year'].mode().loc[0]
print("Para Honda, os carros mais revendidos são os fabricados em " +floatStr(mode)+ ". Com "+str(2020-mode)+" anos de uso.")<jupyter_output>Hipótese Nula rejeitada: A população não é normalmente distribuida.
Para Honda, os carros mais revendidos são os fabricados em 2012.0. Com 8.0 anos de uso.<jupyter_text>Nissan<jupyter_code>#Plotting do histograma e do Boxplot
fig, axs = plt.subplots(1,2)
fig.subplots_adjust(right=2)
nissan['year'].plot.hist(ax=axs[0], bins = 30)
nissan['year'].plot(kind='box',ax=axs[1])

#Executando o teste de Shapiro-Wilk
ststc, pvalue = stats.shapiro(nissan['year'])

if(pvalue < 0.05):
    print("Hipótese Nula rejeitada: A população não é normalmente distribuida.")
else:
    print("Hipótese Nula aceita: A população é normalmente distribuida.")
    
mode = nissan['year'].mode().loc[0]
print("Para Nissan, os carros mais revendidos são os fabricados em " +floatStr(mode)+ ". Com "+str(2020-mode)+" anos de uso.")<jupyter_output>Hipótese Nula rejeitada: A população não é normalmente distribuida.
Para Nissan, os carros mais revendidos são os fabricados em 2017.0. Com 3.0 anos de uso.<jupyter_text>Hipótese não pairadasQueremos perceber se há relação entre a quantidade de anuncios de  Hondas e Toyotas de mesmo ano de fabricação. Como estas grandezas **não são relacionadas (Pairadas)**, usaremos teste de **Mann Whitneyu.** Para esta análise, consideraremos uma significância de 5% (0.05). Ou seja, se P Valor < 0.05, a hipótese nula será rejeitada.**A Hipótese nula é que as distrubuições são estatisticamente iguais.** Honda x Toyota<jupyter_code>#Executando o teste de Mann Whitneyu
result, pvalue = stats.mannwhitneyu(honda['year'],toyota['year'])

if(pvalue > 0.05):
    print("Hipótese nula aceita: As populações são estatisticamente iguais")
else:
    print("Hipótese nula rejeitada: As populações não são estatisticamente iguais")<jupyter_output>Hipótese nula aceita: As populações são estatisticamente iguais<jupyter_text>Toyota x Nissan<jupyter_code>result, pvalue = stats.mannwhitneyu(toyota['year'],nissan['year'])

if(pvalue > 0.05):
    print("Hipótese nula aceita: As populações são estatisticamente iguais")
else:
    print("Hipótese nula rejeitada: As populações não são estatisticamente iguais")<jupyter_output>Hipótese nula rejeitada: As populações não são estatisticamente iguais<jupyter_text>Nissan x Honda<jupyter_code>#Executando o teste de Mann Whitneyu
result, pvalue = stats.mannwhitneyu(nissan['year'],honda['year'])

if(pvalue > 0.05):
    print("Hipótese nula aceita: As populações são estatisticamente iguais")
else:
    print("Hipótese nula rejeitada: As populações não são estatisticamente iguais")<jupyter_output>Hipótese nula rejeitada: As populações não são estatisticamente iguais
{'fraction_non_alphanumeric': 0.11079630181926634, 'fraction_numerical': 0.01595586042350134, 'mean_word_length': 6.173262032085561, 'pattern_counts': {'":': 0, '<': 36, '<?xml version=': 0, '>': 33, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '234226', 'license': 'MIT', 'n_tokens_mistral': 2574, 'n_tokens_neox': 2470, 'n_words': 695, 'path': 'Parte 1/notebooks/4-hypothesys_tests.ipynb', 'repo_name': 'mbs8/IF679-ciencia-de-dados', 'size': '6706'}