대망의 데이터 분석 파트다.
제대로 공부하지 않으면, 모든 선지가 정답인 것 같은 느낌이 든다.
그만큼 어떤 개념에 대해서 묻는거 같을 때 해당 개념의 특징을 머릿속에서 확고하게 떠올릴 수 있을 때까지
외우고, 또 외워야 할 것 같다.
우선, R 파트는 스킵 예정이다.
R만을 가지고 문제가 많이 나오는 것도 아니기 때문에 이 파트에 시간을 투자하는 건 좋은 선택인 것 같지가 않다.
대신 이후 분석에서 나오는 R에 대해서는 해석 공부를 할 필요가 있다.
데이터 마트
- 데이터 웨어하우스로부터 특정 사용자가 관심을 갖는 데이터들을 추출해 모은 작은 규모의 데이터 웨어하우스
요약변수 : 재활용성이 높은 수집된 정보를 종합한 변수(1개월간 수입)
파생변수 : 특정 목적을 갖고 새로 생성한 변수. 따라서 주관적이기 때문에 논리적 타당성이 필요하다.(구매등급)
EDA
- 탐색적 데이터(자료) 분석, Exploratory Data Analysis
- 통계, 분포 등을 시각화하고 분석하는 것을 말한다.
결측값
- 이 파트에서 중요한 개념이 결측값과 이상값이다.
- 결측값은 존재하지 않는 데이터를 말하며, NA, Null, 공백, -1 등 다양하게 표현이 된다.
- 존재하지 않는 데이터이기 때문에 삭제하는 것이 일반적이나 의미를 갖는 경우가 있다. 따라서 무조건적인 삭제는 지양해야 한다.
- 이 결측값을 처리하는 방법으로 여러 가지가 있는데 다음과 같다.
결측값 대치 방법
- 단순 대치법(=완전 분석법)
- 결측값이 존재하는 데이터를 삭제하는 방법이다.
- 결측값이 많을 때 이 방법을 사용하면 대량의 데이터 손실이 발생하는 것은 자명하다. - 평균 대치법
1) 비조건부 평균 대치법 : 데이터의 평균값으로 결측값을 대치
2) 조건부 평균 대치법 : 실제 값들을 분석해 회귀분석을 활용한 대치 방법
→ "비평조회"
→ 따라서, 평균으로 대치했을 때는 일정한 값을 띄게되는 반면에, 회귀 대치는 기울기를 가진 직선 그래프에 대한 값을 띈다. - 단순 확률 대치법
- 평균 대치법에서의 오차 문제를 보완한 방법이다.
- KNN : 주변 K개의 데이터 중 가장 많은 데이터로 대치하는 방법이다. 결측값을 중심부로 잡아 K 갯수가 충족이 될 정도로 원을 넓혀나갑니다. 이 때 갯수가 충족됐을 때 그 데이터들을 기반으로 해당 결측값을 어떤 값으로 대치할지 결정하게 됩니다.
결측값 대치에 관해서는 해당 블로그가 너무 설명이 잘 되어있어 간단하게 보시면 될 것 같습니다.
K-Nearest Neighbor 알고리즘 - 다중 대치법
- 여러 번 대치를 하는 것으로, 결측값 대치, 분석, 결합의 세 단계로 구성된다.
이상값
- 존재하지 않는 결측값과 달리, 다른 데이터와 비교했을 때, 극단적으로 크거나 작은 값을 말한다.
- 마찬가지로 반드시 제거해야 하는 것이 아니다.
- 보통 입력자의 실수 혹은 응답자의 악의적인 의도에 의해 입력될 수 있다.
이상값 판단
- 보통 ESD와 사분위수가 많이 출제되기 때문에 정확히 아는 것이 중요하다.
ESD(Extreme Studentized Deviation)
- 평균으로부터 표준편차의 3배만큼 떨어진 값들을 이상값으로 인식한다.
- μ-3σ 아래와 μ+3σ 위를 이상치로 본다.
사분위수
- Q1 - 1.5IQR 보다 작거나, Q3 + 1.5IQR 보다 크면 이상값으로 판단한다.
- Q1은 25%에 해당하는 값, Q3는 75%에 해당하는 값이다. IQR = Q3-Q1
- 시각화는 사각형으로 나오기 때문에 BoxPlot이라고 한다.
- 시각적으로 상자 그림 바깥에 점이 위치해 있다면 해당 데이터는 이상값이다.
- 위 그림에서 No 3의 이상치는 4개가 존재한다고 할 수 있다.
- 상자의 크기로 분산 비교가 가능하며, 상자 중간에 두꺼운 실선은 Q2, 중앙값이라 할 수 있다.
- 해당 그림을 가지고 평균을 알 수는 없다.
정리 : 이상값 ≠ 결측값
통계 분석
시험문제에 꽤 많이 출제된다. 고등학교 때 보던 확률과 통계가 여기서 도움이 된다.
- 1과목에서 외웠던 "전후양상"을 상기해보자.
- 여기서 "전"은 전수조사를 의미했다. 이 전수조사, 그리고 표본조사에 대해서 잠시 정리만 하고 시작을 하도록 하겠다.
- 전수조사 : 전체를 다 조사하는 것으로 시간과 비용을 많이 소모한다.
- 표본조사 : 일부만 추출해 모집단을 분석한다. 일부만을 사용하는 것이기 때문에 그에 따른 여러 가지 용어(신뢰도, 모집단 등)가 나올 것이다.
★자료의 척도 구분
- 질적 척도
a. 명목척도 : 어느집단에 속하는지 나타내는 자료(성별, 지역, 대학교 등)
b. 순서척도(서열척도) : 명목척도이면서 서열 관계를 갖는 자료(선호도, 학년, 순위 등) - 양적 척도
a. 구간척도(등간척도) : 구간 사이 간격이 의미가 있으며 양을 측정할 수 있어 덧셈과 뺄셈이 가능한 자료(온도, 지수 등)
b. 비율척도 : 절대적 기준 0이 존재해 사칙연산이 가능한 자료(무게, 점수, 가격 등)
→ "질명순 양구비" : 가끔 물어보는 문제가 나온다.
★확률적 표본추출 방법
1. 단순 랜덤 추출법 : N개의 모집단에서 n개의 데이터를 무작위로 추출하는 방법(제비뽑기, 사다리 타기 등)
2. 계통 추출법 : 모집단 원소에 번호를 차례로 부여한 후 일정한 간격을 두고 데이터를 추출하는 방법
Ex) 12개의 계란이 있다. 이들을 순서대로 배열한 후 번호를 1번부터 부여했다. 이 때, 계란 3개씩 나눠 구역을 4개로 나눴다. 이 때 매번 3번 째의 계란을 택한다면, 3, 6, 9, 12번 째의 계란을 추출할 수 있다.
3. 집락(군집 : Cluster) 추출법 : 데이터를 여러 군집으로 구분한 뒤 랜덤 추출법에 의해 선택된 군집의 데이터를 표본으로 한다.
이 때, 군집 간은 동질적 특징을 가지며, 군집 내에서는 이질적 특징을 가진다.
Ex) 학교를 대상으로 해당 추출법을 시행한다. 집락은 (1-1, 2-1, 3-1), (1-2, 2-2, 3-2), ... (1-10, 2-10, 3-10), ... 으로 나뉜다. 각 집락끼리는 각 학년의 학생이 골고루 분포되어 동질적이나, 집락 내에서는 학생이 전부 다른 학년이기 때문에 이질적이다.
4. 층화 추출법 : 집락 추출법이 수직적으로 나눴다면, 층화 추출법은 수평적으로 나눈다.
그렇기에, 군집 간은 이질적 특징을, 군집 내는 동질적 특징을 가진다.
Ex) 학교를 대상으로 층화 추출법을 시행한다. 집락은 (1-1, 1-2, 1-3, ... ), (2-1, 2-2, 2-3, ... ), (3-1, 3-2, 3-3, ... )으로 나뉜다. 각 집락끼리 다른 학년이 분포했기 때문에 이질적이나, 집락 내에서는 같은 학년의 학생이 분포하기 때문에 동질적이다. 같은 비율로 추출하면, 이를 "비례 층화 추출법"이라고 한다.
→ "집락 추출법과 층화 추출법은 무조건 구분할 수 있어야 한다."
→ 층화 : 학교의 층을 생각한다. 층마다 다른 학년이 분포해 있다.
5. 복원 추출과 비복원 추출
- 복원 추출 : 추출된 데이터를 다시 포함시켜 추출하는 법. 복주머니에서 구슬을 꺼낸 후 다시 집어넣어 진행한다.
- 비복원 추출 : 추출된 데이터는 제외하고 추출하는 법. 복주머니에서 꺼낸 구슬은 다시 복주머니에 집어넣지 않는다.
비확률적 표본 추출방법
- 편의 추출법, 의도적 추출법, 할당 추출법, 눈덩이 추출법, 자기선택 추출법 등 확률에 기반하지 않은 추출방법으로 선지를 읽어보면 알 수 있다.
통계 용어와 개념
- 편차(Difference) : 영단어, 한자 그대로 차이를 말한다. 편차 = 변량 - 평균
- 분산(Variance) : 평균으로부터 떨어져 있는 정도를 말한다. 분산이 클수록 평균으로부터 멀어진다.
- 표준편차(Standard Deviation) : 분산의 제곱근
첨도와 왜도
- 첨도 : 뾰족한 정도를 나타내는 측도로 값이 3에 가까울수록 정규분포 모양을 가진다.
- 왜도 : 비대칭 정도를 나타내는 측도로, 0인 경우에 정규분포와 유사한 모습을 가진다. 평균은 꼬리를 따라간다.
왜도 < 0 : 최빈값 > 중앙값 > 평균값
왜도 < 0 : 최빈값 < 중앙값 < 평균값 - 공분산 : 두 확률변수 X, Y의 상관 정도를 나타내는 값으로 하나의 확률변수가 증가할 때 다른 확률변수가 증가하는지 감소하는지 판단할 수 있다. 최소, 최대를 알 수 없어 어느 정도의 선형성을 갖는지 알 수 없다.
공분산 = 0 : No 상관
공분산 > 0 : 양의 상관관계
공분산 < 0 : 음의 상관관계 - 상관계수 : 공분산의 문제를 해결한 수치로, -1과 1사이의 값을 가진다.
상관계수 = 1 : 정비례 관계
상관계수 = 0 : 상관없음
상관계수 = - 1 : 반비례 관계 - 공분산과 독립성의 관계
두 변수가 독립이면 공분산은 0이다. 하지만, 공분산이 0이라고 두 변수가 독립이라고 할 수 없다.
★★이산확률분포
- 값을 셀 수 있는 분포. 확률질량함수로 표현
Ex) 다음 중 이산 확률분포가 아닌 것은?
1. 베르누이 분포 : 결과가 두 가지 중 한가지로 나타나는 확률
Ex) 동전이 앞면이 나올 확률, 제비뽑기에서 당첨될 확률
2. 이항 분포 : N번의 베르누이 시행 중 K번 성공할 확률의 분포
Ex) 동전을 20번 던져 앞면이 나오는 횟수
3. 기하 분포 : 성공확률이 p인 베르누이 시행을 처음으로 성공할 때까지 시행횟수의 분포
Ex) 동전을 던져 3번째에 앞면이 나올 확률
4. 다항 분포 : N번 시행에서 각 시행이 여러 개의 결과를 가질 수 있는 확률분포
Ex) 주사위를 20번 던져 각 면이 나올 확률
5. 포아송 분포 : 단위 시간 내 발생할 수 있는 사건의 발생 횟수에 대한 확률분포
Ex) 10페이지 안에 3개의 오타가 있다고 가정할 때 1페이지 안에 2개의 오타가 있을 확률
6. 이산확률변수 : 확률변수가 취할 수 있는 실수 값의 수를 셀 수 있는 변수.
서로 배반인 사건들의 합집합의 확률은 각 사건의 확률의 합이다.
→ "베포항항하"
★★★연속활률분포
- 값을 셀 수 없는 분포. 확률밀도함수로 표현
1. 균일분포
2. 정규분포 : 가장 대표적인 연속형 확률분포, 평균 : μ, 표준편차 : σ인 분포
Z검정을 활용한다.
3. t-분포 : 정규분포와 유사하지만 더 두꺼운 꼬리 부분을 갖는다.
4. 카이제곱분포 : 두 개 이상의 집단 간 동질성 검정 또는 모분산 검정을 위해 활용된다.
5. F분포 : 서로 독립인 두 카이제곱 분포의 비율
등분산 검정 및 분산분석을 위해 활용한다.
6. 연속확률변수
추정과 가설검정
추정
- 현실적으로 모집단 전체를 조사하는 것은 불가능하기 때문에, 대부분 표본조사를 실시해 모수를 추정한다.
점추정
- 모평균을 추정할 때 하나의 특정한 값이라고 예측하는 것이다.
구간추정
- 점추정이 모수가 특정한 값일 것이라 예상하는 것이라면, 구간추정은 특정 구간 내에 존재할 것이라 예상하는 것이다. 따라서 특정 구간 안에 포함될 확률인 신뢰수준이 필요하다.
★★★가설검정
- 귀무가설
통념으로 일반적으로 '차이가 없다', '같다' 기호를 사용해 나타낼 수 있는 가설이며 H0로 나타낸다. - 대립가설
귀무가설에 반대되는 가설로 새로운 아이디어를 말하며, H1로 나타낸다.
H0 채택(H1 기각) | H0 기각(H1 채택) | |
H0 사실 | 올바른 결정 | 제1종 오류(⍺) |
H0 거짓 | 제2종 오류(β) | 올바른 결정 |
- 제1종 오류(⍺ = 유의수준) : 귀무가설이 사실인데도 귀무가설이 틀렸다고 결정하는 오류
- 제2종 오류(β) : 귀무가설이 거짓인데도 귀무가설이 맞다고 결정하는 오류
- p-value(유의확률) : 귀무가설을 지지하는 정도
- 귀무가설 기각 혹은 채택
p-value < 유의수준(⍺) : 귀무가설 기각
p-value > 유의수준(⍺) : 귀무가설 채택
비모수 검정
- 모집단에 대한 정보가 없어 정규분포임을 가정할 수 없는 경우에 사용
- 예로, 자료를 크기순으로 배열해 순위를 매겨 차이를 비교하는 순위합검정은 모수의 특성을 이용하지 않아 비모수 검정이라고 할 수 있다.
모수 검정 | 비모수 검정 |
구간척도(등간척도), 비율척도 | 명목척도, 서열척도(순서척도) |
평균 | 중앙값 |
피어슨 상관계수 | 스피어만 순위상관계수 |
부호검정, 순위합검정, 만-휘트니 검정, 크루스칼-왈리스 검정, 프리먼드 검정, 카이제곱 검정 등 |
비모수 검정 방법만을 외우면 나머지 모수 검정은 자동으로 해결된다.
기초통계
t-검정
분산분석(ANOVA)
- 귀무가설은 항상 "모든 집단 간 평균은 같다." 이다.
- 분산분석을 수행하기 위해 다음 사항을 필요로 한다.
- 정규성
- 등분산성
- 독립성
요인 | 제곱합 | 자유도 | 제곱평균 | F비 |
처리 | SSR | 집단 수 - 1 = a | MSR = SSR/a | F = MSR / MSE |
잔차 | SSE | b = n - p - 1 | MSE = SSE/b | |
계 | SST = SSR + SSE | a + b (n-1) |
교차분석
상관분석
★★★회귀분석
- 하나 이상의 독립변수가 종속변수에 얼마나 영향을 미치는지 추정하는 통계기법
- y = w1x1 + w2x2 + w3x3 + β ...
- 기본적으로 변수가 연속형 변수일 때 사용하며, 범주형 변수일 경우 이를 파생변수로 변환해 사용한다.
★★회귀분석의 가정
- 선형성 : 종속변수와 독립변수는 선형관계
- 등분산성 : 잔차의 분산이 고르게 분포했음을 의미
- 정상성(정규성) : 잔차가 정규분포의 특성을 지님
- 독립성 : 오차가 서로 독립이며, 독립변수들간 상관관계가 없음
→ "선분정독" : 조건 설명도 외운다.
회귀분석 종류
1. 단순회귀 : 1개의 독립변수와 종속변수의 선형관계
2. 다중회귀 : 2개 이상의 독립변수와 종속변수의 선형관계
3. 다항회귀 : 2개 이상의 독립변수와 종속변수가 2차 함수 이상의 관계
4. 라쏘회귀(L1 규제) : L1 규제항을 포함, 맨하탄 거리를 기반으로 한다.
5. 릿지회귀(L2 규제) : L2 규제항을 포함, 유클리디안 거리를 기반으로 한다.
→ 라쏘와 릿지를 헷갈린다면, 사전식으로 라>릿이다. 따라서 L1을 라쏘에 붙인다.
다중선형회귀분석 분산분석표
요인 | 제곱 합 | 자유도 | 제곱평균 | F |
회귀 | SSR | k | MSR = SSR/k | MSR/MSE |
잔차 | SSE | n-k-1 | MSE = SSE/(n-k-1) | |
총 | SST = SSR + SSE | n-1 |
- 회귀모형의 귀무가설은 '모든 회귀계수는 0이다."이며, F-검정을 사용한다.
- F와 p-value는 반비례 관계다.
- 회귀계수의 유의성은 t-검정을 사용한다.
- 회귀모형의 설명력은 R-Square를 사용한다. 1에 가까울수록 예측력인 높음을 의미한다.
F와 P의 관계
- F값이 작다 = 집단 간 분산의 차이가 작다 = 기울기가 완만하다 = 유의미한 인과관계가 있다고 보기 어렵다 = p값은 높아진다
다중선형회귀분석
- 다중공선성 : 독립변수들간 강한 상관관계가 나타나는 문제. 위에서 회귀분석 때 "선분정독"으로 표시한 부분에서 독립성을 위배하는 성질이다. 이를 해결하지 않고 분석하면 회귀계수를 신뢰할 수 없게된다.
- 다중공선성 진단 : VIF(분산팽창인수) 값이 10 이상이면 다중공선성이 존재한다고 판단한다.
PCA(주성분분석)
- 변수의 차원을 축소하는 방법이다. R에서는 스크리플롯을 사용해 주성분 개수를 선택한다. 그래프가 수평을 이루기 바로 전 단계를 개수로 선택한다. 예로 기울기가 3-4 구간에서 완만해진다면 그 이전인 2를 주성분 개수로 선택한다. 주성분분석은 바로 아래에서 더 자세하게 다룬다.
최적회귀방정식
1. 전진선택법 : 변수를 하나씩 추가하며 최적의 회귀방정식을 찾는 방법.
가장 많은 영향을 줄 것으로 판단되는 변수부터 하나씩 추가한다. 즉, p-value가 가장 작은 변수부터 시작한다.
2. 후진제거법 : 변수를 하나씩 제거하며 찾아내는 방법
가장 적은 영향을 주는 변수부터 제거하는 방법이다. 즉, p-value가 가장 큰 변수부터 제거한다.
3. 단계별 선택법 : 전진선택 + 후진제거로 변수를 추가할 때 벌점(페널티)을 고려하는 방법
- AIC : 자료가 많을수록 부정확해지는 단점이 존재한다.
- BIC : AIC를 보완한 방법이다. AIC보다 큰 페널티를 가진다.
- AIC와 BIC 모두 작을수록 좋다.
다변량 분석
다차원 척도법(MDS)
- 데이터 간 거리 정보의 근접성을 보존하는 방식으로 차원 축소하여 시각화한다. 군집분석과 유사하다.
- 객체 간의 거리는 유클리디안 거리행렬을 사용해 계산한다.
- 데이터 축소를 목적으로 하며, stress 값은 0~1 사이 값을 가지며, 0에 가까울수록 적합도가 좋다.
- x와 y축의 해석이 불가능하다.
- 다차원 척도법의 종류
1) 계량적 MDS : 구간척도, 비율척도, 유클리디안 거리 행렬 / 계량이니까 양적척도인 "구비"를 사용하는 것.
2) 비계량적 MDS : 서열척도, 서열척도를 거리속성값으로 변환해 사용
주성분분석(PCA)
- 상관성이 높은 변수들의 선형 결합으로 차원을 축소해 새로운 변수를 생성하는 방법
- 자료의 분산이 가장 큰 축이 첫 번째 주성분(고유값)
주성분분석의 목적
- 변수를 축소해 모형의 설명력을 증가시킨다.
- 다중공선성 문제를 해결한다.
분석 방법(1)
- 고유값의 평균을 구한 뒤 고유값이 평균보다 작은 값을 갖는 주성분을 모두 제거한다.
분석 방법(2)
- 스크리플롯(scree plot)을 이용하는데, 그래프가 수평을 이루기 전 단계를 주성분의 수로 선택한다.
Ex) 데이터의 변수는 연속형 변수 또는 서열척도여야 한다.
→ 답은 Yes다. MDS는 계량적 MDS, 비계량적 MDS로 나뉜다고 했고, 각각 구간척도와 비율척도, 서열척도를 이용한다고 했다.
일단 서열척도는 확신하면서 고를 수 있다. 그런데 연속형 변수는? 바로 양적척도가 연속형 변수와 같은 의미이다. 그 양적척도 안에 구간척도와 비율척도가 속해 있는 것이기 때문에 해당 보기는 옳은 보기이다.
시계열 분석
- 시계열 분석은 일정 시간 간격으로 기록된 자료를 가지고 미래를 예측하는 방법이다. 주가데이터, 기온데이터, 월별 재고량 등이 시계열 자료이다.
- 대부분의 시계열 자료는 자기상관성을 가지기 때문에 공분산은 '0'이 아니다. 즉, 이웃 데이터끼리 일종의 상관관계를 가진다.
- 문제는, 자료 대부분이 비정상성이므로 정상성 자료로 변환해야 한다.
- 정상성이란 모든 시점에 일정한 평균과 분산을 가지는 것을 말한다.
1) 평균은 차분을 통해 정상화한다.
2) 분산은 변환을 통해 정상화한다.
3) 공분산은 시차에만 의존하며, 특정 시점에 의존하지 않는다.
정상시계열로 변환 방법
- 차분 : 현 시점의 자료를 이전 값으로 빼는 방법
- 이동평균법 : 일정 기간의 평균
- 지수평활법 : 최근 시간 데이터에 가중치를 부여
자기상관계수(ACF)
부분자기상관계수(PACF)
백색잡음
- 시계열 모형의 오차항으로, 현재 시점과 이전 시점의 상관관계가 존재하지 않는 자료를 백색잡음이라고 한다.
시계열 모형
자기회귀 모형(AR)
- 자기자신의 과거 값이 미래를 결정하는 모형
- 부분자기상관함수(PACF)를 활용한다. p+1 시점 이후 급격히 감소하면 AR(p) 모형을 선정한다.
이동평균 모형(MA)
- 백색잡음들의 선형결합으로 표현되는 모형이기 때문에 항상 정상성을 만족한다.
- 자기상관함수(ACF)를 활용하며, q+1 시차 이후 급격히 감소하면 MA(q) 모형을 선정한다.
자기회귀누적이동평균 모형(ARIMA)
- 비정상 시계열 자료를 다룰 수 있는 모형으로 대부분의 시계열 자료를 설명할 수 있다.
- 비정상 시계열이기 때문에 차분이나 변환을 통해 정상화한다.
- ARIMA(p, d, q)로, p와 q는 각각 AR 모형과 MA 모형이 관련 있는 차수다.
- d는 정상화시에 차분을 몇 번 했는지를 의미한다.
- d = 0 : ARMA 모델
- p = 0 : IMA 모델
- q = 0 : ARI 모델
★★★분해 시계열
- 분석 목적에 따라 특정 요인만 분리 분석 혹은 제거하는 작업을 하는데 이를 분해 시계열이라 하며, 주로 회귀분석과 함께 사용한다.
- 추세 요인 : 장기적으로 증가하거나 감소하는 추세
- 계절 요인 : 계절과 같이 고정된 주기에 따라 변화
- 순환 요인 : 주기가 일정하지 않은 변동(경제 전반, 특정 산업 등)
- 불규칙 요인 : 위 3가지로 설명이 불가능한 요인
→ "추운 계절의 순환이 불규칙하다"
데이터 마이닝
- 방대한 데이터 속에서 새로운 규칙과 패턴을 찾고 예측을 수행하는 분야
- 통계분석은 표본을 통해 의미 있는 자료를 추출하기 때문에 가설과 검정이라는 개념이 포함된다.
- 하지만, 데이터 마이닝은 숨겨진 패턴을 찾아내는 것이 중요하다.
데이터 마이닝의 종류
지도학습 : 정답이 있는 데이터를 활용
- 인공신경망, 의사결정트리, 회귀분석, 로지스틱회귀 등
→ "인공의사회귀"
비지도학습 : 정답이 없는 데이터들 사이의 규칙을 파악
- 군집분석, SOM, 차원축소, 연관분석
지도학습 | 비지도학습 | ||
회귀(연속형) | - 선형회귀분석 - 의사결정나무 - SVR - 신경망 모형 - 라쏘 - 릿지 |
군지 | - K-means - SOM - DBSCAN - 병합 군집 - 계층 군집 |
연관 | - Apriori | ||
분류(범주형) | - 로지스틱 회귀분석 - 신경망 모형 - 의사결정나무 - KNN - 앙상블모형 - SVM - 나이브 베이즈 분류 |
차원 축소 | - PCA(주성분분석) - LDA(선형판별분석) - SVD(특이값 분해) - MDS(다차원 척도법) |
데이터 분할
- 데이터 마이닝 기법을 활용하기 위해 데이터를 분할한다.
- 훈련용 50%, 검정용 30%, 평가용 20%
- 훈련용 : 모델을 학습하는데 활용
- 검증용 : 모델의 과대, 과소 적합을 조정하는데 활용
- 평가용 : 모델을 평가하는데 활용(한 번도 사용하지 않은 데이터로 테스트한다)
- 즉, 모델 학습 및 파라미터 선정 - 파라미터 튜닝 - 최종 모델이 된다.
과대적합(과적합)과 과소적합
- 과적합 : 모델이 지나치게 데이터를 학습해 매우 복잡해진 모델(높은 분산, 낮은 편향)
- 과소적합 : 데이터를 충분히 설명하지 못하는 단순한 모델(낮은 분산, 높은 편향)
- 이 과적합과 과소적합을 파악하기 위해 다음과 같은 검증 방법을 사용한다.
데이터 분할을 통한 검증
1. 홀드아웃
) 훈련용과 평가용 2개의 셋으로 분할하는 검증 방법이다. 따라서 하이퍼 파라미터 튜닝 단계가 생략된다.
) 데이터 수가 적을 경우 전체 데이터를 대표하지 못할 가능성이 생긴다.
2. K-fold 교차검증
) 데이터를 k개의 집단으로 구분해 k-1개 학습, 나머지 1개로 평가
) 과적합 및 과소적합을 모두 방지할 수 있으나, 모델 훈련에 많은 시간을 쓰게되며, 데이터가 적을 경우에는 과적합 방지가 어렵다.
3. LOOCV : 1개의 데이터로만 평가
4. 붓스트랩
) 복원추출을 활용해 데이터 셋을 생성한다.
분류 분석
1. 로지스틱 회귀분석
- 종속변수가 범주형 변수일 때 사용 가능하다.
- 어떤 사건이 발생할 확률과 발생하지 않을 확률로 나눠 활용한다.
1. 오즈(Odds)
- 성공확률 / 실패확률 = Odds로, 성공할 확률이 실패할 확률의 몇 배인지를 나타내는 값이다.
2. 로짓변환
- 오즈에 자연로그를 취해 선형 관계로 변환한 것.
- 기본적으로 오즈는 음수를 가질 수 없으며, 확률값과 오즈의 그래프가 비대칭성을 띤다는 한계가 존재하기 때문에 이 공식을 사용한다.
3. 시그모이드 함수
- 로짓 함수의 역함수이다. 독립변수 x가 n 증가하면 확률이 e^n 만큼 증가한다.
2. 의사결정나무
- 나무가지와 유사한 구조로, 상위 노드에서 하위 노드로 계속 분류하는 과정을 띤다.
- 노드(집단) 내에서는 동질성이, 노드(집단) 간에는 이질성이 커져야 한다.
- 장점 : 이상값에 민감하지 않다.
- 단점 : 중요도 판단이 어렵다. 경계선 근처에서의 오차가 크다. 과적합 발생 가능성이 높다.
- 정지규칙 : 너무 많은 분리 기준을 가지면 해석이 어렵기 때문에, 더 이상 분리가 일어나지 않게 정지한다.
- 가지치기 : 일부 가지를 제거해 과적합을 방지한다.
★★★분리 기준
이산형(분류, 범주형)
- CHAID 알고리즘 : 카이제곱 통계량
- CHRT 알고리즘 : 지니지수 활용
- C4.5 : 엔트로피 지수
연속형(회귀)
- CHAID 알고리즘 : ANOVA, F-통계량
- CART 알고리즘 : 분산감소량
3. 앙상블 분석
- 여러 개의 모형을 생성 및 조합하는 것으로 전체 분산을 감소시켜 성능을 향상한 기법
- 앙상블 분석의 방법으로 보팅, 배깅, 부스팅, 랜덤 포레스트가 있다.
1) 배깅
- 붓스트랩 - 배깅 - 보팅
- 복원추출인 붓스트랩을 생성해 모델 학습 후에 보팅으로 결합
- 복원추출을 무한히 반복했을 때 특정 하나의 데이터가 선택되지 않을 확률 : 36.8%
2) 부스팅
- 이전 분류기에 의해 잘못 분류된 데이터에 큰 가중치를 주는 방법
- 그로 인해, 빠르게 오차를 줄일 수 있으며 예측 성능 또한 배깅보다 뛰어나다.
- 이상치에 매우 민감하다.
- 여러 모형을 구축한다는 점에서 배깅과 유사하지만 부스팅은 독립적이지 못하다.
- AdaBoost, GM, XGBoost(GBM보다 빠르고 규제 포함), LightGBM(학습속도 개선)
3) 랜덤 포레스트
- 배깅과 유사하나 더 많은 랜덤성(무작위성)을 주는 기법이다.
- 성능이 좋고 이상치에 매우 강하다.
- 큰 분산을 가진 의사결정나무의 단점을 보완한다.
4) 스태킹
- 각각의 모델에서 학습한 예측 결과를 다시 학습
- 높은 복잡도와 오랜 학습시간을 필요로 한다.
4. 인공신경망 분석
- 인간의 뇌 구조를 모방한 퍼셉트론을 활용한 추론모델
- 장점
- 잡음(노이즈)에 민감하지 않다.
- 비선형 문제를 분석하는데 유용하다.
- 패턴인식, 분류, 예측 등에 효과적이다.
- 스스로 가중치를 학습한다.
- 단점
- 모형이 복잡할 때 학습이 오래 걸린다.
- 추정한 가중치의 신뢰도가 낮다.
- 결과 해석이 쉽지 않다.
- 은닉층의 수와 노드의 수를 사용자가 직접 설정하기에 결정하기가 어렵다.(하이퍼파라미터)
활성함수
- 인공신경망은 노드에 입력되는 값을 바로 다음 노드로 전달하지 않고, 비선형 함수에 통과시킨 후 전달한다. 이 때 사용하는 비선형함수를 활성함수라고 한다.
- 사용하는 활성함수에 따라 출력값이 다라지며, 시그모이드, 소프트맥스, ReLU 등의 함수가 있다.
- Step 함수 : 0 또는 1을 반환하는 이진형 함수
- Sigmoid 함수 : 0과 1 사이의 값을 반환한다. 기울기가 0에 가까워질 때 기울기 소실 문제가 발생할 수 있다.
- Sign 함수 : -1 또는 1을 반환하는 이진형 함수. 0인 시점에 미분되지 않아 역전파 알고리즘에 활용할 수 없는 단점이 존재.
- tanh 함수 : -1과 1사이의 값을 반환한다. 기울기 소실 문제가 발생할 수 있다.
- ReLU 함수 : 최근 딥러닝에서 가장 많이 사용되는 함수. 입력값과 0 중에서 큰 값을 반환한다. 기울기 소실 문제를 방지할 수 있다.
- Softmax 함수 : 표준화지수 함수라고도 불리며, 출력값이 다범주인 경우에 사용한다.
인공신경망 계층 구조
- 단층신경망 : 입력층, 데이터 출력층
- 다층신경망 : 입력층, 출력층을 포함하며 다수의 은닉층이 존재
인공신경망 학습(역전파 알고리즘)
- 입력층에서 출력층으로 향하는 순전파 알고리즘을 먼저 활용.
- 이후 오차를 줄이고자 출력층에서 입력층 방향으로 향하는 역전파 알고리즘을 활용해 가중치를 새로 조정.
인공신경망의 종류
- 단층 퍼셉트론(단층 신경망) : 은닉층 없이 입력층이 출력층과 연결된다.
- 다층 퍼셉트론(다층 신경망) : 일반적인 인공신경망을 일컫는다.
- RNN(순환 신경망) : 순차적인 데이터 학습에 특화된 순환구조를 가지는 신경망
- CNN(합성곱 신경망) : Convolution Layer와 Pooling Layer를 활용, 이미지 패턴을 찾는 신경망
- LSTM : 장단기 메모리로, RNN의 한계를 극복한다. 오래된 데이터를 버리고 최근 데이터를 오래 가지려는 특성을 가진다.
- YOLO : 이미지 속에서 물체를 탐지하는 알고리즘으로 CNN과는 다른 알고리즘을 갖는다.
- GAN : 생산적 적대 신경망. 페이스북의 딥 페이스가 해당 종류의 사례이다.
- DNN(심층 신경망) : 은닉층이 2개 이상으로 구성된 인공신경망
- 오토인코더 : 생성형 AI의 기반 모델. 입력 데이터를 인코더로 압축한 후 디코더로 형태를 재구성하는 비지도 학습 신경망
5. 나이브베이즈 분류
- 베이즈 정리를 기반으로 한 모델로 스팸 메일 필터링, 텍스트 분류 등에 사용
6. KNN 알고리즘
- 거리 기반으로 이웃에 더 많은 데이터가 포함되어 있는 범주로 분류
- Lazy Model. 훈련이 따로 필요 없다.
- K에 따라 결과가 달라진다.
7. 서포트벡터머신(SVM)
- 지도학습에 주로 사용하며, 분류 성능이 뛰어나 분류 분석에 자주 사용된다.
- 마진이 최대가 되는 방향으로 분류한다.
8. 분류 모형 성과 평가
1) ★★★오분류표
예측집단 | 합계 | |||
Positive 1(True) | Negative 0(False) | |||
실제집단 | Positive 1(True) | TP(Correct) | FN(Incorrect) | 민감도(재현율) TP / (TP+FN) |
Negative 0(False) | FP(Incorrect) | TN(Correct) | 특이도 TN / (FP+TN) |
|
오분류율 (FN+FP) / (TP+FN+FP+TN) |
정밀도 TP / (TP+FP) |
(없음) | 정분류율 (TP+TN) / (TP+FN+FP+TN) |
- 정분류율(=정확도, Accuracy) : 전체 관측치 중 올바르게 예측한 비율
- 오분류율(Error Rate) : 전체 관측치 중 잘못 예측한 비율
- 민감도(=재현율, Recall, Sensitivity) : 실제 True 중 올바르게 True를 찾아낸 비율
- 특이도(Specificity) : 실제 False 중 올바르게 False를 찾아낸 비율
- 정밀도(Precision) : 예측 True 중 올바르게 True를 찾아낸 비율
- F1 Score : 정밀도와 재현율의 조화평균. 값이 높을수록 좋다. (2*Precision*Recall) / (Precision+Recall)
- FPR(거짓 긍정률) : FP / (FP+TN)
- F-Beta Score
- β > 1 : 재현율(Recall)에 큰 비중
- β < 1 : 정밀도(Precision)에 큰 비중
- β = 1 : F-1 Score와 동일
2) ROC 커브
- x축은 FPR(1-특이도), y축은 TPR(민감도) 값을 갖는 그래프이다.
- 커브의 아래 면적을 나타내는 AUROC(AUC)의 값이 1에 가까울수록 모형의 성능이 우수하며, 0.5에 가까울수록 랜덤 모델에 가까운 좋지 않은 모형이다.
3) 이익도표(Lift Chart)
- 1.0이 가장 높은 기준이 된다.
- 향상도 곡선 : 이익도표를 시각화한 곡선으로, 좋은 모델일수록 큰 값에서 시작해 급격히 감소한다.
군집분석
- 비지도학습
- 데이터들 간 거리나 유사성을 기준으로 나누는 분석
- Cluster
거리 측도
연속형 변수
- 유클리디안 거리 : 두 점 사이의 직선 거리
- 맨하튼 거리 : 각 변수들의 차이의 단순 합
- 체비셰프 거리 : 변수 거리 차 중 최댓값
EX) A(1,2), B(4,4)일 때의 각 측도법에 의한 값
유클리디안 : √13, 맨하튼 : 5, 체비셰프 : 3
범주형 변수
- 자카드 유사도(합집합과 교집합의 비율)
- 코사인 유사도(코사인 각도 활용)
계층적 군집분석
거리측정 방법
- 단일연결법 : 가장 가까운 데이터로 계산
- 완전연결법 : 가장 먼 데이터로 계산
- 평균연결법 : 평균 데이터로 계산하는 방법. 단일연결법과 완전연결법보다 이상치에 덜 민감하다.
- 중심연결법 : 중심점 사이의 거리를 거리로 정의한 방법
- 와드연결법 : 두 군집의 편차 제곱합이 최소가 되는 위치
덴드로그램
- 계층적 군집화를 시각적으로 나타내는 Tree 모양의 그래프
비계층적 군집분석
- 구하고자 하는 군집의 수를 사전에 정의해 그 수만큼 군집을 형성하는 방법이다.
k-means 군집
- 임의로 설정된 k개의 데이터를 seed라고 한다. 해당 seed를 중심으로 군집을 할당한다.
- 군집의 중심정이 변하지 않을 때 까지 과정을 반복한다.
- 장점
- 단순하고 빠르다.
- 다양한 데이터에서 용이하다.
- 단점
- 초기값 K 설정이 어렵다.
- 결과 해석이 어렵다.
- 데이터 변수가 연속형이어야 한다.
- 안정된 군집은 보장하나 최적의 보장은 없다.
- 이상값에 민감하게 반응한다.
DBSCAN(밀도 기반)
- 밀도 기반 군집분석으로 다른 알고리즘과 다르게 밀집한 정도에 기초해 군집을 형성한다.
- 군집 개수 K는 지정할 필요가 없다.
- 노이즈와 이상치에 강하다.
혼합 분포 군집
EM 알고리즘
- 최대가능도를 갖는 모수와 함께 가중치를 추정한다. 가능도는 우도라고도 표현한다.
자기조직화지도(SOM)
- 인공신경망 기반으로 차원 축소와 군집화를 수행한다.
- 순전파 방식만을 사용한다.
- 장점
- 순전파만을 사용하기 때문에 속도가 매우 빠르다.
- 지도가 형상화되어 시각적 이해가 쉽다.
- 성능이 우수하다.
- 단점
- 초기 가중치에 많은 영향을 받는다.
- 이상적인 노드 개수를 결정하기 어렵다.
실루엣 계수
- 군집분석을 평가하는 지표로서 같은 군집간 가깝고, 다른 군집간 먼 정도를 판단 (-1~1)
연관분석
- If ~ Then
- 장바구니 분석으로 불리는데, 항목들간의 조건-결과로 이루어지는 패턴을 발견하는 기법이기 때문이다.
- 품목 수가 증가할수록 계산량이 기하급수적으로 증가한다
★★★연관분석의 측도
1. 지지도 : P(A∩B)
2. 신뢰도 : 조건부확률, 어떤 품목이 구매되었을 때 다른 품목 하나가 구매될 확률
신뢰도(A→B) = P(B|A) = P(A∩B) / P(A)
신뢰도(B→A) = P(A|B) = P(A∩B) / P(B)
3. 향상도 : A 품목과 B 품목의 상관성.
향상도 > 1 : 양의 상관관계. 품목 A가 구매될 때 품목 B가 구매될 확률이 증가
향상도 = 1 : 상관없음
향상도 < 1 : 음의 상관관계
신뢰도와 달리 향상도(A→B)와 향상도(B→A)는 같다.
향상도(A→B) = 신뢰도(A→B) / P(B) = P(A∩B) / P(A)P(B)
연관분석 알고리즘
Apriori 알고리즘
- 지지도를 사용해 빈발 아이템 집합을 판별하고 이를 통해 계산 복잡도를 감소시키는 알고리즘
- 최소 지지도를 설정한다
FP-Growth 알고리즘
- 지지도가 낮은 품목부터 지지도가 높은 품목 순으로 빈도가 높은 아이템 집합을 생성하는 상향식 알고리즘이다.
- Apriori 보다 속도가 빠르며, 연산 비용이 저렴하다.
연관분석의 특징
- 장점
- 결과가 단순하고 분명하다.(IF ~ THEN ~)
- 분석 계산이 간단하다.
- 단점
- 품목 세분화가 어렵다.
- 품목 수가 증가할 때 계산량이 기하급수적으로 증가한다.
- 거래가 발생하지 않은 품목에 대해서 분석이 불가능하다.
순차패턴
- 연관분석에 시간 개념을 추가해 품목과 시간에 대한 규칙을 찾는 기법