Book

데이터 분석가의 숫자유감

h_sseul 2023. 7. 26. 15:48

본 게시물은 아래의 도서를 바탕으로 작성되었습니다.

 

데이터 분석가의 숫자유감 : 네이버 도서

네이버 도서 상세정보를 제공합니다.

search.shopping.naver.com

 


EP 1. 상관관계와 인과관계

상관관계와 인과관계는 엄연히 다른 것이다.

- 상관관계 : 두 변수들이 얼마나 상호 의존적인지(한 변수가 증가하거나 감소하면 다른 변수가 그 추이를 따르는 식) 이를 숫자로 표현한 게 ’상관계수‘

- 인과관계 : 하나의 요인으로 인해 다른 요인의 수치가 변하는 ‘명확한 원인과 결과 관계’

-> 인과관계 분석을 위해선 자기상관성, 편향성, 외생변수(날씨) 등의 영향을 고려해야 한다.

 

EP 2. 숫자의 불확실성

💡 숫자의 차이가 있더라도 그 차이가 통계적으로 의미가 있는지, 고려해야 할 전제조건은 없는지, 그 차이가 여러 측면에서의 차이가 맞는지를 t-검정, z-검정 등의 여러 검정 방법을 적절히 적용해 참고해야 한다. 숫자를 비교하려면 정의, 실험, 실제 수치, 상황 등 고려해야 하는 전제가 생각보다 많다.

 

숫자의 차이는 절대적인 것처럼 보이지만 수학은 불확실성 위에 쌓아 올려진 학문이다. 통계는 항상 확률과 같이 등장하며 숫자는 한번도 절대적인 적이 없다.

🍎 사과 1개라는 것도 '한 덩어리의 열매라는 이유'로 한 개라고 세듯이, 수많은 사람의 공통된 전제하에 만들어진 기준이다. 세상의 수치 비교는 수많은 전제를 논리적으로 배치했을 때 수학이나 통계의 가치가 빛을 발하게 된다.

 

특히, 특정 시간에 남겨진 데이터를 더 잘 사용하려면 그 아래 쌓아둔 많은 가정과 합의를 이해해야 한다. 

 

EP 3. 모집단의 데이터 분석

모집단 정의 - 이에 가까운 표본 정의 - 이 표본을 구하는 방법 고민 - 이 표본에 대한 데이터 수집(표본평균, 표본표준편차)

데이터 분석에서 모집단을 완전히 다룰 수 있는 경우는 거의 없다. 

- 전체 데이터를 다 사용하더라도 그 데이터가 여러 케이스를 모두 대표할 수 없기 때문이다. (예시 케이스 : 서비스를 적게 사용한 사람들늦게 가입한 사람들탈퇴한 사람들)

- 특히 전체 회원이 서비스에 매일 들어오지 않는다면 하루의 회원활동 스냅샷을 가지고 모집단이라 할 수 없다. 전체회원이 다 들어오는 날까지의 데이터를 모은다고 해도, 그 기간까지 모든 회원의 형태는 항상 동일하지 않다.

 

💡 큰 수의 법칙 : 표본의 크기가 충분히 크다면, 그때의 표본평균은 모평균에 충분히 가까워진다.

-> 모집단의 특정치를 추정하는 데 적합한 표본을 정의하기 위해 이 법칙을 사용한다.

 

이때, 모수는 단순히 모집단의 수가 아니고, 모집단은 전체집단을 말하는 것이 아니다.

💡 모수 : 모집단의 수치적 요약값 혹은 통계값(모평균, 모표준편차)

 

표본 데이터에서 이런 통계 *대표값을 구한 뒤, 이를 모집단의 통계값인 모수라고 말하고, 이 값을 근거로 모집단의 형태를 추정할 수 있다.

 

* 대표값 : 주어진 집단을 요약해서 나타낼 수 있는 값. 평균, 최빈값, 최댓값 등

EP 4. 확률과 분포

- 확률은 지나간 사건의 결과를 보장해주지 않는다. 하지만 큰 수의 법칙과 유사하게 사건의 반복을 통해 쌓이는 데이터는 불균형을 정돈해준다.

확률 : 시행 결과의 평균을 0~1 사이로 나타낸 것 & 분포 : 확률이 어떤 모습으로 퍼져있는지 나타내는 것

 

예를 들어, '전환율이 3%이다.' 라는 말은 항상 그 값을 보장하는게 아니다. 즉, 100명 중 반드시 3명이 구매행동을 한다고 보장하지 못한다는 것. 어떨 땐 낮을수도 있고 어떨 땐 높을수도 있다는 것

 

기존 결과가 없는 상태에서 어떤 확률을 구할 땐 사건을 임의로 일으켜 데이터 집합을 만들기도 한다. (이런 용도로 사용되는 A/B 테스트도 있다고 한다)

 

💡 개별 사건에 대해 확률분포의 평균값이 늘 나오진 않지만, 장시간 두고 봤을 때 해당 분포로 수렴할 것을 기대하며 실험하고 분포와 신뢰구간을 사용해 예측한다.

예시 : ‘내일 이번 달 주말 평균 접속자수인 10만명이 접속한다는 전제하에 평균 5명이 아이템 A을 가져갈 것이고, 이에 대한 95% 신뢰구간은 [1.2, 8.5]이다.’

 

EP 5. 실험을 통한 의사결정

💡 실험 : 기존에 없었던 새로운 기록이 필요할 때 진행 (A/B Test)

많은 사람이 자신이 실험상태에 있는지도 잘 모를만큼, 실험은 이미 익숙한 형태로 우리와 함께 하고 있다.

 

많은 기업에선 실험을 통해 데이터를 수집하고 의사결정을 한다. 불확실성이 커져가는 서비스와 세상에서 새로운 상황에 사용 가능한 데이터를 확보해 불확실성을 줄이고 싶어한다. 이런 마음으로 계속 실험을 하는 것

 

실험 시에는 실험대상 외 모든 변수 즉, 외부요인을 최대한 통제하고 진행해야 그에 대한 효과를 파악할 수 있다. 물론 현실에서 다른 변수를 통제할 수 없는 이상 변수가 일정하다는 것은 불가능에 가깝다.

또한 여러 실험이 동시에 이뤄질 경우, 실험끼리 서로 영향을 받는 등의 부작용 발생할 수 있다. 이렇게 테스트 도중 새로운 이벤트 테스트를 또 실시하면 효과를 분석하기 복잡해진다.

 

A/B 테스트 경우, 임의로 나눈 두 집단의 값이 완전히 동일하지 않겠지만 보통 *통계적 유의성을 미리 파악하여 유의하다고 판단되는 선에서 실험을 진행해야 한다.

 

실험은 이후 데이터 분석에도 영향을 미친다. 실험 대상이  데이터 다른 데이터와 마찬가지로 고객의 사용내역이 기록된 데이터지만, 실험 내용이 섞여있어 그대로 사용할 수 없다. 실험 이후 실험기간의 데이터를 그대로 사용한 데이터 분석 결과는 신뢰도가 다소 낮아질수밖에 없다.

 

* 통계적 유의성 : 어떤 실험의 결과가 우연히 일어난 것인지 아니면 우연히 일어날 수 없는 극단적인 것인지를 판단하는 방법

 

EP 6. 시계열 데이터

시간에 따른 변화를 데이터로 나타낸 것

 

시계열 데이터 분석 시 추세, 주기, 계절성으로 구분해 분석한다.

  • 추세 : 장기적으로 늘어나거나 줄어드는 형태로 추세선으로 표현 가능 (ex. 주가가 오르고 있다, 시청률이 상승하고 있다) 
  • 주기 : 고정된 시간 단위로 유사한 변동 형태가 나타는 경우 (ex. 하루의 지하철 승객 수 변화 형태는 출퇴근시간이 가장 높은 형태)
  • 계절성 : 주기적으로 반복되는 때에 어떤 사건이 발생하는 것 (ex. 매년 발렌타인데이에 초콜릿 판매량이 특히 증가하는 것)

💡 주기는 '형태'의 반복, 계절성은 '빈도'의 반복

 

EP 7. 별점의 함정

같은 만족도 점수라고 해도 그 안에 들어있는 뉘앙스는 모두 다르다. (물건만 제대로 받으면 5점, 할인 받아서 5점, 습관적으로 5점 등)

즉, 데이터는 무슨 일(what)이 일어났는지는 알려줘도 그 일이 어떻게(how) 일어났는지, 어떤 감정으로 일어났는지 알 수 없다.

-> 고객이 매기는 점수 같이 사용자가 직접 입력하는 데이터 대신, 고객의 실제 행동 데이터 같은 데이터를 보고 추정할 수 있다. 재구매율, 이탈율이 중요한 이유

 

💡 고객의 만족도를 알고자 하는 이유도 결국 고객 이탈을 줄이고 재구매를 늘려 고객에게 유용한 서비스를 만드는 것

많은 서비스에서는 이미 사용자가 주는 점수 대신 사용자들이 다시 보는 프로그램, 재방문자, 배달시간 같은 실제 사용자들의 행동을 확인한다. 

 

EP 8. 인구통계학 정보의 효용성

- 페르소나 : 어떤 제품이나 서비스를 사용할만한 사용자 유형을 대표하는 가상의 인물. 가상의 고객을 구체적으로 정의하고 이 고객이 서비스를 어떤 필요에 의해 어떤 식으로 사용할지 구체적으로 그려보는 방식

 

인구통계학적 데이터와 사람들의 실제 행동 사이의 관련성은 점점 줄고 있다.

 

인구통계학 정보만 사용했을 때 무시되는 잠재고객을 실제 행동 데이터를 통해 더 명확하게 찾아낼 수 있다.

행동 데이터로 고객을 추리면 인구통계학적 기준으로 만든 타깃수보다 줄어들수 있지만, 의도를 명확히 남긴 사람들을 타겟팅했기 때문에 적중도는 더욱 높아진다.

 

따라서, 주어지는 숫자보다 실제로 고객이 매일마다 움직이는 행동 데이터 기반으로 고객을 이해하는 것이 더욱 필요하다.

 

EP 9. 조건부 확률

조건에 따라 결과의 기댓값이 달라지는것

 

예시) 

구매 페이지 방문자수 1132명. 그중 300명에게만 쿠폰 노출, 나머지 832명은 쿠폰 없는 상태.

쿠폰으로 산 사람이 186명, 쿠폰 없이 산 사람 324명

따라서 쿠폰 있을 때 구매한 사람 = 186/300=62%

쿠폰 없을 때 구매한 사람 = 324/832=39%

 

이처럼 데이터 분석 시에도 조건을 고려한 확률을 사용한다.

 

EP 10. 범위제한을 통한 정확도 향상

‘A 프로그램의 시청자는 40대 여성일것이다.’ (포괄적 서술)

2021년 5월 한달간 A 프로그램의 시청자는 40대 여성일 것이다.’

아래 문장과 같이 범위를 좁히고 서술을 명확히 한다면 말의 정확도가 훨씬 높아진다.

 

💡 데이터 분석을 비즈니스에서 사용하는 대표적인 용도는 의사결정의 근거를 만드는 것이고, 결국 그 근거로 의사결정자들을 설득해야 하는 것.

 

데이터 분석 결과는 많은 경우 '직관'과는 거리가 멀다.

- 데이터 분석에 사용된 과정은 복잡하고, 확률과 기간으로 표현되는 데이터 분석의 범위는 무겁게 느껴진다.

- 또한, 데이터가 대게 사람의 직관과 다른 사실을 발견할 때 주로 사용되다보니, 아무리 견고한 데이터 분석의 결과를 보여준다고 해도 각자의 직관에 부합하지 않으면 결과를 쉽게 받아들이지 못하는 경우가 생기기도 한다.

 

'직관'은 대부분 어느 정도의 '포괄적 서술' 형태를 띠고 있다. 많은 범위와 전제, 어느 정도의 결과를 포함하는 형태로, 각자의 '상식'에 기반한다.

사람들은 데이터 분석에서도 이러한 공통 상식을 사용하고 싶어하지만, 데이터를 사용한 지식으로 어떤 결과를 뒷받침하여 설득한다는 것의 기본은 "데이터를 수학적 과정을 통해 분석하고 이를 논리적으로 풀어나가는 것이다."

 

데이터 분석의 근간은 논리고, 논리는 명확한 정의와 범위의 제한으로부터 시작된다.

저마다의 상식은 다르고, 이런 것을 모호하게 포괄한 보편적인 것은 데이터 분석에서는 거의 통용되지 않는다.

그러다 보니 데이터 분석 결과는 다소 까다롭고, 각자의 상식과 위반되어 불편하기도 하며, 많은 의사결정에 사용 가능한 시간과 자원은 제한되어 있어 이를 소화하는 노력도 피곤하다.

 

그래서 사람들은 최대한 쉽고 쓰기 편한 근거를 원하고, 이는 보통 '직관'이란 형태로 나타난다. 그러다 보면 분석 결과를 '직관적인 모양' 즉, '포괄적 서술 형태'로 만들어버린다.

하지만 이는 사실이 아니고, 그러다 보면 분석 결과가 쓸모없어지고, 저마다의 각자의 상식만을 사용해 받아들이며, 괜한 시간과 노력만 들인 채 데이터 분석은 그저 무용지물이 될 것이다.

 

따라서 데이터를 분석해 만들어낸 결과 역시 제약사항을 명확히 정의했을 때 효과적인 수단이 된다.

💡 주변 상황을 확인하고, 가지고 있는 데이터 분석의 제약사항을 확인하여 이를 맞춰나갈 때, 제대로 된 데이터 기반의 의사결정을 할 수 있다.

 

EP 11. 데이터 문해력 / 데이터 리터러시

데이터를 사용해서 '읽고 쓰고 말하고 듣는' 능력. 데이터의 출처와 구조, 분석방법을 이해하는 것은 물론, 이를 어떻게 활용하고 적용할지를 설명하는 능력

 

우리의 언어 사용이 늘 항상 옳을 수는 없고 각자의 이해와 해석이 필요한 것처럼, 누군가 데이터를 말하고 쓴 것 역시 이해와 해석과 활용이 필요하다.

 

데이터 문해력 기르기

1. 데이터의 출처와 목적을 우선적으로 파악하기

2. 데이터에서 누락된 부분은 없는지 확인하기 ('주요 구매자는 40대 남성이다' -> 다른 인구통계집단은 어떨까? 하는 의문)

3. 숫자와 상관없이 논리에 허점이 없는지 확인하기 ('백신 접중자 중 다음날 아픈 사람이 5%다' -> 백신으로 인해 5%의 환자가 아플 거라고 할 순 없다)

 

데이터로 명확한 현재를 말하고 미래를 확신하는 것은 어렵다. 데이터 분석은 결국 확률과 통계고, 과거의 사건들이다. (확률은 명확하지 않은 신뢰구간과 함께 온다)

물론 과거의 흔적으로 현재를 이해하고 미래를 바라보는 것이 데이터 분석의 목적이지만, 그렇다고 확률과 신뢰의 문제에서 언제나 미래를 100%로 단언하는 것은 매우 어려운 일이다.

 

번외

- 추세선 : 시간에 따른 데이터가 변동하는 추이를 추세라고 하고, 이를 선으로 표시한 것

- r제곱값(결정계수) : 0~1 사이의 값으로, 추세선과 실제값이 얼마나 비슷한지 나타낸다. 1 가까울수록 비슷하다고 할 수 있다.

 

💡 대표값을 볼때 평균만이 아니라 분포 어떻게 생겼는지 고민해야 한다. 현실의 많은 분포는 정규분포 형태를 띠지 않는다.