Data normal

Perancangan Eksperimen dengan Python

James Chapman

Curriculum Manager, DataCamp

Distribusi normal

 

  • Bentuk 'kurva lonceng' yang familier
  • Terkait dengan z-score

$$ {z} = \frac{x-\mu}{\sigma}$$

  • Mean = 0, std = 1
    • 'Berapa simpangan baku jarak titik dari mean?'
    • 'Berapa probabilitas mendapat skor ini?'

 

Plot kurva lonceng tipikal: garis biru di atas latar putih.

Perancangan Eksperimen dengan Python

Data normal dan uji statistik

 

  • Diperlukan untuk uji parametrik
  • Uji nonparametrik: tidak mengasumsikan data normal

 

Plot kurva lonceng tipikal: garis biru di atas latar putih.

Perancangan Eksperimen dengan Python

Normal, Z, dan alpha

 

  • Kunci terkait tingkat signifikansi ($\alpha$)
  • Bandingkan p-value dengan $\alpha$
  • Probabilitas galat Tipe I

 

Distribusi normal dengan dua area kecil di tiap ekor diarsir hitam

Perancangan Eksperimen dengan Python

Memvisualisasikan data normal

 

sns.displot(data=salaries,
            x='salary',
            kind="kde")
plt.show()

 

Distribusi kurva lonceng yang lebih tinggi dan lebih sempit dari biasanya, namun tetap berbentuk lonceng

Perancangan Eksperimen dengan Python

Plot QQ

Plot QQ: bandingkan data dengan distribusi tertentu

from statsmodels.graphics.gofplots import qqplot
from scipy.stats.distributions import norm
qqplot(salaries['salary'], 
       line='s', 
       dist=norm)
plt.show()
  • Ideal: titik menempel garis
  • Buruk: melengkung di ujung

 

Plot QQ dengan titik-titik yang sebagian besar menempel rapat pada garis 45 derajat di tengah

Plot QQ di mana titik-titik di tengah menempel garis 45 derajat, tetapi di kedua ujung titik-titik melengkung ke dalam membentuk garis melengkung

Perancangan Eksperimen dengan Python

Uji kenormalan

 

  • Shapiro–Wilk (baik untuk dataset kecil)
  • D'Agostino $K^2$ (gunakan kurtosis dan kemiringan)
  • Anderson–Darling (mengembalikan daftar nilai)

 

$H_0$ = "Data berasal dari Distribusi Normal"

Perancangan Eksperimen dengan Python

Uji Shapiro–Wilk

 

from scipy.stats import shapiro
alpha = 0.05

stat, p = shapiro(salaries['salary']) print(f"p: {round(p,4)} test stat: {round(stat,4)}")
p: 0.8293 test stat: 0.9956
  • p > alpha
    • Gagal menolak $H_0$ → kemungkinan normal
Perancangan Eksperimen dengan Python

Uji Anderson–Darling

from scipy.stats import anderson
result = anderson(x=salaries['salary'], dist="norm")
print(round(result.statistic,4))
print(result.significance_level)
print(result.critical_values)
0.2748
[15.  10.   5.   2.5  1. ]
[0.572 0.651 0.781 0.911 1.084]
  • 0.2748 < [0.572 0.651 0.781 0.911 1.084]
    • Gagal menolak $H_0$ → kemungkinan normal
Perancangan Eksperimen dengan Python

Ayo berlatih!

Perancangan Eksperimen dengan Python

Preparing Video For Download...