728x90
๋น ๋ฐ์ดํฐ ๋ถ์ ๊ธฐ์ฌ ์ค๊ธฐ - ์์ ํ 3 ์ ๋ฆฌ๋ณธ
๐จ ๋ชจ๋ ์ฝ๋๋ ํ์ด์ฌ ๊ธฐ์ค์ ๋๋ค.
๋๋ณด๊ธฐ
์์ ํ 3์ ๋ํ ์ ๋ณด๋ ์ ๋ง ์ ๊ณ 7ํ ์ค๊ธฐ ์ํ์ ๋ณด๊ณ ์ ๋ฆฌ๊ธ์ ์์ฑํ์ง๋ง ์์ง๊น์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค.
์ฐ์ ์ ๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ์๋์ ๋ฌธ์ ๋ฅผ ๋ชจ๋ ์ตํ๊ณ ์ฝ๊ฐ์ ์์ฉ์ด ๊ฐ๋ฅํ๋ค๋ฉด ๋ถ๋ถ ์ ์๋ฅผ ๋ณด๋ ค๋ณผ ์ ์์ ๊ฒ ๊ฐ๋ค.
1. T๊ฒ์
1) ์์ฒดํ๋ณธ
from scipy import stats
s , p = stats.ttest_rel(data['bp_post'], data['bp_pre'], alternative="less")
if (p > 0.05):
result4 = 't'
else:
result4 = 'f'
# ์ฌ๊ธฐ์ result4๊ฐ f๋ก ๋์์ผ๋ฏ๋ก p๊ฐ์ด ์ ์์์ค๋ณด๋ค ๋ฎ์์ ์๋ฏธ
# ์ฆ ์คํ์ ์ฑ๊ณตํ์์ผ๋ ๋๋ฆฝ๊ฐ์ค์ด ์ฑํ๋์๋ค๋ ์๋ฏธ, ์ฆ ๊ท๋ฌด๊ฐ์ค์ ๊ธฐ๊ฐ๋์์
2) ๋
๋ฆฝํ๋ณธ
from scipy import stats
s, p = stats.ttest_ind(group1, group2)
# ๊ฒฐ๊ณผ๊ฐ t๋ผ๋ฉด ์ ์์์ค๋ณด๋ค ์ข์ ๊ฒ ์ฆ ์คํ์ ์คํจํจ, ๊ท๋ฌด๊ฐ์ค ์ฑํ
# ๊ฒฐ๊ณผ๊ฐ f๋ผ๋ฉด ์ ์์์ค๋ณด๋ค ๋ฎ์, ์คํ์ ์ฑ๊ณต, ๋๋ฆฝ๊ฐ์ค ์ฑํ
3) ๋จ์ผํ๋ณธ
from scipy import stats
mu = 75
s, p = stats.ttest_1samp(scores, mu, alternative='greater')
# greater ์ค์ ์ด๋ฏ๋ก 75๋ณด๋ค ํฐ์ง ์คํ
# less๋ผ๋ฉด 75๋ณด๋ค ์์์ง
2. ์ผ์๋ฐฐ์น, ANOVA F-๊ฒ์
s , p= stats.f_oneway(groupA, groupB, groupC)
3. ์คํผ๋ก์ํฌ
# Shapiro-Wilk ๊ฒ์ ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๊ฐ ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด๋์ง ๊ฒ์ฆํ์์ค
# ๊ท๋ฌด ๊ฐ์ค(H0): ๋ฐ์ดํฐ๋ ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅธ๋ค.
# ๋๋ฆฝ ๊ฐ์ค(H1): ๋ฐ์ดํฐ๋ ์ ๊ท ๋ถํฌ๋ฅผ ๋ฐ๋ฅด์ง ์๋๋ค.
s , p =stats.shapiro(data)
# 0.9768090844154358 0.9676500558853149 T
# ๊ฒฐ๊ณผ๊ฐ T์ด๋ฏ๋ก ์คํ์ ์คํจ, ์ฆ ๋๋ฆฝ๊ฐ์ค ๊ธฐ๊ฐ, ๊ท๋ฌด๊ฐ์ค์ ์ฑํํ๋ค.
4. ๋ก์ง์คํฑํ๊ทโญ๏ธ( 7ํ ์์ ํ 3 ์ ์ถ๋จ )
# C(Pclass): C()๋ categorical ๋ณ์๋ฅผ ๋ํ๋ด๋ฉฐ, Pclass ๋ณ์๋ฅผ ๊ฐ ํด๋์ค(1, 2, 3)๋ก ๋๋์ด ๋ชจ๋ธ์ ํฌํจ์ํต๋๋ค.
# ์ด๋ฌํ ๋ณ์๋ค์ด ์ข
์ ๋ณ์ Survived์ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋์ง๋ฅผ ํต๊ณ์ ์ผ๋ก ๋ถ์ํ๋ ๊ฒ์ด ๋ก์ง์คํฑ ํ๊ท๋ชจํ์ ๋ชฉ์ ์
๋๋ค.
formula = "Survived ~ C(Pclass) + Gender + SibSp + Parch"
from statsmodels.formula.api import logit
model = logit(formula, data=df).fit()
print(model.params)
5. ์นด์ด์ ๊ณฑ
# 1) ๊ธฐ๋ณธ ์์
from scipy.stats import chisquare
s, p = chisquare(f_obs=observed_frequencies, f_exp=expected_frequencies)
# 2) ๊ธฐ๋๋น๋
result = stats.chi2_contingency(df)
s = result.statistic
p = result.pvalue
dof = result.dof
expected = result.expected_freq[0][0]
6. ํฌ์์ก๋ถํฌ
result = stats.poisson.pmf(5, cust) * 100
result2 = (1 - stats.poisson.cdf(1, cust)) * 100
# ํฌ์์ก ๋ถํฌ์ ๋์ ๋ถํฌ ํจ์ (CDF)๋ ํน์ ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฐ์ด ๋ฐ์ํ ํ๋ฅ ์ ์ ๊ณตํฉ๋๋ค.
# ๋ฐ๋ผ์ 1 - stats.poisson.cdf(1, cust)์ 2๋ช
์ด์์ ๊ณ ๊ฐ์ด ์ก์ง๋ฅผ ๊ตฌ๋งคํ ํ๋ฅ ์ ๊ตฌํ๋ ๊ฒ์
๋๋ค.
7. ๋ฒ ๋ฅด๋์ด-์ดํญ๋ถํฌ
# [์ดํญ๋ถํฌ] 1๋ฒ ๋ฌธ์ ์์ ๊ณ์ฐํ ์ฑ๊ณต ํ๋ฅ ์ ์ฌ์ฉํ์ฌ,
# 100๋ฒ์ ์๋ ์ค ์ ํํ 60๋ฒ ์ฑ๊ณตํ ํ๋ฅ ์ ๊ณ์ฐํ์์ค.
total = len(df)
n = 100
t = 60
success = df['Success'].sum()
result = success/total
result2 = stats.binom.pmf(t, n, result)
# binom.pmf(t, n, result) ํจ์๋
# ์ดํญ ๋ถํฌ์ ํ๋ฅ ์ง๋ ํจ์(Probability Mass Function, PMF)๋ฅผ ๊ณ์ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
2023.11.29 - [๐.๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ] - ๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์์ ์ ๋ฆฌ๋ณธ
728x90
'๐.์๊ฒฉ์ฆ > ๐.๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ค๊ธฐ] ๋น ๋ฐ์ดํฐ ๋ถ์ ๊ธฐ์ฌ ์์ ํ 2 ์ ๋ฆฌ (Python) (0) | 2023.12.03 |
---|---|
[์ค๊ธฐ] ๋น ๋ฐ์ดํฐ ๋ถ์ ๊ธฐ์ฌ ์์ ํ 1 ์ ๋ฆฌ (Python) (0) | 2023.12.01 |
๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ์ค๊ธฐ ์์ ์ ๋ฆฌ๋ณธ (0) | 2023.11.29 |
๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ ํ๊ธฐ ์ ๋ฆฌ๋ณธ (2) | 2023.10.17 |
๋น ๋ฐ์ดํฐ๋ถ์๊ธฐ์ฌ 7ํ ํ๊ธฐ ํฉ๊ฒฉ ํ๊ธฐ (๊ต์ฌ X) (2) | 2023.10.15 |