지지플랏의 DataScience

(3) DSforS : Chap 2 탐색적 데이터분석 2.4 ~ 2.8 본문

Data Science/데이터과학을 위한 통계

(3) DSforS : Chap 2 탐색적 데이터분석 2.4 ~ 2.8

지지플랏 2024. 5. 15. 12:46
반응형

1. 목차

  • 2.4. 부트스트랩
  • 2.5. 신뢰구간
  • 2.6. 정규분포
  • 2.7. 긴꼬리 분포
  • 2.8. 스튜던트 t 분포

모수, 통계량을 넘어가서 표본샘플링과 신뢰구간, 분포 등에 대해서 알려주는 단원입니다. 

 

2. 본문

2.4. 부트스트랩

  • 재표본추출(재표집, 리샘플링, resampling): 관측 데이터로부터 반복해서 표본추출하는 과정. 부트스트랩과 순열(셔플링) 과정을 표현
  • 부트스트랩(Bootstrap): 통계량이나 모수를 추정하는 방법 중 하나로, 현재 있는 표본에서 추가적으로 표본을 복원추출하고 각 표본에 대한 통계량과 모델을 다시 계산하는 방법, 데이터나 표본통계량이 정규분포를 따라야한다는 가정이없는 장점
  • 부트스트랩 표본(Booststrap sample): 관측 데이터 집합으로 얻는 복원 추출 표본

 

부트스트랩 알고리즘
1. 샘프 값을 하나 뽑아서 기록하고 다시 제자리에 놓는다.
2. n 번 반복한다. 
3. 재표본추출된 값의 평균을 기록한다. 
4. 1~3 단계를 R번 반복한다. 
5. R 개의 결과를 사용하여
   - 표준편차(표본평균의 표준오차)를 계산
   - 히스토그램 또는 상자그림 그리기 
   - 신뢰구간 찾기 

부트스트랩은 다변량 데이터에서도 적용될 수 있으며, 해당 데이터로 모델을 돌려 의사결정 트리에 적용할때 이 Bagging (Boostrapping + aggregating) 이라고 부릅니다. 랜덤포레스트 모델이 대표적입니다.  부트스트랩을 공부하다보니 자꾸 순열(permutaion)이라는 단어가 등장해서 찾아보았습니다. 사실 순열이라는 것은 우리가 흔히 알듯 구별이 되는 N개의 데이터를 뽑아서 순서대로 놓는 것이라고 알고 있습니다만 여기서 등장하는 것은 정확히는 순열검정에 대한 방법입니다. 

 

  • 부스트랩 vs 순열검정 
    • 순열검정정의: 두 개 이상이 표본에서 그룹 간 차이가 우연에 발생한 것인지 결정하기 위한 비모수 검정 방법. 관찰된 순서나 구성을  임의로 바꾸어 샘플링하여 검정. 임의로 바꾸기 때문에 두 집단이 동일한 모집단에서 나왔다는 가정이 있어야함.

두 표본이 본질적으로 같음

https://angeloyeo.github.io/2021/10/28/permutation_test.html

 

순열 검정법(permutation test) - 공돌이의 수학정리노트 (Angelo's Math Notes)

 

angeloyeo.github.io

  • 목적
    • 순열검정: 두 표본 그룹간의 차이가 통계적으로 유의한지 검정하는 것
    • 부트스트랩: 통계량(평균,중앙값, 분산) 등을 추정하거나 신뢰구간을 구하는데 사용

 

결국 t검정과 같이 한 모집단에서 등장했다는 가정을 하는 이표본 독립검정에서 확인 방법 중 하나라는 것을 알게되었습니다. 재밌군요!

 

2.5. 신뢰구간

  • 신뢰수준(confidence level): 같은 모집단으로부터 같은 방식으로 얻는 관심 통계량을 포함할 것으로 예상되는 신뢰구간의 백분율입니다. 신뢰수준은 일반적으로 95%, 99%와 같이 표현되며 값이 높을수록 신뢰구간은 넓어지는 특징을 가지고 있습니다. 아무래도 엄격한 기준일 수록 더 브로드하게 표현하는게 인간 삶과 닮아있죠? 

  • 구간 끝점(interval endpoint): 신뢰구간의 최상위, 최하위 끝점을 말합니다.

 

부트스트랩 신뢰구간 구하기 
1. 데이터에서 복원추출로 크기 n인 표본을 뽑는다.(재표본추출)
2. 재표본추출한 표본에 대해 원하는 통계량을 기록
3. 1-2단계를 R번 반복
4. x% 신뢰구간을 구하기 위하여 R개의 재표본 결과의 분포 양쪽에서 [(100-x)/2] %만큼 잘라내기
5. 절단한 점들은 x% 부트스트랩 신뢰구간의 양 끝점
 

신뢰구간 구하는 방법

https://play.google.com/store/apps/details?id=com.clicker.smartnfast&hl=en-KR Auto Clicker - SmartNFast – Apps on Google Play Auto Clicker: Tap repeatedly, user-friendly, multiple points. play.google.com 신뢰구간 구하는 방법 표본의 특성이

gridamath.tistory.com

 

  • seaborn에서 신뢰구간 발견하기

재밌는 점은 Seaborn 그래프에서 barplot을 그리면 자동으로 errobar 옵션이 작동하여 다음과 같이 표현해줍니다. 아주 친절하게고 seaborn패키지에서는 이 옵션에 대해서 디테일하게 적어준 문서가 있습니다. https://seaborn.pydata.org/tutorial/error_bars.html

 

Statistical estimation and error bars — seaborn 0.13.2 documentation

Statistical estimation and error bars Data visualization sometimes involves a step of aggregation or estimation, where multiple data points are reduced to a summary statistic such as the mean or median. When showing a summary statistic, it is usually appro

seaborn.pydata.org

다음 그래프는 tip 데이터를 바탕으로 성별에 따른 팁이 얼마나 나오는지 보여주는 막대그래프입니다.

 

barplot에서는 errorbar라는 옵션 중 하나로 신뢰구간을 넣을 수 있습니다. 비모수적 방법인 부트스트래핑을 적용한다고 적혀있네요. 

부트스트래핑이 기본적인 옵션으로 설정된 이유는 부트스트래핑은 유연하고 강력하기 때문입니다. 데이터에 대한 기본적인 가정이 적아서 정규분포와 같은 가정을 하지도 않고도 신뢰구간을 계산할 수 있는 장점이 있기 때문이죠. 따라서 작은 샘플의 크기나 비정규분포에 유용하다고 할수 있습니다. 

Seaborn에서 제공하는 errorbar 옵션에 대한 정리
ci는 부트스트래핑을 사용함

 

열심히 부트스트래핑을 보니 이런 생각이듭니다. 아니 그럼 t분포를 통한 신뢰구간의 계산은 필요없나?

t 검정의 경우 ① 데이터가 정규분포를 따르고, 분산이 알려져 있거나 두 샘플간의 등분산성을 가정할때 유효한 제한 점이 있으나, 당연히  가정 까다로우니 신뢰구간추정이 좀 더 정확하게 작동합니다. 또한 계산식이 아주 단순한 장점이 있고 통계소프트웨어에서도 모두 지원하는 장점이 있습니다.

 

 

2.6. 정규분포

해당 소단원에서는 정규분포를 아주 간단하게 소개합니다. 사실 정규분포만으로도 족히 책 반을 덮을 수 있을텐데 2단원에서 충분히 분포를 하나씩 설명하는게 필요하다고 생각하는 것 같네요. 등장하는 용어는 다음과 같습니다.

  • 오차(error): 데이터 포인트와 예측값 혹은 평균 사이의 차이 
  • 표준화(standardize)하다: 평균을 빼고 표준편차로 나누다. 
  • z 점수(z-score): 개별 데이터 포인트를 정규화한 결과
  • 표준정규분포(standard normal distribution): 평균 0, 표준편차 1 인 정규분포
  • QQ 그림(QQ plot): 표본 분포가 특정 분포(정규분포)에 얼마나 가까운지 보여주는 그림

 

2.7. 긴꼬리분포

  • 꼬리(tail): 적은 수의 극단 값이 주로 존재하는, 도수분포의 길고 좁은 부분
  • 왜도(skewness): 분포의 한쪽 꼬리가 반대쪽 꼬리보다 긴 정도

 

2.8. 스튜던트 t 분포

t분포는 윌리엄 고셋이 기네스에 근무 때 고안한 방법입니다. 통계에서는 3형제의 분포가 등장하는데 t분포, 카이제곱분포, F분포 각 분포는 집중하는 통계량이 표본의 평균, 분산, 그리고 분산의 비를 구하는데 관심이 있습니다.

t분포는 정규분포처럼 좌우 대칭인 종모양이지만 그 꼬리가 더 두껍다는 특징을 가지고 있습니다. 모분산을 모를 떄 표본분산을을 대신 사용하여 모평균을 추정하는 방법을 사용합니다.  대표적으로 일표본 검정(모평균을 검정), 이표본 검정(두 모집단의 평균을 검정)하는 방법들이 있습니다.  꽤나 자주 쓰이여 아마 통계검정을 떠올린다면 Z검정 다음으로 생각할 수 있는 검정 방법입니다.

https://recipesds.tistory.com/entry/%ED%86%B5%EA%B3%84%EB%B6%84%EC%84%9D%EC%97%90-%EC%82%AC%EC%9A%A9-%EB%90%98%EB%8A%94-%ED%99%95%EB%A5%A0-%EB%B6%84%ED%8F%AC-3%ED%98%95%EC%A0%9C-t-%CF%87%C2%B2-F%EB%B6%84%ED%8F%AC

 

통계분석에 사용 되는 확률 분포 3형제 - t, χ², F분포 (1)

서양 테이블 매너는 왜 그렇게 해야 하는지 모를 잡다한 것들이 많습니다. 누가 정했는지 알 수 없는 그런 이상한 매너들이 있는데, 이것을 기억하고 외우는 것도 꽤나 고역입니다. 그것과 마찬

recipesds.tistory.com

 

다음 글에서는  분포들을 포함한 2단원 나머지 내용들을 정리해보겠습니다.

 

반응형