νμ΄μ¬μμ ν΅κ³μ κ°μ€ κ²μ μ λ§μ€ν°νμΈμ. μ΄ κ°μ΄λλ λ°μ΄ν° κ³Όνμ κ°λ , λ°©λ² λ° μ€μ©μ μΈ μμ© λΆμΌλ₯Ό λ€λ£Ήλλ€.
νμ΄μ¬ λ°μ΄ν° κ³Όν: ν΅κ³μ κ°μ€ κ²μ μ λν μ’ ν© κ°μ΄λ
ν΅κ³μ κ°μ€ κ²μ μ λ°μ΄ν° κ³Όνμμ μ€μν μΈ‘λ©΄μΌλ‘, λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ μ 보μ μ κ°ν κ²°μ μ λ΄λ¦΄ μ μλλ‘ ν©λλ€. μ΄λ μ¦κ±°λ₯Ό νκ°νκ³ λͺ¨μ§λ¨μ λν μ£Όμ₯μ΄ μ¬μ€μΌ κ°λ₯μ±μ΄ μλμ§ μ¬λΆλ₯Ό κ²°μ νλ νλ μμν¬λ₯Ό μ 곡ν©λλ€. μ΄ μ’ ν© κ°μ΄λμμλ νμ΄μ¬μ μ¬μ©νμ¬ ν΅κ³μ κ°μ€ κ²μ μ ν΅μ¬ κ°λ , λ°©λ² λ° μ€μ μμ© λΆμΌλ₯Ό μ΄ν΄λ΄ λλ€.
ν΅κ³μ κ°μ€ κ²μ μ΄λ 무μμΈκ°μ?
ν΅μ¬μ μΌλ‘ κ°μ€ κ²μ μ νλ³Έ λ°μ΄ν°λ₯Ό μ¬μ©νμ¬ λͺ¨μ§λ¨μ λν μ£Όμ₯μ νκ°νλ νλ‘μΈμ€μ λλ€. μ΄λ λ κ°μ§ κ²½μ κ°μ€, μ¦ κ·λ¬΄ κ°μ€(H0)κ³Ό λ립 κ°μ€(H1)μ 곡μννλ κ²μ ν¬ν¨ν©λλ€.
- κ·λ¬΄ κ°μ€ (H0): μ΄κ²μ κ²μ λλ μ§μ μ λλ€. μΌλ°μ μΌλ‘ νμ μ μ§ λλ ν¨κ³Ό μμμ λνλ λλ€. μλ₯Ό λ€μ΄, "λ¨μ±κ³Ό μ¬μ±μ νκ· ν€λ κ°μ΅λλ€."
- λ립 κ°μ€ (H1): μ΄κ²μ μ°λ¦¬κ° μ§μ§λ₯Ό μ°ΎμΌλ €κ³ νλ μ§μ μ λλ€. κ·λ¬΄ κ°μ€κ³Ό λͺ¨μλ©λλ€. μλ₯Ό λ€μ΄, "λ¨μ±κ³Ό μ¬μ±μ νκ· ν€λ λ€λ¦ λλ€."
κ°μ€ κ²μ μ λͺ©νλ κ·λ¬΄ κ°μ€μ κΈ°κ°νκ³ λ립 κ°μ€μ μ§μ§ν μΆ©λΆν μ¦κ±°κ° μλμ§ μ¬λΆλ₯Ό κ²°μ νλ κ²μ λλ€.
κ°μ€ κ²μ μ ν΅μ¬ κ°λ
λ€μ κ°λ μ μ΄ν΄νλ κ²μ κ°μ€ κ²μ μ μννκ³ ν΄μνλ λ° νμμ μ λλ€.
P-κ°
p-κ°μ κ·λ¬΄ κ°μ€μ΄ μ°Έμ΄λΌκ³ κ°μ ν λ νλ³Έ λ°μ΄ν°μμ κ³μ°λ κ²κ³Ό κ°κ±°λ λ κ·Ήλ¨μ μΈ κ²μ ν΅κ³λμ κ΄μ°°ν νλ₯ μ λλ€. μμ p-κ°(μΌλ°μ μΌλ‘ μ μ μμ€ μνλ³΄λ€ μμ)μ κ·λ¬΄ κ°μ€μ λν κ°λ ₯ν μ¦κ±°λ₯Ό μμ¬ν©λλ€.
μ μ μμ€ (μν)
μ μ μμ€(Ξ±)μ κ·λ¬΄ κ°μ€μ κΈ°κ°νλ λ° νμν μ¦κ±°μ μμ μ μνλ μ¬μ κ²°μ λ μκ³κ°μ λλ€. μΌλ°μ μΌλ‘ μ¬μ©λλ μν κ°μ 0.05(5%) λ° 0.01(1%)μ λλ€. p-κ°μ΄ μνλ³΄λ€ μμΌλ©΄ κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€.
μ 1μ’ λ° μ 2μ’ μ€λ₯
κ°μ€ κ²μ μλ λ κ°μ§ μ νμ μ€λ₯κ° λ°μν μ μμ΅λλ€.
- μ 1μ’ μ€λ₯ (κ±°μ§ μμ±): μ€μ μ°ΈμΈ κ·λ¬΄ κ°μ€μ κΈ°κ°νλ κ²½μ°μ λλ€. μ 1μ’ μ€λ₯λ₯Ό λ²ν νλ₯ μ μν(Ξ±)μ κ°μ΅λλ€.
- μ 2μ’ μ€λ₯ (κ±°μ§ μμ±): μ€μ κ±°μ§μΈ κ·λ¬΄ κ°μ€μ κΈ°κ°νμ§ λͺ»νλ κ²½μ°μ λλ€. μ 2μ’ μ€λ₯λ₯Ό λ²ν νλ₯ μ λ² ν(Ξ²)λ‘ νμλ©λλ€.
κ²μ λ ₯
κ²μ λ ₯μ κ·λ¬΄ κ°μ€μ΄ κ±°μ§μΌ λ κ·λ¬΄ κ°μ€μ μ¬λ°λ₯΄κ² κΈ°κ°ν νλ₯ (1 - Ξ²)μ λλ€. λμ κ²μ λ ₯μ μ€μ ν¨κ³Όλ₯Ό λ μ νμ§ν μ μμ΅λλ€.
κ²μ ν΅κ³λ
κ²μ ν΅κ³λμ νλ³Έ λ°μ΄ν°μμ κ³μ°λ λ¨μΌ μ«μμ΄λ©° κ·λ¬΄ κ°μ€μ κΈ°κ°ν μ§ μ¬λΆλ₯Ό κ²°μ νλ λ° μ¬μ©λ©λλ€. μλ‘λ t-ν΅κ³λ, z-ν΅κ³λ, F-ν΅κ³λ λ° μΉ΄μ΄μ κ³± ν΅κ³λμ΄ μμ΅λλ€. κ²μ ν΅κ³λμ μ νμ λ°μ΄ν° μ νκ³Ό κ²μ λλ κ°μ€μ λ°λΌ λ¬λΌμ§λλ€.
μ λ’° ꡬκ°
μ λ’° ꡬκ°μ νΉμ μμ€μ μ λ’°λ(μ: 95% μ λ’°λ)λ‘ μ€μ λͺ¨μ§λ¨ λͺ¨μκ° μν κ°λ₯μ±μ΄ μλ κ°μ λ²μλ₯Ό μ 곡ν©λλ€. μ λ’° ꡬκ°μ κ°μ€ κ²μ κ³Ό κ΄λ ¨μ΄ μμ΅λλ€. κ·λ¬΄ κ°μ€ κ°μ΄ μ λ’° κ΅¬κ° μΈλΆμ μμΌλ©΄ κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€.
νμ΄μ¬μμ μΌλ°μ μΈ κ°μ€ κ²μ
νμ΄μ¬μ scipy.stats λͺ¨λμ ν΅κ³μ κ°μ€ κ²μ μ μννκΈ° μν κ΄λ²μν ν¨μλ₯Ό μ 곡ν©λλ€. λ€μμ κ°μ₯ μΌλ°μ μΌλ‘ μ¬μ©λλ λͺ κ°μ§ κ²μ μ
λλ€.
1. T-κ²μ
T-κ²μ μ νλ λλ λ κ·Έλ£Ήμ νκ· μ λΉκ΅νλ λ° μ¬μ©λ©λλ€. T-κ²μ μλ μΈ κ°μ§ μ£Όμ μ νμ΄ μμ΅λλ€.
- λ¨μΌ νλ³Έ T-κ²μ : λ¨μΌ νλ³Έμ νκ· μ μλ €μ§ λͺ¨μ§λ¨ νκ· κ³Ό λΉκ΅νλ λ° μ¬μ©λ©λλ€.
- λ 립 νλ³Έ T-κ²μ (μ΄μ€ νλ³Έ T-κ²μ ): λ λ 립 κ·Έλ£Ήμ νκ· μ λΉκ΅νλ λ° μ¬μ©λ©λλ€. μ΄ κ²μ μ λ κ·Έλ£Ήμ λΆμ°μ΄ λμΌνλ€κ³ κ°μ ν©λλ€(κ°μ§ μμ κ²½μ° μ‘°μ κ°λ₯).
- μ§ νλ³Έ T-κ²μ : λ κ΄λ ¨ κ·Έλ£Ήμ νκ· μ λΉκ΅νλ λ° μ¬μ©λ©λλ€(μ: λμΌν νΌνμμ λν μΈ‘μ μ ν).
μμ (λ¨μΌ νλ³Έ T-κ²μ ):
νΉμ νκ΅(μΌλ³Έ)μ νμ νκ· μν μ μκ° μ κ΅ νκ· (75)κ³Ό μ μλ―Ένκ² λ€λ₯Έμ§ μ¬λΆλ₯Ό ν μ€νΈνλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€. 30λͺ μ νμμ μν μ μ νλ³Έμ μμ§ν©λλ€.
```python import numpy as np from scipy import stats # νλ³Έ λ°μ΄ν° (μν μ μ) scores = np.array([82, 78, 85, 90, 72, 76, 88, 80, 79, 83, 86, 74, 77, 81, 84, 89, 73, 75, 87, 91, 71, 70, 92, 68, 93, 95, 67, 69, 94, 96]) # λͺ¨μ§λ¨ νκ· population_mean = 75 # λ¨μΌ νλ³Έ t-κ²μ μν t_statistic, p_value = stats.ttest_1samp(scores, population_mean) print("T-statistic:", t_statistic) print("P-value:", p_value) # p-κ°μ΄ μν(μ: 0.05)λ³΄λ€ μμμ§ νμΈ alpha = 0.05 if p_value < alpha: print("κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€") else: print("κ·λ¬΄ κ°μ€μ κΈ°κ°νμ§ λͺ»ν©λλ€") ```μμ (λ 립 νλ³Έ T-κ²μ ):
λ λ€λ₯Έ κ΅κ°(μΊλλ€μ νΈμ£Ό)μ μννΈμ¨μ΄ μμ§λμ΄ νκ· μλμ λΉκ΅νλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€. κ° κ΅κ°μ μννΈμ¨μ΄ μμ§λμ΄ νλ³Έμμ μλ λ°μ΄ν°λ₯Ό μμ§ν©λλ€.
```python import numpy as np from scipy import stats # μΊλλ€ μννΈμ¨μ΄ μμ§λμ΄μ μλ λ°μ΄ν° (μ² λ¬λ¬ λ¨μ) canada_income = np.array([80, 85, 90, 95, 100, 105, 110, 115, 120, 125]) # νΈμ£Ό μννΈμ¨μ΄ μμ§λμ΄μ μλ λ°μ΄ν° (μ² λ¬λ¬ λ¨μ) australia_income = np.array([75, 80, 85, 90, 95, 100, 105, 110, 115, 120]) # λ 립 νλ³Έ t-κ²μ μν t_statistic, p_value = stats.ttest_ind(canada_income, australia_income) print("T-statistic:", t_statistic) print("P-value:", p_value) # p-κ°μ΄ μν(μ: 0.05)λ³΄λ€ μμμ§ νμΈ alpha = 0.05 if p_value < alpha: print("κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€") else: print("κ·λ¬΄ κ°μ€μ κΈ°κ°νμ§ λͺ»ν©λλ€") ```μμ (μ§ νλ³Έ T-κ²μ ):
λ μΌμ ν νμ¬κ° μλ‘μ΄ κ΅μ‘ νλ‘κ·Έλ¨μ λμ νκ³ μ§μ μ±κ³Ό ν₯μ μ¬λΆλ₯Ό νμΈνλ €κ³ ν©λλ€. κ·Έλ€μ κ΅μ‘ νλ‘κ·Έλ¨ μ νμ ν κ·Έλ£Ή μ§μμ μ±κ³Όλ₯Ό μΈ‘μ ν©λλ€.
```python import numpy as np from scipy import stats # κ΅μ‘ μ μ±κ³Ό λ°μ΄ν° before_training = np.array([60, 65, 70, 75, 80, 85, 90, 95, 100, 105]) # κ΅μ‘ ν μ±κ³Ό λ°μ΄ν° after_training = np.array([70, 75, 80, 85, 90, 95, 100, 105, 110, 115]) # μ§ νλ³Έ t-κ²μ μν t_statistic, p_value = stats.ttest_rel(after_training, before_training) print("T-statistic:", t_statistic) print("P-value:", p_value) # p-κ°μ΄ μν(μ: 0.05)λ³΄λ€ μμμ§ νμΈ alpha = 0.05 if p_value < alpha: print("κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€") else: print("κ·λ¬΄ κ°μ€μ κΈ°κ°νμ§ λͺ»ν©λλ€") ```2. Z-κ²μ
Z-κ²μ μ λͺ¨μ§λ¨ νμ€ νΈμ°¨κ° μλ €μ Έ μκ±°λ νλ³Έ ν¬κΈ°κ° μΆ©λΆν ν΄ λ(μΌλ°μ μΌλ‘ n > 30) νλ λλ λ κ·Έλ£Ήμ νκ· μ λΉκ΅νλ λ° μ¬μ©λ©λλ€. T-κ²μ κ³Ό μ μ¬νκ² λ¨μΌ νλ³Έ λ° μ΄μ€ νλ³Έ Z-κ²μ μ΄ μμ΅λλ€.
μμ (λ¨μΌ νλ³Έ Z-κ²μ ):
λ² νΈλ¨μμ μ ꡬλ₯Ό μμ°νλ 곡μ₯μ μ ꡬμ νκ· μλͺ μ΄ 1000μκ°μ΄κ³ νμ€ νΈμ°¨κ° 50μκ°μ΄λΌκ³ μ£Όμ₯ν©λλ€. μλΉμ κ·Έλ£Ήμ 40κ°μ μ ꡬ νλ³Έμ ν μ€νΈν©λλ€.
```python import numpy as np from scipy import stats from statsmodels.stats.weightstats import ztest # νλ³Έ λ°μ΄ν° (μ ꡬ μλͺ ) lifespan = np.array([980, 1020, 990, 1010, 970, 1030, 1000, 960, 1040, 950, 1050, 940, 1060, 930, 1070, 920, 1080, 910, 1090, 900, 1100, 995, 1005, 985, 1015, 975, 1025, 1005, 955, 1045, 945, 1055, 935, 1065, 925, 1075, 915, 1085, 895, 1095]) # λͺ¨μ§λ¨ νκ· λ° νμ€ νΈμ°¨ population_mean = 1000 population_std = 50 # λ¨μΌ νλ³Έ z-κ²μ μν z_statistic, p_value = ztest(lifespan, value=population_mean) print("Z-statistic:", z_statistic) print("P-value:", p_value) # p-κ°μ΄ μν(μ: 0.05)λ³΄λ€ μμμ§ νμΈ alpha = 0.05 if p_value < alpha: print("κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€") else: print("κ·λ¬΄ κ°μ€μ κΈ°κ°νμ§ λͺ»ν©λλ€") ```3. ANOVA (λΆμ° λΆμ)
ANOVAλ μΈ κ° μ΄μμ κ·Έλ£Ή νκ· μ λΉκ΅νλ λ° μ¬μ©λ©λλ€. κ·Έλ£Ή νκ· κ°μ μ μλ―Έν μ°¨μ΄κ° μλμ§ μ¬λΆλ₯Ό ν μ€νΈν©λλ€. μΌμ λ°°μΉ λΆμ° λΆμ λ° μ΄μ λ°°μΉ λΆμ° λΆμμ ν¬ν¨ν λ€μν μ νμ ANOVAκ° μμ΅λλ€.
μμ (μΌμ λ°°μΉ λΆμ° λΆμ):
λΈλΌμ§μ ν λ§μΌν νμ¬λ μΈ κ°μ§ λ€λ₯Έ κ΄κ³ μΊ νμΈμ΄ νλ§€μ μ μλ―Έν μν₯μ λ―ΈμΉλμ§ ν μ€νΈνλ €κ³ ν©λλ€. κ° μΊ νμΈμμ λ°μν νλ§€λ₯Ό μΈ‘μ ν©λλ€.
```python import numpy as np from scipy import stats # κ° μΊ νμΈμ νλ§€ λ°μ΄ν° campaign_A = np.array([100, 110, 120, 130, 140]) campaign_B = np.array([110, 120, 130, 140, 150]) campaign_C = np.array([120, 130, 140, 150, 160]) # μΌμ λ°°μΉ λΆμ° λΆμ μν f_statistic, p_value = stats.f_oneway(campaign_A, campaign_B, campaign_C) print("F-statistic:", f_statistic) print("P-value:", p_value) # p-κ°μ΄ μν(μ: 0.05)λ³΄λ€ μμμ§ νμΈ alpha = 0.05 if p_value < alpha: print("κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€") else: print("κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€") ```4. μΉ΄μ΄μ κ³± κ²μ
μΉ΄μ΄μ κ³± κ²μ μ λ²μ£Όν λ°μ΄ν°λ₯Ό λΆμνλ λ° μ¬μ©λ©λλ€. λ λ²μ£Όν λ³μ κ°μ μ μλ―Έν μ°κ΄μ±μ΄ μλμ§ μ¬λΆλ₯Ό ν μ€νΈν©λλ€.
μμ (μΉ΄μ΄μ κ³± κ²μ ):
λ¨μν리카 곡νκ΅μμ μ€μλ μ€λ¬Έ μ‘°μ¬μμ μ¬λλ€μκ² μ μΉμ μ±ν₯(λ―Όμ£ΌλΉ, 곡νλΉ, 무μμ)κ³Ό νΉμ μ μ± μ λν μ견(μ§μ§, λ°λ, μ€λ¦½)μ 묻μ΅λλ€. μ μΉμ μ±ν₯κ³Ό μ μ± μ λν μ견 κ°μ κ΄κ³κ° μλμ§ νμΈνλ €κ³ ν©λλ€.
```python import numpy as np from scipy.stats import chi2_contingency # κ΄μ°°λ λΉλ (λΆν ν) observed = np.array([[50, 30, 20], [20, 40, 40], [30, 30, 40]]) # μΉ΄μ΄μ κ³± κ²μ μν chi2_statistic, p_value, dof, expected = chi2_contingency(observed) print("Chi-square statistic:", chi2_statistic) print("P-value:", p_value) print("Degrees of freedom:", dof) print("Expected frequencies:", expected) # p-κ°μ΄ μν(μ: 0.05)λ³΄λ€ μμμ§ νμΈ alpha = 0.05 if p_value < alpha: print("κ·λ¬΄ κ°μ€μ κΈ°κ°ν©λλ€") else: print("κ·λ¬΄ κ°μ€μ κΈ°κ°νμ§ λͺ»ν©λλ€") ```μ€μ©μ κ³ λ € μ¬ν
1. κ°μ€ κ²μ μ κ°μ
λ§μ κ°μ€ κ²μ μλ κ²°κ³Όκ° μ ν¨νλ €λ©΄ μΆ©μ‘±λμ΄μΌ νλ νΉμ κ°μ μ΄ μμ΅λλ€. μλ₯Ό λ€μ΄, t-κ²μ λ° ANOVAλ μ’ μ’ λ°μ΄ν°κ° μ κ· λΆν¬λκ³ λΆμ°μ΄ λμΌνλ€κ³ κ°μ ν©λλ€. κ²μ κ²°κ³Όλ₯Ό ν΄μνκΈ° μ μ μ΄λ¬ν κ°μ μ νμΈνλ κ²μ΄ μ€μν©λλ€. μ΄λ¬ν κ°μ μλ°μ λΆμ νν κ²°λ‘ μΌλ‘ μ΄μ΄μ§ μ μμ΅λλ€.
2. νλ³Έ ν¬κΈ° λ° κ²μ λ ₯ λΆμ
νλ³Έ ν¬κΈ°λ κ°μ€ κ²μ μ κ²μ λ ₯μ μ€μν μν μ ν©λλ€. λ ν° νλ³Έ ν¬κΈ°λ μΌλ°μ μΌλ‘ κ²μ λ ₯μ μ¦κ°μμΌ μ€μ ν¨κ³Όλ₯Ό νμ§ν κ°λ₯μ±μ λμ λλ€. κ²μ λ ₯ λΆμμ μνλ μμ€μ κ²μ λ ₯μ λ¬μ±νλ λ° νμν μ΅μ νλ³Έ ν¬κΈ°λ₯Ό κ²°μ νλ λ° μ¬μ©λ μ μμ΅λλ€.
μμ (κ²μ λ ₯ λΆμ):
t-κ²μ μ κ³ννκ³ μμΌλ©° 5%μ μ μ μμ€μΌλ‘ 80%μ κ²μ λ ₯μ λ¬μ±νκΈ° μν΄ νμν νλ³Έ ν¬κΈ°λ₯Ό κ²°μ νλ €κ³ νλ€κ³ κ°μ ν΄ λ³΄κ² μ΅λλ€. νμ§νλ €λ νκ· κ°μ μ°¨μ΄(ν¨κ³Ό ν¬κΈ°)μ νμ€ νΈμ°¨λ₯Ό μΆμ ν΄μΌ ν©λλ€.
```python from statsmodels.stats.power import TTestIndPower # λ§€κ°λ³μ effect_size = 0.5 # μ½ν¨μ d alpha = 0.05 power = 0.8 # κ²μ λ ₯ λΆμ μν analysis = TTestIndPower() sample_size = analysis.solve_power(effect_size=effect_size, power=power, alpha=alpha, ratio=1) print("κ·Έλ£ΉλΉ νμν νλ³Έ ν¬κΈ°:", sample_size) ```3. λ€μ€ κ²μ
μ¬λ¬ κ°μ€ κ²μ μ μνν λ μ 1μ’ μ€λ₯(κ±°μ§ μμ±)λ₯Ό λ²ν νλ₯ μ΄ μ¦κ°ν©λλ€. μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ Bonferroni 보μ λλ Benjamini-Hochberg μ μ°¨μ κ°μ p-κ° μ‘°μ λ°©λ²μ μ¬μ©νλ κ²μ΄ μ€μν©λλ€.
4. λ§₯λ½μμ κ²°κ³Ό ν΄μ
κ°μ€ κ²μ κ²°κ³Όλ₯Ό μ°κ΅¬ μ§λ¬Έ λ° λΆμ μ€μΈ λ°μ΄ν°μ λ§₯λ½μμ ν΄μνλ κ²μ΄ μ€μν©λλ€. ν΅κ³μ μΌλ‘ μ μλ―Έν κ²°κ³Όκ° λ°λμ μ€μ μ μΈ μ μμ±μ μλ―Ένλ κ²μ μλλλ€. ν¨κ³Όμ ν¬κΈ°μ μ€μ μ μΈ μλ―Έλ₯Ό κ³ λ €νμμμ€.
κ³ κΈ μ£Όμ
1. λ² μ΄μ§μ κ°μ€ κ²μ
λ² μ΄μ§μ κ°μ€ κ²μ μ μ ν΅μ μΈ(λΉλμ£Όμμ ) κ°μ€ κ²μ μ λν λμμ μΈ μ κ·Ό λ°©μμ μ 곡ν©λλ€. μ΄λ νλμ κ°μ€μ λν λ€λ₯Έ κ°μ€μ λν μ¦κ±°λ₯Ό μ λννλ λ² μ΄μ¦ μμΈμ κ³μ°νλ κ²μ ν¬ν¨ν©λλ€.
2. λΉλͺ¨μ κ²μ
λΉλͺ¨μ κ²μ μ λͺ¨μμ κ²μ (μ: μ κ·μ±)μ κ°μ μ΄ μΆ©μ‘±λμ§ μμ λ μ¬μ©λ©λλ€. μλ‘λ Mann-Whitney U κ²μ , Wilcoxon λΆνΈ μμ κ²μ λ° Kruskal-Wallis κ²μ μ΄ μμ΅λλ€.
3. μ¬νλ³Έ μΆμΆ λ°©λ² (λΆνΈμ€νΈλν λ° μμ΄ κ²μ )
λΆνΈμ€νΈλν λ° μμ΄ κ²μ κ³Ό κ°μ μ¬νλ³Έ μΆμΆ λ°©λ²μ κΈ°λ³Έ λͺ¨μ§λ¨ λΆν¬μ λν κ°λ ₯ν κ°μ μ νμ§ μκ³ κ²μ ν΅κ³λμ νλ³Έ λΆν¬λ₯Ό μΆμ νλ λ°©λ²μ μ 곡ν©λλ€.
κ²°λ‘
ν΅κ³μ κ°μ€ κ²μ μ κ³Όν, λΉμ¦λμ€ λ° μμ§λμ΄λ§μ ν¬ν¨ν λ€μν λΆμΌμμ λ°μ΄ν° κΈ°λ° κ²°μ μ λ΄λ¦¬λ κ°λ ₯ν λꡬμ
λλ€. ν΅μ¬ κ°λ
, λ°©λ² λ° μ€μ κ³ λ € μ¬νμ μ΄ν΄ν¨μΌλ‘μ¨ λ°μ΄ν° κ³Όνμλ κ°μ€ κ²μ μ ν¨κ³Όμ μΌλ‘ μ¬μ©νμ¬ λ°μ΄ν°μμ ν΅μ°°λ ₯μ μ»κ³ μλ―Έ μλ κ²°λ‘ μ λμΆν μ μμ΅λλ€. νμ΄μ¬μ scipy.stats λͺ¨λμ κ΄λ²μν κ°μ€ κ²μ μ μννκΈ° μν ν¬κ΄μ μΈ ν¨μ μΈνΈλ₯Ό μ 곡ν©λλ€. κ° κ²μ μ κ°μ , νλ³Έ ν¬κΈ° λ° λ€μ€ κ²μ κ°λ₯μ±μ μ μ€νκ² κ³ λ €νκ³ μ°κ΅¬ μ§λ¬Έμ λ§₯λ½μμ κ²°κ³Όλ₯Ό ν΄μν΄μΌ ν©λλ€. μ΄ κ°μ΄λλ μ€μ λ¬Έμ μ μ΄λ¬ν κ°λ ₯ν λ°©λ²μ μ μ©νκΈ° μν κ²¬κ³ ν κΈ°λ°μ μ 곡ν©λλ€. μ΄ν΄λ₯Ό μ¬ννκ³ λ°μ΄ν° κ³Όν κΈ°μ μ ν₯μμν€κΈ° μν΄ κ³μν΄μ νμνκ³ λ€μν κ²μ λ° κΈ°μ μ μ€ννμμμ€.
μΆκ° νμ΅:
- ν΅κ³ λ° λ°μ΄ν° κ³Όνμ λν μ¨λΌμΈ κ°μ’ (μ: Coursera, edX, DataCamp)
- ν΅κ³ν κ΅κ³Όμ
- νμ΄μ¬μ
scipy.statsλͺ¨λ μ€λͺ μ - νΉμ κ°μ€ κ²μ κΈ°μ μ λν μ°κ΅¬ λ Όλ¬Έ λ° κΈ°μ¬