데이터분석 6기/본캠프

2025-04-02 통계학 기초 2

seyeon1130 2025. 4. 2. 19:12

통계 라이브 세션

 

표본 평균 ->정규분포 따름(중심극한정리)

표본 분산 -> 카이제곱 분포 따름

 

히스토그램 ->도수분포표 시각화

도수 : 특정 구간에서 발생한 값의 수

상대 도수:전체 중에서 도수를 나눈 수

 

표준 정규분포(평균0, 분산1)을 통일하기 위해 정규화 진행

표준화(standard scaler) 공식: 확률변수 X (값) 에서 평균 m을 빼고 표준편차로 나눈 값

신뢰수준이 높아지면 높아질 수록 범위가 넓어짐. 그래서 0.95보다 0.99가 좋다고 볼 수 없음.

 

import scipy.stats as st

df = len(sample1) - 1 # 자유도 : 샘플 개수 - 1
mu = np.mean(sample1) # 표본 평균
se = st.sem(sample1) # 표준 오차

# 95% 신뢰구간
st.t.interval(0.95, df, mu, se) # (10.338733110887336, 20.661266889112664)

 

통계학 기초

상관계수

 

피어슨 상관계수 : 선형관계일 때, 정규분포를 따를 때, 연속형 변수일 때 사용 가능(순서형:1등급,2등급 등)

 

비모수 상관계수: 정규분포를 따르지 않을 때, 순서형 변수 사용할 때, 데이터 분포에 대한 정의를 하지 못할 떼

  • 스피어만 상관계수: 두 순위간의 일관성 측정
  • 켄달의 타우 상관계수 : 순서의 일치쌍 불일치쌍 비율을 계산
from scipy.stats import pearsonr
from scipy.stats import spearmanr, kendalltau

#피어슨
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)pearson_corr, _ = pearsonr(df['Study Hours'], df['Exam Scores'])
print(f"피어슨 상관계수: {pearson_corr}")

# 스피어만 상관계수 계산
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', vmin=-1, vmax=1)


#여기서 _는 p-value

 

상호정보 상관계수: 변수 간의 정보 의존성을 바탕으로 비선형 관계를 탐지, 범주형도 사용 가능

0에 가까울 수록 독립적, 크기가 클 수록 연관성 있음

from sklearn.metrics import mutual_info_score
mi = mutual_info_score(X, Y)
print(f"Mutual Information (categorical): {mi}")

 

가설검정 주의점

 

  • 재현 가능성: 동일한 연구 반복 했을 때 일관된 결과가 나와야함. / 연구실에서만 결과 같으면 안됨
  • p-해캉 : p값을 낮추는 행위, 유의미한 결과를 얻기 위해 다양한 변수를 사용, 유의미한 결과를 위해 0,05 이하인 값만 선택하는 것 주의
  • 선택적 보고: 유의미한 결과만 보고함, 가설 설정 다시해놓고 처음한 척 함
  • 자료수집 중단 시점: 유의미한 결과가 나올 때까지 계속 자료를 수집하는 것은 신뢰도를 떨어뜨림
  • 데이터 탐색과 검증 분리: 한 데이터 안에서 탐색할 데이터와 검증할 데이터를 분리해야한다