Data

데이터 분석이란?

자연상수 2022. 7. 13. 19:00

데이터 분석(Data Analysis)이란 무엇인가?

 

한빛미디어의 [혼자 공부하는 R데이터 분석] 책에서 데이터 분석을 다음과 같이 정의한다.

 

데이터 분석 : 과거 및 현재에 일어난 상황을 활용하여 현황을 파악하고, 앞으로 다가올 상황을 예측하거나 일어날 상황에 대해 타당한 근거 자료를 제시할 수 있도록 준비하는 과정

 

책의 정의를 따르면 데이터 분석은 다음 3가지를 위한 준비과정임을 알 수 있다.

 

  • 현황 파악
  • 미래 예측
  • 타당한 근거 제시

 

예시를 들어보자.

 

한국프로야구(KBO)에서 올해 가을야구에 갈 수 있는 팀을(10팀 중 1-5위) 선정해보자.

 

먼저, 현재 KBO리그를 살펴보자(현황 파악)

 

2022.07.12 경기 후 [naver 스포츠] KBO 기록, 한화 이글스 팬은 웁니다..

모두가 제일 먼저 볼 수치는 단연 팀순위(승률)일 것이다.

그러면 팀순위가 KBO리그의 모든 현황을 설명할 수 있을까?

다시 말해 팀순위는 현재 KBO리그 상황을 설명하는 대표적인 통계량(statistic)이지만 다른 눈여겨볼 요소는 없을까?

 

드라마 '스토브리그'에서 나온 것처럼 프로야구의 순위는 여름에 큰 영향을 받는다.

리그가 반 절 지나 체력적으로 힘들기도 하고, 여름 날씨도 무시하지 못하기 때문이다.

즉, 팀 입장에서는 가을야구를 위해 여름을 잘 나야한다.

 

여름에 급부상하여 좋은 성적을 내는 팀은 몇 게임차든 뒤집을 수 있다.

1-3위를 보면 최대 5게임차, 4-5위는 1게임차, 6-9위는 최대 4.5게임차다.

여름이 한 달이 아닌 한 분기임을 생각한다면 무시하지 못할 지표임을 알 수 있다.

 

또한, 최근 10경기의 결과는 팀 분위기에 큰 영향을 미치고 경기력으로 이어지기도 한다.

예를 들어, 최근 10연패인 삼성, 5연패인 NC 팬들이 지난주동안 우리팀이 여름에 순위를 뒤집을 수 있을거야라는 기대를 했을까?(기대를 한다면 그건 기대가 아닌 기도다)

 

이렇듯 수많은 올해 기록들로부터 현재 KBO의 현황을 어느정도 파악할 수 있다.

 

그렇다면 이제 가을야구에 갈 팀을 예측해보자.

 

혹자는 이렇게 말 할 수 있다.

한화는 못 갈 것 같은데 다른 팀은 잘 모르겠어요

이 한 줄로 (애매한) 미래 예측을 했다.

 

야구에 관심 없는 사람이 보면 예측보다는 그냥 던진 말인가? 싶기도 하다.

 

그렇다면 외계인이 와서 순위 상관 없이 가을 야구 가는 팀/ 못가는 팀을 나누어보라고 한다(틀리면 지구를 없앤다고).

 

무심코 말을 던졌다가는 전세계인에게 돌멩이를 맞을 수도 있다.

5위인 기아와 8위인 삼성의 게임차는 8.5, 9위인 NC와의 게임차는 10게임차다.

하지만 최근 10연패, 5연패를 하여 8, 9위가 된 것이지 페이스를 되찾아 여름에 정말 잘 한다면 둘 중 한팀은 턱걸이로 가을에 갈 수도 있다.

 

그렇게 생각하면 위의 '한화는 못 갈 것 같은데 다른 팀은 잘 모르겠어요'는 어찌보면 그렇게 틀린 말은 아닐 수도 있다.

 

nonspecific한 예측을 했기에 확실하진 않지만 어느 정도 공감대를 형성할 수 있는 의견으로도 사람들은 납득을 한다.

사람들이 납득을 했다는 것은 '어느정도 일리가 있다' 즉, 너의 말은 어느정도 타당하다는 것이다.

 

하지만, 1-5위/6-10위를 구체적으로 나누라한다면 돌멩이를 맞을 것이다.

돌멩이를 맞는다는 것은 '사람들이 납득하지 못하였다' 즉, 타당성이 부족하다는 것이다.

 

우리는 이러한 타당성을 확보하기 위해 여름에 급상승/하락 하는 팀의 특징, 각 팀의 투수/타자 현황, 용병선수들의 현황 등 수많은 요인들을 고려해야한다.

이러한 요인들을 모두 타당한 근거가 되고 이로 말미암아 합리적인 의사결정에 이른다고 필자는 생각한다.

 

 

예시가 너무 길었다.

책에서는 위의 세 가지를 위해 준비하는 과정이 데이터 분석이라 하였지만 개인적으로는 위의 세 가지를 하는 것이 데이터 분석이라고 생각한다. raw data라면 그것을 적절히 취합하고, 수치화되지 않았다면 어떻게 수치화하여 data로 만들 수 있을지 생각하고 가공하는 과정들이 데이터 분석을 위한 당연한 첫걸음이라 생각한다.
(역설적이게도 현업에서는 분석보다는 준비하는 과정이 실제 업무의 8-90%를 차지한다...)

 

이 책에 반하는 것은 아니다.(고작 아직 학부도 졸업못한 수리과학과 나부랭이가 알아봤자 뭘 안다고...)

그저 필자가 직접 경험해보며 느낀 점들을 주저리주저리 읊었을 뿐이다.

 

 

데이터 분석은 다음과 같은 순서를 지닌다.

  1. 데이터 분석 설계(방향성 기획, 방법론 검토, 가설 설정)
  2. 데이터 준비(데이터 확보 및 준비, 데이터 파악)
  3. 데이터 가공(추출 및 정제, 파생 변수 생성, 데이터 병합)
  4. 데이터 분석(통계 분석, 그래프 및 시각화)
  5. 결론 도출(분석 결과 해석, 분석 결과 정리)

책에서도 실상은 위 과정이 한 번만 이루어지지 않고 쭉 반복되는 순환구조라고 한다. 너무나 공감되는 말이다.

데이터 분석과 빠질 수 없는 통계를 생각해보면 통계는 상당히 비관적인 학문이다.

통계는 기본적으로 가설을 세우고 그 가설을 reject(기각)하는 학문이다.

통계는 절대로 동의하지 않는다. 

너의 가설을 reject하지 않았다는 것은 '너의 말에 동의한다'가 아닌 '너의 말을 reject할 것 까지는 아니다'라는 것이다.

즉, 수 많은 가설을 세워보고 계속 기각해가며 reject 당하지 않는 좁은 범위까지 specific한 가설을 이끌어내는 것이 통계 분석의 goal이라고 필자는 생각한다.

 

데이터 분석도 어느정도 동일한 면이 있다. data를 보고 한 model만 써서 결론을 도출하는 것은 당신을 눈속임하는 것이다. 여러 번의 A/B test를 거치고 여러 가지 model을 써보며 "틀리지 않은" 결과를 도출해야 한다. 이를 행하려면 어쩔 수 없이 위의 5가지 순서를 반복하고 반복할 수 밖에 없다.

 

데이터 자격증을 따려면 순서를 외우고 각 단계에서 어떤 것을 한다 등등을 외워야 하겠지만 실제로 분석을 할 사람이라면 한 번이라도 데이터 분석을 스스로 해보는게 더 몸에 와닿을 것이라고 생각한다.(그렇다고 책을 읽지말고 순서를 무시하란 것은 아니다!)

 

글을 쓰다 삼천포로 빠지게 된 것 같다.

 

책에서 데이터의 유형에 대해서도 설명을 해준다.

우리들은 (row; 가로줄)과 (column ; 세로줄)로 이루어진 (table)로 담겨있는 데이터에 익숙하다. 무엇보다도 직관적이고 알기 쉽기 때문이다.

번호 이름
1 멍멍이
2 고양이 야옹이

먼저 data들을 다루려면 data유형에는 어떤게 있는지 부터 알아야 한다.

 

Data 유형(Type)

  • 숫자형(numeric) : 숫자로만 이루어짐
  • 문자형(character) : 문자로만 이루어짐
  • 논리형(logical) : 진릿값(True, False)로만 이루어짐

이러한 Data들을 한 번에 묶으려면 다음과 같이 묶을 수 있을 것이다.

 

같은 유형들의 데이터들로 구성된 단일형 데이터, 여러 가지 유형의 데이터들로 구성된 다중형 데이터로 데이터들의 묶음을 나눌 수 있다.