본문 바로가기

데이터와 함께 탱고를/통계 기초 공부

(8)
네이버 커넥티드 연수원 간다~! 이번주 면접갔다가, 엄청 죽쒀서 별로 기대 안했는데, 쩌도보니 붙었다. 뭐 암튼 좋다. 커넥티드 연수원 작년 5월에 가보고, 다시 또 가보게 되었다~! 시각화나 분석, 전달에 대한 고민과 이슈들을 가지고 있었는데, 이번 기회로 좀 제대로 알게되었음 좋겠다. 암튼 갔다와서 후기 남겨야지.
세 집단 이상의 평균차이에 대한 가설 검정 이전에는 단일 집단 혹은 두 집단의 평균 비교분석을 공부했었다. 이제 그 다음 단계로 세 집단 이상의 평균 비교분석에 대해 공부해본다. 대부분의 글들과 내용은 Sapientia a Dei님 유튜브 에 있고, 이 글은 이 강의를 보고 개인적으로 정리해놓은 내용이다. 세 집단 이상의 평균차이에 대한 가설 검정 예를 들면, 이런 식이다. 어떤 금융회사에서 고객의 총 지출금액이 지불방법에 따라 차이가 나는지 알고싶어 한다. 지불 방법은 다음과 같은 방법이 있다. 실시간 계좌 이체 신용카드 무통장 입금 지불 방법에 따라 세 집단이 등장하고, 각 방법에 따른 총 지출금액의 평균이 등장한다. ANOVA (ANalysis Of Variance), 분산 분석 Z-test, T-test 가 안되는 이유 두 개 이하의 집단..
두 집단의 평균차이에 대한 가설 검정 가설 검정을 배우는 이유는, 실제로 써먹기 위함이고, 써먹으려면 실제 현실의 여러 상황에 맞게 배워야 한다. 고로, 현실의 여러 상황들을 정의하고 분류한 뒤, 각 상황에 맞는 테스트를 배우는 것이 가설검정의 목표라고 할 수 있겠다. 대부분의 글들과 내용은 Sapientia a Dei님 유튜브 를 참고한다. (매우 잘 설명되어있어서, 금방 볼 수 있다.) 한 집단의 가설검정 이전까지의 가설검정은 하나의 집단, 즉 단일 집단에 대한 가설 검정 내용이었다. 예를 들어, 다음과 같은 상황과 질문이었다. 배터리 A의 수명은 1년이라고 알려져있는데, 최근 소비자들로부터 1년이 아닌 것 같다는 말이 나오고 있다. 이에, 배터리 A 25개를 표본으로 뽑아 조사하였더니, 평균 수명이 11개월이 나왔다고 한다. 어느 의견..
가설검정 단계 (지금까지) 유튜브 HSM - edu 통계 채널의 '손으로 푸는 통계', 27. Z검정의 한계(정규성,t,비모수검정의 출현+디시전트리) 에 나오는 강의 영상 중 하나로 한 눈에 봐보자. 요약하면, 일단 모수의 분산을 아느냐 모르느냐로, Z검정, T검정으로 나눈다. 모수의 분산을 알고, 표본 분포가 정규성을 만족하는 경우, Z검정을 한다. 모수의 분산을 모르고, 표본 분포가 정규성을 만족하는 경우, T검정을 한다. 일반적으로 정규성을 만족하지 않는 경우, 비모수 검정을 한다. 정규성을 만족한다는 말은, 말 그대로 정규분포를 따른다고 알려져있거나, 알려져 있지 않더라도, 데이터 개수 n이 30이상인 경우, 중심극한정리에 의해 정규본포를 따른다. 데이터 개수 n이 30 미만인 경우, 별도의 정규성 테스트를 ..
표본 분산은 왜 n-1로 나눌까? 유튜브에 HSM - edu 통계 채널의 '손으로 푸는 통계' 를 보면 잘 설명되어 있다. 주요 키워드들로 간단히 요약해보면, 표본을 뽑아서 무언가를 하는 목적은, 대부분 모수를 추정하기 위함이다. 표본에서 뽑은 통계값 (평균, 분산) 을 추정량 이라고 한다. 그 중에, 불편 추정량 (unbiased estimator) 이라는 말이 있는데, 추정량의 기댓값이 모수가 되는 추정량이라는 말이다. 즉, 표본 평균의 기댓 값 = 모수의 평균 표본 분산의 기댓 값 = 모수의 분산이 되면, 이 표본 추정량은 불편 추정량이라고 할 수 있다. 표본 평균의 기댓값은, 표본들을 가지고 평균을 내면 모수의 평균으로 딱 나오는 반면, 표본들을 가지고 분산을 내면 모수의 분산으로 딱 나오지 않는다. 즉, 표본 평균과 표본 분산은..
L1, L2 Regularization (Lasso, Ridge) 머신러닝을 위한 파이썬 워밍업에서 Linear Regression 파트를 공부하며 복습한 내용을 적어본다. Overfitting 의 문제 Regularization 이라는 문제에 앞서 항상 먼저 나오는게 overfitting 이슈다. 기술 관련 이슈는 대부분 원인 -> 해결방법 순으로 설명이 되다보니 당연한 일이겠지만. 이전에 Gradient Descent 를 통해 W 를 기계적으로 (반복문과 갱신을 통해) 찾아내었다. 일단 머신러닝이라고 하는 것이 되긴 한거다. 사람이 찾지 않고, 어떤 식과 기계의 힘을 빌려서 찾았으니깐 말이다. 그럼 이제 문제는 '잘' 찾는 것인데. 본격적인 고도화 및 성능 이슈의 시작되는 듯 하다. Overfitting 은 이러한 고도화 이슈 중, 가장 일반적인 현상인데, 한 마디..
Normal equation 과 Gradient Descent 머신러닝을 위한 파이썬 워밍업에서 Linear Regression 파트를 공부하며 복습한 내용을 적어본다. 선형회귀 모델은 y = Wx + b 다. 우리는 데이터(x) 를 가지고 어떤 결과(y)를 예측하는 어떤 모델(y=Wx+b) 를 만들려고 한다. 즉 결과적으로 "모델", 을 만드는 것인데, 이 모델은 구체적으로 각 변수에 곱해지는 계수항들의 묶음 W와 상수항인 b를 의미하고, 이 두 변수를 구하는 것이 기계학습의 목표이다. 이를 어떻게 구할까? 에 앞서, 이에 대해 강의에서는 2가지를 설명해주는데, Normal Equation과 Gradient Descent다. Normal Equation y = Wx + b 에서 b 는 x 에 [1] 로 구성된 열을 추가해주면, y = Wx + b 를 y = xW&..
헷갈리는 .reshape 과 broadcasting 이번엔 numpy 공부 중, 가장 헷갈렸던 .reshape() 과 이와 연관된 브로드캐스팅을 잠깐 복습 겸 기록해두려고 한다. 1. Reshape 사용법 너무나 당연한 이야기지만, .reshape 은 numpy array의 모양을 바꿔주는 역할을 한다. 잠깐 살펴보면 import numpy as np a = np.array([[1,1,1,1], [2,2,2,2]]) print(a) b = a.reshape((2,2,2)) print(b) # output: # [[1 1 1 1], # [2 2 2 2]] # [[[1 1], # [1 1]] # [[2 2], # [2 2]]] .reshape(2, 2, 2) 일 경우, 가장 안쪽부터 2개의 원소로 하나의 리스트 (ex. [2, 2]) 를 만들고 이런 리스트를..