# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3
#     language: python
#     name: python3
# ---

from scipy import stats
import seaborn as sns

dados_normais = stats.norm.rvs(size=1000)

dados_nao_normais = stats.skewnorm.rvs(a=10, size=1000)

# ### Verificar se os dados são normais

# #### Histograma

sns.histplot(dados_normais, kde=True)

sns.histplot(dados_nao_normais, kde=True)

# #### Quantile-quantile plot

from statsmodels.graphics.gofplots import qqplot

qqplot(dados_normais, line='s')

qqplot(dados_nao_normais, line='s')


# #### Teste de Shapiro-Wilk
#
# p-value é usado para interpretar o teste estatístico.
# * p <= alpha: rejeita o teste de hipótese, não é uma distribuição normal.
# * p > alpha: não rejeita o teste de hipótese, é uma distribuição normal.

def teste(p, alpha=0.05):
    if p > alpha:
        print('É uma distribuição normal')
    else:
        print('Não é uma distribuição normal')


from scipy.stats import shapiro

_, p = shapiro(dados_normais)
_, p2 = shapiro(dados_nao_normais)
p

teste(p, 0.05)

teste(p2, 0.05)

StarcoderdataJupyterScriptsDedupFiltered