Upstage AI LAB 부트캠프 5기/성장 기록

익숙하지만 새롭게: 통계학 복습 후기

김 도경 2024. 10. 12. 01:40

통계학? 처음엔 막연하게 "통계가 뭐지?"라는 생각이 들었다.

 

내가 통계를 배운 마지막 기억은 고등학교 때였고, 그 때 배웠던 과목도 '확률과 통계'였다.

그래서 이번 강의 내용이 나에게는 생소할 거라고 생각했다.

 

그런데 강의를 들으면 들을수록 내용이 너무나도 익숙했다.

학부 연구생 시절부터 석사 과정까지, 무려 3년 동안 미친 듯이 듣고 혼자 공부하며 밤새워 개념 정리를 하고,

그 자료로 발표도 했던 바로 그 내용이었다.

이게 바로 통계였다고?

 

그동안 발표를 할 때는 '통계'라는 단어보다는,

머신러닝을 사용하기 전에 어떤 검정을 해야 하고,

무엇을 확인해야 한다는 말만 했었다.

 

익숙하지만 또 새로웠던,
통계학의 이해

 

통계라고 한다면, 가장 먼저 생각나는 것은 수치? 숫자? 확률? 이런 것이 다였다.

정확히 무슨 걔념인지도 몰랐고, 사실 이과보다는 문과 회계학과쪽에서 많이 쓰지 않나? 싶었다.

하지만, 내가 그렇게 많이 쓰고 있었다니...이번에 처음 알게 된 사실이었다.

 

내가 통계라고 생각했던 영역

 

https://glowdp.tistory.com/18 : 월요일에 오영석 강사님의 강의를 들으면서 정리한 내용이다.

내가 통계라고 생각했던 영역은 합의 법칙, 곱의 법칙, 순열, 조합, 합사건, 곱사건, 배반사건, 여사건, 조건부 확률, 이렇게 대학이 아닌 고등학교에서 배운 내용이었다.

변수, 척도 이런 것도 고등학교에서 배운 내용이었다. 하지만 내용에서 깊게 들어가지 않았다.

 

기초 통계량과의 추억

 

https://glowdp.tistory.com/21 : 기초 통계량 강의 정의를 공부하여 남겨둔 자료이다. 기초 통계량은 정말 많이 공부해서 자다가 깨워도 뭐냐고 물으면 답을 할 수 있었고, 파이썬으로도 수없이 많이 추출해보고, 랩실에서 쓰던 프로그램의 아주 핵심기능이 이 기초통계량을 추출하는 것이었다....그런데 이것들을 묶어서 기초통계량이라고 부르는 걸 처음 알았다.

 

평균, 중앙값, 최빈값, 그리고 분산, 표준편차, 사분위수와 왜도와 첨도

 

왜도와 첨도에 대해서는 또 드는 생각이 처음 접했을 때였다.

이게 왜...우리 데이터랑 연관이 있어...?였고, 사실상 우리 데이터랑은 관계를 만들어내지 못하고 추출데이터를 못쓰는 데이터로 분류를 하였다.

 

하지만 왜 데이터에서 필요한 지는 이번에 처음 알게 되었다. 비대칭도와 뾰족함을 알아야지, 이상치를 알 수 있다고...

아 그러면 우리 데이터에도 필요한데...?  논문을 지금도 작성중이라서 인지 계속 생각하고 접목되는 파트였는데, 어, 그럼 첨도와 왜도를 보면 지금 예측모델을 만드는데 얼마나 이상치가 있는지 알 수 있는 게 아닌가? 이런 생각이 들었다.

그리고 사분위수와의 추억...정말 진짜 지독하게 이해를 못했었다.

최소를 왜 진짜 최솟값을 쓰지 않고 저렇게 계산을 굳이굳이 해야하는지, 왜 데이터를 이상치로 두는지...

그걸 공부하는데 솔직히 한 달은 걸렸다. 계속 Q1이 어쩌고, 중앙값은 어쩌고 발표를 하면서도 Q1이 뭔데 라는 질문에 주절주절....헛소리를 해야했기에 한 공부..로 거의 완벽한 이해....

그냥 데이터를 4등분 한 거고, 이상치를 저렇게 두는 건 데이터분석을 할 때 이상치가 있으면 굉장히 이상한 분석이 되기 때문이었다. 그리고 최대최소가 너무 극단적인 값의 경우 중간 지표나 분포가 크게 변질이 될 가능성이 농후하다.

 

실제로..데이터 분석중에 그런 경험을 다수한 후에야 아...이래서 이걸 빼야하구나, 하면서 이상치를 빼기 시작했다.

이해하면 너무 간단하고 한줄로 말할 말한 것을 왜 굳이 4등분...? 왜..? 왜..? 너무 왜라는 질문에 빠져서 어렵기만 했다.

 

그리고 데이터 분석의 경험이 붙으면서, 이해가 되는 부분들이 많았다.

 

많은 분포들과 검정들에 대한 이해. 익숙하지만 정말 새로운 내용들...

 

https://glowdp.tistory.com/22 : 기술통계와 통계 실험 유의성 검정


나는 데이터 분석을 했지만, 조금 얼레벌레...어거지로 했던 경험이 있었다.

 

p-value를 계산해야한다. ttest를 해야한다, f분포도 확인해봐라, 아노바테스트 진행해보면 어떨까,

이런 말들을 굉장히 많이 듣고, ttest분석과 p-value분석, 그리고 상관관계 분석은 지겹도록 했다..

엑셀에서 노가다로 하다가 데이터수가 많아지면서 너무 힘들어서 파이썬으로 코드도 짜보고 했었다.

근데...이론은 정말 모르고 있었다는 게 이번에 알게 되었다.

 

모집단/ 표본집단 나눈 적이 단 한 번도 없었다....

왜냐, 나는 데이터를 직접 얻어서 쓰기에 모든 데이터를 이상치만 빼고 사용을 해야했다. 데이터를 많이 늘리면 늘릴 수록 좋았지, 표본을 추출할 일이 단 한 번도 없었다. 그래서 새로운 샘플링 

정규분포에 대해서

정규분포...가 뭐야? 물론 정규분포는 알고 있었다. 대학원강의 시간에 들었던 내용중 하나였다.

근데 연속 확률을 구할 때 무조건 정규분포로 두고 해야한다는 사실은 또 처음 알았다. 쓸 필요가 없던 건 정말 몰랐구나,라는 생각이 들었다. 하지만 이번에 이렇게 정리를 하면서 조금 더 왜 그렇게 분석을 했고, 이해를 해야했는지 쉽게 다가왔다.

 

카이제곱분석은 걔념은 알고있었으나, 사용을 해보지 않은 걔념이었다. 그래서, 오히려 걔념설명은 쉬운데 어디에 접목을 해야할까?에 대한 생각이 떠오르지 않았다.

 

스튜던트 t분포는 소규모 표본으로 아주 오래전에 교내테스트를 진행할 때 이야기가 나와서 사용을 했었는데, 그 때도 결과가 별로였고 f분포는 다수 집단을 다룰 때 나오는 단골로, 그래서 여기에 내가 이걸 썼구나.라는 이해를 다시 다질 수 있었다.

 

데이터를 다루는 사람에게 가설 검정은 필수이다. 하지만 나는 가설을 제대로 말한 적은 없었다.

무엇일 것이다!는 당연히 있다. 논문의 주제이기도 하고, 논문에 있어서 중요한 키포인트이기에 꼭 정해야하는 것인데

귀무가설과 대립가설에 대해서는 또 처음 들었다. 그러면서 가설의 채택/기각여부를 결정하는 기준인 p-vaule는 매일 계산하고 있었다....이 점에서 정말 나는 걔념적인 이해 없이 실전에 들어갔구나를 다시 한 번 느끼었다.

 

귀무가설은 원하는 바와 반대! 대립가설은 원하는 바! 그리고 p-vaule가 작아야 내가 원하는 바가 맞음! 대립가설이 맞음! 

이렇게 한줄로 정리될 귀무가설과 대립가설이 참 어려웠었다. 하지만 이젠 어렵지 않을 것 같다.

 

양측, 단측 검정과 오류들은 내용을 처음 듣게 되어 신기하게 듣게 되었다.

 

그리고 ttest는, 정말 많이 했다. 사실 p-value를 분석할때 엑셀에서 쓰던 것이 ttest였다. 그만큼 ttest와 p-vaule가 관련이 있는 것을 알고, 항상 양측검정을 하겠다고 명령을 넣어두면서 그건 또 몰랐다.

이번 강의를 통해서 이런 점을 배우고 싶었는데, 이번에 이렇게 배우게 되어서 좋았다.

 

아노바 테스트는 세개 이상의 그룹간의 비교라서 크게 쓸 일은 없었지만, 올해 초에 새로운 논문 작성을 할 뻔 했을 때 5개의 카테고리를 분석을 진행을 해야해서 나온 말이 있기는 했다. 하지만, 정확히 해보진 못했기에 이 부분에서 가장 어려웠던 파트였다.

하지만 앞의 내용들을 잘 이해하고 와서인지 크게 어렵진 않고, 아노바, 아노바 말은 익숙히 들었기에 오히려 친근하게 수업을 들을 수 있었다.

 

카이제곱 검정은 ttest랑 거의 동일하다고 판단하에 사용을 정말 안했던 것 같다. 그랬기에 이것도 조금 어려웠던 부분인데, 내용 이해면에서는 ttest랑 비슷하단 말을 듣고 시작해서인가, 잘 이해가 되었다.

 

가장 어려웠던 선형 회귀 분석이었는데, 프로젝트 진행으로 이해가 잘 되었던 부분

 

https://glowdp.tistory.com/23 : 선형회귀에 관해 정리를 해둔 내용

선형회귀,라는 단어를 들으면 연상이 되는 게 없기에 더욱더 어려울거라 생각이 되었다. 설명은 정말 어려웠다. 두 변수 간의 관계를 직선(선형 함수)으로 모델링하는 통계적 방법. 이렇게 들어도 연상이 되는 게 없었다.

하지만 미니프로젝트를 진행하면서 이해가 확 되었다.

 

데이터 기본 통계를 확인하고, 데이터의 상관관계를 파악하면서 오랜만에 점그래프도 그려보고,

스케일링이라고 부르는 노멀라이징을 하고 히트맵을 그렸다.

이렇게 프로젝트를 하며 느낀 것은 내가 매일 하던 것이었다...정말 어려운 게 없었다.

미니프로젝트로 상관관계 히트맵그리기

 

그 외에도 분산 팽창계수를 구하는 거나 다중공선성이라는 단어는 어려웠지만, 천천히 차근히 생각하면 단어만 헷갈릴 뿐 내용은 익숙하기에 다가오는 게 많이 힘들진 않았다.

 

 

새로운 내용인 줄 알았는데,
복습을 하게 된 내용을 마주하면서

 

파이썬은 어느 정도 복습일 줄 알았는데, 이렇게 중요한 통계부분에서 복습으로 마주할 줄은 생각은 못했다.

 

전공을 한번 바꾸게 되면서 굉장히 나는 부족하다고 느꼈는데, 생각보다 배운 내용이 많아서..3년간 배운게 없진 않았다는 생각이 들었다. 그 생각에 좀 다행이다라는 생각도 있었고, 내가 시간낭비를 하지 않았다고 말을 할 수 있단 생각에 안도가 되었다.

사실 석사 기간 동안 있었던 여러 사건사고들 때문에, 전공을 바꾼 석사 진학에 후회를 하고 있던 적이 많았다

그렇기에 바로 취업에 뛰어들지 못하고, 이렇게 또 공부를 찾아온 것도 있었는데, 오히려 새로운 공부를 하면서

그 동안의 시간을 위로받는 것 같아서 좋았다.

 

그리고 내용은 아는데 단어는 몰랐던 것이 참 많다고 생각이 되었다.

선형회귀, 매일 하는 게 선형회귀였으면서 단어는 정말 생소했다.

노멀라이징이라고 부르는 스케일링, 그리고 정규화, 내가 쓰는 단어들과 다르게 불릴 수 있는 것도 새로웠다.

 

아직 가야할 길이 멀고, 배울 것도 많은 것을 여전히 느끼지만,

이번에 이렇게 복습을 하게 되면서 이전에 알았던 내용들을 정리를 할 수 있어서 좋았다.

 

그리고 또 느낀점은 부딪혀봐야, 알 수 있다는 점이었다.

그저 글을 읽는 게 아니라, 직접 코드를 돌려보면서 코딩을 짜보면서 한 이해가 훨씬 빨랐다.

이번에도 선형회귀에서 그저 말만 적혀있었다면 몰랐을 것이다.

하지만 코드를 보면서 어? 익숙했던거네,라는 말을 할 수 있었다.

그 전에도 많은 시행착오로 이상치를 빼야한다는 것을 알게 된 것처럼

 

지금의 시간도 내게 도전이고 미래에 보면 시행착오일 수도 있을 것이다.

하지만 지금의 시간이 과거의 복습이고, 또 과거에 하지 못했던 도약이길 바란다.