T-test +
t-test๋ ๊ทธ๋ฃน์ ํ๊ท ๊ฐ์ ๋ํด์ ๋น๊ตํ๋ ๊ฐ์ค๊ฒ์ ๋ฐฉ๋ฒ
t-test๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ช๊ฐ์ง ์กฐ๊ฑด์ด ๊ฐ์ ๋์ด์ผํ๋ค.
- ๋ ๋ฆฝ์ฑ : ๋ ๊ทธ๋ฃน์ด ์ฐ๊ฒฐ๋์ด์๋ ์์ธ์ง
- ๋ฑ๋ถ์ฐ์ฑ : ๋ ๊ทธ๋ฃน์ด ์ด๋์ ๋ ์ ์ฌํ ์์ค์ ๋ถ์ฐ ๊ฐ์ ๊ฐ์ง๋์ง
- ์ ๊ท์ฑ : ๋ฐ์ดํฐ๊ฐ ์ ๊ท์ฑ์ ๋ํ๋ด๋์ง
(์์ ์กฐ๊ฑด๋ค์ ์ข๋ ์ฐพ์์ ๋ณด์ถฉํ ๊ฒ)
์ฆ, t-test๋ ํน์ ํ ์กฐ๊ฑด์์ ๊ทธ๋ฃน์ ํ๊ท ์ ๋น๊ตํ๊ธฐ ์ํ ๊ฐ์ค๊ฒ์ ๋ฐฉ๋ฒ
์ด๋ฌํ ๋ด์ฉ๋ค์ ํ์ธํ๊ธฐ ์ํ(๋ฐ์ดํฐ๊ฐ ์์ ์กฐ๊ฑด๋ค์ ๋ง์กฑํ๋์ง ํ์ธํ๊ธฐ ์ํ) ๊ฐ์ค๊ฒ์ ๋ฐฉ๋ฒ๋ค์ด scipy์ ๊ตฌํ๋์ด์๋ค.
๋ฐ์ดํฐ์ ์ ๊ท์ฑ ํ์ธ
์๋์ ๊ฐ์ด ๋ฐ์ดํฐ๊ฐ ์ ๊ท๋ถํฌ์ ๋ค๋ฅธ ์์์ ๋ณด์ธ๋ค๋ฉด?
scipy.stats.normaltest
from scipy import stats
import numpy as np
sample = np.random.poisson(5, 1000) # normal ๋ถํฌ๊ฐ ์๋ ํฌ์์ก ๋ถํฌ๋ฅผ ์๋ก ํ
์คํธํด๋ณด์
stats.normaltest(sample)
NormaltestResult(statistic=20.30705116357633, pvalue=3.89385583211646e-05)
์ฆ p-value๊ฐ ๋งค์ฐ ์์(<0.05). ๊ท๋ฌด๊ฐ์ค์ธ 'sample์ ์ ๊ท๋ถํฌ์ด๋ค.' ๊ฐ ๊ธฐ๊ฐ
๋ฐ๋ฉด
sample2 = np.random.normal(size = 1000) # normal ๋ถํฌ๋ก ์์
stats.normaltest(sample2)
NormaltestResult(statistic=1.1197351139362957, pvalue=0.5712847215191075)
p-value>0.05์ด๋ฏ๋ก ๊ท๋ฌด๊ฐ์ค์ ๊ธฐ๊ฐํ ์ ์๋ค.
๊ฐ์ค ๊ฒ์ ํ๋ ๋ฐฉ๋ฒ์ ์ ๋ง ์ ์์ด ๋ง๋ค.
Non-Parametric Methods(๋น๋ชจ์์ ๋ฐฉ๋ฒ, Distribution free method๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ ํ๋ค.)
์์์ ํน์ ๋ถํฌ๋ฅผ ๋ฐ๋ฅธ๋ค๊ณ ๋๊ณ ํ ์คํธํ ๊ฒ์ด๋ผ๋ฉด, ๋ชจ์ง๋จ์ด ํน์ ํ๋ฅ ๋ถํฌ๋ฅผ ๋ฐ๋ฅธ๋ค๋ ์ ์ ๋ฅผ ํ์ง ์๋ ๋ฐฉ์
- Categorical ๋ฐ์ดํฐ๋ฅผ ์ํ ๋ชจ๋ธ๋ง
- ๊ทน๋จ์ outlier๊ฐ ์๋ ๊ฒฝ์ฐ ๋งค์ฐ๋งค์ฐ ์ ํจํ ๋ฐฉ์
- ํ๋ณธ ๊ฐฏ์๊ฐ ์ ์ ๋ ์ฌ์ฉํ๋ค.(๋ณดํต n(ํ๋ณธ ์)>30์ด์ด์ผ ๋ชจ์์ ๊ฒ์ ์ด ์ ์ฉํ๋ค. 10<n<30 ์ผ ๋, ์ ๊ท์ฑ ๊ฒ์ ์ ํตํด ์ ๊ท ๋ถํฌ๋ก ๊ฐ์ฃผ ๋๋ ๊ฒฝ์ฐ๋ง ๋ชจ์์ ์ถ์ ๊ฐ๋ฅ
ex) Chisquare, Spearman correlation(์์๋๋ฉด ์ข์) ๋ฑ
X(chi, ์นด์ด)^2 Tests(์ฝ๊ฐ ๋จ์ํ๊ฒ ์นด์ด ์ ๊ณฑ ์ฆ, ๋ถ์ฐ๊ณผ ๊ด๋ จ๋ ๊ฒ)
categorical data(qualitative data)์ ์ฌ์ฉํ๋ค.(ํ์ ๋ฐ์ดํฐ)
One sample ์นด์ด์ ๊ณฑ ๊ฒ์ (๊ท๋ฌด๊ฐ์ค์ ๋ญ๋ก ๋๋ ๊ฒ์ ์ธ์ง๋ฅผ ์ ๋ณด์)
์ฃผ์ด์ง ๋ฐ์ดํฐ๊ฐ ํน์ ์์๋๋ ๋ถํฌ์ ๋์ผํ ๋ถํฌ๋ฅผ ๋ํ๋ด๋์ง์ ๋ํ ๊ฐ์ค๊ฒ์
์ด๋ ๊ฒ ์นด์ด์ ๊ณฑ ๊ฐ์ ๊ตฌํ๊ณ ์ด๊ฒ์ p-value๋ก ํ์ฐํด์ค์ผํ๋ค.
- ์นด์ด์ ๊ณฑ๊ฐ์ ๋จ์ํ ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ์ปค์ง๋ค. ์ฆ, ์ซ์์ ์๋ฏธ๋ฅผ ํด์ํ ๊ธฐ์ค์ด ๋ชจํธํจ. ๋ฐ๋ผ์ ํ์คํ๋ ๊ฐ์ด ํ์
- ์๋๋ ํ์ฐํด์ฃผ๋ ํ๋ฅผ ๋ณด๋๋ฐ, scipy๋ฅผ ํตํด ์ ํํ ์ ์๋ค.
from scipy import stats
1 - stats.chi2.cdf(x2, df) # df๋ degrees of freedom(์์ ๋)
์ด ๋, 1์์ ๋นผ์ฃผ๋ ๊ฒ ์์ง๋ง๊ณ (์ด๋์ด 1์์ ํด๋นํ๋ ์์ญ์ ๋์ ๋ถํฌ ๋์ด๋ก ๋นผ์ค๊ฑฐ๋๊น)
์ฌ๊ธฐ์ ์์ฃผ ์ค์ํ '์์ ๋'๋ผ๋ ๊ฐ๋
์์ ๋
์์ด์คํฌ๋ฆผ ๋ฉ๋ด๊ฐ 7๊ฐ์ด๊ณ ๋ด๊ฐ '์ผ์ฃผ์ผ๋์ ํ๋์ฉ ๋จน์ด์ผ์ง'๋ผ๊ณ ๊ท์น์ ์ธ์ ์ ๋
์์ ๋๋ 6 ์ด ๋๋ค. ์๋ํ๋ฉด ์~ํ ๊น์ง๋ ๋ด๊ฐ ๊ณจ๋ผ์ ๋จน์ ์ ์๋๋ฐ, ์ผ์์ผ์ ์์ฐ์ค๋ ๋จ์ ๊ฑฐ ํ๋ ๊ณ ๋ฅด๊ฒ ๋จ
์ฆ, ์์ ๋๋ 'ํด๋น parameter'๋ฅผ ๊ฒฐ์ ์ง๊ธฐ ์ํ ๋
๋ฆฝ์ ์ผ๋ก ์ ํด์ง ์ ์๋ ๊ฐ์ ์
๋ค์ ๋์์์
import numpy as np
from scipy.stats import chisquare
s_obs = np.array([[18, 22, 20, 15, 23, 22]]) # Similar
chisquare(s_obs, axis=None) # One sample chi-square
Power_divergenceResult(statistic=2.3000000000000003, pvalue=0.8062668698851285)
์ฐธ๊ณ ๋ก statistic์ด ์นด์ด์ ๊ณฑ๊ฐ์ด๋ค.
๋ํ, scipy๋ฅผ ์์ฐ๊ณ exp ๋ array๋ก ๋ง๋ค์ด์ ์์ ์นด์ด์ ๊ณฑ์์ ๋์
ํด์ ๊ตฌํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.(์ชผ๊ผผ ๋
ธ๊ฐ๋ค)
๊ทธ ๋ค์ ์นด์ด์ ๊ณฑ๊ฐ์ ํตํด p-value๋ฅผ ์ป๋๋ค.(์ฌ์ค ์ด ๋ scipy ์ฐ๊ฒ ๋๊ธด ํจ. ๊ทผ๋ฐ ์ด๊ฒ๋ ์๋ฐํ ํ์ฐํ ์ธ ์๋ ์๊ธดํ๋ค.)
Two sample ์นด์ด์ ๊ณฑ ๊ฒ์ (๋ง์ฐฌ๊ฐ์ง๋ก ๊ท๋ฌด๊ฐ์ค์ ๋ญ๋ก ๋๋์ง)
๊ฐ์ธ์ ์ผ๋ก ํฌ์ํ์ ์ฝ๋ฉ์ ํ๋ ๋ฐฉ๋ฒ๋ณด๋ค, ๊ฐ๋
์ ์ผ๋ก ์์ํ๊ณผ ์ฐจ์ด๋ฅผ ์์!!!
- one-sample (์ ํฉ๋ ๊ฒ์ ์) -> ์๋ ํ๋์ ์ํ์ ๋ํด obs์ exp๋ฅผ ๋น๊ตํ๋ ๊ฒ, DF = # categories-1
- two-sample (๋ ๋ฆฝ์ฑ ๊ฒ์ ์) -> ์๋ ๋ ์ํ์ ๋ํด์ ๋ ๋ฆฝ์ ์ธ exp ๋ฐฐ์ด์ ๋ง๋ค๊ณ obs ๋ฐฐ์ด๊ณผ ๋น๊ตํจ์ผ๋ก์จ ๊ท๋ฌด๊ฐ์ค์ด ๊ธฐ๊ฐ๋์ง์๋๋ค๋ฉด obs ๋ฐฐ์ด์ด ์ด๋์ ๋ exp ๋ฐฐ์ด(๋ ๋ฆฝ์ ์ธ ๋ฐฐ์ด)๋ก ์๊ฐํ ์ ์๋ค ๋ผ๋ ๊ฐ๋ , DF = (#ํ - 1)*(#์ด - 1)
์์ ๊ฐ๋ ์ ์์ฃผ์์ฃผ ์ค์ํ๋ค!!!(๋ด ๊ฐ์ธ์ ์ธ ๋๋์ ใ ใ ใ )
## 2 sample chi square test
from scipy.stats import chi2_contingency
print(chi2_contingency(obs))
scipy๋ฅผ ์ด์ฉํ๋ฉด ์ด๋ฐ ์์ด๊ณ ๊ฐ์ด ์ด๋ ๊ฒ ์ถ๋ ฅ๋จ
(0.0013946280991735537, 0.9702101490749658, 1, array([[ 8.96296296, 2.03703704],
[13.03703704, 2.96296296]]))
1๋ฒ : ์นด์ด์ ๊ณฑ, 2๋ฒ : p-value, 3๋ฒ : ์์ ๋, 4๋ฒ : exp ๊ฐ, ์ฆ ๋
๋ฆฝ์ ์ผ ๋์ ๋ฐฐ์ด ๋ชจ์
๋ณด๋์ค Type of Error
- ์ 1์ข ์ค๋ฅ : ๊ท๋ฌด๊ฐ์ค์ด ์ฐธ์ธ๋ฐ, ๊ท๋ฌด๊ฐ์ค์ด ๊ธฐ๊ฐ๋ ๊ฒฝ์ฐ -> ์ธ์ฐ๊ธฐ ํธํ๊ฒ, (์ฐธ์ธ๋ฐ ๊ธฐ๊ฐo)
- ์ 2์ข ์ค๋ฅ : ๊ท๋ฌด๊ฐ์ค์ด ๊ฑฐ์ง์ธ๋ฐ, ๊ท๋ฌด๊ฐ์ค์ด ๊ธฐ๊ฐ๋์ง ์์ ๊ฒฝ์ฐ -> (๊ฑฐ์ง์ธ๋ฐ ๊ธฐ๊ฐx)
'๐ฟ Data > ๋ถํธ์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL]2.Feature Engineering (0) | 2021.11.27 |
---|---|
[TIL]8.Confidence Intervals (0) | 2021.11.27 |
[TIL]1.Exploratory Data Analysis(EDA) (0) | 2021.11.24 |
[TIL]6.Hypothesis Test (0) | 2021.11.24 |
[TIL]5.์ฝ๋์คํ ์ด์ธ AI ์คํ๋ฆฐํธ ์ฑ๋ฆฐ์ง (0) | 2021.11.24 |