내일배움캠프_QAQC 1기/통계학 기초

통계학 1주차

이지응:) 2025. 1. 16. 13:47
1주차 목표

데이터 분석에 있어서 통계가 왜 중요한지를 배웁니다
기술통계와 추론통계에 대한 개념을 이해하고 각각의 차이점을 설명할 수 있습니다
통계분석 방법의 다양한 종류에 대해서 배웁니다

 

강의 자료 : [스파르타코딩클럽] 데이터 분석과 통계

실습 자료 : https://colab.research.google.com/drive/1H3uPkgWponn9DhW1uWZKonDw21W1B2an#scrollTo=IyzUgMNqDNGE

통계가 중요한 이유

  • 데이터 분석에서 데이터를 이해하고 해석하는 데 중요한 역할을 함
  • 데이터를 요약하고 패턴을 발견할 수 있음
  • 추론을 통해 결론을 도출하는 과정을 도움

=> 데이터 기반의 의사결정을 내릴 수 있음

 

기술통계

  • 데이터를 요약하고 설명하는 통계 방법 
  • 주로 평균, 중앙값, 분산, 표준편차 등을 사용 => 데이터를 특정 대표값으로 요약
  • 데이터에 대한 대략적인 특징을 간단하고 쉽게 알 수 있음
  • 데이터 중 예외(이상치)라는게 항상 존재할 수 있고 데이터의 모든 부분을 확인할 수 있는 것은 아님

평균 (Mean)

  • 데이터의 대표적인 값을 나타내고, 모든 데이터를 더한 후 데이터의 개수로 나누어 계산
  • 데이터의 일반적인 경향을 파악하는 데 유용

중앙값 (Median)

  • 데이터셋을 크기 순서대로 정렬했을 때 중앙에 위치한 값
  • 이상치에 영향을 덜 받기 때문에 데이터의 중심 경향을 나타내는 또 다른 방법

분산  (Variance)

  • 데이터 값들이 평균으로부터 얼마나 떨어져 있는지를 나타내는 척도로, 데이터의 흩어짐 정도를 측정
  • 분산이 크면 데이터가 넓게 퍼져 있고, 작으면 데이터가 평균에 가깝게 모여 있음을 의미
  • 분산을 구하는 방법은 각 데이터 값에서 평균을 뺀 값을 제곱한 후, 이를 모두 더하고 데이터의 개수로 나누는 것

표준편차 (Standard Deviation)

  • 데이터 값들이 평균에서 얼마나 떨어져 있는지를 나타내는 통계적 척도로, 분산의 제곱근을 취하여 계산
  • 데이터의 변동성을 측정하며, 값이 클수록 데이터가 평균으로부터 더 넓게 퍼져 있음을 의미

표준편차와 분산의 관계

  • 분산과 표준편차는 동일하게 데이터의 변동성을 측정하는 두 가지 주요 척도
  • 두 개념은 밀접하게 연관되어 있으며, 표준편차는 분산의 제곱근
  • 분산은 데이터 값과 평균의 차이를 제곱하여 평균을 낸 값이기 때문에 제곱 단위로 표현되지만, 표준편차는 다시 제곱근을 취하여 원래 데이터 값과 동일한 단위로 변환

 

추론통계

  • 표본 데이터를 통해 모집단의 특성을 추정하고 가설을 검정하는 통계 방법
  • 주로 신뢰구간, 가설검정 등을 사용
  • 데이터의 일부를 가지고 데이터 전체를 추정하는 것이 핵심

신뢰구간 (Confidence Interval)

  • 모집단의 평균이 특정 범위 내에 있을 것이라는 확률
  • 일반적으로 95% 신뢰구간이 사용되며, 이는 모집단 평균이 95% 확률로 이 구간 내에 있음을 의미
  • EX) 어떤 설문조사에서 평균 만족도가 75점이고, 신뢰구간이 70점에서 80점이라면, 우리는 95% 확률로 실제 평균 만족도가 이 범위 내에 있다고 말할 수 있음

가설검정 (Hypothesis Testing)

  • 모집단에 대한 가설을 검증하기 위해 사용
  • 일반적으로 두 가지 가설이 있으며, 귀무가설(H0)은 검증하고자 하는 가설이 틀렸음을 나타내는 기본 가설(변화가 없다, 효과가 없다 등)이고, 대립가설(H1)은 그 반대 가설로 주장하는 바(변화가 있다, 효과가 있다 등) 를 나타냄
  • p-value를 통해 귀무가설을 기각할지 여부를 결정
  • EX) 새로운 교육 프로그램이 학생들의 성적에 영향을 미치는지 알고 싶다면, 귀무가설은 "프로그램이 성적에 영향을 미치지 않는다"이고, 대립가설은 "프로그램이 성적에 영향을 미친다"임

 

다양한 분석 방법

위치 추정

  • 데이터의 중심을 확인하는 방법
  • 평균, 중앙값이 대표적인 위치 추정 방법
data = [85, 90, 78, 92, 88, 76, 95, 89, 84, 91]
mean = np.mean(data)
median = np.median(data)

print(f"평균: {mean}, 중앙값: {median}")

 

 

변이 추정

  • 데이터들이 서로 얼마나 다른지 확인하는 방법
  • 분산, 표준편차, 범위(range) 등을 사용
  • 범위 : 데이터셋에서 가장 큰 값과 가장 작은 값의 차이를 나타내는 간단한 분포의 측도
  • 범위를 통해 데이터가 어느 정도의 변동성을 가지는지 쉽게 파악 가능
  • 범위는 계산이 간단하여 기본적인 데이터 분석에서 자주 사용됨
  • 범위(R) = 최대값 - 최소값
variance = np.var(data)
std_dev = np.std(data)
data_range = np.max(data) - np.min(data)

print(f"분산: {variance}, 표준편차: {std_dev}, 범위: {data_range}")

 

데이터 분포 탐색

데이터의 값들이 어떻게 이루어져 있는지 확인

히스토그램과 상자 그림(Box plot)은 데이터의 분포를 시각적으로 표현하는 대표적인 방법

plt.hist(data, bins=5)
plt.title('histogram')
plt.show()

plt.boxplot(data)
plt.title('boxplot')
plt.show()

 

이진 데이터와 범주 데이터 탐색

데이터들이 서로 얼마나 다른지 확인하는 방법

최빈값(개수가 제일 많은 값)을 주로 사용(범주형 데이터는 수치로 나타내기 힘드므로)

파이그림과 막대 그래프는 이진 데이터와 범주 데이터의 분포를 표현하는 대표적 방법

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()

 

상관관계

  • 데이터들끼리 서로 관련이 있는지 확인하는 방법
  • 상관계수는 두 변수 간의 관계를 측정하는 방법
  • 상관계수를 계산해서 -1이나 1에 가까워지면 강력한 상관관계를 가짐
  • -0.5나 0.5를 가지면 중간정도의 상관관계를 가짐
  • 0에 가까울 수록 상관관계가 없

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()

☑️ 값이 4개가 나오는 이유

차례대로 x와 x의 상관관계, x와 y의 상관관계, y와 x의 상관관계, y와 y의 상관관계를 나타냄

여기서 자기 자신과의 상관관계는 필요없으므로 대각선은 필요없음

0행 1열이나 1행 0열을 가지고 오면 됨

그래서 뒤에 [0,1]이 붙은 코드 사용!!!

 

인과관계와 상관관계의 차이

  • 인과관계는 상관관계와는 다르게 원인, 결과가 분명해야 함
  • 상관관계는 두 변수 간의 관계를 나타내며, 인과관계는 한 변수가 다른 변수에 미치는 영향을 나타냄
  • 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()

 

 

대각선이 히스토그램인 이유

자기 자신과의 상관관계는 무조건 1이므로 굳이 산점도를 그릴 필요가 없음

그래서 TV, Radio, Newspaper, Sales에 대한 히스토그램을 나타냄

대각선 위, 아래는 대칭이므로 하나만 보면 됨

 

sns.heatmap(df.corr())

 

'내일배움캠프_QAQC 1기 > 통계학 기초' 카테고리의 다른 글

통계학 기초 5주차  (2) 2025.01.20
통계학 기초 4주차  (0) 2025.01.17
통계학 기초 3주차  (0) 2025.01.17
[01/16]데이터 분석을 위한 통계학 입문_1회차  (0) 2025.01.16
통계학 2주차  (0) 2025.01.16