낭만적(?) 일상/세미나, 교육

드립력으로 배우는 머신러닝 기초반 3주차(엑셀로 t검정)

Soo♥JJeong 2019. 4. 24. 12:55

이 수업 강의 제목을 지난 2주차가 끝나고나서야 알았다.

"쉿, 현직 빅데이터 개발자의 드립력으로 배우는 머신러닝"

 

탈잉에서는 '빅데이터/머신러닝을 쉽게 배우고 연봉을 올려보자!'로 나와 있다. 지난주 수업 때 분산, 표준편차 기초부터 결측치 제거, 아웃라이어 제거, rescaling에 대해 너무나도 쉽게 잘 설명해주셔서 '기초아니야' 반도 수강신청을 해버렸다. (수업명도 '기초반', '기초아니야' 반으로 엄청 찰지다.)

 

2주차에는 국민건강데이터로 실습을 했다면, 3주차는 캐글에 나와있는 월마트 데이터로 수업이 진행되었다. (한 주에 하나씩 데이터 셋을 보게 되어 정말 좋다!)

 

분석 목표 : holiday가 있는주와 없는 주의 월마트 매출이 유의미한 차이가 있는가?

 

주어진 데이터셋은 지점/부서/날짜(주)/매출/holiday유무 총 5개 컬럼이었다.

 

 

 

 

먼저 날짜가 있으면 수집주기를 확인하는 것이 필요한데, 7일 간격으로 있어서 주단위 데이터이다. 3개년의 데이터가 있으나, 분석목적은 3년뿐 아니라 전체의 차이를 확인하고 싶기 때문에 이는 추론 통계라고 할 수 있다.

 

기술통계상 1100정도 차이가 나지만, 세로축 기준을 변경할 경우 차이가 없어보일 수 있다. 이 방법은 분석가의 주관이 들어갔으므로 추론이 아니다.

 

 

 

 

-------------------------------------------------------------------------------------------------

 

정확도 높은 추론을 하려면,
1. 내가 한 추론이 맞을 확률이 높거나
2. 내가 한 추론이 틀릴 확률이 낮아도 됨.
   = 내 추론의 정 반대 추론(영가설Ho)이 맞을 확률(P)이 낮아도 됨.

 

통계에서 확률은 분포의 밑넓이로 구함 (적분으로!)
적분을 하지 않아도 밑넓이를 구하는 방법 알 수 있음. (표준정규분포표로!)

 

즉, 내 가설에 반대되는 영가설을 세우고, 영가설이 나타나는지를 확인한다.

 

내가설 : 까마귀는 모두 까맣다.

영가설 : 까마귀는 모두 까맣지 않다.

 

까마귀 100마리 중 까맣지 않은 까마귀를 2마리 발견했다고 치자. 발견한 2마리는 많은 것일까, 적은 것일까 영가설이 맞는지 틀렸는지 기준이 필요하다. 그래서 α=0.05(유의확률 5%)라는 것을 정하고 5마리 미만으로 나타날 경우 영가설을 기각, 내 가설을 채택한다.

 

 

또 다른 예시. 국어, 수학이 80점인데 무엇을 더 잘했는지 궁금하다.

국어와 수학은 평균과 표준편차가 다른 분포이다. 따라서 표준화가 필요하다.

(표준편차는 편차(제곱)의 평균, 평균에서 벌어진 정도를 의미한다)

 

표준화란, (나와 평균과의) 거리를 표준편차로 나눈 것(표준편차 단위로 맞춘 것)

 

 

 

                  X- μ (모평균)

표준화(Z) = -------------------

                  σ (모표준편차)

 

 


이렇게 표준점수를 쓰는 이유는 난이도가 다른 시험에서 상대적으로 얼마나 잘했는지를 따져볼 수 있기 때문이다. 이런 표준점수로 그래프를 그린 것이 바로 표준 정규분포표(Z값으로 만든 분포, 정석 맨 뒷장에 나와있는 표)이다.

 


표준 정규분포는 왜 똑같은 그래프가 나올까?  (평균0, 표준편차 1, 밑넓이 1 , 좌우 대칭)

평균- 모평균 = 0

편차의 평균 = 표준편차이므로 분자도 표준편차, 분모도 표준편차= 1

 

단, 여기서 통계적 가정이 들어갔는데, 모집단(원래점수)이 정규분포여야 한다. (만약 모집단이 편포인 경우 표준정규분포 안됨)

 

 


2교시. 그러나 현업에서는 Z분포를 거의 쓰지 못한다. 모집단의 평균, 모표준편차를 구하기 어렵기 때문이다.

 

하지만, 우리는 '중심극한정리(샘플이 충분하면 모평균 값에 가까워짐)을 배웠다.

 

 

        X - X(표본 평균, 착한사람 눈에는 위에 바가 있다.)

 t = --------------------------

           S(표본 표준편차)

 

 

샘플에 따라 Z와 t가 같을수도, 다를 수도 있다. T분포 표 역시 정석 뒷부분에 있다. (파이썬은 알아서 계산해주니 표를 볼 필요 없음) 샘플 수(N)이 30이 넘으면 Z나 T나 차이가 없다.

 

 

 

※ T검증 3가지 체크리스트
1. 정규성 : 샘플의 모집단이 정규분포인가?
2. 독립성 : 집단간 분석(집단 내 안됨)
3. 등분산성  : 분포 모양이 같은가?

 

 


-------------------------------------------------------------------------------------------------

 

 

그러면 다시 월마트 데이터로 돌아가자.

영가설 : holiday가 있는 주와 없는 주의 월마트 매출은 차이가 없을 것이다.

 

엑셀에서도 충분히 차이 분석을 할 수 있다. 먼저, 엑셀에서 데이터분석 메뉴를 추가하자.

 


1. 엑셀 상단의 파일을 누르면, 왼쪽 하단에 옵션이 있다. 옵션 클릭.

2. 옵션 팝업이 뜨면 왼쪽에 추가 기능이 있다. 추가기능 클릭.

3. 분석도구가 저 화면 어디 중간에 있을것이다. '분석도구' 클릭

4. 맨 하단에 '이동' 클릭

 

그러면 옵션창이 다 사라지고, 데이터가 있는 곳에 아래와 같은 작은 팝업이 뜬다. 분석도구 체크하고 옆에 확인클릭.

 

오른쪽 상단에 '데이터분석' 메뉴가 생긴 것을 확인할 수 있다.

 

 

 

 

데이터 분석을 클릭하면 또 아래와 같은 팝업이 뜨는데, 스크롤을 내리면 T검정이 3가지가 있다.

 

 

t-검정: 쌍체비교는 동일집단에게 반복측정 했을 경우,

t-검정: 등분산 가정 두집단, t-검정: 이분산 가정 두집단은 다른 집단을 비교할 경우에 쓰인다. 여기서는 '등분산가정 두집단'으로 분석했다.

 

집단간(between, independent)

--한 조건이 변하더라도 다른 조건에 영향 미치지 않음.

집단내(with-in, related, reapeated)

통제가 어려움.

동일 집단 반복측정(제약회사 임상실험)

통제안해도 됨.

 

 

* 참고!

데이터분석 들어가기 전 전처리를 해서 결측치도 제거하고, 분석하고자 하는 2개 집단(여기서는 holiday 유무에 따라 매출값)을 각기 다른 컬럼으로 만들어 놓아야 한다.

 

 

아래와 같이 holiday 유무에 따른 매출을 각기 다른 컬럼으로 만들어 놓고(갯수는 달라도 됨) 데이터- 데이터분석 - t검정 : 등분산 가정 두집단 클릭 시 입력범위를 넣으라는 팝업이 뜬다. 입력범위는 숫자만 들어가야하므로, 2열부터 끝까지 드래그 한다.

즉, 변수1은 True 일때의 매출, 변수2는 False일때 매출을 넣고 확인!

 

 

 

 

분석 결과는 아래와 같은 간단한 표가 나온다. 이것을 보고 우리가 해석을 해야한다. 먼저 평균, 분산, 관측수가 맞는지 확인한다. 분산이 거의 2배가까이 차이가 난다. 이런 경우 '이분산 가정 두집단' 분석을 했어야 한다. (다시 해봤는데 분석 결과 차이가 없었다.)

 

그다음 봐야 할 것은 P(T<=t) 양측검정(노란색 표시부분)인데,  1.09122E-16 라고 나와있다. 이는 소숫점을 왼쪽으로 16자리만큼 이동해야하므로, 0.05보다 한창 작은 값이다. 즉, holiday여부에 따라 매출 차이가 없다는 영가설은 기각되고, 매출 차이가 있다는 대립가설이 채택되었다.

 

 


수업내용을 블로그를 쓰면서 다시 정리했다. 중간에 영가설 세우는 조별과제와 발표 시간도 있었다.  매주 수업을 들으면서 쑥쑥 자라는 느낌이다.

 

엑셀로 T검증, 회귀분석은 해봤는데 제대로 한게 맞는지 의심이 들었던 적이 많았다. 이번 수업으로 확실하게 방법을 알게 되어서 좋았다. 다음주에는 어떤 데이터셋으로 분석을 할지 기대된다.