통계의 구분
- 기술(Descriptive) 통계 : 평균, 분산 등의 요약 통계량이나 그래프를 이용하여 정리, 요약
- 추론(Inferential) 통계 : 표본에 포함된 정보로부터 모집단의 특성 파악 및 타당성 검토로 모수 추론, 미래 예측
모집단과 표본
1. 모집단 (Population)
모집단은 연구나 조사의 대상이 되는 전체 집단을 의미
알고자 하는 모든 개체나 항목의 집합
모평균, 모표준편차, 모분산, 모비율
2. 모수 (Parameter)
모수는 상수로 간주되는 값이며, 모집단의 특정 특성을 나타내는 대표값
모집단 전체의 평균, 분산, 비율 등의 값
이 값들은 고정되어 있으며, 모집단의 분포 특성을 요약하는 데 사용
3. 표본 (Sample)
표본분포는 모집단에서 무작위로 추출된 표본들의 통계량에 대한 분포
이는 표본 통계량(예: 표본 평균, 표본 비율 등)의 확률분포임
표본은 모집단의 대표성을 가져야 하며, 이를 위해 임의 추출 등의 방법을 사용
4. 통계량 (Statistic)
통계량은 표본의 특성을 나타내는 숫자적인 값
표본의 평균, 표본의 분산, 표본의 비율 등과 같은 값
통계량은 모집단의 모수를 추정하기 위해 사용됨
5. 표본분포 (Sampling Distribution)
표본분포는 표본 통계량의 확률분포를 의미
모집단에서 동일한 크기의 표본을 여러 번 추출하고 각 표본의 평균을 계산했을 때,
이 평균들의 분포가 표본분포가 됨
표본분포는 표본 크기가 커질수록 모집단의 분포에 가까워지는 경향이 있다.
예시
- 모집단: 모든 대학생
- 모수: 모든 대학생의 평균 시험 점수
- 표본: 100명의 무작위로 선택된 대학생
- 통계량: 이 100명의 평균 시험 점수
- 표본분포: 모집단에서 여러 번 100명씩 추출하여 평균 시험 점수를 계산했을 때, 이 평균들의 분포
정리
- 모집단에서 같은 크기의 표본을 여러 번 무작위로 추출
- 각 표본에서 특정 통계량(예: 평균)을 계산
- 이 통계량들의 분포를 표본분포라고 함
기술 통계
: 데이터의 속성을 특정한 통계량을 사용해 정리, 요약, 설명
중심 척도 (Central Tendency)
중심 척도는 데이터의 중앙 값이나 중심 값을 나타내는 통계량
- 평균 (Mean): 데이터 값들의 총합을 데이터 개수로 나눈 값
- 중앙값 (Median): 데이터를 크기 순서대로 정렬했을 때 중앙에 위치한 값 (데이터가 짝수 개일 경우 중앙에 있는 두 값의 평균)
- 최빈값 (Mode): 데이터에서 가장 빈번하게 나타나는 값
산포 척도 (Measure of Dispersion)
산포 척도는 데이터 값들이 얼마나 퍼져 있는지를 나타내는 통계량
- 범위 (Range): 데이터에서 최대값과 최소값의 차이
- 분산 (Variance): 데이터 값들이 평균으로부터 얼마나 떨어져 있는지를 나타내는 지표
- 표준편차 (Standard Deviation): 분산의 제곱근으로, 데이터 값들이 평균으로부터 얼마나 떨어져 있는지
- 사분위수 범위 (Interquartile Range, IQR): 데이터의 중앙 50%의 범위로, 제3사분위수와 제1사분위수의 차이.IQR=Q3−Q1
분포 모양 (Shape of Distribution)
분포 모양은 데이터의 전체적인 분포 특성을 나타냄
- 왜도 (Skewness): 데이터 분포의 비대칭성을 나타내는 지표입니다. 왜도가 양수이면 분포가 오른쪽으로 치우쳐 있고, 음수이면 왼쪽으로 치우쳐 있습니다.
- 첨도 (Kurtosis): 데이터 분포의 뾰족함 정도를 나타내는 지표입니다. 첨도가 높으면 분포가 중앙에 뾰족하고 꼬리가 두꺼운 형태이고, 첨도가 낮으면 평평한 형태입니다.
- 빈도 (Frequency): 특정 값이나 구간에 속하는 데이터 항목의 수를 나타냄 빈도 분포표는 데이터 값이 얼마나 자주 나타나는지를 보여주는 표
- 상대도수 (Relative Frequency): 각 데이터 값의 빈도를 전체 데이터 개수로 나눈 값. 이를 통해 각 값이 전체 데이터에서 차지하는 비율 계산 상대도수=해당 값의 빈도 / 전체 데이터 개수
- 누적도수 (Cumulative Frequency): 특정 값 이하의 데이터 항목 수를 누적해서 계산한 값, 누적도수 분포는 데이터를 누적된 형태로 나타내어, 특정 값 이하의 데이터가 전체에서 얼마나 차지하는지를 알 수있음
- 비대칭도(왜도) (Skewness): 데이터 분포의 비대칭성을 나타내는 지표. 분포의 꼬리 부분의 방향과 관련이 있음
- 양의 왜도 (Positive Skewness): 꼬리가 오른쪽으로 길게 늘어진 분포. 평균이 중앙값보다 크며, 분포가 오른쪽으로 치우쳐 있음
- 음의 왜도 (Negative Skewness): 꼬리가 왼쪽으로 길게 늘어진 분포. 평균이 중앙값보다 작으며, 분포가 왼쪽으로 치우쳐 있음
7. 첨도 (Kurtosis): 첨도는 데이터 분포의 뾰족함 정도와 꼬리 부분의 두께를 나타내는 지표
- 정규분포의 첨도: 정규분포의 경우 첨도는 3. 이를 기준으로 첨도를 판단
- 양의 첨도 (Leptokurtic): 첨도가 3보다 큰 경우로, 분포가 중앙에 뾰족하고 꼬리가 두꺼운 형태
- 음의 첨도 (Platykurtic): 첨도가 3보다 작은 경우로, 분포가 평평하고 꼬리가 얇은 형태
데이터 유형
1. 연속형 데이터
- 등간척도 : 분류O, 순위O, 동일한간격O, 절대영점X, 대표값 : 산술평균, 통계분석 : 모수통계(확률 분포 쓴다)
- 비율척도 : 분류O, 순위O, 동일한간격O, 절대영점O, 대표값 : 산술평균/기하평균, 통계분석 : 모수통계
2. 이산형 데이터 (범주형 데이터)
- 명목척도 : 분류O, 순위X, 동일한간격X, 절대영점X, 대표값 : 최빈값/퍼센트, 통계분석 : 빈도분석/비모수통계
- 서열척도 : 분류O, 순위O, 동일한간격X, 절대영점X, 대표값 : 중위값/퍼센트, 통계분석 : 비모수통계
모수통계는 확률분포 쓰고, 비모수통계는 확률분포 쓰지 않음
기술통계_연습
1. 자동차 연비 Data Set에서 기술통계치 구하기
시내에서 연비(mpg) 통계치 구하기 : 데이터수, 평균, 중앙값, 표준편차, min, max, Q1, Q3
자동차 모델별, mpg 기술통계치 구하기 : 데이터수, 평균, 중앙값, 표준편차, min, max, Q1, Q3
import numpy as np
from scipy import stats
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from statsmodels.stats.proportion import proportions_ztest
import matplotlib
matplotlib.rc('font', family = 'Malgun Gothic')
matplotlib.rc('axes', unicode_minus = False) # 음수표시
# 그래프 출력
%matplotlib inline
# 실행결과 경고메시지 출력 제외
import warnings
warnings.filterwarnings('ignore')
2. 제품의 품질을 조사하여 Cabbage 결함과 결함이 발생한 기간을 조사한 테이블 EXH_QC1.csv
범주형 데이터에 대해, counts, percents, cumulative counts, cumulative percents 계산
# Exh_QC1 데이터 가져오기
QC1 = pd.read_csv('EXH_QC1.csv')
df = QC1[['Flaws', 'Period']]
# Flaws변수 Count: value_count, 순서대로 정렬 : sort_index
count = df['Flaws'].value_counts().sort_index()
# CumCnt 계산 : cumsum 누적합
cumcnt = np.cumsum(count)
# Percent계산
percent = count/ sum(count) * 100
#CumPct 계산 : cumsum 누적 백분율
cumpct = np.cumsum(percent)
# 데이터프레임으로 취합
count_data = pd.DataFrame({'Count': count, 'CumCnt' : cumcnt, 'Percent': percent, 'Cumpct': cumpct})
# Column의 name(좌측상단 이름) 생성
count_data.columns.name = 'Flaws'
# 결과확인
count_data
3. 다음 데이터는 자동차의 모델과 연비(mpg) 에 대한 자료를 조사한 테이블
이 범주형 변수인 구동방식, 모델에 대해 counts, percents, cumulative counts,
cumulative percents 계산
- 모델별
mycars = pd.read_csv('mycars.csv')
df1 = mycars['model']
# Flaws 변수 count: value_count, 순서대로 정렬: sort_index
count = df1.value_counts().sort_index()
# CumCnt 계산 : cumsum
cumcnt = np.cumsum(count)
#Percnt 계산 : 직접
percent = count/sum(count) * 100
#CumPct 계산 : cumsum
cumpct = np.cumsum(percent)
count_data = pd.DataFrame({'Count': count, 'CumCnt' : cumcnt, 'Percent' : percent, 'CumPct' : cumpct})
#column의 name 생성
count_data.columns.name='Flaws'
count_data
- mpg 연비별
mycars = pd.read_csv('mycars.csv')
df2 = mycars['mpg']
# Flaws 변수 count: value_count, 순서대로 정렬: sort_index
count = df2.value_counts().sort_index()
# CumCnt 계산 : cumsum
cumcnt = np.cumsum(count)
#Percnt 계산 : 직접
percent = count/sum(count) * 100
#CumPct 계산 : cumsum
cumpct = np.cumsum(percent)
count_data = pd.DataFrame({'Count': count, 'CumCnt' : cumcnt, 'Percent' : percent, 'CumPct' : cumpct})
#column의 name 생성
count_data.columns.name='Flaws'
count_data
확률변수
- 이산형 확률 변수 : 확률변수의 값의 개수를 셀 수 있는 경우 (이산형 확률분포 총합 항상 1)
- 연속형 확률 변수 : 확률변수의 값이 연속적인 구간에 속하는 경우
확률분포의 종류
- 연속형 확률분포
- 정규분포 : 흔들림이 없는 분포 (손으로 계산 가능)
- 표준정규분포 : 평균이 0이고 표준편차가 1인 정규분포
- t 분포(student t) : 표본 개수에 따라 흔들림이 있음 (손으로 계산 불가능)
- -> 세 분포는 전체 집단의 평균을 추정하거나 평균을 가설검정 할 때 쓰임
- χ² (카이 제곱) 분포 : 모집단의 분산 추정시 사용, 동일성 검정시 사용, 비대칭 분포
- F 분포 : 자유도에 의해 흔들림, 출발점 0, 두 집단이라 자유도 2개, 등분산인지 봄, 나머지는 아노바분석에 사용, 1보다 크기를 원함
- 와이블 분포 : 일반적으로 양수값, 출발점 0
- 이산 확률분포 :
- 베르누이 분포
- 이항 분포
- 포아송 분포 : 평균을 알아야지 쓸 수 있다
F 분포
- 자유도에 의한 변동: F 분포의 형태는 두 개의 자유도 매개변수에 의해 결정됨.
- 자유도 자료1 (dfnum): 분자 자유도, 그룹 간의 변동을 측정 -> 그룹 간의 평균 차이를 비교하는 데 사용
- 자유도 자료2 (dfden): 분모 자유도, 그룹 내의 변동을 측정 -> 그룹 내의 분산을 나타내며, 그룹 간 차이가 있는지를 판단하는 데 사용
- 출발점 0: F 분포는 항상 0 이상의 값을 가짐 -> 분산의 비율이 항상 양수임, 최소값인 0에서 시작하여 양의 무한대로 이어질 수 있음
- 등분산 검정: F 분포는 주로 등분산 검정에 사용. 두 그룹의 데이터에서 추정된 분산의 비율을 계산하여, 두 그룹의 분산이 동일한지를 검정할 수 있음. 등분산 검정은 t 검정 등에서 중요한 전제 조건이 될 수 있다.
- 평균차이 검정 (t 검정) : 두 개의 그룹 간 평균 차이를 비교하는 데 사용
- ANOVA(분산 분석)에 사용: 세 개 이상의 그룹 간 평균 차이를 비교하는 데 사용됨. 그룹 간 데이터의 분포가 정규성을 따르고, 등분산성을 가정
- 1보다 크기를 원함: 일반적으로 F 분포의 값은 1보다 커야함. 그렇지 않으면 두 그룹의 분산 비율이 거의 같다고 봄. 따라서 F 통계량이 크면, 그룹 간의 분산 차이가 크다는 의미
정규분포
평균을 중심으로 좌우 대칭인 종모양 분포
1. 확률밀도함수 (PDF - Probability Density Function)
정규분포의 확률밀도함수는 특정 값 xx에서의 확률밀도를 나타내는 함수
2. 누적확률함수 (CDF - Cumulative Distribution Function)
누적확률함수는 확률변수가 특정 값보다 작거나 같은 확률을 나타내는 함수
3. 역누적확률함수 (PPF - Percent Point Function)
역누적확률함수는 누적확률함수의 역함수
정규분포의 역누적확률함수는 특정 누적 확률 p 에 해당하는 x 값을 찾음.
즉, 주어진 누적 확률값에 해당하는 분위수(quantile)를 제공
확률계산연습
1. A/S작업을 수행하는데 걸리는 시간을 측정해본 결과, 평균 115분,
표준편차 20분이 소요된다는 것을 알았음
만일 A/S 작업시간의 허용범위가 135분 이내라면 135분 이상 걸리는 A/S 작업비율은?
# 누적확률값 계산
mu = 115
sigma = 20
x = 135
prob = stats.norm.cdf(x, mu, sigma)
print('{0}분 이상 걸리는 A/S 작업 비율 : {1:.1f}%'.format(x, (1-prob)*100))
2. 대한믹국 남성의 20~30대 키를 측정한 결과, 평균 175cm, 표준편차 5cm
나의 키가 180인 경우에 나는 몇 %범위에 위치?
# 누적확률값 계산
mu = 175 # 평균
sigma = 5 # 표준편차
x = 180
prob = stats.norm.cdf(x, mu, sigma)
print('{0}cm 이상 비율 : {1:.1f}%'.format(x, (1-prob)*100))
3. 어떤 자동차 1리터당 주행거리가 평균 12km, 표준편차 3km인 정규분포를 따른다고 가정
1) 1리터를 가지고 12km이상 15km 이하를 달릴 확률
# 누적확률 값 계산
mu = 12
sigma=3
x1=15
#prob1: 누적확률 15이하 값 계산
prob1 = stats.norm.cdf(x1, mu, sigma)
print("{0}km 이상 {1}km 이하를 달릴 확률은 {2:.3f}에 해당함".format(mu, x1,(prob1-0.5)))
2) 1리터를 가지고 15km 이상을 달릴 확률?
mu = 12
sigma=3
x1=15
#prob1: 누적확률 15이하 값 계산
prob1 = stats.norm.cdf(x1, mu, sigma)
print("{0}km 이상을 달릴 확률은 {1:.3f}에 해당함".format(x1,(1 - prob)))
확률분포
표본정규분포 (Sample Normal Distribution)
표본정규분포는 모집단이 정규분포를 따를 때,
특정한 크기의 표본을 무작위로 추출했을 때 표본의 평균이 따르는 분포
표본의 크기가 충분히 크면(일반적으로 30 이상),
중심극한정리에 따라 표본평균은 근사적으로 정규분포를 따름
표본정규분포 특성
- 평균 (Mean): 모집단의 평균과 동일
- 표준편차 (Standard Deviation): 모집단의 표준편차를 표본의 크기로 나눈 값
표본정규분포를 통해 모집단의 평균을 추정하거나, 평균에 대한 가설 검정을 할 수 있음
t-분포 (Student's t-Distribution)
t-분포는 표본의 크기가 작을 때(일반적으로 30 미만),
정규분포를 따르지 않는 경우에
표본평균의 분포를 설명하기 위해 사용
t-분포는 정규분포와 유사하지만 꼬리 부분이 두껍고, 표본의 크기에 따라 분포의 모양이 달라집짐
t-분포 특성
- 자유도 (Degrees of Freedom): 표본의 크기에 따라 달라지며, 자유도가 커질수록 t-분포는 표준정규분포에 수렴
- 평균 (Mean): 0
- 표준편차 (Standard Deviation): 자유도가 크면 표준정규분포에 가까워짐
t-분포는 일반적으로 두 집단의 평균 차이를 비교하는 t-검정(t-test)에서 사용되며,
특히 표본의 크기가 작을 때 유용하게 활용됨
정리
- 표본정규분포: 모집단이 정규분포를 따를 때, 표본의 평균이 따르는 분포.
- t-분포: 표본의 크기가 작을 때 표본평균의 분포를 설명하는 분포로, 정규분포를 따르지 않을 때 사용됨.
t-분포 연습
1. 확률변수 t는 자유도가 5인 t분포를 따른다
t값이 1.53일때 P(T <= t) 계산
t = 1.53
df = 5
# 누적확률값 계산
prob = stats.t.cdf(t, df)
print('P(T<=t) : {:.3f}'.format(prob))
2. 확률변수 t는 자유도가 100인 t분포를 따른다
t값이 2.0일때 P(T <= t) 계산
t = 2.0
df = 100
# 누적확률값 계산
prob = stats.t.cdf(t, df)
print('P(T<=t) : {:.3f}'.format(prob))
카이제곱 분포 (Chi-squared Distribution)
카이제곱 분포는 정규분포를 따르는 확률 변수들의 제곱을 합산한 값을 따르는 분포
주로 관측값과 기대값 간의 차이를 검정하거나, 집단 간 독립성을 검정할 때 사용
주요 특성:
- 자유도 (Degrees of Freedom):
- 카이제곱 분포의 모양은 자유도에 따라 결정됨
- 자유도가 크면 분포의 형태가 정규분포에 가까워짐
- 자유도는 각 변수의 제곱합에서 사용된 독립적인 정보의 수를 나타냄
- 모양:
- 카이제곱 분포는 항상 오른쪽으로 치우친 비대칭 분포
- 자유도가 증가할수록 분포는 더욱 대칭적으로 근사화됨.
- 사용 예:
- 카이제곱 검정(Chi-squared test): 관측값과 기대값 사이의 차이를 검정하여 분포의 독립성을 평가
- 분산 추정: 표본 분산이 모집단 분산을 추정할 때 사용
- 카이제곱 분포의 계산
카이제곱 분포의 누적분포함수(CDF)는 자유도에 따라 계산됨
특정 값 이하의 누적 확률을 계산하려면 stats.chi2.cdf(x, df) 함수를 사용
반대로, 특정 누적 확률에 해당하는 값은 stats.chi2.ppf(q, df) 함수를 사용하여 계산할 수 있다.
카이제곱 분포 연습
확률변수 x^2는 자유도가 30인 x^2 분포를 따른다
x^2 값이 10일때 P(X<=x^2) 계산
chisq = 10
df = 30
# 누적확률값 계산
prob = stats.chi2.cdf(chisq, df)
print("P(X<={0}): {1:.4f}".format(chisq,prob))
F 분포 (F-distribution)
주요 특성:
- 정의:
- F 분포는 두 개의 독립적인 카이제곱 분포를 따르는 확률 변수의 비율로 정의됩니다.
- 만약 X1∼χ2(df1)X_1 \sim \chi^2(df_1) 이고 X2∼χ2(df2)X_2 \sim \chi^2(df_2) 이면, F 분포는 다음과 같이 정의됩니다: F=X1/df1X2/df2F = \frac{X_1 / df_1}{X_2 / df_2}
- 여기서 df1df_1과 df2df_2는 각각 첫 번째와 두 번째 자유도입니다.
- 사용 예:
- 등분산 검정: 두 개의 모집단에서 추출한 표본의 분산이 같은지를 검정하는 등분산 검정에서 주로 사용됩니다.
- ANOVA 분석: 분산 분석(ANOVA)에서 그룹 간 및 그룹 내 분산의 비율을 검정하는 데 사용됩니다.
- 회귀 분석: 회귀 분석에서 독립 변수의 중요성을 평가하는 F 검정에서도 사용될 수 있습니다.
- 특징:
- F 분포는 항상 양수이며, 오른쪽으로 긴 꼬리를 가진 비대칭 분포입니다.
- 자유도가 더 큰 분자 자유도와 작은 분모 자유도를 가질수록 F 분포의 형태가 달라집니다.
- 계산:
- 특정 F 값 이하의 누적 확률을 계산하려면 stats.f.cdf(x, dfn, dfd) 함수를 사용합니다.
- 반대로, 특정 누적 확률에 해당하는 F 값은 stats.f.ppf(q, dfn, dfd) 함수를 사용하여 계산할 수 있습니다.
F 분포 연습
1. 확률변수 F는 각각 자유도가 15, 15인 F-분포를 따른다
F값이 2.0일때, P(X<=F) 계산
f = 2.0
dfnum = 15
dfden = 15
# 누적확률값 계산
prob = stats.f.cdf(x=f, dfn=dfnum, dfd=dfden)
print("P(X<=F): {:.3f}".format(prob))
이항분포
: 이항분포는 베르누이 실험을 여러번 시행해서
특정한 횟수의 성공/실패 또는 양품/불량품이 나타날 확률을 알고자 할 때,
사용되는 분포로 베르누이 분포는 이항분포에서 시행횟수 n = 1인 특수한 경우
이항분포 (Binomial Distribution)
주요 특성:
- 정의:
- 이항분포는 확률 p로 성공할 확률과 실패 확률 1−p을 가진 실험을 번 반복할 때 성공한 횟수 를 나타내는 분포
- 확률변수 X 가 이항분포를 따른다면, X∼Binomial(n,p)로 표기
- 확률 질량 함수:
- 이항분포의 확률 질량 함수(probability mass function, PMF)는
- 평균과 분산:
- 이항분포의 평균과 분산은 각각
- 사용 예:
- 베르누이 시행을 여러 번 반복하여 얻은 결과를 분석할 때 사용
- 동전을 여러 번 던져 앞면이 나올 확률이 0.5인 경우, 동전을 n번 던져서 앞면이 나오는 횟수를 이항분포로 모델링할 수 있음
- 특징:
- 시행 횟수 nn 이 커질수록 이항분포는 정규분포에 근사 (중심극한정리).
- p가 0.5에 가까울수록 이항분포는 대칭적이며, 가 0 또는 1에 가까울수록 분포의 모양이 달라짐
이항분포 연습
1. 도장공정에서 광택도 불량이 40%
3대의 차량을 임의로 선택했을 때 불량대수가 각각 0,1,2,3대가 나올 확률
# n의 수
n = 3
for i in range(n+1):
# 이항분포 Probability Mass Function
prob = stats.binom.pmf(k = i, n = n, p = 0.4)
print("P(X={0}) = {1:.3f}".format(i, prob))
중심극한정리 (Central Limit Theorem)
- 정의:
- 독립적이고 동일하게 분포된 확률 변수들의 합 또는 평균이 극한 상태에서 정규분포에 근사한다는 것을 설명
- 구체적으로 말하면, X1,X2,…,Xn이 독립적이고 동일한 분포 F(x)를 가진 확률 변수들이라고 할 때,
- 이들의 합 또는 평균의 분포는 이 커짐에 따라 정규분포 N(μ,σ2/n)에 수렴하는 경향이 있음.
- 적용 조건:
- 확률 변수들이 독립적이어야 하며, 동일한 분포를 가져야함
- 각 확률 변수의 평균과 분산이 존재해야함
- n(표본의 크기) 이 충분히 크면, 이론적으로는 정규분포에 수렴하게 됨
- 중요성:
- 실제 데이터 분석에서 대부분의 표집 분포가 정규분포에 가까워지는 이유를 설명
- 작은 크기의 표본에서도 정규분포를 가정할 수 있기 때문에, 다양한 통계적 추론 방법을 적용 가능
- 중심극한정리의 형태:
- 큰 수의 법칙 (Law of Large Numbers): 표본 크기 n이 커질수록 표본 평균이 모집단 평균에 가까워짐
- 정규 근사 (Normal Approximation): 표본 크기 n이 충분히 크면, 표본 평균의 분포가 정규분포에 가까워짐
-> 중심극한정리 사용시 확률변수가 평균으로 바뀜
-> 각각의 군을 n번 측정하여 얻은 G개의 군의 평균의 평균
-> 다수의 독립적이고 동일한 분포를 가진 확률 변수들의 합 또는 평균이 정규분포에 근사한다는 것
- 중심극한정리의 가정 조건:
- 각 확률 변수는 독립적이어야 하며,
- 동일한 분포를 가져야 함.
- 각 확률 변수가 존재하는 분산이 유한해야 함
- 중심극한정리에 따르면, 표본의 크기 n이 충분히 크면(일반적으로 30 이상으로 간주됨),
- 이들의 평균은 정규분포에 가까워짐
- 이 정규분포의 평균은 모집단의 평균에 수렴하게 되며,
- 표준편차는 원래 확률 변수들의 표준편차를 표본의 크기 n으로 나눈 값입니다.
정규분포
를 정규화 시키면
표본정규분포
Z 는 표준 정규분포 N(0,1 를 따르는 표준화된 값임
n이 충분히 클 때 사용 가능
중심극한정리의 데이터분석에서 사용 예
1. 표본 평균의 분포 이해
- 표본 평균의 분포 추정: 중심극한정리는 표본의 크기가 충분히 크면 표본 평균의 분포가 정규분포에 가까워진다는 것을 알려줌. 이를 통해 우리가 모집단의 분포를 알지 못하더라도, 표본 평균을 기반으로 모집단 평균을 추정 가능
- 모집단의 평균 추정: 모집단의 평균을 추정하기 위해, 여러 개의 표본을 무작위로 추출하고 이들의 평균을 계산 -> 중심극한정리에 의해, 이러한 표본 평균들의 분포는 정규분포에 근사하게 됨
2. 신뢰 구간 계산
- 신뢰 구간: 중심극한정리를 이용하면 표본 평균을 기반으로 모집단 평균의 신뢰 구간을 계산할 수 있음. 이는 표본 평균이 모집단 평균을 중심으로 어떤 범위 내에 있을 확률을 제공
- 예를 들어, 모집단 평균을 추정하는 95% 신뢰 구간은 다음과 같이 계산할 수 있음
3. 가설 검정
- 가설 검정: 중심극한정리는 가설 검정의 기초를 제공
- 단일 표본 Z-검정이나 t-검정에서 중심극한정리를 이용하여 모집단의 평균이 특정 값과 다른지 여부를 검정 가능
- Z-검정: 표본 평균이 모집단 평균과 얼마나 다른지 평가하기 위해 사용 -> 중심극한정리에 의해, 표본 평균이 정규분포를 따르므로 Z-통계량을 계산할 수 있음
- t-검정: 모집단 표준편차를 모를 때, 표본 표준편차를 사용하여 모집단 평균에 대한 가설을 검정 -> 중심극한정리는 표본 평균이 정규분포에 근사함을 보장
4. 대규모 데이터 분석
- 빅데이터 분석: 중심극한정리는 대규모 데이터셋에서도 유용. 많은 데이터 포인트를 평균하거나 합칠 때, 결과 분포는 정규분포에 가까워지므로 분석과 해석이 용이해짐
- 데이터 샘플링: 대규모 데이터셋에서 무작위로 추출한 표본들의 평균을 계산하여 전체 데이터셋의 특성을 추정하는 데 사용됨
5. 통계적 추론
- 통계적 추론: 중심극한정리를 이용하면 표본에서 계산된 통계량(예: 평균, 비율 등)을 이용하여 모집단의 특성을 추론할 수 있다.
현실적인 경험 법칙
모집단이 정규분포이면
의 분포는 빠른 속도로 정규분포에 근접하게 됨
1. 모집단이 정규분포이면
는 언제나 정규분포
2. 모집단이 적어도 대칭형이면, 표본 크기는 5 ~ 20이면
는 정규분포에 가까워짐
3. 최악의 경우, 모집단이 정규분포에서 얼마나 벗어났느야에 상관없이
를 정규분포에 가깝게 하기 위해서는 표본의 크기가 30이면 충분함
추론통계
표본에 포함된 정보로부터 모집단의 특성을 파악하고 타당성을 검토하여 모수를 추론하거나 미래 예측
-> 한 모집단에서 추출한 표본에 대해 그의 모집단의 어떤 특성에 대해 결론을 추론하는 절차와 기법
1. 점 / 구간 추정
점추정 : 표본 데이터를 이용하여 모집단의 모수를 하나의 값으로 추정하는 방법
(예를 들어, 표본 평균을 사용하여 모집단 평균을 추정)
구간추정 : 모집단의 모수를 일정한 신뢰수준에서 추정하기 위해 범위(구간)를 제공하는 방법
(예를 들어, 95% 신뢰구간은 모집단 평균이 해당 구간 내에 있을 확률이 95%라는 것을 의미)
-> 신뢰구간
2. 가설 검정
-> 모수에 대하여 특정한 가설을 세워놓고, 표본을 선택하여 통계량을 계산한 다음
이를 기초하여 모수에 대한 가설의 진위를 판단하는 방법
- 귀무가설(null hypothesis, H0H_0): 검정하고자 하는 기본 가설로, 일반적으로 모집단에 변화가 없다는 가설
- 대립가설(alternative hypothesis, H1H_1): 귀무가설과 반대되는 가설로, 일반적으로 모집단에 변화가 있다는 가설
가설 검정에서 p-값(p-value)
: 귀무가설이 참이라는 가정 하에, 검정 통계량이 관찰된 값보다 극단적인 값을 갖는 확률
p-값을 통해 귀무가설을 기각할지 여부를 결정
검정 통계량 z에 해당하는 p-값을 표준 정규분포표를 통해 찾음
3. 상관분석 / 회귀분석
- 모수(Parameter): 모집단의 특성을 나타내는 값, 모집단 평균, 모집단 분산이 포함
- 통계량(Statistic): 표본의 특성을 나타내는 값, 표본 평균, 표본 분산이 포함
-> 표본 != 모집단 -> 표본으로 구해지는 결론과 추정치는 항상 옳은 것이 아님
-> 통계적 추론에 신뢰의 척도, 즉 신뢰수준과 유의수준 필요
-> 신뢰구간 : 임계치와 임계치 사이의 거리
- 신뢰수준(Confidence Level): 추정된 구간이 모집단 모수를 포함할 확률
- (예를 들어, 95% 신뢰수준은 95% 확률로 모수가 신뢰구간 내에 포함된다는 것을 의미)
- 유의수준(Significance Level, α\alpha): 가설 검정에서 귀무가설을 기각할 확률
- (일반적으로 0.05 또는 0.01로 설정)
- 상관분석(Correlation Analysis)
: 두 변수 간의 선형 관계의 강도와 방향을 측정.
상관계수(rr)는 -1에서 1 사이의 값을 가지며,
1에 가까울수록 강한 양의 상관관계, -1에 가까울수록 강한 음의 상관관계를 의미
- 회귀분석(Regression Analysis)
: 두 변수 간의 관계를 모델링하여
하나의 변수(독립 변수)가 다른 변수(종속 변수)를 어떻게 예측하는지 분석
가장 일반적인 형태는 단순 선형 회귀
추정(estimation)은 모집단에서 추출한 표본의 데이터를 이용하여 모집단의 특성(모수)을 추정하는 과정
추정에는 크게 점 추정과 구간 추정이 있는데 여기는 구간 추정
추정 (estimation)
: 모집단에서 추출한 표본에서 얻은 정보를 이용하여 추정하고자 하는 모수가 존재하리라 예상되는 구간 정함
모수가 존재하리라고 생각되는 신뢰구간과 그 가능성을 나타내는 신뢰수준 필요
- 모집단의 평균 추정
- 모집단의 분산 추정
- 모집단의 비율 추정
구간 추정 실습
1. 새로운 품종의 배추 40통을 랜덤추출하여 무게를 측정할 결과가 다음과 같음
단 모표준편차는 0.397
이 자료로부터 신품종 배추의 평균, 무게에 대한 95% 신뢰구간 추정
# 모평균 신뢰구간 추정
# df를 직접 입력
df = pd.DataFrame({'sample' : [3.6, 2.9, 2.8, 3.4, 3.2, 2.2, 2.6, 2.6, 2.4,
2.4, 2.6, 3.4, 2.4, 2.1, 2.6, 3.0, 2.4, 2.7,
2.4, 2.6, 2.9, 2.9, 2.0, 2.7, 2.2, 2.8, 2.7,
1.8, 2.5, 3.0, 3.2, 2.8, 2.6, 3.2, 3.1, 2.9,
2.7, 2.7, 2.2]})
df.head()
# 정규분포 구간 추정 함수 실행
lower, upper = stats.norm.interval(0.95, loc = np.mean(df), scale = 0.397/np.sqrt(40))
print('신뢰구간: ({0},{1})'.format(lower.round(2), upper.round(2)))
모평균 신뢰구간 추정 _ 모표준편차를 모르는 경우
- 모평균에 대한 100(1 - a)% 신뢰구간
2. 제품개발자는 새로 개발된 강종의 평균 인장강도를 55kg/mm^2으로 기대하고있음
이를 검증하기 위해 시험 생산되는 강종 중 임의로 20개의 코일을 대상으로 랜덤하게 시편을 채취함
상기 자료로부터 표본 평균은 54.860kg/mm^2, 표본표준편차는 1.0081kg/mm^2임을 알았음
이 모평균값의 95% 신뢰구간을 추정하시오
df= pd.DataFrame({'sample':[54.1, 53.3, 56.1, 55.7, 54.0, 54.1, 54.5, 57.1, 55.2, 53.8,
54.1, 54.1, 56.1, 55.0, 55.9, 56.0, 54.9, 54.3, 43.9, 55.0]})
# 정규분포 구간 추정함수 실행
lower, upper = stats.t.interval(0.95, len(df) - 1, loc = np.mean(df), scale = stats.sem(df))
print('신뢰구간 : ({0},{1})'.format(lower.round(2), upper.round(2)))
가설검정
: 주어진 데이터를 기반으로 모집단의 모수에 대한 가설을 검정하는 방법
1. 가설 수립
두 가지 가설을 수립:
- 귀무가설 (Null Hypothesis, H0H_0): 검정하고자 하는 주장이 참이 아니라는 가설. 보통 "차이가 없다" 또는 "효과가 없다"는 내용.
- 대립가설 (Alternative Hypothesis, H1H_1 또는 HaH_a): 귀무가설과 반대되는 주장. 보통 "차이가 있다" 또는 "효과가 있다"는 내용.
예시:
- H0H_0: 새로운 약물이 기존 약물보다 효과가 없다.
- H1H_1: 새로운 약물이 기존 약물보다 효과가 있다.
2. 검정 통계량 계산 및 가설검정 수행
데이터를 사용하여 검정 통계량을 계산.
검정 통계량은 표본 데이터로부터 계산된 값으로, 이는 귀무가설 하에서의 기대 값과 비교됨
3. 유의수준 결정
유의수준 (α)을 설정
유의수준은 귀무가설을 기각할 기준이 되는 값으로,
보통 α=0.05 (5%)나 α=0.01 (1%) 등이 사용
4. 임계값 결정 및 검정 통계량 비교
유의수준과 검정 통계량의 분포를 이용하여 임계값을 결정
검정 통계량이 이 임계값보다 극단적인 경우, 귀무가설을 기각
5. 검정 결과 판단
검정 통계량과 임계값을 비교하여, 귀무가설을 기각할지 여부를 결정
이때, p-값 (p-value)을 사용하여 결과를 판단할 수도 있음
p-값 해석
- p-값 ≤ α: 귀무가설을 기각. 데이터가 대립가설을 지지할 충분한 증거가 있다.
- p-값 > α: 귀무가설을 기각하지 않음. 데이터가 대립가설을 지지할 충분한 증거가 없다.
정규성 검정 (Normality Test) 연습
1. 실습파일 comshaft 데이터 불러온다
변수 Supp1에 대해 정규성 검정
2. 변수와 Mat_A와 Mat_B에 대해 각각 정규성 검정
평균 검정
t - test 종류
두 집단의 데이터가 정규분포를 따르고, 두 집단의 분산이 동일하다는 가정이 필요
하지만 실제 데이터에서는 때때로 이 가정이 충족되지 않을 수 있다.
따라서, 두 집단의 분산이 다를 경우 등가 자유도를 사용하여 t-test를 수행할 수 있음( Welch's t-test)
1. One-sample t-test (한 집단의 평균이 특정 값과 같은지 비교)
- 목적: 하나의 집단에서 얻은 표본 데이터를 사용하여 모집단의 평균이 특정 값을 가지는지 여부를 검정
- 가정: 데이터는 정규분포를 따르며, 평균과 표준편차가 주어진 특정 값을 기준으로
- 예시: 한 회사의 직원들의 평균 근무시간이 주당 40시간인지를 검정할 때 사용될 수 있다.
from scipy import stats
data = [85, 90, 88, 92, 87, 89, 86, 91, 93, 88]
mu = 85 # 특정 값
t_stat, p_value = stats.ttest_1samp(data, mu)
2. Independent two-sample t-test (두 집단간 평균이 같은지 비교)
- 목적: 두 개의 독립적인 집단에서 얻은 표본 데이터를 사용하여 두 집단의 평균이 같은지 여부를 비교
- 가정: 각 집단의 데이터는 정규분포를 따르며, 두 집단의 분산이 같은지 여부도 확인할 수 있다.
- 예시: 두 가지 다른 투자 전략의 수익률이 같은지를 비교할 때 사용될 수 있다.
group1 = [85, 90, 88, 92, 87]
group2 = [78, 82, 80, 85, 79]
t_stat, p_value = stats.ttest_ind(group1, group2)
3. Paired sample t-test (쌍을 이룬 두 집단간 평균이 같은지 비교)
- 목적: 동일한 표본에서 얻은 두 개의 관측값(쌍을 이룬 데이터)을 사용하여 두 집단의 평균이 같은지 비교
- 가정: 두 개의 관측값은 서로 독립적이지 않으며, 차이는 정규분포를 따른다고 가정
- 예시: 동일한 학생들에게 전후로 다른 학습 방법을 적용하여 학업 성적의 변화가 있는지를 검정할 때 사용될 수 있다.
before = [10, 12, 11, 9, 13]
after = [8, 11, 10, 7, 12]
t_stat, p_value = stats.ttest_rel(before, after)
양측검정
양측검정은 차이가 있는지 알아본다고 했을 때,
그 차이가 평균보다 더 크거나 더 작은쪽, 어느쪽으로도 날 수 있는 경우에 사용
유의수준을 5%로 한다면, 구한 p-value가 2.5%보다 작아야 귀무가설 기각
평균검정_연습
- satisfaction 정규성 검정: Shapiro-Wilk Test
- 귀무가설 : 정규성이다
- 대립가설 : 정규성이 아니다.
1. 1 sample t-test
고객서비스센터의 고객만족도 평균은 76.7이다.
개선활동을 완료한 후 다음과 같은 10개의 고객만족도 데이터를 얻었을때
개선활동이 만족도를 변화시켰는가?
-> 유의수준이 5%에서 검정결과 p값이 0.41이므로 개선활동이 고객만족도 변화시킴
1-2. 고객서비스센터의 고객만족도 평균은 78.0이다.
개선활동을 완료한 후 다음과 같은 10개의 고객만족도 데이터를 얻었을때
개선활동이 만족도를 변화시켰는가? (유의수준 0.05)
-> 유의수준 0.05 < p-value(0.5) -> 정규성이다
귀무가설 : 평균 78.0과 차이가 없다
연구가설 : 평균 78.0과 차이가 있다.
p-value 0.008 < 유의수준 0.05 -> 연구가설 채택
개선활동이 만족도를 변화시켰다.
2. 2 sample t-test
고객만족도 확인을 위하여 A고객과 B고객에 대해 Survey하여 다음의 데이터를 얻었따
A고객과 B고객의 모평균에 차이 있다고 할 수 있는가? (유의수준 0.05)
-> 유의수준 5%에서 검정결과 P값이 0.002이므로 고객간에 고객만족도의 차이가 있다
Pired t - test
-> 마이너스 나온 값을 평균내서 0이냐 0이 아니냐로 검증
검정통계량이 양수가 나오면 before가 더 크다
검정통계량이 음수가 나오면 after이 더 크다
망소특성 : 회사원들의 영어 점수 변화가 학원 가기 전/후로 인해 큰 차이가 있음
망대특성 : 회사원들의 영어 점수 변화가 학원 가기 전/후로 인해 큰 차이가 없음
3. Paired t-test
회사원 10명에 대해 영어점수가 학원가기 전/후에 영어점수가 짝을 이루고 있다.
회사원들의 성적은 학원가기 전후에 대해 차이가 있는지 검정하라 (유의수준 0.05)
-> 유의수준 5%에서 검정결과 P값이 0.000 이므로 학원 수강 전후의 점수는 차이가 있다고 할 수 있다
3-2. 회사원 10명에 대해 영어점수가 학원가기 전/후에 영어점수가 짝을 이루고 있따.
회사원의 성적은 학원가기 전후에 대해 차이가 있는지 검정 (유의수준 0.05)
-> 유의수준 5%에서 검정결과 P값이 같으므로 학원 수강 전후의 점수는 차이가 있다고 할 수 있다
'파이썬 & 머신러닝과 딥러닝' 카테고리의 다른 글
통계적 공정관리 (0) | 2024.07.19 |
---|---|
통계의 이해(비율검정, 분산검정) (0) | 2024.07.17 |
데이터 수집 및 정제 (데이터 결합, 데이터 변환, 데이터 정제), 시각화 (0) | 2024.07.15 |
파이썬 분석 도구 및 주요 함수의 이해, 데이터 수집 및 정제 (데이터 선택) (1) | 2024.07.12 |
데이터베이스 윈도우 함수, 데이터 모델링 개요 및 정규화, Selenium 크롤링 (0) | 2024.07.11 |