๋ชจํ๊ท ์ ๋ํ ์ ์์ฑ ๊ฒ์ ์ผ๋ก t-test ๊ฒ์ ์ ์ค์ํ๋ค.
๋ค์๊ณผ ๊ฐ์ด ํฌ๊ฒ ์ธ๊ฐ์ง์ ๋ฐฉ๋ฒ์ด ์๋ค.
1. ๋จ์ผํ๋ณธ t-๊ฒ์ (One-sample t-test)
2. ๋ ๋ฆฝํ๋ณธ t-๊ฒ์ (Independent-tw-sample t-test)
3. ๋์ํ๋ณธ t-๊ฒ์ (Paired-two-sample t-test)
๋จ์ผํ๋ณธ t-๊ฒ์
: ๊ด์ฌ์๋ ์ฐ์ํ ๋ณ์์ ํ๊ท ๊ฐ์ ํน์ ๊ธฐ์ค๊ฐ๊ณผ ๋น๊ตํ์ฌ ๊ทธ ์ฐจ์ด๊ฐ ํต๊ณ์ ์ผ๋ก ์ ์ํ๊ฐ๋ฅผ ํ๋จํ๋ ๋ฐฉ๋ฒ.
p-value๊ฐ ์ ์์์ค(์ผ๋ฐ์ ์ผ๋ก 0.05)๋ณด๋ค ์์ผ๋ฉด, ๊ท๋ฌด๊ฐ์ค ๊ธฐ๊ฐ
1. ํจํค์ง ์ํฌํธ
from sklearn.datasets import load_iris
import pandas as pd
import numpy as np
from scipy.stats import ttest_1samp
2. ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
iris=load_iris()
iris_nparray=iris.data
iris_dataframe=pd.DataFrame(iris.data, columns=iris.feature_names)
3. sepal_length ๋ณ์๊ฐ 99%์ ๋ขฐ์์ค์์ ํ๊ท 5.0cm์ ๋์ผํ์ง ๊ฒ์
#H0 : m=5
#H1 : m์ 5์ ๊ฐ์ง ์๋ค
ttest_1samp(iris_dataframe['sepal length (cm)'], 5.0)
P-value=0.00์ด๋ฏ๋ก ๊ท๋ฌด๊ฐ์ค์ ๊ธฐ๊ฐํ๋ค!
๋ ๋ฆฝํ๋ณธ t-๊ฒ์
: ๋๊ฐ์ ๋ ๋ฆฝ์ ์ธ ์ ๊ท๋ถํฌ์์ ๋์จ n1, n2๊ฐ์ ๋ฐ์ดํฐ์ ์ ์ฌ์ฉํ์ฌ ๋ ๋ฐ์ดํฐ ์ ์ ํ๊ท ์ด ํต๊ณ์ ์ผ๋ก ๋์ผํ์ง ํ๋จํจ.
์) ๊ณ ์์ด๋ค์ ์ฑ๋ณ์ ๋ฐ๋ฅธ ๋ชธ๋ฌด๊ฒ ํ๊ท ์ด ํต๊ณ์ ์ผ๋ก ๊ฐ๋ค๊ณ ํ ์ ์๋์ง ํ์ธ
-> ์์ปท, ์์ปท ๋์ง๋จ์ ๋ํ ๋ ๋ฆฝํ๋ณธ t-๊ฒ์ ์ ์ํํ ์ ์์!
p-value๊ฐ ์ ์์์ค๋ณด๋ค ์์ผ๋ฉด ๊ท๋ฌด๊ฐ์ค ๊ธฐ๊ฐ, ๋๊ฐ์ ๋ฐ์ดํฐ์ (๋์ง๋จ)์ ํต๊ณ์ ์ผ๋ก ์ ์ํ ์ฐจ์ด๊ฐ ์๋ค๊ณ ๊ฒฐ๋ก .
1. ํจํค์ง ๋ฐ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
from scipy.stats import ttest_ind
iris=load_iris()
iris_nparray=iris.data
iris_dataframe=pd.DataFrame(iris.data, columns=iris.feature_names)
2. sepal length, sepal width -> ํ๊ท ์ด 99%์ ๋ขฐ์์ค์์ ๋์ผํ์ง ํ
์คํธ(๋ถ์ฐ์ด ๋์ผํ์ง ์์)
#H0: m1=m2
#H1: m1, m2ํ๊ท ์ด ๋ค๋ฅผ๊ฒ์ด๋ค
ttest_ind(iris_dataframe['sepal length (cm)'], iris_dataframe['sepal width (cm)'], equal_var=False)
P-value=0.00์ด๋ฏ๋ก ๊ท๋ฌด๊ฐ์ค์ ๊ธฐ๊ฐํ๋ค.
๋์ํ๋ณธ t-๊ฒ์
: ๋จ์ผ๋ชจ์ง๋จ์ ๋ํด ๋ ๋ฒ์ ์ฒ๋ฆฌ๋ฅผ ๊ฐํ์ ๋, ๋ ๋ฒ์ ์ฒ๋ฆฌ์ ๋ฐ๋ฅด ํ๊ท ์ด ํต๊ณ์ ์ผ๋ก ๋์ผํ์ง๋ฅผ ํ๋จํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์) ์๋ฉด์์์ ์ ํจ๊ณผ๋ฅผ ๊ฒ์ฆํ๊ณ ์ 10๋ช ์ ํ์๋ฅผ ๋์์ผ๋ก ์์์ ๋ณต์ฉ ์ ๊ณผ ํ์ ์๋ฉด์๊ฐ์ ์ธก์ ํ์ฌ ๋ณต์ฉ ํ ์๋ฉด์๊ฐ์ด ๋ ๋์ด๋ฌ๋์ง ํ์ธํ ๋ ๋์ํ๋ณธ t-๊ฒ์ (๋จ์ธก ๊ฒ์ )์ ์ค์ํ๋ค.
๋ถ์๊ฒฐ๊ณผ, p-value๊ฐ ์ ์์์ค๋ณด๋ค ์์ผ๋ฉด, ๊ท๋ฌด๊ฐ์ค์ ๊ธฐ๊ฐ๋๋ฉฐ, ๋๋ฒ์ ์ฒ๋ฆฌ ์ํฉ์ ๋ํ ํ๊ท ์ฐจ์ด๊ฐ ํต๊ณ์ ์ผ๋ก ์ ์ํ ๊ฒ์ผ๋ก ํ๋จํ๋ค.
-> ์์ ์๋ฅผ ์ ์ฉํด๋ณด๋ฉด p-value๊ฐ ์ ์์์ค๋ณด๋ค ์์ ๋ ์๋ฉด์์์ ๋ณต์ฉ ์ ๊ณผ ํ์ ์๋ฉด ์๊ฐ์ ํ๊ท ์ฐจ์ด๊ฐ ์๋ ๊ฒ์ผ๋ก ๋ณผ ์ ์์ผ๋ฉฐ, ์๋ฉด์์์ ๋ณต์ฉ ํ ์๋ฉด์๊ฐ์ด ๋์๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ฆด ์ ์๋ค.
1. ํจํค์ง ์ํฌํธ ๋ฐ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
from scipy.stats import ttest_rel
iris=load_iris()
iris_nparray=iris.data
iris_dataframe=pd.DataFrame(iris.data, columns=iris.feature_names)
2. sepal length์ sepal width๊ฐ 99%์ ๋ขฐ์์ค์์ ํ๊ท ์ด ๋์ผํ์ง
->๋์ผํ sample ๋น๊ต
ttest_rel(iris_dataframe['sepal length (cm)'], iris_dataframe['sepal width (cm)'])
P-value=0.00์ด๋ฏ๋ก ๊ธฐ๊ฐํ๋ค. ์ฆ ํ๊ท ์ ์ฐจ์ด๊ฐ ์๋ค.
'๐ ๋ฐ์ดํฐ ๋ถ์ > 04. Data Analysis' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ์๊ด ๊ด๊ณ ๋ถ์ (0) | 2022.03.17 |
---|---|
[Python] ๋ฑ๋ถ์ฐ ๊ฒ์ (0) | 2022.03.16 |
[Python] ๊ธฐ์ดํต๊ณ : ๋ถํฌ์ ๋ฐ๋ผ ํจ์ ๊ทธ๋ฆฌ๊ธฐ (0) | 2022.03.15 |
[Python] EDA : Visualizations (0) | 2022.03.15 |
[Python] EDA(ํ์์ ๋ฐ์ดํฐ๋ถ์)๋ฅผ ํตํ ๋ณ์ํ์ (0) | 2022.03.14 |