μλ νμΈμ, λ°μ΄ν° λΆμμ κ΄μ¬ μλ μ¬λ¬λΆ! μ€λμ νμ΄μ¬μ μ¬μ©ν΄ ν΅κ³μ κ°μ€ κ²μ κ³Ό νκ· λΆμμ μννλ λ°©λ²μ λν΄ μμλ³΄κ² μ΅λλ€. μ΄ κ°λ ₯ν λꡬλ€μ΄ μ΄λ»κ² μ°λ¦¬μ μμ¬κ²°μ μ λμμ£Όλμ§, κ·Έλ¦¬κ³ μ€μ λ°μ΄ν°μ μ΄λ»κ² μ μ©λλμ§ ν¨κ» μ΄ν΄λ³ΌκΉμ? π€
ν΅κ³μ κ°μ€ κ²μ : λ°μ΄ν°λ‘ μ§μ€ μ°ΎκΈ° π΅️♀️
κ°μ€ κ²μ μ΄λ?
κ°μ€ κ²μ μ λ§μΉ νμ¬κ° μ¦κ±°λ₯Ό μμ§νμ¬ λ²μΈμ μ°Ύλ κ²κ³Ό λΉμ·ν©λλ€. μ°λ¦¬λ μ΄λ€ μ£Όμ₯(κ·λ¬΄κ°μ€)μ μΈμ°κ³ , μ΄μ λν λ°λ μ¦κ±°(λ립κ°μ€)λ₯Ό μ°Ύμ λμλλ€.
μλ₯Ό λ€μ΄, "μ΄ λμ μ 곡μ νλ€"λΌλ μ£Όμ₯μ κ²μ¦νκ³ μΆλ€λ©΄:
- κ·λ¬΄κ°μ€(H₀): λμ μ 곡μ νλ€ (μλ©΄μ΄ λμ¬ νλ₯ = 50%)
- λ립κ°μ€(H₁): λμ μ 곡μ νμ§ μλ€ (μλ©΄μ΄ λμ¬ νλ₯ ≠ 50%)
νμ΄μ¬μΌλ‘ κ°μ€ κ²μ νκΈ°
νμ΄μ¬μ `scipy` λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ©΄ κ°λ¨νκ² κ°μ€ κ²μ μ ν μ μμ΄μ!
```python
from scipy import stats
# λμ λμ§κΈ° κ²°κ³Ό (1: μλ©΄, 0: λ·λ©΄)
coin_flips = [1, 0, 1, 1, 0, 1, 1, 1, 0, 1]
# μ΄ν κ²μ μν
result = stats.binomtest(sum(coin_flips), n=len(coin_flips), p=0.5)
print(f"p-value: {result.pvalue:.4f}")
```
p-value: 0.3438
p-valueκ° 0.05λ³΄λ€ μμΌλ©΄ κ·λ¬΄κ°μ€μ κΈ°κ°νκ³ , λμ μ΄ κ³΅μ νμ§ μλ€κ³ κ²°λ‘ λ΄λ¦΄ μ μμ΅λλ€. ν₯λ―Έμ§μ§νμ§ μλμ? π
νκ· λΆμ: λ°μ΄ν° μ κ΄κ³ νν€μΉκΈ° π
νκ· λΆμμ΄λ?
νκ· λΆμμ λ³μλ€ μ¬μ΄μ κ΄κ³λ₯Ό μνμ μΌλ‘ νννλ λ°©λ²μ λλ€. λ§μΉ λ°μ΄ν° ν¬μΈνΈλ€ μ¬μ΄μμ κ°μ₯ μ μ΄μΈλ¦¬λ μ μ 그리λ κ²κ³Ό κ°μ£ !
νμ΄μ¬μΌλ‘ νκ· λΆμνκΈ°
`statsmodels` λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ©΄ 볡μ‘ν νκ· λΆμλ μ½κ² ν μ μμ΅λλ€.
```python
import statsmodels.api as sm
import numpy as np
# μμ λ°μ΄ν° μμ±
X = np.random.rand(100, 1)
y = 2 + 3 * X + np.random.randn(100, 1)
# νκ· λΆμ μν
X = sm.add_constant(X)
model = sm.OLS(y, X).fit()
print(model.summary())
```
OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 0.519 Model: OLS Adj. R-squared: 0.514 Method: Least Squares F-statistic: 105.6 Date: Thu, 27 Feb 2025 Prob (F-statistic): 3.04e-17 Time: 14:06:59 Log-Likelihood: -143.30 No. Observations: 100 AIC: 290.6 Df Residuals: 98 BIC: 295.8 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const 1.6565 0.207 7.997 0.000 1.245 2.068 x1 3.6168 0.352 10.277 0.000 2.918 4.315 ============================================================================== Omnibus: 5.637 Durbin-Watson: 1.949 Prob(Omnibus): 0.060 Jarque-Bera (JB): 5.048 Skew: -0.525 Prob(JB): 0.0801 Kurtosis: 3.328 Cond. No. 4.40 ============================================================================== Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
μ΄ μ½λλ y = 2 + 3X + Ξ΅ ννμ κ΄κ³λ₯Ό κ°μ§ λ°μ΄ν°μ λν΄ νκ· λΆμμ μνν©λλ€. κ²°κ³Όλ₯Ό ν΅ν΄ μ°λ¦¬λ μ€μ κ΄κ³κ° μΌλ§λ μ νν μΆμ λμλμ§ νμΈν μ μμ΄μ! π§
μ€μ μ¬λ‘λ‘ λ°°μ°λ λ°μ΄ν° λΆμ π
μ£Όν κ°κ²© μμΈ‘νκΈ° π
보μ€ν΄ μ£Όν κ°κ²© λ°μ΄ν°μ μ μ¬μ©ν΄ μ€μ νκ· λΆμμ ν΄λ΄ μλ€.
```python
from sklearn.datasets import load_boston
from statsmodels.formula.api import ols
# λ°μ΄ν° λ‘λ
boston = load_boston()
df = pd.DataFrame(boston.data, columns=boston.feature_names)
df['PRICE'] = boston.target
# νκ· λͺ¨λΈ λ§λ€κΈ°
model = ols('PRICE ~ RM + LSTAT', data=df).fit()
print(model.summary())
```
μ΄ λΆμμ ν΅ν΄ μ°λ¦¬λ λ°©μ κ°μ(RM)κ° μ¦κ°ν μλ‘ μ§ κ°κ²©μ΄ μ¬λΌκ°κ³ , μ μλμΈ΅ λΉμ¨(LSTAT)μ΄ λμμλ‘ μ§ κ°κ²©μ΄ λ΄λ €κ°λ€λ κ²μ μ μ μμ΅λλ€. ν₯λ―Έλ‘μ§ μλμ? π€
μ μ‘° 곡μ κ°μ ν¨κ³Ό κ²μ¦νκΈ° π
μ΄λ€ νμ¬κ° μλ‘μ΄ μ μ‘° 곡μ μ λμ νλ€κ³ κ°μ ν΄λ΄ μλ€. μ΄ κ³΅μ μ΄ μ λ§λ‘ ν¨κ³Όκ° μλμ§ t-κ²μ μΌλ‘ νμΈν΄λ³Ό μ μμ΄μ.
```python
import scipy.stats as stats
# κ°μμ λ°μ΄ν°
before = [10.2, 9.8, 10.0, 10.1, 9.9]
after = [10.5, 10.3, 10.4, 10.3, 10.6]
# λμνλ³Έ t-κ²μ μν
t_stat, p_value = stats.ttest_rel(before, after)
print(f"t-ν΅κ³λ: {t_stat:.4f}, p-value: {p_value:.4f}")
```
t-ν΅κ³λ: -4.8824, p-value: 0.0081
p-valueκ° 0.05λ³΄λ€ μλ€λ©΄, μλ‘μ΄ κ³΅μ μ΄ μ€μ λ‘ ν¨κ³Όκ° μλ€κ³ κ²°λ‘ λ΄λ¦΄ μ μμ΅λλ€. κ³Όνμ μΈ λ°©λ²μΌλ‘ λΉμ¦λμ€ μμ¬κ²°μ μ λ΄λ¦¬λ κ±°μ£ ! π¨π¬π©π¬
λ§μΉλ©° π
ν΅κ³μ κ°μ€ κ²μ κ³Ό νκ· λΆμμ λ°μ΄ν° κ³Όνμ κ°λ ₯ν λꡬμ λλ€. νμ΄μ¬μ μ¬μ©νλ©΄ μ΄λ¬ν 볡μ‘ν λΆμλ λͺ μ€μ μ½λλ‘ κ°λ¨ν μνν μ μμ£ . μ΄μ μ¬λ¬λΆλ λ°μ΄ν° μμ μ¨κ²¨μ§ μ§μ€μ μ°ΎμλΌ μ€λΉκ° λμμ΅λλ€!
λ€μμλ λ κ³ κΈ μ£Όμ μΈ λ¨Έμ λ¬λ μκ³ λ¦¬μ¦κ³Ό λ₯λ¬λμ λν΄ μμ보λλ‘ νκ² μ΅λλ€. λ°μ΄ν° κ³Όνμ μΈκ³μμ μ¬λ¬λΆμ λͺ¨νμ κ³μλ©λλ€! π
κΆκΈν μ μ΄λ λ μκ³ μΆμ λ΄μ©μ΄ μλ€λ©΄ λκΈλ‘ λ¨κ²¨μ£ΌμΈμ. ν¨κ» λ°°μ°κ³ μ±μ₯νλ μ¦κ±°μμ λλ λ΄μ! ππ‘
#λ°μ΄ν°κ³Όν #νμ΄μ¬ #ν΅κ³λΆμ #νκ·λΆμ #κ°μ€κ²μ #λ°μ΄ν°λ§μ΄λ #λ°μ΄ν°λΆμ #νμ΄μ¬ν΅κ³ #λ°μ΄ν°μ¬μ΄μΈμ€ #ν΅κ³νμ΅ #νμ΄μ¬μ½λ© #λ°μ΄ν°μκ°ν #λ¨Έμ λ¬λκΈ°μ΄ #μ€λ¬΄λ°μ΄ν°λΆμ #ν΅κ³μ μΆλ‘ #νμ΄μ¬λΌμ΄λΈλ¬λ¦¬ #scipy #statsmodels #λ°μ΄ν°λ§μ΄λ #λΉμ¦λμ€μΈν 리μ μ€ #μμ¬κ²°μ λΆμ #μμΈ‘λͺ¨λΈλ§ #λ°μ΄ν°κΈ°λ°μμ¬κ²°μ #νμ΄μ¬νλ‘κ·Έλλ°
0 λκΈ