import seaborn as sns import numpy as np. import scipy as sp import matplotlib.pyplot as plt

from statsmodels.distributions.empirical_distribution import ECDF

tips = sns.load_dataset(’tips’) print(tips.head())

tips[’logtip’] = np.log(tips.tip)

m, s = sp.stats.norm.fit(tips.logtip)

print (’Wartosc srednia wynosi %s a odchylenie standardowe %s.’ % (round(m,3),round(s,3)))

plt.figure()

plt.subplot(121)

plt.axis([-0.5, 3, 0, 1])

ecdf = ECDF(tips.logtip)

plt.step(ecdf.x, ecdf.y, 'r-’, label = r’$\hat{F}_n(x)$’)

t1 = np.linspace(-0.5, 3, 100)

t2 = sp.stats.norm.cdf(t1, loc = m, scale = s)

t3 = sp.stats.norm.pdf(t1, loc = m, scale = s)

plt.plot(t1, t2, 'b–’, label = r’$\mathrm{N}(%.2f, %.2f)$’ % (m, s))

plt.legend(loc = 'best’)

plt.subplot(122)

sns.distplot(tips.logtip, bins = 8, color = 'k’)

plt.plot(t1, t3, 'g–’)

plt.figure(2)

sp.stats.probplot(tips.logtip, dist = sp.stats.norm, plot = plt)

plt.show()

# POZIOM ISTOTNOŚCI (P-VALUE) > 0.05 to nie mamy podstaw żeby odrzucić hipotezę zerową. Gdy p-value < 0.05 to odrzucamy hipotezę zerową na rzecz hipotezy alternatywnej

test1 = sp.stats.skewtest(tips.logtip) # test skosnosci H0: skosnosc = 0, H1: skosnosc != 0

print(’Wartosc statystyki testowej: %s a p-value: %s’ %(round(test1.statistic,4),round(test1.pvalue,4)))

test2 = sp.stats.kurtosistest(tips.logtip) # test kurtozy H0: kurtoza = 3, H1: kurtoza != 3

print(’Wartosc statystyki testowej: %s a p-value: %s’ %(round(test2.statistic,4),round(test2.pvalue,4)))

test3 = sp.stats.shapiro(tips.logtip) # test Shapiro – Wilka (sprawdza jednoczesnie kurtoze i skosnosc)

print(’Wartosc statystyki testowej: %s a p-value: %s’ %(round(test3[0],4),round(test3[1],4)))

test4 = sp.stats.kstest(tips.logtip, 'norm’, args = (m, s)) # test Kołomogorowa – Smirnowa porownuje dystrybuanty

print(’Wartosc statystyki testowej: %s a p-value: %s’ %(round(test4.statistic,4),round(test4.pvalue,4)))