본문 바로가기

TIL

[240119-23] 통계학 기초

[통계학 기초 by 안창배 튜터]

 

1. 왜 통계일까 

1) Case Study

- 광고 클릭률은 높은데 전환율이 낮다? 상세 페이지를 변경하자! (잘못된 의사결정)

└ 클릭률의 평균적인 수준은 얼마인지, 또 어느 정도 차이까지 용인할 것인지? 

└ 구매수 3건인데 전환율이 낮다? 주어진 데이터 양은 신뢰할 만한 수준일지? 

▶ 구매수가 충분한지, 또 구매전환율이 낮다면 실제 원인이 무엇인지 추가 분석 필요 

 

- 개인화 추천 모델을 서비스에 적용하기 위해 모델은 주기적으로 업데이트 하자! (데이터 설정 오류)

문제: 업데이트 하는 사이에 새로 가입한 유저는 추천 결과를 못받음

해결: 모델 업데이트 시각을 적절하게 조절해 문제 최소화

판단 지표: 신규 가입으로 추천이 나가지 못하는 사람의 수(daily 측정) > 얘를 최적화하면 됨

└ n명의 신규 가입자가 생성되면 모델 업데이트 되도록 시뮬레이션 > 하루 6회로 결정(n=15명)

▶ 위 분석에서 분석은 UTC, 서비스 적용은 KST : Timezone 설정이 제대로 안 됨 

 

- A 웹툰에 대한 프로모션을 AI로 자동화하는 프로젝트 (마케팅 연계 사례)

문제: 개인화 추천(A 웹툰을 좋아할만한 유저에게 쿠폰 발송) vs. 연관 추천(A와 유사한 웹툰을 본 유저에게 쿠폰 발송)

 판단 지표: 클릭률 + (추가 지표) 매출 추적

결과: AB테스트 결과, CTR 포함 모든 지표가 개인화 추천 우수, but 비슷한 작품을 추천할수록 CTR 극적으로 상승 

└ 액션 아이템: 신규 열람 증진은 새벽이 효과적일 수 있다! (앱 방문수가 높다고 신규 열람률이 높아지는 건 아니기 때문)

 

2) 데이터 리터러시의 필요성

- 아무리 쉬운 모델이라도, 가정Assumption이 있음

결과를 신뢰하기 위한 최소한의 데이터 볼륨이 필요 
데이터 혹은 오차가 어떠한 분포를 따른다는 제약 등 고려
- 올바르게 방법론을 수행하였더라도, 제대로된 해석Interpretation이 필요
p-value와 신뢰 구간에 대한 잘못된 통념
└ 비즈니스와 동떨어진 기술의 도입
통계적Statistical vs 실제적Practical 유의성significance
└ 그 외 수많은 역설들과 편향: 심슨의 역설, 생존자 편향 오류 등

 

3) 통계학의 효용
① 의사결정에 필요한 이론적 근거를 확보
객관적인 자료와 수치로 설득력을 높임 
③ 모호한 상황에서 불확실성을 수치로 가시화
체계화된 프로세스를 통해 다양한 리스크를 제거
⑤ 여러 통계/AI 도구를 Custom하여 활용 가능

 


2. 확률적: Stochastic

1) 확률이란? 

- 실제로 일이 일어나기Realize 전까지는 확률적Stochastic이라고 함
└ 결정되지 않았기 때문에, 비결정적Undetermined라고도 함
- 확률적 움직임을 체계적으로 수식화한 것이, 분포Distribution

└ 정규 분포Normal Distribution는 주가, 공기 중 꽃가루의 움직임을 설명하는 브라운 모형(Brownian Motion) 등

- 통계 모형을 통해 우리는 미래를 예측Predict하고, 추론Infer 가능

① 고전적 확률: 모든 경우의 수가 동일한 확률Fair을 가진다는 가정. 실제와 다를 수 있음(ex. 주사위, 동전 던지기 등)
② 통계적 확률: 어떤 시행을 N번 반복해서 나오는 확률. 여러 차례 시뮬레이션 가능할 경우 사용 가능 

③ 수리적 확률: 하기 성질을 모두 만족하는 모든 것

 

2) 확률의 활용
- 확률을 활용해 불확실성Uncertainty을 계량 
- 소규모 샘플에서 일반적인 경향을 추정할 때, 통계로 객관적이고 정확한 추정 가능

 


3. 평균 

1) 정의

- 데이터 집합을 가장 잘 나타내는 단일 숫자 또는 값
- 일반적으로 생각하는 평균은 산술평균: sum(x:n) / n (다 더한 다음에 총 개수로 나누는 것) 
- 그 외에도 수십가지 평균이 있고, 각 평균은 필요에 따라 적절히 사용됨 

 

2) 평균을 망치는 2가지 

① 왜도Skewness


- 특정한 방향으로 데이터가 쏠려있는 것. 보통 꼬리tail를 당긴 것처럼 생겼다고 표현
- 왜도는 수치적으로 측정 가능하지만, 그래프로 보는 것이 더 일반적이고 명확함 
- 왜도가 있으면 평균이 전체 데이터를 대표하지 못함

 

② 이상치Outlier

box plot 내 점이 이상치

- 다른 관측치와 유의하게 다른 데이터
'유의하다'는 각기 의미가 다를 수 있어, 이상치의 분류는 데이터에 따라 달라짐
일반적으로 이상치는 IQR과 2~3표준편차로 이야기하지만 절대적인 기준은 아님 
- 이상치는 정의와 판별이 어려우므로 단순하게 접근하다가는 문제가 생기기 쉬움
- 소수의 이상치가 평균에 크게 영향을 주기 때문에, 평균으로 전체 경향을 볼 때는 제거하거나 변환하는 것이 일반적

전체 보다 소수 이상치가 중요할 때가 있어 무조건 제거하거나 변환해야 하는 건 아님 

 

3) 다양한 평균 

① 대표값: 3M

- 기본 통계학에서 가장 많이 소개되는 유형

(1) 산술 평균(Arithmetic Mean)
  : 모든 데이터를 더한 뒤 전체 데이터의 수로 나눠준 것
  : 가장 일반적으로 많이 참조되는 평균이지만, 왜도Skewness와 이상치Outlier에 취약

(2) 중앙값(Median)
  : 데이터를 정렬하여 가운데 있는 관측치
  : 왜도와 이상치에 강인robust하여 평균의 대안으로 많이 활용
  : 정확히는 n이 홀수인지 짝수인지에 따라 달라짐
(3) 최빈값(Mode)
  : 가장 빈번하게 등장하는 관측치

  : 관측치의 값이 다양하지 않은 경우 효과적으로 쓰일 수 있음

  : 평균의 의미로는 바람직하지 않아 제한적으로 사용해야 

 

② 평균 3대장
- 평균 언급 시 가장 많이 언급되며 집계와 분할의 연산 프로세스가 다름

(1) 산술 평균
(2) 기하 평균
   : 모든 데이터를 곱한 뒤 전체 데이터의 수로 제곱근을 취해준 것
   : ML/통계에서 자주 쓰이지는 않음

(3) 조화 평균
   : 역수를 합한 뒤, 다시 역수를 취하는 것
   : 시계열 데이터의 이동평균을 구할 때 사용, 대표적으로 F1-score


③ 기타 평균
- 교과서엔 없지만 실제로 많이 쓰이고 유용한 평균

(1) 로그 평균
  : 각 관측치를 로그 변환한 뒤 산술 평균 집계 (로그 시 오일러 상수 $e=2.781828.. 를 사용)
  : 중앙값과 유사하게 이상치와 왜도에 강건
  : 로그로 변환하기 때문에 직접적인 해석이 어려워, 상대적인 비교에 유용

(2) 절삭 평균

  : 상/하위 데이터를 일부(k%) 제거한 뒤 산술평균을 구함 
  : 극단적인 값들을 제거해 이상치엔 강건하나, 왜도는 취약 할 수 있음
  : 변환이 없기 때문에 결과값에 대한 직접적인 해석이 가능

 


4. 평균의 통계적 활용

1) 중심 극한 정리Central Limit Theorem
① 들어가기 전에 알아야 할 것, 확률 분포Probability Distribution

- 확률 분포: 실제로 자주 볼 수 있는 일부 확률의 케이스들을 체계적으로 정리한 것

 └ (cf) 확률: 개개의 데이터가 실현되기 전의 가능성을 수식화하여 정리한 것 

 └ 베르누이 분포: 동전 던지기처럼, 두 가지 경우만 있는 경우
 └ 이항 분포: 동전을 여러 개 던지고 앞면이 나온 개수 의미 
 └ 정규 분포(가우스 분포): 남성의 키처럼, 종모양의 분포를 가진 것 

- 정규분포는 평균Mean과 분산Variance을 포함한 명확한 수식으로 정의

 └ 분포의 특징을 결정 짓는 수를 모수Parameter라고 하며, 보통 알려져 있지 않아 통계적 추정을 통해 알아내야 함 

 └ 평균이 0이고 분산이 1인 정규분포를 특별히 표준 정규 분포라고 하며, z로 표기

 

② 중심 극한 정리의 정의와 의의

많은 경우 독립적이고 동일한 분포를 갖는(iid) 확률 변수일 때,
원래 변수 자체가 정규 분포를 따르지 않더라도 표본 평균의 분포가 정규 분포를 따르는 경향이 있다.

 

 


- 한 줄 요약: 원래 데이터의 분포가 무엇이든 표본 평균의 분포가 정규 분포를 따른다!
 └ 표본의 분포와 무관하게 표본 평균의 분포가 정규 분포를 따름
 └ 표본의 분포가 아니라!! 표분 분포의 평균!!!
- 의의: 중심 극한 정리와 같은 정규 분포를 활용하면 원래 분포와 상관 없이 평균에 대한 통계 모델을 만들어 확률값을 구할 수 있음! 

 

③ 중심 극한 정리의 한계
(1) iid 조건은 현실에서 만족이 어렵다
 - iid는 독립적이고independent 동일하게 분포함identically distributed의 줄임말
 - 독립적: 각각의 개별 관측치 사이에 연속성이 존재하지 않음(독립성 위반 예시는 날씨, 주가 등)
 - 동일하게 분포함: 분포의 형태뿐 아니라 모수도 같음을 의미

 -  이상치와 심한 왜도가 있을 경우, 중심 극한 정리(CLT)가 어긋남

 - 사례: 부동산 가격 예측 프로젝트

  └ 목표는 가격이 오를만한 지역을 매매 데이터로 찾고 싶다는 것

      A. 부동산 상승 케이스가 희박(n≤10)하니 통계/ML은 거들 뿐 사람이 의사결정해야 한다.

      B. 부동산 상승 케이스 내 각 지역을 10x10미터의 격자로 쪼개면 데이터가 많아진다(n≥10000).
  └ 결론은 각 격자(공간)은 인근 공간의 영향을 받기 때문에(독립성이 무너지기 때문에) 미래 예측치로 사용하기 어려움

 

(2) 수렴Conversion의 속도가 다르다

 - 어떤 데이터는 더 빠르게(더 적은 데이터로), 어떤 데이터는 굉장히 느리게(훨씬 더 많은 데이터로) 수렴

 - 일반적으로 n=30 조건을 제안하나 원래 데이터의 분포에 영향을 받으므로 절대적인 수치가 아님

[중심 극한 정리(CLT)의 두 가지 문제점]
✅ 평균과 분산을 모두 알아야 하는데, 그렇지 못한 경우가 많음. 2가지 다 추정할 수 있긴 하나 어려움 
✅ 통상 CLT가 만족될 만큼 데이터가 충분하지 않음. 불충분한 데이터로 추정한 분산을 활용하면 리스크도 커짐
  >>  CLT의 여러 한계점 때문에, t-분포를 주로 활용함 

 

2) t-분포

① 개념

- 평균이 0, 좌우 대칭을 이루며, 자유도(n-1)에 의해 규정되는 수리적 분포

 └ 표준 정규 분포를 조금 넓게, 완만하게 해뒀다고 생각하면 됨 
 └ ex. 평균이 10일 때 15가 나올 확률이 정규 분포는 5%라면, t-분포는 7%  
- t분포에서는 분산을 대체하기 위한 '자유도'라는 모수를 사용 

- 데이터 수가 무한히 많다면, t분포는 정규 분포에 수렴
 └ 보통 수백~수천 개의 데이터면 t분포와 정규 분포(z)는 차이가 거의 없음

- 상기 t-분포를 활용한 t-test로 두 집단 간 평균 차이에 대한 통계적 가설의 유의미성을 검증! 

 

(cf) 분산과 표준편차

- 분산: 흩어진 정도. 평균과 차이(편차)의 제곱 합을 전체 데이터 개수로 나눈 값. 제곱으로 원래 값이나 평균과 단위Unit가 달라짐 

- 표준편차: 분산에 루트를 씌운 것. 루트를 통해 제곱을 상쇄해, 평균과 단위가 같아져 더욱 유용하게 쓰임 

- 자유도degree of freedom: 통계의 최종 계산에서 변동이 자유로운 값의 수

 └ 자유도는 '데이터의 수'로 보면 됨. 데이터가 100이면 자유도도 100 

 └ 평균, 분산 등 통계량을 계산할 때마다 자유도는 하나씩 감소

 └ 정확한 원리는 복잡하나, 어쨌든 자유도가 1씩 감소해야 최종 결과값에 정확히 떨어짐(불편성unbiased 만족)

 


5. 통계적 가설 검정

1) 통계적 가설 검정이란?
- 주어진 자료가 특정 가설을 충분히 뒷받침하는지 여부를 결정하는 통계적 추론 방법

└ ex. A/B테스트에서 두 집단의 매출 비교, 세그먼트에 따른 특성(매출, 방문) 차이 등 
- 통계적 가설의 구분

① 귀무(영) 가설Null Hypothesis: 기존의 통념이라 일반적으로 표현. 기본값Default에 가까움 
② 대립 가설Alternative Hypothesis: 새롭게 입증, 주장하고자 하는 것. 보통 귀무가설이 틀렸음을 데이터로 증명
  (예시) 인스타카트를 이용하는 유저들은 주말에 조금 더 많은 수량의 상품을 구매할 것이다
    └ 귀무가설: 인스타카트를 이용하는 유저들의 1회 상품 구매량은, 주중과 주말에 차이가 없다
    └ 대립가설: 인스타카트를 이용하는 유저들의 1회 상품 구매량은, 주중과 주말에 차이가 있다

      * 보통 통계학에서는 귀무가설을 중심으로, 귀무가설을 기각 및 채택하는 관점으로 진행 

 

2) 가설의 검정Test : 어떻게 검사할 것인가? 

검정 절차

 

①  먼저, 가설을 검정할 수 있는 통계량Statistic을 생성
 └ 통계량은 특정 분포를 따라야 하며, 이를 통해 확률을 구할 수 있음

 └ 데이터 수집하고 통계량을 짜는 것이 아니라, 데이터가 어떻게 존재할 것인지 미리 알고 있어야 함

 └ 예를 들어, 2개 평균 값이 얼마나 차이 있는지, 차이는 유의미한지 분포를 따져볼 수 있으면 확률값이 나옴 (p-value)

 

② 통계량이 따르는 분포를 확인

 └ 일례로, 1회 주문당 상품 구매량은 '평균' 수치로 정규분포(CLT)를 따르나, 구매 여부 조건이면 항목이 2개라 베르누이 분포를 따름

    * 정규 분포는 분산이 아니라 표준 편차를 중심으로 생각

 

③ 검정을 위한 하나의 검정 통계량Test Statistic 생성
 └ 각 분포에 맞는 수식을 활용해 검증 진행.

 └ t-test statistic 예시: t값은 두 집단의 평균 차이를 합동 표준 편차로 나눠준 값

 

④ 가설의 기각
 - 검정 통계량 값이 귀무가설에서 가정한 것보다 지나치게 크거나 작을 경우, 귀무가설은 기각되고 대립가설이 채택됨 

 - 예시에서 합동 표준 편차로 나눠주는데, 이는 분산이 t값에 영향을 줌을 의미 (하기 그래프 참조)

 └ 평균이 빨간 1, 파랑 5로 동일하지만, 분산이 크면 데이터 노이즈가가 많고 퍼져 있어 값의 차이를 밝혀내기 어려움(낮은 t값)  

 

3) 신뢰수준과 오류

- 통상 검정 통계량을 통해 얻은 통계값이 신뢰 수준Confidence Level 보다 작으면 귀무가설이 틀렸다(기각)고 판별
- 통계적 가설 검정의 오류는 크게 2가지로 나뉨 
 (1) 1종 오류Type I Error: 귀무가설이 맞았는데 기각하는 것. 거짓 약팔이가 대표적인 예시
 (2) 2종 오류Type II Error: 귀무가설이 틀렸는데 기각하지 못하는 것. 연구비 날림이 대표적인 예시.


- 일반적으로 통계학은 1종 오류를 더 중요시하여, 이를 기준으로 2종 오류를 최소화함 
└ 1종 오류가 발생하지 않을 가능성을 신뢰 수준Confidence level이라고 함 
 1종 오류가 발생할 가능성을 유의 수준Significance level이라고 함 

 

 


6. t-test 

1) t-test (t-검정) 

- 두 집단 간의 평균 차이가 유의미한지 검증하는 가장 보편적인 통계 방법

- 모집단의 분산이나 표준편차를 알지 못할 때, 표본으로부터 추정된 분산이나 표준편차를 가지고 검정하는 방법

- t-test를 통해 귀무가설과 대립가설 중 어떤 것을 채택할지 결정  

 └ 귀무가설(Null Hypothesis): 두 집단 간의 평균 차이는 없을 것이다. 

 └ 대립가설(Alternative Hypothesis) : 두 집단 간의 평균 차이가 있을 것이다. 

 

2) t-value

-  t값은 t-test에 이용되는 검정통계량으로, 그룹 간 평균 차이에 비례하는 변수

 └ 즉 평균 차이가 클 때 큰 값을 가지도록 세팅된 변수로 t값이 클수록 두 집단 간 평균 차이가 유의미(귀무가설 기각)

- 계산식은 t-test 종류에 따라 상이하나, 간단히 보자면 (각 표본 평균의 차이 / 합동 표준 편차 )로 정리 

(cf) 기각역 (Critical Region)

: 귀무가설이 기각되기 위한 검정통계량(t값)이 위치하는 범위로, 면적=α (유의수준)과 자유도(n-1)에 의해 결정

: 검정통계량(t값)이 기각역에 위치하면 귀무가설은 기각됨

 

* t-test 개념 설명 참조 : https://m.blog.naver.com/sendmethere/221333164258

 

3) p-value

- 평균적으로 발생할 가능성이 얼마나 되는가를 나타낸 확률 

 └ 귀무가설이 정확하다는 가정 하에서 실제 관찰된 결과만큼 극단적인 검정 결과를 얻을 확률

 └ p-value가 작을 수록 귀무가설의 발생 가능성이 작다는 것을 의미

- 동전던지기 예시로 살펴본 p-value

 └ (귀무가설) 동전을 던져서 앞면이 나올 확률(p)을 50%라고 정의

 └ 30회 던져서 결과값 확인 (너무 작은 값은 0으로 표기)

 └ 20회 나올 확률은 2.7982%, 20~30회 중에 나올 확률은 4.9369%

 └ 앞면 20회 나오는 것은, 앞면이 10회 나오는 것과 동일하게 극단적extreme = two-tail을 다 봐야 

     : 따라서 20회 이상 나올 p-value는 4.9369% * 2 = 9.8738%

- 통상 p-value가 연구 시작 전 세운 기준, 즉 신뢰 수준Confidence Level 보다 작으면 귀무가설이 틀렸다고 판별
 └ 사회과학에서는 일반적으로 5%를 채택하지만, 절대적인 기준은 아니며 해당 기준은 비판의 대상이 되기도 
 └ 신뢰 수준은 오류의 가능성을 허용한다는 의미. 통계는 확률적이기에, 항상 오류의 여지가 있음

 

4) t-test 시 주의할 점 

① 이상치와 왜도
- t-test의 결과, p-value를 신뢰하기 위해서는 이상치와 왜도 확인 필수 

- 실제로 데이터 히스토그램 예시) 좌측 - 원본 데이터, 우측 - 로그 데이터 모두 왜도 확인

- 왜도나 이상치가 반드시 결과를 반대 방향으로 왜곡하는 것은 아님

└ 하지만 많은 경우 이상치와 왜도는 결과에 큰 영향을 미칠 수 있음

 

② p-value와 신뢰 구간
- p-value에 기반한 의사결정은 단일한 값에 의존하기 때문에 편향된 결과를 가져올 수 있음 (정보량이 적음)

- 신뢰 구간Confidence Interval을 보는 것을 권장

└ (정의) 표본을 뽑아 신뢰 구간을 무수히 많이 계산한다면 100번 중 95번은 신뢰구간이 모수를 포함한다.

   : 모수가 신뢰 구간 안에 들어갈 확률이 95%(신뢰 수준)라는 건 잘못된 해석

   : 모수도, 신뢰 구간도 변수가 아닌 상수이기 때문에 들어가거나 않거나 둘 중 하나만 가능

   : 신뢰 구간을 통해 모수의 범위를 대략 짐작해 볼 수 있음 (파이썬은 안 됨)   

- 상기 검정통계량 t(T statistic)는 두 집단의 평균의 차이를 나타내는 값인데, -136으로 0보다 훨씬 작음
└ 하한선lb, 상한선ub이 -1.27~ -1.24로 작고, 특히 0이 포함되어 있지 않으므로 귀무 가설을 신뢰할 수 없음

* 같은 신뢰 수준 하에 신뢰 구간이랑 p-value는 100% 같은 결과를 내줌

 

5) 다양한 t-test

- 사실 t-test는 가정과 목적에 따라 다양한 변형variation이 있음


① 일표본One Sample t-test
- 한 집단의 평균이 특정값과 크게 차이나는지 검정
- 많이 사용하지 않음 

 

② 이표본Two-sample t-test
- 두 집단의 평균의 차이를 검정. 응용하면 그 차이가 특정 값보다 큰지도 검사 가능 
- 두 집단의 표본 수와 분산이 같은 지에 따라 여러 변형이 있음

└ 두 집단이 유사할 수록, 즉 표본 수와 분산이 같을 수록 계산이 쉬움. 하지만 표본수와 평균이 같은지 검사하기 애매

- 하여, 두 집단의 표본과 분산이 둘 다 다르다고 가정. Welch t-test라고 부름

└ 단점은, 자유도와 분산을 구하는 계산이 복잡(컴퓨터가 해줌)하고, 보통 검정력Power(2종오류 최소화) 약화 

 

③ 대응표본Paired t-test
- 두 집단 사이의 대응관계를 확인. 통한 동일 집단 사이의 전후 비교에 많이 사용
단, 정확한 표본으로 통제된 환경에서 측정해야 
- 수학적으로 사실상 일표본 t-test와 동일

 

6) t-test의 한계
- t-test는 3개 이상 집단을 대상으로 평균을 검정하기에는 부족

 └ 예를 들어 A, B, C에 대한 평균을 비교할 때 (A, B), (B, C), (A, C) 3쌍으로 검정 회차 반복하며 신뢰 수준 크게 하락

 └ 5개 집단 평균을 각각 비교하면서, 10번 검정을 진행하면 하기와 같이 신뢰 수준이 떨어짐

 

7) 실습 예시 (별도 파일)

- 해외에서 유명한 커머스 Instacart의 공개 데이터를 사용
- 직관적이고 깔끔한 데이터지만, 이해와 사용에 상당한 주의가  필요
- 재방문과 주문 규모에 대한 분석 코드
- 가설: 인스타카트를 이용하는 유저들은 주말에 조금 다 많은 수량의 상품을 구매할 것이다
- 결론: 주중과 주말 사이에 통계적으로 유의미한 차이가 있으며, 주중에 더 많은 상품을 구매하는 경향이 있다.
         └ 이는 단순히 평균값에서 약 1개가 차이났다는 것이 아니라, 낮은 p-value(0.05 이하)로 확인할 수 있음

 

 


7. ANOBA와 Remedy

1) 분산 분석ANalysis Of VAriance(ANOVA)

: 한 번에 3개 이상 집단 사이의 평균 차이가 있는지 검사하기 위해 사용 

① ANOVA 가설 

- 귀무 가설: 모든 평균이 같다. 
- 대립 가설: 적어도 하나의 평균이 다르다.
 └ 하나 이상 평균이 다른 것으로, 어느 집단의 평균이 다른지는 알려주지 않음 

 

② ANOVA 원리 

 

- ANOVA는 평균을 비교하는 방법론이지만, 분산을 이용
 └ 각 집단의 평균은 조금씩 다를 수밖에 없어, 그 차이가 유의미한지 보기 위해 분산이 필요 

- 분산과 관련된 2개의 분포

(1) 카이제곱

 : 기본적으로 표준정규분포의 제곱합으로 정의

 : k는 데이터의 개수이자 카이제곱 분포의 모수인 자유도. 즉, 표준정규분포를 몇개나 합쳤느냐의 문제 

(2) F분포

: 두 카이제곱의 비율Ratio을 이용해 두 분산 비교하는 것 
: ANOVA는 3개 이상의 평균을 비교하는데, F분포는 2개의 분산을 비교


 :  이것이 가능한 이유는, ANOVA가 다음의 두 분산을 비교하기 때문 
 · 집단 간 분산Variance between groups
    。 각 집단 사이 평균의 분산을 구함 
    집단 사이의 평균이 멀리 떨어질수록, 값이 커짐
· 집단 내 분산Variance Within groups
      각 집단 내의 분산을 구함
      집단 내의 분산이 클 경우, 집단 간 평균이 더 커야 귀무가설 기각 가능 

     。ex. 집단 내 키 분산이 170~180인데, 집단 사이 평균이 171, 172면 평균차가 무의미해질 수도

 

③ ANOVA의 활용과 그 한계

(1) ANOVA, 결과와 그 해석

- 앞에서 보았던 예시를, 주중/주말 > 요일별로 변경

└ ANVOA는 검정 통계량이 F분포를 따르며 이로부터 p-value를 뽑음

└ 낮은 p-value로 귀무가설 기각 > 적어도 하나의 집단 평균이 다르다 > 어느 집단 평균이 다른지는 알 수 없음 

 

(2) 사후 검정Post-hoc analysis

- 사후 검정에는 정말 다양한 종류가 있지만, 가장 널리쓰이는 건 Tukey

   

- 사후 검증 결과, 모든 경우에 대해 평균의 차이가 통계적으로 유의미하다 결과 확인 

└ 통계적으로는 유의미하지만, 실질적으로도 유의미할지? 

 

(3) 실질적Practical vs 통계적Statistical 유의

- 통계적으로 유의한 결과라고 하더라도 실질적인 효과가 없다면 큰 의미는 없음 

└ 확실하게 효과가 존재하는 것과 효과의 크기가 유의미한 것은 다름 ex. 걷기는 기대수명을 늘려준다

- 통계적 유의함의 결과는 비용과 효과 등을 고려하여 종합적으로 판단해야

 

2) ANOVA의 통계적 가정Assumption

- ANOVA 또한 결과값이 건강한지 검토가 필요 (t-test보다 엄격하게 봄)
- ANOVA를 포함 다수 모형은 원본Raw 데이터가 아닌 잔차Residual에 대한 가정을 가짐

└ 잔차Residual는 실제값에서 예상값을 뺀 값 

└ 잔차는 특정 분포를 따라야 하는 제약이 있는데, 이는 어떤 패턴이나 특징이 없어야 함을 의미  

 

① 정규성Normality
- 잔차의 분포는 정규분포를 따름을 가정
- 가장 흔한 문제는 왜도Skewnes와 이상치Outlier로, 가장 중대한 문제

└ 정규성이 잘못된 것으로 판별되면 그 어떤 것도 신뢰할 수 없음 
- 잔차의 분포는 QQplot을 통해 시각적으로 진단 가능 
└ 대각선 직선에 가까워 (a) (c)는 좋음, (b) (d) 우측 상단값은 이상치일 확률이 높음 

 


- QQplot 외 통계적 검사를 하는 방법 
 └ Shapiro: 소표본(n<=50)일 때 유용(표본이 많으면 기각해버려서, 대표본일 때 많이 안 씀)
 └ Kolmogorov: 비교적 대표본일 때 유용. 단, 데이터가 지나치게 많으면(>1,000,000) 샘플링 권장

- 정규성 문제는 로그 변환Log transformation과 이상치 제거로 해결되는 경우가 대다수

 

② 등분산성Homoscadasticity
- 각 집단의 분산은 동일하다는 가정
 └ scadasticity는 얼마나 퍼져 있냐는 의미로, 등분산성Equal variance이라고 부르기도

 └ 이분산성Hetero-scadasticity은 등분산성이 깨진 경우, 분산이 2개 이상이라는 것 

     : 분산은 평균에 종속될 수 밖에 없기 때문에 매우 일반적으로 나타남 > 로그로 해결 가능 


        
- t-test에서는 Welch t-test로 두 집단의 분산이 다르더라도 이를 보정할 수 있었음

- ANOVA는 3개 이상 집단이라 보정이 어렵고, 등분산성 가정이 어긋날 시 2종 오류 위험이 커짐 

- 일반적으로 바틀렛Bartlett 검정을 통해 등분산성을 검사 
- 정규성을 교정Remedy하면 해결되는 경우가 많음

└ 좌측과 같이 Y축이 메가폰 모양을 가질 때, 로그 변환해주면 우측과 같이 안정화되는 경우가 다수 

③ 독립성Independency
- 각 관측치가 독립적으로 분포하였다는 의미. 중심극한정리(CLT)에서 iid의 independence와 같음

 └ 각 데이터의 순서에 따른 패턴이 존재하지 않아야 함

 └ 패턴이 존재하는 것을 자기 상관성Auto-correlation이라고도 함
- 독립성에 문제가 있어도 편향bias에는 문제가 생기지 않고, 위험이 비교적 가장 약함 

- 독립성은 보통 DW 검정을 통해 진단

- 반대로, 독립성 문제를 이용해 패턴을 잡아서 정확한 예측하기도 함 

 └ 예시1: 일자별 데이터를 통한 일자 변화에 따른 경향성을 예측  

 └ 예시2: 가입 순서에 따라 정렬된 유저 데이터를 통한 오래된 유저(해비유저)와 신규 유저의 행동패턴 분석  
- 독립성 문제 해결은 잔차에 대한 시계열Time-series 모형이 적합할 수 있지만 자세한 것은 생략 

 

(cf) ANOVA vs t-test
- 집단이 2개일 때 ANOVA를 할 수 있을까요? 그러면 어떻게 될까요?
└ 가능. t-test와 정확히 같은 결과과 나옴. 정확히는 양측two-tailed 검정일 때 
t분포를 제곱하면 F가 나오는 분포 사이의 관계 덕분에 가능한 것
- 애초에 신뢰 수준을 쭉 높이고 t-test를 여러 번 하면 안되나요?
 └ 가능. 이를 본페로니Bonferroni 방법이라고 함

 └ 데이터가 충분하면 본페로니를 안 할 이유는 없지만, 집단 수에 따라 신뢰구간을 매번 조절해야 함 
 └ 웬만하면 ANOVA하고 t-test를 보여주면 됨 

 


8. 회귀

1) 자료형과 ANOVA

① 자료형

 

(1) 질적Qualitative 자료: 수칙 연산이 불가한 자료. 범주형Categorical이라고도 함
   - 명목형Nominal: 이름, 성별과 같이 위계나 순서가 없는 자료
   - 순서형Ordinal: 학년과 같이 순서가 있지만 사칙연산이 적용되기 어려운 자료
(2) 양적Quantitative 자료: 수칙 연산이 가능한 자료
   - 연속형Continuous: 길이나 무게처럼, 분절되지 않고 연속적인 수치형 자료
   - 이산형Discrete: 개수와 같이 연속적이지 않은 수치형 자료(동전던지가 앞면 나온 횟수 등 소수점 불가)

 

[Q. 질문]

 - 나이는 어떤 자료일까요? 자료에 따라 양적 연속/이산형일 수도, 나이대를 묵어 질적 명목/순서로 쓸수도 

 - 앞에서 보았던 ANOVA는 어떤 타입의 데이터를 활용했을까요? 명목형과 이산형 

 

② 독립 변수와 종속 변수

- 종속 변수Dependent variable = x
 └ 우리가 예측 혹은 설명하고자 하는 변수
 └ 반응 변수, 표적 변수, 예측 변수 등이라고도 함 
- 독립 변수Independent variable = y
 └ 종속 변수를 예측/설명하는 데 활용하는 변수

 Predictor, 설명 변수, 요인Factor, 피쳐Feature 등으로도 부름
- 데이터에서 두 변수가 반드시 정해져있는 것은 아님 

 

③ 자료형과 통계 모형

 

- t-test/ANOVA는 요일(종속변수가 질적 자료)에 따라 평균(독립변수가 양적 자료)이 다른지 보는 모형

- 변수의 타입이 달라진다면, 모형도 달라져야 

└ 예를 들어, 구매수(종속 변수가 양적 자료)에 따른 평균(독립 변수가 양적 자)을 보려면 선형 회귀

 

2) 선형 회귀Linear Regression

① 선형

- 개념

(좌) 선형 (우) 비선형

 └ polynomial function. 직관적으로, 곧고 긴 직선
 └ 회귀 분석은 선형이지만, 비선형도 다룸. 대표적인 것이 일반화 선형 모형Generalized Linear model

 

- 선형 상관 관계

 └ 두 수치형 자료 사이의 관계를 볼 때 가장 많이 사용하는 지표 중 하나
 └ 일반적으로 말하는 상관 관계는 선형Linear 상관 관계로, 피어슨Pearson 상관 관계라고도 함
 └ 선형 상관 관계는 -1 ~ 1 사이의 수치로 둘 사이의 관계를 파악
 └ 어느 정도 크기가 되어야 유의미한지는 상황에 따라 다르며, 필요하다면 검정test 가능

 

② 회귀 모형

 

 

- 선형 회귀 

 └ 선형 회귀는 상기 수식을 만드는 것
   : X와 Y는 주어진 데이터이며, 모수 $b_0$과   $b_1$는 값을 모르는  상수   

 └ 모수를 찾는 것이 주요 과제로, 이 과정을 적합fit 이라고 부름 
   : $b_0$와 $b_1$ 중 중요한 것은 $b_1$

 

- 모형 적합Fit

모형 적합을 활용해 회귀 모형의 모수($b_0$,  $b_1$)를 찾음 

└ 상기 수식은 일반적으로 회귀를 포함한 통계 모형에서 많이 쓰이는 표현
└  y와 y'(예측값) 사이의 제곱, 즉 오차인 SSE를 최소화하는 것이 목표

   : SSE 최소화를 위한 다양한 최적화가 가능하지만, 미분을 사용하는 것이 일반적

 

 

- 모형 평가Goodness of fit / evaluation  

 └ 위 수식에서 $R^2$(R Square)는 결정계수로 모형의 성능 평가에 사용 

  : $R^2$는 모델이 얼마나 종속 변수의 변동을 잘 설명하는지로 해석 (ex. 나이대별 매출수 차이 등)  

  : SST는 y가 얼마나 퍼져있는지, SSE는 얼마나 못 맞췄냐(오차), SSR는 얼마나 잘 맞춰냐는 의미  

  : $R^2$는 0과 1 사이의 값을 가지며, 1에 가까울수록 더 좋음(즉, y가 덜 퍼져있으면서 오차가 적어야)

  : 단순 선형 회귀에 한 해,  $R^2$는 선형 상관관계, 즉 피어슨 상관계수를 제곱한 값과 동일
  : 0.005와 같이 아주 작은 $R^2$도 통계적으로 유의할 수 있음 

통계적 유의성은 F검정으로 확인
  : 이때 F검정은 ANOVA의 F검정과 완벽하게 동일
  : $b_1$에 대해서는 t 검정을 할 수 있는데, 이 또한 F검정과 완벽하게 같음

 

(파이썬 stats 사용 예시)

 

 

- OLS(Ordinary list squres): 최소 제곱법으로 회귀를 맞춘 것 

----------

- No. Observations: 237개의 관측치 > 데이터 개수가 내가 생각한 것과 맞는지 체크 

- Df Residuals: 잔차에 대한 자유도가 235 

- Df Model: 모델에 대한 자유도가 1 

----------

- F-statistic: 5.96e-54 (0.00 할 때 0이 54개 있다는 의미)로 작은 숫자 > 통계적 유의성 확보 

- R-squared: 0.639 = y의 분산으로 0.64 정도라는 의미 > 절대적인 기준은 없으나 준수  

----------

- Intercept : 절편에 대한 것으로 값을 뜯어보진 않으나 존재는 해야 함 

- Brain_weight($b_1$ / x): Brain_weight가 1 늘어날 때 y가 2.4269(coef) 늘어남 (y는 모르는 상태)

----------

- Omnibus: 이 모형에 대한 평가인데 F값으로 갈음

- Skew: 왜도. 얼마나 기울어졌냐 

- Kurtosis: 첨도. 얼마나 뾰족하냐. 3을 기준으로 너무 벗어나면 정규분포와 다르다고 봄

- Durbin-Waton: 독립성에 대한 검사. 2내외면 괜찮고, 1이하 혹은 3이상이면 문제 있음 (p-value 필요하나 pass) 

- Jarque-Bera: 정규성에 대한 가정. 많이 낮게 나오면 잔차에 대한 정규성이 깨졌다고 봄 

 └ 등분산 검정이 없는데, 정규성이 맞으면 등분산이 맞는 경우가 대부분 

 

3) 통계적 가정과 검사

- 통계적 가정: ANOVA와 동일

-이상치와 영향점
 └ 선형 회귀 모형 또한 이상치에 강력한 영향을 받음

   : 회귀는 종속 변수와 독립 변수 모두 숫자라 둘 다 검사 필요

 └ 영향점은 이상점과 좀 다른 것으로 각 데이터 하나 베타값에 영향을 주는 정도로 참고만

 

4) 회귀 모형 한 걸음 더!

: 여러 독립 변수를 활용하는 다중 선형 회귀에서 고려해야 할 점 

 

- 더미 변수

: 여러 분야에서 활용되는 개념이나, 여기선 범주형 자료의 회귀 분석에서 다루기 위해 설명

 └ 통계학의 더미화dummy와 머신러닝의 원-핫 인코딩은 유사

     : 다만 통계학은 마지막 차원 하나를 생략하여 자유도 조절
     (ex. biscoe, dream이 둘 다 0이면 torgensen 1인 경우, torgensen  생략해 자유도를 줄임)

     : 그렇지 않으면, 회귀 모형의 경우 다중공선성collinearity의 문제로 적합이 안 됨
 └ 독립 변수가 질적이며 더미화하여 사용되는 경우를 ANOVA라고 함 

- 다중 회귀

 └ 독립 변수를 여러 개 사용하는 것으로, 난이도가 매우 높아짐 (y를 설명하는 변수가 늘어나는 것)

 └ 가장 큰 문제는 다중공선성으로, 독립 변수들 사이의 선형 종속성이 있는 것

- 교호작용
 └ 똑같은 변수도 관측치마다 영향이 다를 수 있음 

- 고차항
 └ 고차항을 추가해 비선형을 포함한 더 복잡한 관계를 모형화 가능 


- 자유도와 유연성
 └ 데이터 뿐 아니라 모델 또한 복잡도를 가짐
   : 복잡도는 모형에서 사용한 모수의 개수와 동일

   : 선형 회귀의 경우 모형의 자유도는 1 ($b_0$와 $b_1$을 구하는 제약 수식은 1개로 정리되기 때문)
   : 전체 데이터 수 = 모형의 자유도 + 잔차의 자유도

     · 수식 자체보다 중요한 것은, 모형이 복잡하려면, 데이터가 받춰줘야 한다는 함의 

   ·  상기 좌측 그래프 해석 예시: 모델이 지나치게 복잡할 필요 없음 

      ① 노이즈 포함 실제 관측한 것은 하얀색 점 / 진짜(?) 패턴이 잡힌 게 까만색 선 

        └ 목표는 까만선에 fit한 수식을 찾아내는것  

      ② 노란색 선은 선형 패턴

      ③ 초록색 선은 모수가 늘고 모델의 복잡도(자유도)가 커지면서 생성된 선으로 노이즈까지 학습됨 

      ④ 파란색 선은 노란색과 초록색 사이에 적절한 데이터를 가져온 것. 까만선과 비슷 


- Log 변환
 └ 종속 변수의 로그 변환은 약간의 편향bias를 가져올 수 있음

 

- Ridge & LASSO
 └ beta에 패널티를 주어 분산 안정화variance stabilize하면 성능이 좋아지기도 
  : 대부분 약간의 편향을 포기하고 분산을 줄일 수 있는데, 이를 분산 안정화라고 함 

 

- 변수 선택
 └ 항상 모든 변수를 사용하지는 않음 
    : 전진 선택법 / 좋아보이는 것부터 넣기 
    : 후진 선택법 / 나빠보이는 것부터 빼기 
    : Stepwise /  좋아보이는 것부터 넣지만 중간에 나쁜 걸 뺄 수도
 └ 변수 선택의 기준은 보통 $R^2$보다는 AIC, BIC를 선호
 └ 머신러닝에서는 데이터 분할을 하기 때문에, 평가 데이터에서의 성능($R^2$)를 참고하는 것이 보통

 

(cf) 통계 관련 ETC

① 상관 vs 인과
- 통계학의 모형 대부분은 인과가 아니라 상관 관계
- 회귀 모형에서 $y\sim x$에 대한 모형과 $x\sim y$에 대한 모형이 수리적으로 동일할지라도

 └ 기온과 아이스크림 판매가 상관이 있는거지, 아이스크림이 많이 팔리니 기온이 올라갔다는 해석은 무리

 

② 회귀 vs 분류
- 머신러닝에서는 일반적으로 지도supervised 학습(답 주고 맞추는 학습)을 다음 두 가지로 나뉨 
 └ 회귀Regression: 종속 변수가 양적 / 숫자 맞추기 
 └ 분류Classification: 종속 변수가 질적 / 분류 맞추기 

- 통계학에서의 회귀와 다르니 같은 단어라도 맥락을 보고 판단해야 


③ 왜 제곱일까?
- 회귀 모형을 포함한 다수의 모델이 잔차를 제곱하여 사용
 └ 제곱을 하면 값이 커지는데, 단점으로 이상치에 민감하고 장점은 큰 오차는 안 나게 하는 경향성이 있음 
- 항상 제곱만이 정답은 아님 
 └ 시계열에서 MAPE, 그래프 기반의 인공 신경망GNN에서는 세제곱을 사용하기도 

 


9. 통계학 한 걸음 더 

1) 통계학의 근본을 잡고 싶다면

- 통계학 원론 / 수리 통계학 / 확률론 / 통계 기반 머신러닝: [ISLR] 등 공부 필요 

 

2) 기타 개념들

- 범주형Categorical 자료와 카이제곱 검정

 : 분석할 데이터가 범주와 범주일 때 카이제곱을 활용 (ex. 알고리즘 종류 따른 쿠폰에 사용 등) 

 

- 일반화 선형모형GLM

- 다변량Multivariate 통계

- 베이즈 통계학Bayesian statistics

- 실험 설계와 A/B 실험: [하마책]

- 시계열Time series

 

3) 대용량 데이터 처리와 자동화
- OLAP vs OLTP

: OLAP는 분석 과정에서의 데이터 저장, OLTP 실제 서비스 관점에서의 데이터 저장

: 엔지니어들이 OLTP로 수집된 데이터를 OLAP에 활용 가능하게 복사 뜨는 것 


- ETL Pipeline : 데이터를 어떻가 가져오고 적재하는지 등
- Batch vs Stream : 주기적인 데이터 처리 vs. 실시간 데이터 처리 
- Schema와 ORM(Object Relational Mapping): 스키마는 데이터 양식, ORM은 자료형을 명확하게 해주는 것 

- 시/공간 복잡도와 알고리즘

- 자료 구조와 데이터베이스: 효율적으로 코드를 짜고 자료를 활용해야..
 └ 인덱싱과 파티셔닝