2026. 4. 17. 18:59ㆍTIL
📢 오늘의 목표
🚩코드카타를 하면서 기본적인 코딩 역량을 키운다.
🚩통계분석에 대해 배우면서 기존에 배웠던 내용과 어떻게 접목 시킬지 고민한다.
🚩라이브 세션을 통해 통계 분석 역량을 키운다.
📅 TIL
❇️라이브 세션

r값 외우면 좋다









단순 선형 회귀는 변수가 하나















❇️통계학 기초 5주차
📊피어슨 상관계수

상관 계수가 0.99이므로 매우 높은 상관 관계를 보여준다!
🗯️피어슨 상관계수
*️⃣두 연속형 변수 간의 선형 관계를 측정하는 지표
*️⃣ -1에서 1사이의 값
*️⃣ 1은 완전한 양의 선형 관계(거의 동일한 변수), -1은 완전한 음의 선형 관계(거의 반대 변수)
*️⃣ 0은 선형 관계가 없음
*️⃣ 비선형 관계에서는 상관 없음

🗯️파이썬 실습
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from scipy.stats import pearsonr
# 예시 데이터 생성
np.random.seed(0)
study_hours = np.random.rand(100) * 10
exam_scores = 3 * study_hours + np.random.randn(100) * 5
# 데이터프레임 생성
df = pd.DataFrame({'Study Hours': study_hours, 'Exam Scores': exam_scores})
# 피어슨 상관계수 계산
pearson_corr, _ = pearsonr(df['Study Hours'], df['Exam Scores'])
print(f"피어슨 상관계수: {pearson_corr}")
# 상관관계 히트맵 시각화
sns.heatmap(df.corr(), annot=True, cmap='coolwarm', vmin=-1, vmax=1)
plt.title('pearson coefficient heatmap')
plt.show()

상관 계수가 0.87이면 상관 관계가 높다고 볼 수 있다!
📊비모수 상관계수

*️⃣ 두번째 그래프는 스피어만 상관계수, 세번쨰 그래프는 켄달의 타우 비선형 상관계수
*️⃣ 스피어만 상관계수는 두 변수 순위 간의 상관 관계를 측정(-1 ~ 1), 켄달의 타우 비선형 상관 계수는 순위 일관성을 측정하여 상관 관계를 탐지
🗯️비모수 상관계수
*️⃣ 데이터가 정규분포를 따르지 않거나 변수들이 순서형 데이터일때 사용하는 상관계수
*️⃣ 데이터의 분포에 대한 가정 없이 두 변수 간의 상관관계를 측정할 때 사용
*️⃣ 대표적으로 스피어만 상관계수와 켄달의 타우 상관 계수
*️⃣ 스피어만 상관계수는 두 변수의 순위 간의 일관성을 측정하고, 켄달의 타우 상관계수보다 데이터 내 편차와 에러에 민감
*️⃣ 켄달의 타우 상관 계수는 순위 간의 일치 쌍 및 불일치 쌍의 비율을 바탕으로 계산
*️⃣ 데이터 분포에 대한 가정을 하지 못하고, 순서형 데이터 일때 사용 가능
🗯️파이썬 실습
from scipy.stats import spearmanr, kendalltau
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 예시 데이터 생성
np.random.seed(0)
customer_satisfaction = np.random.rand(100)
repurchase_intent = 3 * customer_satisfaction + np.random.randn(100) * 0.5
# 데이터프레임 생성
df = pd.DataFrame({'Customer Satisfaction': customer_satisfaction, 'Repurchase Intent': repurchase_intent})
# 스피어만 상관계수 계산
spearman_corr, _ = spearmanr(df['Customer Satisfaction'], df['Repurchase Intent'])
print(f"스피어만 상관계수: {spearman_corr}")
# 켄달의 타우 상관계수 계산
kendall_corr, _ = kendalltau(df['Customer Satisfaction'], df['Repurchase Intent'])
print(f"켄달의 타우 상관계수: {kendall_corr}")
# 상관관계 히트맵 시각화
sns.heatmap(df.corr(method='spearman'), annot=True, cmap='coolwarm')
plt.title('spearman coefficient heatmap')
plt.show()

📊상호정보 상관계수
*️⃣ 두 변수 간의 상호 정보 측정
*️⃣ 변수 간의 정보 의존성을 바탕으로 비선형 관계 탐지
*️⃣ 서로의 정보에 대한 불확실성을 줄이는 정도를 바탕으로 계산
*️⃣ 범주형 데이터에도 적용 가능!
*️⃣ 두 변수가 범주형 변수이고, 비선형적이고 복잡한 관계를 탐지하고자 할 때

상호 정보 값이 0.9로 표시되며 강한 비선형 의존성을 띔
import numpy as np
from sklearn.metrics import mutual_info_score
# 범주형 예제 데이터
X = np.array(['cat', 'dog', 'cat', 'cat', 'dog', 'dog', 'cat', 'dog', 'dog', 'cat'])
Y = np.array(['high', 'low', 'high', 'high', 'low', 'low', 'high', 'low', 'low', 'high'])
# 상호 정보량 계산
mi = mutual_info_score(X, Y)
# Mutual Information (categorical): 0.6931471805599456
❇️아티클 스터디
🌈요약
A/B 테스트는 오바마 대선 캠페인 등으로 일반인들에게도 잘 알려진 분석 방법이지만 그 둥 상당수가 A/B 테스트를 양자 택일 정도로 분리하고 그 중 더 나은 안을 채택하는 것이라고 생각하는 경우가 많다. 하지만 이것이 우리가 가장 궁금하게 하는 것을 아는 방법일까?
A/B 테스트를 설계할 때 우리는 목표를 달성하기 위한 방안으로 A안과 B안 중 어느게 더 효과가 좋은 지 비교하게 된다. 하지만 진짜 궁금증은 이것보다 더욱 복잡하고 섬세하다.
그래서 우리는 몇 가지 기대를 하게되고 궁극적으로 A/B 테스트 결과가 우연이 아니길 바라게 된다.
이런 숨은 질문을 생각하면 단순히 A/B테스트의 설계와 결과 해석을 트래픽을 절반으로 나누거나, 변수를 하나만 두거나 더 나은 결과를 보여주는 방안을 선택해서 배포하는 식으로 정의 할 수 없다!
✨주요 포인트
🗯️우리가 A/B 테스트를 설계할 때 진짜 궁금해 하는 것은 다음과 같다.
➡️우리는 암묵적으로 A/B 방안의 결과가 크기를 바란다. Ex) 두 집단의 채택률이 1% 차이가 나면 뭔가 찝찝함을 느낀다.
➡️우리는 실험이 공정하기를 바란다. Ex) 우리는 은연중에 실험 배경이 동일하다고 생각하면서 공정성을 요구한다.
➡️우리는 이번 실험의 결과가 이례적이거나 우연이 아니길 바란다. Ex) 위의 조건을 고려해서 다시 조사했을 때 전환률이
4% 늘어났다. 하지만 이걸 보고 다음 번에 이 실험을 한다면 같은 결과가 나올지 의문을 가진다.
🗯️핵심 개념
⭐A/B 테스트
A/B 테스트는 두 가지 대안(A안, B안)을 비교하여 더 좋은 성과를 내는 쪽을 찾는 실험 방법이다.
사용자에게 무작위로 서로 다른 버전을 보여주고, 실제 반응 데이터를 기반으로 어떤 선택이 더 효과적인지 판단한다.
Ex)쇼핑몰 구매 버튼 테스트
A안: “구매하기” 버튼 (파란색)
B안: “지금 구매하기” 버튼 (빨간색)
사용자를 절반씩 나눠 보여준 뒤,클릭률,구매율,이탈률
등을 비교한다.
→ B안 성과가 더 좋다면 B안을 적용
🗯️용어 정리
⭐트래픽
**트래픽(Traffic)**은 웹사이트, 앱, 서비스에 유입되는 사용자 활동량 또는 데이터 흐름량을 의미
마케팅 / 데이터 분석에서의 트래픽은 서비스에 방문한 사용자 수, 방문량을 뜻함
'TIL' 카테고리의 다른 글
| 20260421 TIL (0) | 2026.04.21 |
|---|---|
| 20260420 TIL (0) | 2026.04.20 |
| 20260416 TIL (1) | 2026.04.16 |
| 202060415 TIL (1) | 2026.04.15 |
| 20240414 TIL (2) | 2026.04.14 |