- 데이터 웨어하우스에서 사용자가 관심 있는 데이터를 주제별·부서별로 뽑아 만든 비교적 작은 규모의 데이터 웨어하우스
flowchart LR
A[RDBMS] --> DW[데이터 웨어하우스]
B[클라우드] --> DW
C[NoSQL] --> DW
DW --> M1[데이터 마트: 목적1]
DW --> M2[데이터 마트: 목적2]
DW --> M3[데이터 마트: 목적3]
흐름: 여러 데이터베이스의 데이터가 DW로 모이고, DW의 데이터가 목적별 데이터 마트로 나뉘어요.
- 크게 결측값 처리와 이상값 처리로 이루어져요.
- 분석 변수 처리 과정: 변수 선택, 차원 축소, 파생변수 생성, 변수 변환, 클래스 불균형(불균형 데이터) 처리
| 방법 | 내용 | 포인트 |
|---|
| 단순 대치법 | 결측값이 있는 데이터를 삭제 | 가장 쉽지만 대량의 데이터 손실 가능 |
| 평균 대치법 | 평균 또는 중앙값으로 대치 | 비조건부 평균 대치 / 조건부 평균 대치 |
| 단순 확률 대치법 | 평균 대치법의 추정량 표준오차 과소 추정 문제를 보완 | 대표 예: KNN(K-Nearest Neighbor), Hot-deck |
| 다중 대치법 | 여러 번 대치해 n개의 임의 완전 자료를 만듦 | 대치 → 분석 → 결합 3단계 |
보충: 교재에 따라 결측값 행 삭제를 완전 분석법(Complete Analysis)이라 부르고, 단순 대치법(Single Imputation)을 완전 분석법·평균 대치법·단순 확률 대치법을 묶은 큰 분류로 설명하기도 해요.
| 방법 | 기준 | 포인트 |
|---|
| ESD(Extreme Studentized Deviation) | 평균에서 표준편차 3배(±3σ) 넘게 떨어진 값 | 정규분포에서 전체의 약 0.3% |
| 사분위수(Box-plot) | Q1(25%)과 Q3(75%) 값으로 판단 | 보충: IQR = Q3 − Q1, Q1 − 1.5×IQR 미만 또는 Q3 + 1.5×IQR 초과면 이상값 |
코드를 직접 짜는 문제는 없고, 출력 해석과 간단한 계산 위주로 나와요.
R 결측값 관련 함수 (이번 장과 연결)
| 함수 | 역할 |
|---|
is.na(x) | 결측값이면 TRUE |
na.omit(df) | 결측값이 있는 행 삭제 |
complete.cases(df) | 결측값이 없는 행이면 TRUE |
mean(x, na.rm = TRUE) | 결측값을 빼고 평균 계산 |
회귀분석 출력 `summary(lm(...))` 읽기
Estimate: 회귀계수 (x가 1 늘 때 y의 변화량)Pr(>|t|): p-value, 0.05보다 작으면 그 변수가 유의함Multiple R-squared: 결정계수, 모형이 y를 설명하는 비율 (1에 가까울수록 좋음)F-statistic의 p-value: 모형 전체가 유의한지 판단
혼동행렬 지표 (TP, FP, FN, TN)
| 지표 | 계산 |
|---|
| 정확도(Accuracy) | (TP + TN) / 전체 |
| 정밀도(Precision) | TP / (TP + FP) |
| 재현율(Recall, 민감도) | TP / (TP + FN) |
| 특이도(Specificity) | TN / (TN + FP) |
| F1 | 2 × 정밀도 × 재현율 / (정밀도 + 재현율) |
연관규칙 지표 (A → B)
| 지표 | 계산 |
|---|
| 지지도 | A와 B를 함께 포함한 거래 수 / 전체 거래 수 |
| 신뢰도 | A와 B를 함께 포함한 거래 수 / A를 포함한 거래 수 |
| 향상도 | 신뢰도 / P(B) (1보다 크면 양의 관계) |
- 모집단을 대표할 수 있는 표본집단을 골라 조사해요.
- 표본의 대표성을 믿을 수 있어야 통계 분석 결과도 믿을 수 있어요.
| 방법 | 내용 | 예시·포인트 |
|---|
| 단순 랜덤 추출법 | N개의 모집단에서 n개를 무작위로 추출 | 사다리타기, 제비뽑기 |
| 계통 추출법 | 원소에 차례로 번호를 붙인 뒤 일정한 간격으로 추출 | 예: 5번째마다 1명 |
| 집락(군집) 추출법 | 모집단을 집락으로 나누고, 무작위로 고른 집락의 데이터를 표본으로 사용 | 집락 간 동질, 집락 내 이질 |
| 층화 추출법 | 모집단을 층으로 나누고 각 층에서 추출 | 층 간 이질, 층 내 동질 |
- 비례 층화 추출법: 전체 데이터의 분포를 반영해서 각 층에서 추출
- 불비례 층화 추출법: 전체 분포를 반영하지 않고 각 층에서 원하는 개수만큼 추출
암기 팁: 집락과 층화는 반대예요. 층화는 층 안이 동질, 집락은 집락 안이 이질이에요.
- 측정: 표본조사에서 추출한 원소나 실험 단위를 목적에 맞게 관측해서 자료를 얻는 것
- 척도: 관측 대상의 속성을 숫자로 바꾸기 위해 정한 규칙(도구)
| 구분 | 척도 | 내용 | 예시 |
|---|
| 질적 척도 | 명목척도 | 어느 집단에 속하는지만 나타냄 | 성별, 지역 |
| 순서(서열)척도 | 명목척도 + 서열 관계 | 선호도, 신용도, 학년 |
| 양적 척도 | 구간(등간)척도 | 속성의 양을 측정, 구간 사이의 차이에 의미가 있음 (절대 0 없음) | 온도, 지수 |
| 비율척도 | 구간척도 + 절대적 0 존재, 사칙연산 가능 | 신장, 무게, 점수, 가격 |
- 기술통계 (보충): 수집한 데이터를 평균, 분산, 그래프 등으로 요약·정리해서 설명하는 통계
- 추리(추론)통계: 표본에서 얻은 통계치로 오차를 고려해 모수를 확률적으로 추정하고, 일어날 사건을 예측하는 통계
- 확률: 표본공간(일어날 수 있는 모든 사건의 집합)에서 사건 A가 일어나는 비율. 0과 1 사이 값이고, 모든 사건의 확률을 더하면 1
- 조건부 확률: 사건 A가 일어났다는 전제에서 사건 B가 일어날 확률. P(B|A) = P(A∩B) / P(A)
- 독립사건: 서로 영향을 주지 않는 두 사건. P(A∩B) = P(A) × P(B) (예: 주사위 두 번 던지기)
- 배반사건: 교집합이 없어서 동시에 일어날 수 없는 사건. P(A∩B) = 0
- 확률변수: 무작위 실험 결과를 숫자로 나타낸 변수 (예: 동전 앞면 1, 뒷면 0)
- 이산확률변수: 값을 셀 수 있음. 서로 배반인 사건들의 합집합 확률은 각 확률의 합
- 연속확률변수: 값이 특정 구간 전체라서 셀 수 없음. 확률밀도함수 아래 면적이 확률 (예: 신생아 몸무게, 강우량, 생존기간)
- 확률분포: 확률변수의 모든 값과 각 값의 확률이 어떻게 분포하는지 나타낸 것
- 확률함수: 이산형은 확률질량함수, 연속형은 확률밀도함수
| 분포 | 내용 | 예시 |
|---|
| 베르누이 | 결과가 두 개(성공/실패)인 한 번의 시행, 성공 확률 p | 동전 던지기, 시험 합격 |
| 이항 | n번의 베르누이 시행에서 k번 성공할 확률 | 동전 3번 던져 앞면 2번 |
| 기하 | 처음 성공할 때까지 k번 실패할 확률 | 동전을 던져 3번째에 처음 앞면 |
| 다항 | 이항분포 확장, 한 번의 시행 결과가 3개 이상 | 주사위 n번 던지기 |
| 포아송 | 단위 시간·단위 공간에서 사건이 일어나는 횟수 | 1시간 동안 장난전화 횟수, 1페이지 오타 수 |
| 분포 | 내용 | 활용 |
|---|
| 균일분포 | 모든 값이 같은 확률 | 200ml 우유팩 속 우유 양 |
| 정규분포 | 평균 μ, 표준편차 σ인 종 모양 분포 | 가장 기본 분포 |
| t-분포 | 평균 0, 좌우 대칭이지만 꼬리가 더 두꺼움. 자유도가 커질수록 표준정규분포에 가까워짐 | 모표준편차를 모를 때 모평균 검정, 두 집단 평균 비교 |
| 카이제곱분포 | 표준정규분포를 따르는 Z1…Zn의 제곱의 합, 자유도 n | 두 개 이상 집단의 동질성 검정, 모분산 검정 |
| F-분포 | 서로 독립인 두 카이제곱 확률변수(각각 자유도로 나눈 값)의 비 | 등분산 검정, 분산분석(ANOVA) |
- 모수: 모집단의 특성을 나타내는 값 (모평균, 모분산 등). 보통 표본조사로 추정해요.
- 점추정: 모수를 하나의 값으로 추정. 모평균의 대표적인 불편추정량은 표본평균
- 불편추정량: 추정값과 실제 모수 차이의 기댓값이 0이라 한쪽으로 치우치지 않는 추정량
- 불편추정량 중 분산이 가장 작은 추정량이 가장 좋아요.
- 구간추정: 모수가 특정 구간 안에 있을 것으로 추정. 신뢰수준이 필요하고 95%, 99%를 주로 써요.
- 모집단에 대한 가설을 세우고, 표본 정보로 그 가설이 옳은지 판단하는 과정
- 귀무가설(H0): "차이가 없다, 같다(=)". 연구로 기각하고자 하는 가설
- 대립가설(H1): 귀무가설의 반대. 연구로 증명하고 싶은 새로운 주장
| H0 채택 | H0 기각 |
|---|
| H0 사실 | 올바른 결정 | 제1종 오류 |
| H0 거짓 | 제2종 오류 | 올바른 결정 |
- 제1종 오류: H0가 참인데 기각하는 오류
- 제2종 오류: H0가 거짓인데 채택하는 오류
- 기각역: H0를 기각하게 되는 검정통계량의 영역. 기각역의 경곗값은 임곗값
- 유의수준(α): 제1종 오류를 범할 확률의 최대 허용 한계. 주로 1%, 5%
- 유의확률(p-value): 귀무가설이 참이라고 가정할 때 지금 같은 결과(또는 더 극단적인 결과)가 나올 확률
- p-value < α 이면 H0 기각, H1 채택
| 종류 | 내용 | 예시 |
|---|
| 일(단일)표본 | 한 모집단의 평균을 특정 값과 비교 | 평균 키가 170cm인가? |
| 이(독립)표본 | 서로 독립인 두 집단의 모평균이 같은지 검정 | 남녀 평균 점수 비교 |
| 대응표본 | 같은 대상의 두 관측치(전·후)를 비교해 차이가 있는지 검정 | 실험 전후 효과, 투약 전후 수치, 정책 시행 전후 부동산 가격 |
| 구분 | 언제 쓰나 | 가설 표현 |
|---|
| 단측 검정 | 방향성(대소)이 있을 때 | "~보다 크다", "~보다 작다" |
| 양측 검정 | 방향성이 없을 때 | "~이다 / ~이 아니다", "같다 / 다르다" |
일표본, 이표본 모두 같은 기준이에요. 크다·작다면 단측, 같다·다르다면 양측이에요.
- 세 개 이상 집단의 평균을 비교하는 검정
- 귀무가설 H0: 모든 집단의 평균은 같다
- H0를 기각해도 어느 집단끼리 다른지는 알 수 없어서 사후검정을 해요: Scheffe, Tukey, Duncan, Fisher's LSD, Dunnett, Bonferroni
- 조건: 독립변수는 범주형, 종속변수는 연속형
- F-value = 집단 간 분산 ÷ 집단 내 분산
- 집단 간 평균의 분산이 클수록 집단 평균들이 서로 멀리 떨어져 있어서 차이를 찾기 쉬워요(F값이 커짐).
| 종류 | 조건 | 예시 |
|---|
| 일원 분산분석 | 독립변수 1개, 종속변수 1개 | 연령대(청소년·성인·노인)별 유튜브 시청 시간 |
| 이원 분산분석 | 독립변수 2개 이상 | 연령대 × 성별 유튜브 시청 시간 |
| 다변량 분산분석(MANOVA) | 종속변수 2개 이상 | 연령대별 시청 시간과 시청 편수를 함께 비교 |
- 교호작용(상호작용): 독립변수끼리 서로 영향을 주는 것
- 교호작용이 있다고 보면 반복이 있는 실험, 없다고(독립이라고) 보면 반복이 없는 실험
- 보충: 노트에는 다변량 분산분석을 "다원분산분석"이라고도 부른다고 적혀 있는데, 보통 다원분산분석은 독립변수가 여러 개인 분산분석(이원, 삼원…)을 뜻해요. 종속변수가 여러 개면 다변량 분산분석으로 기억하세요.
- 범주형 자료(명목·서열) 간의 관계를 알아보는 분석
- 카이제곱(χ²) 검정 통계량 사용
- 적합도 검정, 독립성 검정, 동질성 검정에 사용
| A사 | B사 | C사 | 계 |
|---|
| 한국 | 30 | 55 | 15 | 100 |
| 미국 | 40 | 60 | 20 | 120 |
| 유럽 | 40 | 35 | 15 | 90 |
| 계 | 110 | 150 | 50 | 300 |
| 검정 | 내용 | 포인트 |
|---|
| 적합도 검정 | 실제 분포가 예측(이론) 분포와 같은지 | H0: 차이가 없다. 자유도 = 범주 수 − 1 |
| 독립성 검정 | 두 범주형 변수가 서로 독립인지 | 독립이 아니면 유의한 관계가 있음. 단, 관계가 얼마나 강한지는 상관분석으로 봐야 함 |
| 동질성 검정 | 여러 집단(부모집단)에서 뽑은 표본의 분포가 서로 같은지 | 각 모집단에서 정해진 크기만큼 표본을 뽑음 |
- 보충: 교차표의 기대도수 = (행 합계 × 열 합계) ÷ 전체 합계, 독립성·동질성 검정의 자유도 = (행 수 − 1) × (열 수 − 1)
- 위 표에서 한국·A사의 기대도수 = 100 × 110 ÷ 300 ≈ 36.7, 자유도 = (3 − 1) × (3 − 1) = 4
- 두 변수 사이에 선형적 관계가 있는지 알아보는 분석
- 상관계수는 −1 ~ +1. +1에 가까우면 강한 양의 상관, −1에 가까우면 강한 음의 상관, 0이면 선형 관계 없음
- 귀무가설 H0: 상관계수 = 0 (두 변수는 상관이 없다). p-value < 유의수준이면 기각, 유의한 상관관계가 있음
| 구분 | 피어슨(Pearson) | 스피어만(Spearman) |
|---|
| 척도 | 등간척도, 비율척도 | 서열척도 |
| 방법 | 모수적 방법 (두 변수 모두 정규분포 가정) | 비모수적 방법 (관측값의 순위로 계산) |
| 관계 | 선형 관계 | 비선형(단조) 관계도 측정 가능 |
| R 코드 | cor(X, Y, method = "pearson") | cor(X, Y, method = "spearman") |
- 하나 이상의 독립변수(x1, x2, …)가 종속변수(y)에 얼마나 영향을 미치는지 추정하는 통계기법
- 독립변수 = 원인변수(설명변수), 종속변수 = 결과변수(반응변수)
- 독립변수 1개 → 단순선형회귀, 2개 이상 → 다중선형회귀
- 기본은 종속변수가 연속형일 때 사용해요. 범주형이면 로지스틱 회귀를 써요.
| 종류 | 모형 |
|---|
| 단순회귀 | 독립변수 1개와 반응변수가 직선(선형) 관계 |
| 다중회귀 | 독립변수 K개와 반응변수가 선형 관계 |
| 다항회귀 | 독립변수 K개와 반응변수가 2차함수 이상의 관계 |
| 비선형회귀 | 회귀식이 미지의 모수들과 선형관계가 아닌 경우 (지수·로그·삼각함수 등) |
| 가정 | 내용 |
|---|
| 선형성 | 독립변수와 종속변수가 선형이어야 함. 산점도로 확인 |
| 독립성 | 단순회귀: 잔차와 독립변수가 독립. 다중회귀: 독립변수들 간에 상관성이 없어야 함 → 있으면 다중공선성 |
| 등분산성 | 잔차들이 고르게 분포(분산이 같음). 만족 못 하면 덩어리(뭉친) 모양 |
| 정규성 | 잔차항이 정규분포를 따름. Q-Q Plot으로 확인 |
- 보충: 자료에는 "Q-Q Plot에서 잔차가 오른쪽으로 상승하면 정규성 만족"이라고 되어 있는데, 정확히는 점들이 대각선(45° 직선) 위에 가깝게 놓이면 정규성을 만족한다고 봐요.
- 보충: 자료에서 다항회귀는 선형성 예외라고 했는데, 다항회귀도 회귀계수(모수)에 대해서는 선형이라 선형회귀의 한 종류로 다뤄요. 시험에서는 "다항회귀 = 2차 이상 관계" 정도로 기억하면 충분해요.
- 식: Y = β0 + β1X + ε (β0: 절편, β1: 기울기, ε: 오차)
- 최소제곱법: 실제 관측치와 추세선 예측치 사이 거리, 즉 오차를 제곱해 더한 값을 최소화하는 직선을 찾는 방법
| 제곱합 | 의미 |
|---|
| SST(총제곱합) | 실제값과 평균의 차이 제곱합. 전체 변동 |
| SSR(회귀제곱합) | 회귀식과 평균의 차이. 모형이 설명하는 부분 |
| SSE(오차제곱합) | 회귀식과 실제값의 차이. 모형이 설명 못 하는 부분 |
| 요인 | 제곱합 | 자유도(단순) | 자유도(다중) | 제곱평균 | F |
|---|
| 회귀 | SSR | 1 | k | MSR = SSR / k | MSR / MSE |
| 잔차 | SSE | n − 2 | n − k − 1 | MSE = SSE / (n − k − 1) | |
| 총 | SST | n − 1 | n − 1 | | |
n = 표본 수, k = 독립변수 수예요. 단순회귀는 k = 1인 경우라 잔차 자유도가 n − 2가 돼요.
| 대상 | 검정 | 판단 |
|---|
| 회귀모형 전체 | F-검정 | F값이 크고 p-value < 0.05면 모형이 유의함 (H0: 모든 회귀계수는 0) |
| 회귀계수 각각 | t-검정 | t = 회귀계수 ÷ 표준오차. t값이 크면(절댓값) p-value가 작아지고 유의함 |
- 순서: 모형 유의성(F) 먼저 → 유의하면 각 회귀계수(t) 확인
- R² = SSR / SST = 1 − SSE / SST
- 0 ~ 1 사이. 1에 가까울수록 데이터가 회귀선에 밀집, 설명력이 높아요.
- 독립변수가 많아지면 R²가 커지는 성질이 있어서, 다중회귀에서는 수정된 결정계수(Adjusted R²)를 봐요. 보통 R²보다 작게 나와요.
- 예) SSR = 21186, SSE = 11354 → SST = 32540, R² = 21186 / 32540 ≈ 0.65
| 출력 위치 | 의미 |
|---|
(Intercept)의 Estimate | Y절편(상수항) = 16.8291 |
X의 Estimate | X의 회귀계수 = −2.4371 |
Std. Error | 표준오차 (0.1707) |
t value | 회귀계수 ÷ 표준오차 = −2.4371 / 0.1707 ≈ −14.27 |
Pr(>|t|) | 각 회귀계수의 p-value |
Residual standard error | 잔차의 표준오차 |
Multiple R-squared / Adjusted R-squared | R² / 수정된 R² |
F-statistic, p-value | 모형 전체 유의성 |
- 회귀식: y = −2.4371x + 16.8291
- 모형 p-value 1.97e-06 < 0.05 → "모든 회귀계수는 0" 기각 → 모형 유의
- 독립변수 2개 이상, 종속변수 1개: Y = β0 + β1X1 + … + βkXk + ε
- 다중공선성: 독립변수들 간에 강한 상관관계가 있는 문제. 회귀계수를 신뢰할 수 없게 돼요.
- 진단: R²는 높은데 각 독립변수의 p-value가 커서 유의하지 않으면 의심. VIF = 1 / (1 − R²), 보통 VIF > 10이면 다중공선성이 있다고 판단
- 해결: 문제 변수 제거, 주성분분석(PCA), 선형판별분석(LDA), t-SNE, 특이값 분해(SVD) 등으로 차원 축소, 정규화 회귀 사용
| 방법 | 내용 |
|---|
| 전진선택법 | 변수 없는 상태에서 가장 영향 큰 변수부터 하나씩 추가. 안정성 부족 |
| 후진제거법 | 모든 변수를 넣고 가장 영향 적은 변수부터 하나씩 제거. 변수가 너무 많으면 적용 어려움 |
| 단계적 선택법 | 전진 + 후진. 추가하면서 기존 변수의 제거 여부도 함께 검토 |
| 성능지표 | 내용 |
|---|
| AIC | 아카이케 정보 기준. MSE에 변수 수만큼 페널티. 작을수록 좋음 |
| BIC | 베이즈 정보 기준. 표본(n)이 커질 때 AIC가 부정확해지는 단점 보완 |
| 멜로우 Cp | Cp 값으로 최소제곱법 모형의 적합성 평가 |
- 과적합을 막으려고 계수의 크기를 제한하는 방법
| 종류 | 규제 | 특징 |
|---|
| 라쏘(Lasso) | L1: 가중치 절댓값의 합 최소화 | 일부 가중치를 0으로 만들어 변수 제거 효과 |
| 릿지(Ridge) | L2: 가중치 제곱합 최소화 | 0에 가깝게 줄이지만 0으로 만들지는 않음 |
| 엘라스틱넷 | L1 + L2 | 라쏘와 릿지 결합 |
- 종속변수가 범주형이거나 정규성을 만족하지 못할 때, 종속변수를 적절한 함수 f(x)로 바꿔 선형 결합으로 회귀분석하는 방법
| 종류 | 언제 쓰나 |
|---|
| 로지스틱 회귀 | 종속변수가 범주형(0/1, 합격/불합격, 생존/사망). 분류 분석에 활용 |
| 포아송 회귀 | 종속변수가 특정 시간 동안 사건 건수(count data). 모수는 최대가능도추정(MLE) |
- 회귀분석에서 오차항의 자기상관(독립성)을 검정
- 통계량이 2에 가까우면 자기상관 없음, 0에 가까우면 양의 상관, 4에 가까우면 음의 상관
- 여러 현상이나 사건에 대한 측정치를 동시에 한 번에 분석하는 통계 기법
- 여러 변인 간의 관계를 동시에 고려해서 효과를 밝혀요.
- 객체 간의 근접성을 시각화하는 기법. 군집분석과 비슷해요.
- 객체들 사이의 유사성·비유사성을 측정해서 2차원 또는 3차원 공간에 점으로 표현
- 데이터 축소 목적으로 사용. 객체 간 거리는 유클리디안 거리 행렬 사용
- 실제 거리와 모형이 추정한 거리 사이의 적합도를 측정
- stress = √( Σ(실제거리 − 추정거리)² / Σ실제거리² )
- 0 ~ 1 사이 값. 낮을수록 적합도가 좋아요.
- 0.05 이내면 적합도 좋음, 0.15 이상이면 매우 나쁨
| 구분 | 계량적 MDS | 비계량적 MDS |
|---|
| 척도 | 구간척도, 비율척도 | 서열척도 |
| 거리 | 유클리디안 거리 행렬 | 서열척도를 거리 속성값으로 변환해서 사용 |
| R 함수 | cmdscale | isoMDS |
- 서로 상관성이 높은 변수들의 선형결합으로 새로운 변수(주성분)를 만들어 기존 변수를 요약·축소하는 방법
- 목적
- 변수를 축소해서 모형의 설명력을 높임
- 다중공선성 문제 해결
- 군집분석 성능 향상
- 센서 데이터를 주성분분석 후 스마트팩토리에 활용
- x축: 성분의 개수, y축: 고윳값(eigenvalue)
- 그래프가 수평을 유지하기 전 단계(꺾이는 지점, elbow)를 주성분의 수로 선택해요.
- 보충: 핵심문제 해설에 따르면 첫 번째 주성분은 분산이 가장 큰 축이에요(손실 정보가 최소). 보통 누적 기여율 70~90%가 되도록 주성분 수를 고르고, n개 변수를 n개 주성분으로 요약하면 누적 기여율은 100%예요.
- 일정 시간 간격으로 기록된 자료의 특성을 파악하고 미래를 예측하는 분석 (주가, 환율, 월별 재고량 등)
- 시계열 자료는 이웃한 자료끼리 상관관계를 가져요(자기상관성).
- 그래서 시계열 분석에서는 확률변수가 함께 퍼진 정도인 공분산이 중요해요.
- 대부분의 시계열 자료는 비정상성 자료라서 정상성 시계열로 변환한 뒤 분석해요.
| 정상성 조건 | 만족하지 못하면 |
|---|
| ① 평균이 일정 | 차분(현 시점 값 − 전 시점 값). 계절성이 있으면 계절차분 |
| ② 분산이 일정 | 변환(지수·로그 변환) |
| ③ 공분산이 시차에만 의존, 특정 시점에는 의존하지 않음 | |
시점은 특정 시간, 시차는 시점과 시점 사이의 차이예요. t시점과 t+s시점의 공분산은 t시점과 t−s시점의 공분산과 같아요.
| 함수 | 내용 |
|---|
| ACF(자기상관함수) | 시차 k만큼 떨어진 값들 사이의 상관계수. 시차 0이면 항상 1, 시차가 커질수록 감소 |
| PACF(부분자기상관함수) | 사이에 있는 다른 시점의 영향을 제거한 상관계수. 특정 시점 이후 급격히 감소 |
| 기법 | 내용 |
|---|
| 이동평균법 | 일정 기간별로 자료를 묶어 평균을 구함. 불규칙 변동 제거 |
| 지수평활법 | 최근 데이터일수록 큰 가중치, 오래된 데이터일수록 작은 가중치 |
| 모형 | 내용 | 차수 결정 |
|---|
| 자기회귀(AR) | 현 시점 값을 이전 n개 시점의 자료로 설명 | PACF |
| 이동평균(MA) | 이전 시점들의 백색잡음(오차)들의 선형결합. 항상 정상성 만족 | ACF |
| ARIMA(자기회귀누적이동평균) | 비정상 시계열을 차분이나 변환으로 정상화해서 다룸. 대부분의 시계열 설명 가능 | |
- 보충: 자료는 AR(n), MA(n)이라고 쓰지만, 교재에 따라 AR(p), MA(q)로 표기하기도 해요.
- 시계열을 구성 요인별로 분리해서 분석하는 방법. 주로 회귀분석과 함께 사용
| 요인 | 내용 |
|---|
| 추세요인 | 장기간 일정한 방향으로 상승 또는 하락하는 경향 |
| 계절요인 | 일정한 주기(요일, 월, 분기, 계절)로 반복되는 변동 |
| 순환요인 | 경기변동처럼 주기가 일정하지 않은 변동 |
| 불규칙요인 | 위 세 가지로 설명할 수 없는 우연한 변동(오차) |
- 방대한 데이터 속에서 숨겨진 규칙·패턴을 찾아내 예측하거나 의사결정에 활용하는 것
| 구분 | 종류 | 대표 기법 |
|---|
| 지도학습 | 회귀(종속변수 연속형) | 선형회귀, 의사결정나무(회귀트리), SVR, 신경망, 릿지, 라쏘 |
| 분류(종속변수 범주형) | 로지스틱 회귀, 신경망, 의사결정나무(분류트리), k-NN, 앙상블, SVM, 나이브 베이즈 |
| 비지도학습 | 군집 | K-means, SOM, DBSCAN(밀도 기반), 병합 군집, 계층 군집 |
| 연관 | Apriori |
| 차원축소 | PCA, LDA, SVD, MDS |
정답(종속변수)이 있으면 지도학습, 없으면 비지도학습이에요.
목적 정의 → 데이터 준비 → 데이터 가공 → 데이터 마이닝 기법 적용 → 검증
| 데이터 | 비율(예) | 역할 |
|---|
| 훈련용(train) | 50% | 모델 구축 |
| 검정용(validation) | 30% | 모델 과대·과소추정 방지, 적합 여부 검증 |
| 평가용(test) | 20% | 최종 모델 성능 평가 |
- 보충: 자료 본문은 50:30:20 비율인데, 홀드아웃 그림은 60:20:20으로 나와요. 비율은 고정된 값이 아니라 예시라서 세 가지 역할만 정확히 기억하면 돼요.
| 방법 | 내용 |
|---|
| 홀드아웃 | 가장 보편적. 데이터를 랜덤하게 학습용과 테스트용(필요하면 검증용까지)으로 분리 |
| k-fold 교차검증 | 데이터를 k개 집단으로 나눠 k−1개로 학습, 1개로 평가를 k번 반복하고 결과를 종합. 시간이 오래 걸림 |
| 부트스트랩 | 표본을 복원추출로 다시 뽑아 반복 학습. 데이터 분포가 고르지 않을 때 사용, 과적합 감소 |
| 계층별 k-fold | 불균형 데이터 분류에 사용. 각 폴드의 레이블 분포가 비슷하도록 추출 |
- 종속변수가 범주형(성공/실패 등)일 때 쓰는 회귀 기반 분류 방법
- 범주가 셋 이상이면 다중 로지스틱 회귀. 독립변수가 범주형이면 더미변수로 변환
- 종속변수 값이 항상 0과 1 사이(확률)가 되도록 아래 개념을 사용해요.
| 개념 | 내용 |
|---|
| 오즈(Odds) | 성공 확률 ÷ 실패 확률 = P / (1 − P). 예) 4번 성공, 1번 실패 → 오즈 = 4 |
| 로짓 변환 | 오즈에 로그를 취함: logit(p) = log( p / (1 − p) ). 오즈의 한계(음수 불가, 비대칭) 극복 |
| 시그모이드 함수 | 로짓 함수의 역함수: p = 1 / (1 + e^−(β0+β1X)). 결과를 확률(0~1)로 반환 |
- 자료를 학습해 분리 규칙을 찾고, 몇 개의 소집단으로 분류하는 방법
- 구성: 뿌리마디 → 중간마디 → 끝마디. 상위는 부모마디, 하위는 자식마디
- 올바른 분류 조건: 집단 내 동질성, 집단 간 이질성이 커지도록
| 장점 | 단점 |
|---|
| 해석이 쉽고 직관적 | 독립변수 사이의 중요도를 판단하기 어려움 |
| 정규화·단위 변환 불필요, 전처리가 쉬움 | 분류 경계선 근처에서 오차가 큼 |
| 이산형·연속형 모두 사용 가능 | 과적합 가능성이 높음 |
| 선형성·정규성 가정 불필요, 이상치에 민감하지 않음 | |
① 성장 → ② 가지치기 → ③ 타당성 평가 → ④ 해석 및 예측
- 성장: 분리 기준과 정지 규칙 설정. 정지 규칙은 너무 많은 분리로 해석이 어려워지는 것을 막아요.
- 가지치기: 너무 복잡하면 과적합, 너무 단순하면 과소적합. 불필요한 가지를 제거
- 타당성 평가: 검증용 데이터, 이익도표 등으로 평가
| 종속변수 | 분리 기준 | 알고리즘 |
|---|
| 이산형 | 카이제곱 통계량의 p-value | CHAID |
| 지니 지수 | CART |
| 엔트로피 지수 | C4.5 |
| 연속형 | ANOVA F-통계량 | CHAID |
| 분산 감소량 | CART |
- 지니 지수·엔트로피 지수는 불순도 측도예요. 낮을수록 순수도가 높아요.
- 지니 지수 = 1 − Σpᵢ², 엔트로피 = −Σpᵢ log₂pᵢ
- 예) 앞면 3개, 뒷면 1개: 지니 = 1 − (3/4)² − (1/4)² = 0.375, 엔트로피 ≈ 0.811
- 여러 모형을 결합해 예측력을 높이는 방법. 회귀와 분류 모두 적용 가능
| 기법 | 내용 |
|---|
| 배깅 | Bootstrap Aggregating. 복원추출로 만든 여러 부트스트랩으로 모델을 만들고 보팅(다수결). 각 모델이 독립적 |
| 부스팅 | 이전 모델이 잘못 분류한 데이터에 큰 가중치를 주며 순차적으로 학습. 약한 모델을 결합해 강한 분류기 생성. 예) AdaBoost, Gradient Boost, XGBoost, LightGBM |
| 랜덤 포레스트 | 배깅에 무작위성을 더함. 변수도 무작위로 골라 여러 트리를 만듦. 분산 감소, 일반화 성능 향상, 이상값에 민감하지 않음 |
- 뇌 구조를 수학적으로 단순화한 모델. 입력에 가중치를 곱하고 편향을 더한 뒤 활성화 함수를 거쳐 출력
| 장점 | 단점 |
|---|
| 잡음에 민감하지 않음 | 모형이 복잡하면 학습 시간이 오래 걸림 |
| 비선형 문제 분석에 유용 | 초기 가중치에 따라 지역해로 수렴할 수 있음 |
| 패턴인식·분류·예측에 효과적 | 결과 해석이 어려움 |
| 스스로 가중치를 학습 | 은닉층·은닉노드 수 결정이 어려움 |
| 활성화 함수 | 출력 |
|---|
| Step | 0 또는 1 |
| Sigmoid | 0 ~ 1 (로지스틱 회귀와 유사) |
| Sign | −1 또는 1 |
| tanh | −1 ~ 1 (중심값 0) |
| ReLU | 입력이 0 이하면 0, 0보다 크면 입력값 그대로. 딥러닝에서 가장 많이 사용 |
| Softmax | 각 범주에 속할 확률. 출력값이 여러 개(다범주)일 때 사용 |
- 계층 구조: 입력층 → 은닉층 → 출력층. 출력층 노드 수 = 출력 범주 수
- 학습: 출력층에서 오차를 구해 거꾸로 가중치를 조정(역전파). 전체 데이터를 한 번 학습하는 것이 1 epoch
- 단층 퍼셉트론: 은닉층 없이 입력층과 출력층만. 선형 문제만 해결
- 다층 퍼셉트론: 은닉층이 1개 이상. 은닉층·노드가 너무 많으면 과적합, 너무 적으면 과소적합
- 베이즈 정리를 기반으로 한 지도학습 모델. 모든 특징 변수가 서로 독립이라고 가정
- 스팸 메일 필터링, 텍스트 분류에 활용
- 정답 레이블이 있는 데이터로, 새 데이터와 가장 가까운 k개 이웃의 레이블을 보고 분류하는 지도학습
- k를 어떻게 정하는지가 중요. 보통 거리는 유클리드 거리 사용
- 초평면으로 범주를 나누는 비확률적 이진 선형분류 모델
- 마진(margin)이 가장 큰 방향으로 분류. 마진이 클수록 새 데이터도 잘 분류해서 예측력이 높아요.
| 예측 Positive | 예측 Negative |
|---|
| 실제 Positive | TP | FN |
| 실제 Negative | FP | TN |
| 지표 | 공식 |
|---|
| 정확도(Accuracy) | (TP + TN) / 전체 |
| 오분류율(Error rate) | (FP + FN) / 전체 = 1 − 정확도 |
| 민감도 = 재현율(Recall) | TP / (TP + FN) |
| 특이도(Specificity) | TN / (TN + FP) |
| 정밀도(Precision) | TP / (TP + FP) |
| F1 Score | 2 × 정밀도 × 재현율 / (정밀도 + 재현율) |
- x축: FPR(1 − 특이도), y축: TPR(민감도)
- 아래 면적 AUC가 1에 가까울수록 성능 우수, 0.5에 가까우면 무작위 예측 수준
- 이익도표(Lift Chart, Gain Chart): 예측 확률 순으로 정렬해 구간별 성능을 랜덤 모델과 비교
- 향상도 곡선(Lift Curve): 랜덤 모델 대비 성과가 얼마나 향상됐는지 구간별로 표시. 좋은 모델일수록 처음에 큰 값에서 시작해 급격히 감소
| 항목 | 내용 |
|---|
| 정의 | 비지도학습. 여러 변수로 표현된 자료 사이의 유사성을 측정해 비슷한 것끼리 군집(Cluster)으로 묶는 기법이에요 |
| 활용 | 생물학(종 분류), 마케팅(시장 세분화), 금융(산업 분석), 협업 필터링 추천 |
| 유사성 척도 | 거리(유클리디안·맨해튼 등)가 가까울수록, 코사인 거리·상관계수가 클수록 유사해요 |
| 평가 지표 | 실루엣 계수: 응집도와 분리도로 계산하고, 1에 가까울수록 잘 분리된 군집이에요 |
① 연속형 변수
| 거리 | 핵심 |
|---|
| 유클리디안 | 두 점 사이의 최단 직선거리예요. 가장 널리 쓰이지만 변수의 산포(분산)를 고려하지 않아요 |
| 맨해튼 | 가로·세로로 이동한 거리(시가 거리)로, 차이의 절댓값 합이에요 |
| 체비셰프 | 변수 간 거리 차이 중 최댓값이에요 |
| 표준화 거리 | 유클리디안의 단점을 보완하려고 표준편차로 나눠요 |
| 마할라노비스 | 표준화 거리가 고려하지 못한 변수 간 상관성까지 고려해요 |
| 민코프스키 | 일반화한 형태로, m=1이면 맨해튼, m=2이면 유클리디안이에요 |
② 범주형 변수
| 거리 | 핵심 |
|---|
| 단순 일치 계수 | 전체 변수 p개 중 같은 상태인 변수 수 m의 비율, 곧 m/p예요 |
| 자카드 계수 | 두 집합의 유사도로, 같으면 1, 다르면 0이에요. |A∩B| / |A∪B| |
| 자카드 거리 | 1 − 자카드 계수예요 |
| 코사인 유사도 | 크기가 아닌 방향성을 보는 지표예요. 텍스트 유사도에 쓰이고 범위는 −1 ~ 1이에요 |
| 코사인 거리 | 1 − 코사인 유사도예요 |
| 순위 상관계수 | 서열척도의 거리를 잴 때 스피어만 상관계수를 써요 |
보충: 거리 예시를 들어 볼게요. 점 (1,2)와 (4,6) 사이의 유클리디안 거리는 √(9+16)=5, 맨해튼 거리는 3+4=7, 체비셰프 거리는 max(3,4)=4예요.
- 가장 가까운 관측치부터 묶어 트리 구조(덴드로그램)를 만들어요.
- 병합적 방법: 각 데이터를 하나의 군집으로 보고 순차적으로 합쳐요.
- 분할적 방법: 전체를 하나의 군집으로 보고 차례로 나눠요.
- 덴드로그램에서 자르는 높이(distance)에 따라 군집 수가 정해져요. 높이가 높을수록 군집 수가 적어요.
군집 간 거리 (연결법)
| 연결법 | 기준 | 특징 |
|---|
| 단일(single) | 최단 거리 | 군집 간 거리가 멀어도 관측치 하나만 가까우면 병합돼요 |
| 완전(complete) | 최장 거리 | 내부 응집성에 중점을 둬 둥근 형태의 군집이 생겨요 |
| 평균(average) | 모든 쌍 거리의 평균 | 계산량이 많지만 단일·완전연결법보다 이상치에 덜 민감해요 |
| 중심(centroid) | 중심점 사이 거리 | 평균연결법보다 계산량이 적어요 |
| 와드(ward) | 군집 내 오차제곱합(SSE) 증가량이 최소인 쪽 | 비슷한 크기의 군집을 병합하는 경향이 있어요 |
- 비계층적 군집은 군집 수 k를 사전에 정하고, 계층적 방법과 달리 거리 행렬을 쓰지 않아요.
| 단계 | 내용 |
|---|
| 1 | 초깃값 k개의 seed를 임의로 정해요 |
| 2 | 각 데이터를 가장 가까운 seed에 할당해요 |
| 3 | 군집별 평균(또는 중앙값)으로 새 seed를 계산해요 |
| 4 | 새 seed를 중심으로 데이터를 재할당해요 |
| 5 | 중심이 변하지 않을 때까지 3·4단계를 반복해요 |
| 장점 | 단점 |
|---|
| 기법이 단순하고 빨라요 | k 설정이 어려워요 |
| 다양한 데이터에 쓸 수 있어요 | 결과 해석이 어려워요 |
| 변수가 연속형이어야 해요 |
| 안정된 군집은 보장하지만 최적은 보장하지 않아요 |
| 이상값에 민감해서 평균 대신 중앙값(k-medoids)을 쓰기도 해요 |
- 한 군집에 속했던 데이터도 seed가 바뀌면 가까운 군집으로 바뀔 수 있어요. 이건 핵심문제에 나온 오답 포인트예요.
보충: k는 엘보우(Elbow) 기법으로 정할 수 있어요. 군집 내 제곱합 그래프가 꺾이는 지점을 k로 골라요.
- 밀도 기반 군집 알고리즘이에요. 거리 기반 방법과 달리 개체가 밀집한 정도로 군집을 만들어요.
- 임의의 모양의 군집과 노이즈를 잘 처리해요. k-means와 달리 군집 수를 미리 정하지 않아요.
보충: 파라미터는 반경 eps와 최소 이웃 수 minPts예요.
- 모형 기반: 데이터가 k개의 확률분포에서 나왔다고 가정해요. 주로 정규분포를 써요.
- 각 분포의 모수(평균·분산)와 가중치를 추정해요. 추정은 EM 알고리즘으로 해요.
- EM은 잠재변수 Z가 있을 때 최대가능도(MLE)를 찾아요. E-step(기댓값)과 M-step(최대화)을 반복해요.
- 코호넨 맵이라고도 해요. 인공신경망 기반 비지도 학습으로, 고차원 데이터를 저차원(2차원) 지도로 바꿔 시각화해요.
- 입력 변수의 위치(공간) 관계를 그대로 보존해요.
| 과정 | 내용 |
|---|
| 1 | 학습률(α), 가중치 행렬, 경쟁층 노드 수를 초기화해요 |
| 2 | 입력 벡터와 가장 가까운 승자 노드(BMU)를 찾아요 |
| 3 | 승자 노드와 이웃의 가중치를 경쟁 학습으로 재조정해요 |
| 4 | 2단계로 돌아가 반복해요. 모든 입력을 한 번 돌면 1 iteration이에요 |
| 5 | 정해진 반복 수만큼 수행해요 |
| 장점 | 단점 |
|---|
| 순전파 방식이라 속도가 매우 빨라요 | 초기 학습률·가중치에 영향을 많이 받아요 |
| 저차원 지도라 시각적 이해가 쉬워요 | 경쟁층의 최적 노드 수를 정하기 어려워요 |
| 패턴 발견과 이미지 분석에 강해요 | |
| 입력 데이터의 속성을 그대로 보존해요 | |
- 장바구니 분석이에요. "If–Then" 형태로 구매 패턴의 규칙을 찾아요.
- 탐색적 기법이고, 목적변수가 없는 비지도학습이에요.
| 측도 | 공식 | 의미 |
|---|
| 지지도 | P(A∩B) = A·B 동시 거래 / 전체 거래 | 함께 잘 팔리는 정도예요 |
| 신뢰도(A→B) | P(A∩B) / P(A) | A를 산 사람이 B도 살 조건부확률이에요. A→B와 B→A는 달라요 |
| 향상도(A→B) | P(A∩B) / (P(A)·P(B)) = 신뢰도(A→B)/P(B) | A→B와 B→A의 값이 같아요 |
| 향상도 | 해석 |
|---|
| < 1 | 음의 상관이에요. A를 사면 B 구매 확률이 줄어요 |
| = 1 | 독립(관계 없음)이에요 |
| > 1 | 양의 상관이에요. A를 사면 B 구매 확률이 늘어요 |
계산 예시 ( Tip) — 전체 2000건
| 구분 | 내용 |
|---|
| 품목 지지도 | 치킨 0.45, 콜라 0.35, 사이다 0.35 |
| 조합 지지도 | {치킨,콜라} 0.20, {치킨,사이다} 0.25 |
| 치킨→콜라 | 신뢰도 0.20/0.45 = 0.44, 향상도 0.20/(0.45×0.35) = 1.27 |
| 콜라→치킨 | 신뢰도 0.20/0.35 = 0.57, 향상도 1.27로 같아요 |
| 사이다→콜라 | 지지도 0.10, 신뢰도 0.29, 향상도 0.82(음의 상관) |
| 알고리즘 | 핵심 |
|---|
| Apriori | 최소 지지도로 빈발 아이템 집합만 남겨 계산량을 줄여요. 품목 수가 늘면 계산량이 기하급수적으로 커지는 문제를 해결하려는 방법이에요 |
| FP-Growth | 지지도가 높은 품목부터 트리(FP-Tree)를 상향식으로 쌓아요. Apriori보다 빠르고 연산 비용이 적어요 |
Apriori 절차는 다음과 같아요.
- 최소 지지도를 정해요.
- 최소 지지도 이상인 단일 품목을 골라요.
- 그 품목들로 2가지 조합의 규칙을 찾아요.
- 같은 과정을 3가지 이상 조합으로 반복해요.
| 장점 | 단점 |
|---|
| 결과가 If–Then이라 단순·명확해요 | 품목 세분화가 어려워요. 너무 세분화하면 의미 있는 규칙을 찾기 힘들어요 |
| 계산이 간단해요 | 품목 수가 늘면 계산량이 기하급수적으로 늘어요 |
| 목적변수가 없어도 탐색이 가능해요 | 거래가 없는 품목은 분석할 수 없어요 |