1) 위치추정
- 데이터의 중심을 확인하는 방법!
- 평균, 중앙값이 대표적인 위치 추정 방법입니다
- ex) 학생들의 시험 점수에서 평균 점수, 중간 점수를 계산
- (코딩하기 전에 가장먼저! 아래와 같은 라이브러리를 호출한 다음 코드 실습을 진행하세요!)
# 데이터 분석에서 자주 사용되는 라이브러리
import pandas as pd
# 다양한 계산을 빠르게 수행하게 돕는 라이브러리
import numpy as np
# 시각화 라이브러리
import matplotlib.pyplot as plt
# 시각화 라이브러리2
import seaborn as sns
- 파이썬 실습
# 이 data는 아래에서도 계속 사용 됩니다
data = [85, 90, 78, 92, 88, 76, 95, 89, 84, 91]
mean = np.mean(data)
median = np.median(data)
print(f"평균: {mean}, 중앙값: {median}")
2) 변이추정
데이터들이 서로 얼마나 다른지 확인하는 방법!
- 분산, 표준편차, 범위(range) 등을 사용합니다
- 범위
- 범위는 데이터셋에서 가장 큰 값과 가장 작은 값의 차이를 나타내는 간단한 분포의 측도입니다.
- 범위를 통해 데이터가 어느 정도의 변동성을 가지는지 쉽게 파악할 수 있습니다.
- 범위는 계산이 간단하여 기본적인 데이터 분석에서 자주 사용됩니다.
- 수식
- 범위(R) = 최대값 - 최소값
- 범위 계산 예시
- 예를 들어, 다섯 명의 학생이 받은 시험 점수가 60, 70, 80, 90, 100이라고 가정합시다.
- 최대값은 100
- 최소값은 60 따라서 범위는 100 - 60 = 40입니다.
- 예를 들어, 다섯 명의 학생이 받은 시험 점수가 60, 70, 80, 90, 100이라고 가정합시다.
- ex) 매출 데이터의 변이를 분석하여 비즈니스의 안정성을 평가
- 파이썬 실습
variance = np.var(data)
std_dev = np.std(data)
data_range = np.max(data) - np.min(data)
print(f"분산: {variance}, 표준편차: {std_dev}, 범위: {data_range}")
- 3) 데이터 분포 탐색
- 데이터의 값들이 어떻게 이루어져 있는지 확인하기
- 히스토그램과 상자 그림(Box plot)은 데이터의 분포를 시각적으로 표현하는 대표적인 방법입니다.
- ex) 시험 점수의 분포를 히스토그램과 상자 그림으로 표현
- 파이썬 실습
plt.hist(data, bins=5)
plt.title('histogram')
plt.show()
plt.boxplot(data)
plt.title('boxplot')
plt.show()
4) 이진 데이터와 범주 데이터 탐색
- 데이터들이 서로 얼마나 다른지 확인하는 방법!
- 최빈값(개수가 제일 많은 값)을 주로 사용합니다
- 파이그림과 막대 그래프는 이진 데이터와 범주 데이터의 분포를 표현하는 대표적 방법입니다.
- ex) 고객 만족도 설문에서 만족/불만족의 빈도 분석
- 파이썬 실습
satisfaction = ['satisfaction', 'satisfaction', 'dissatisfaction',
'satisfaction', 'dissatisfaction', 'satisfaction', 'satisfaction',
'dissatisfaction', 'satisfaction', 'dissatisfaction']
satisfaction_counts = pd.Series(satisfaction).value_counts()
satisfaction_counts.plot(kind='bar')
plt.title('satisfaction distribution')
plt.show()
- 5) 상관관계
- 데이터들끼리 서로 관련이 있는지 확인하는 방법!
- 상관계수는 두 변수 간의 관계를 측정하는 방법입니다.
- 상관계수를 계산해서 -1이나 1에 가까워지면 강력한 상관관계를 가집니다.
- -0.5나 0.5를 가지면 중간정도의 상관관계를 가집니다.
- 0에 가까울 수록 상관관계가 없습니다.
- ex) 공부 시간과 시험 점수 간의 상관관계를 분석
- 파이썬 실습
study_hours = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
exam_scores = [95, 90, 85, 80, 75, 70, 65, 60, 55, 50]
correlation = np.corrcoef(study_hours, exam_scores)[0, 1]
print(f"공부 시간과 시험 점수 간의 상관계수: {correlation}")
plt.scatter(study_hours, exam_scores)
plt.show()
6) 여기서 잠깐! 인과관계와 상관관계의 차이
- 인과관계는 상관관계와는 다르게 원인, 결과가 분명해야 함!
- 상관관계는 두 변수 간의 관계를 나타내며, 인과관계는 한 변수가 다른 변수에 미치는 영향을 나타냅니다.
- ex) 아이스크림 판매량과 익사 사고 수 간의 상관관계는 높지만, 인과관계는 아님.
7) 두 개 이상의 변수 탐색
- 여러 데이터들끼리 서로 관련이 있는지 확인
- 다변량 분석은 여러 변수 간의 관계를 분석하는 방법입니다.
- ex) 여러 마케팅 채널의 광고비와 매출 간의 관계 분석
- 파이썬 실습
data = {'TV': [230.1, 44.5, 17.2, 151.5, 180.8],
'Radio': [37.8, 39.3, 45.9, 41.3, 10.8],
'Newspaper': [69.2, 45.1, 69.3, 58.5, 58.4],
'Sales': [22.1, 10.4, 9.3, 18.5, 12.9]}
df = pd.DataFrame(data)
sns.pairplot(df)
plt.show()
df.corr()
# heatmap까지 그린다면
sns.heatmap(df.corr())
'통계학 기초' 카테고리의 다른 글
기술 통계와 추론 통계 & 통계 기초 용어 (0) | 2024.08.07 |
---|