Home 빅분기-실기-3유형
Post
Cancel

빅분기-실기-3유형

3 유형 내용

1. 가설검정

모평균 검정

  • 모집단 1개
  • 모집단 2개
  • 모집단 3개 이상
    • 정규성/등분산성 검정

카이제곱 검정

  • 적합성 검정
  • 독립성 검정

    2. 상관분석

  • 피어슨 상관계수

    3. 회귀분석

  • 다중 선형 회귀
  • 로지스틱 회귀

1. 가설검정

“~할 것이다” 라는 잠정적인 주장(가설)에 대해 통꼐적인 방식으로 검정하는 것으로 통계적 가설검정

1. 귀무가설과 대립가설

  1. 귀무가설(H0, Null hypothesis): 영가설(기존에 알려진 사실)
    • 차이가 없다, 서로 같다, 영향을 주지 않는다 등으로 설정
  2. 대립가설(H1, Alternative hypothesis): 연구가설, 대안가설
    • 차이가 있다, 같지 않다, 영향을 준다 등으로 설정

가설검정은 검정통계량을 구해서 귀무가설(H0)을 채택할 건지 기각할 건지 판단하는 과정

2. 가설 검정의 오류(1종 오류, 2종 오류)

1종 오류
  • 귀무가설이 참일 때 이를 기각하는 오류를 범할 확률
  • 귀무가설이 참일 대 귀무가설을 기가할 최대 허용 한계
  • 보통 𝛼(알파)로 표기하고 유의수준이라 부른다)
    • 유의수준을 보통 5%로 설정함
      2종 오류
  • 귀무가설이 거짓일 때 이를 채택하는 오류를 범할 확률

    3. 가설 검정 순서

    1. 가설 설정(귀무/대립가설)
    2. 유의수준(𝛼) 설정(일반적으로 5%)
    3. 귀무가설하에 검정통계량 계산
    4. 검정통계량으로 P-value 계산
    5. 귀무가설(H0) 기각여부 결정(채택/기각)
    • P-value(유의확률) > 0.05(유의수준): H0(귀무가설) 채택
    • P-value(유의확률) ≤ 0.05(유의수준): H0(귀무가설) 기각

3. 회귀분석

2. 로지스틱 회귀분석

Odds(승산)
\[odds = \frac{P}{1-P}=\frac{성공할 확률(Y=1)}{실패할 확률(Y=0)}\]

실습

라이브러리

  • import scipy.stats as stats
  • from scipy.stats import shapiro: 정규성 검정 테스트

정규성 검정

`statistic, pvalue = stats.shapiro(df[‘mpg’])

모집단 1개

  1. 가설설정
  2. 유의수준 확인
  3. 정규성 검정
  4. 검정실시(통계량, p-value 확인)
  5. 귀무가설 기각여부 결정(채택/기각)

    t-test 검정(정규성): ttest_1samp

    statistic, pvalue = stats.ttest_1samp(df['mpg'], popmean=20)

statistic, pvalue = stats.ttest_1samp(df['mpg'], popmean=17, alternative='greater')

statistic, pvalue = stats.ttest_1samp(df['mpg'], popmean=17, alternative='less')

윌코슨 부호순위 검정(비정규성): wilcoxon

statistic, pvalue = stats.wilcoxon(df['mpg']-20)

statistic, pvalue = stats.wilcoxon(df['mpg']-17, alternative='greater')

statistic, pvalue = stats.wilcoxon(df['mpg']-17, alternative='less')

모집단 2개

대응표본(쌍체): 동일한 객체의 전 vs 후 평균 비교

  1. 가설설정
  2. 유의수준 확인
  3. 정규성 검정 (주의) 차이값에 대한 정규성 4. 검정실시(통계량, p-value 확인)
  4. 귀무가설 기각여부 결정(채택/기각)
    paired t-test(정규성): ttest_rel

statistic, pvalue = stats.ttest_rel(df['after'], df['before'])

wilcoxon test(비정규성): wilcoxon

statistic, pvalue = stats.wilcoxon(df['after']-df['before'])

독립표본: A집단의 평균 vs B집단의 평균

  1. 가설설정
  2. 유의수준 확인
  3. 정규성검정(주의)두집단모두정규성을따를경우!
  4. 등분산 검정
  5. 검정실시(통계량, p-value 확인) (주의) 등분산여부 확인
  6. 귀무가설 기각여부 결정(채택/기각
2sample t-test(정규성): ttest_ind

statistic, pavlue = stats.ttest_ind(df['A'], df['B'], equal_var=True, alternative='two-sided')

ranksums(비정규성): ranksums

statistic, pvalue = stats.ranksums(df['A'], df['B'])

모집단 3개 이상

분산분석(ANOVA):

  1. 가설설정
  2. 유의수준 확인
  3. 정규성검정(주의)집단모두정규성을따를경우!
  4. 등분산 검정
  5. 검정실시(통계량, p-value 확인) (주의) 등분산여부 확인
  6. 귀무가설 기각여부 결정(채택/기각)
    등분산성 검정 bartlett

    statistic, pvalue = stats.bartlett(df['A'], df['B'], df['C'])

    정규성, 등분산성: 분산분석(F_oneway)

    statistic, pvalue = stats.f_oneway(df['A'], df['B'], df['C'])

    비정규성, 비등분산성: 크루스칼-왈리스 검정 (kruskal)

    statistic, pvalue = stats.kruskal(df['A'], df['B'], df['C']

카이제곱 검정

  1. 적합도 검정 - 각 범주에 속할 확률이 같은지?
  2. 독립성 검정 - 두 개의 범주형 변수가 서로 독립인지

가설검정 순서

  1. 가설 설정
  2. 유의수준 확인
  3. 검정실시(통계량, pvalue확인, 기대값 확인)
  4. 귀무가설 기각여부 결정(채택/기각)

적합도 결정

1
2
3
4
from scipy.stats import chisquare
f_obs = [30, 20, 15, 35]
f_exp = [25, 25, 25, 25]
statistic, pvalue = chisquare(f_obs=f_obs, f_exp=f_exp

독립성 검정

1
2
from scipy.stats import chi2_contingency
statistic, pvalue, dof, expected = chi2_contingency(df)

다중회귀분석 및 상관분석

1
2
3
from sklearn.linear_model import LinearRegression
model.fit(x, y)
model.score(x, y)
  • Rsq: model.score
  • 회귀계수: model.coef_
  • 절편: model.intercept

statsmodel 사용

1
2
3
4
5
6
import statsmodels.api as sm

x = sm.add_constant(x)
model = sm.OLS(y, x).fit()

summary = model.summary()

상관계수

1
2
3
from scipy.stats import pearsonr

r, pvalue = pearsonr(x, y)

오즈 구하는법

1
result = np.exp(model.coef_[0][몇번째])
This post is licensed under CC BY 4.0 by the author.

빅분기-실기-2유형

Monocular depth estimation