(가) 신입 영업사원이 선배의 고객 상담에 동행하며 말로 표현되지 않는 응대 요령을 몸으로 익힌다 — 공통화
(나) 숙련 상담원이 불만 고객을 진정시키는 요령을 대화 스크립트 문서로 정리한다 — 표출화
(다) 지점별 고객 관리 실적 보고서들을 모아 전사 고객 관리 지침서로 통합한다 — 내면화
(라) 신입 상담원이 지침서를 읽고 반복 실습하여 자신의 응대 노하우로 체화한다 — 연결화
암묵지가 암묵지로 전해지는 공통화, 암묵지를 문서로 옮기는 표출화의 연결만 옳다.
형식지끼리 결합해 새 형식지를 만드는 것은 연결화, 형식지를 읽고 실습해 자기 암묵지로 만드는 것은 내면화이다.
- 보고서들을 통합해 지침서를 만든 활동은 내면화가 아니라 연결화이다.
- 지침서를 읽고 체화한 활동은 연결화가 아니라 내면화이다.
- 두 활동의 유형이 서로 뒤바뀐 연결을 포함한 조합은 틀렸다.
CREATE·ALTER·DROP처럼 객체의 구조를 정의하는 명령은 데이터 정의어(DDL)이다.
저장된 데이터 값을 다루는 명령은 데이터 조작어(DML)로, SELECT·INSERT·UPDATE·DELETE가 해당한다.
- 데이터 조작어는 구조가 아니라 행 단위의 데이터 값을 조회·변경한다.
- 데이터 제어어는 GRANT·REVOKE로 접근 권한을 부여하거나 회수한다.
- 트랜잭션 제어어는 COMMIT·ROLLBACK으로 작업 단위를 확정하거나 취소한다.
공급자부터 최종 고객까지 이어지는 물자·정보 흐름을 협력사와 공유해 최적화하는 시스템은 공급사슬 관리(SCM)이다.
재고 감축, 납기 단축, 수요 변동 대응이 대표 효과이며 기업 외부의 협력사와 연계된다는 점이 특징이다.
- CRM은 고객 데이터를 통합해 고객 확보·유지와 수익성 향상을 꾀한다.
- ERP는 회계·인사·생산 등 기업 내부 자원을 하나로 통합 관리한다.
- BI는 축적된 데이터를 분석·보고해 의사결정을 지원하는 체계이다.
(가) 기업에 고객 거래·접속 기록이 오랜 기간 쌓이면서, 데이터의 양적 증가가 숨은 가치를 발굴할 수 있는 질적 변화로 이어졌다.
(나) 유전체 해독, 기후·천체 관측처럼 거대한 데이터를 다루는 연구 분야가 늘면서 이를 위한 기술 아키텍처와 통계 도구도 발전했다.
(다) 저장 장치 가격 하락과 분산 처리·클라우드 컴퓨팅 확산으로 대용량 데이터를 경제적으로 다룰 수 있게 되었다.
기업 데이터 축적으로 양적 변화가 질적 변화를 낳은 것은 산업계, 거대 데이터를 다루는 연구 분야 확대는 학계의 배경이다.
저장 비용 하락과 분산 처리·클라우드 확산은 기술 발전 측면이며, 학계 사례에 기술 아키텍처가 언급되어도 출발점은 연구 분야의 필요이다.
- 고객 거래 기록의 축적은 학계가 아니라 산업계의 변화이다.
- 유전체·관측 연구의 확대를 기술 발전으로 보면 주체를 잘못 본 것이다.
- 저장·분산 처리 기술의 진보를 산업계로 분류한 배열도 틀렸다.
빅데이터 시대에는 데이터를 미리 정해 가공하는 사전처리 대신, 가능한 한 많이 모은 뒤 필요할 때 가공하는 사후처리로 바뀌었다.
나머지 세 변화는 표본조사에서 전수조사로, 질에서 양으로, 인과관계에서 상관관계로의 전환에 해당한다.
- 전체 고객 로그 분석은 처리 비용 하락으로 가능해진 전수조사이다.
- 양이 충분하면 일부 오류의 영향이 줄어드는 것이 질에서 양으로의 변화이다.
- 이유보다 상관관계로 예측하는 것은 인과에서 상관으로의 변화이다.
고객 사이의 관계망에서 영향력이 큰 사람을 찾는 것은 소셜 네트워크 분석의 사례이다.
유전 알고리즘은 해를 선택·교배·변이시키며 세대를 거듭해 최적해를 찾는 기법으로, 배송 경로나 인력 배치 최적화에 쓰인다.
- 독립변수가 종속변수에 미치는 영향을 추정하는 것은 회귀 분석이 맞다.
- 과거 시청 이력을 학습해 선호를 예측하는 추천은 기계 학습이 맞다.
- 문장 속 긍정·부정 의견을 판별하는 것은 감정 분석이 맞다.
실제 행위의 결과가 아니라 예측만으로 불이익을 주는 것은 책임 원칙 훼손에 해당한다.
이에 대한 통제 방안은 사람이 실제로 행한 결과에만 책임을 묻는 결과 기반 책임 원칙을 고수하는 것이다.
- 사생활 침해는 개인 정보가 목적 외로 활용되어 개인이 노출되는 위험이다.
- 데이터 오용은 잘못된 데이터나 지표를 맹신해 피해가 생기는 위험이다.
- 동의 위반은 위기 요인 분류가 아니며 동의제는 책임제로 전환하는 대상이다.
기술 요소는 진화하는 알고리즘, 즉 스스로 학습하는 인공지능으로 발전하는 방향을 말한다.
빅데이터 활용 3요소는 모든 것의 데이터화인 데이터, 학습하는 알고리즘인 기술, 데이터 사이언티스트와 알고리즈미스트인 인력이다.
- 사물과 활동의 데이터화는 데이터 요소의 변화이다.
- 알고리즘을 해석하는 전문가의 등장은 인력 요소이다.
- 데이터 사이언티스트 수요 증가 역시 인력 요소에 속한다.
일차원적 분석은 재고 보충, 수요 예측처럼 부서 단위로 해당 업무를 개선하고 효율화하는 데 머문다.
경쟁 우위 확보, 업계 밖 동향 반영, 성과 견인 요소 재정의는 전략 도출 가치 기반 분석의 특징이다.
- 전사 차원의 경쟁 우위 확보는 전략 도출 분석이 지향하는 목표이다.
- 인구·경제·사회 동향까지 넓혀 보는 것은 전략적 통찰의 조건이다.
- 성과를 견인하는 요소의 재정의는 사업 전략 수준의 분석이다.
인문학적 사고가 요구되는 것은 의미와 맥락을 해석하는 능력이 중요해졌기 때문이며, 정량 지표 중심으로의 이동은 그 배경이 아니다.
배경은 복잡한 세계화, 제품 생산에서 서비스 중심으로의 변화, 생산에서 시장 창조로의 이동이다.
- 복잡한 세계화로 다양한 문화와 관점을 이해하는 능력이 필요해졌다.
- 서비스 중심 경제에서는 고객 경험을 해석하는 능력이 중요하다.
- 시장 창조를 위해 사람과 사회에 대한 통찰이 필요해졌다.
태그·키로 구조 정보를 데이터 안에 함께 담은 JSON·XML 형식은 반정형 데이터이므로 센서의 JSON 로그가 해당한다.
분석 기획에서는 가용 데이터를 정형·반정형·비정형으로 나누어 수집·저장·처리 방식을 미리 정한다.
- ERP 주문 테이블: 행과 열이 고정된 정형 데이터이다
- 매장 CCTV 영상: 정해진 구조가 없는 비정형 데이터이다
- 상담 녹음 파일: 음성으로 된 비정형 데이터이다
성숙도 평가는 분석 거버넌스에서 조직의 분석 수준을 진단하는 활동으로, 방법론의 구성 요소가 아니다.
분석 방법론은 상세한 절차(Procedures), 방법(Methods), 도구와 기법(Tools & Techniques), 템플릿과 산출물(Templates & Outputs)로 이루어진다.
- 상세한 절차는 무엇을 어떤 순서로 할지 정한 구성 요소이다.
- 도구와 기법은 각 절차를 수행하는 수단을 정한 구성 요소이다.
- 템플릿과 산출물은 결과물의 형식을 정한 구성 요소이다.
단계를 구성하는 단위 활동이자 품질 검토의 항목이 되는 계층은 태스크(Task)이다.
방법론은 단계-태스크-스텝의 3계층이며, 스텝은 입력·처리·출력으로 구성된 단위 프로세스로 WBS의 워크 패키지에 해당한다.
- 스텝은 태스크를 더 잘게 나눈 워크 패키지 수준의 단위이다.
- 단계는 기준선을 설정해 관리하는 최상위 프로세스 그룹이다.
- 산출물은 각 계층의 결과물이며 계층 자체가 아니다.
일단 분석을 해 보고 그 결과로 문제를 구체화하며 개선을 반복하는 방식은 프로토타이핑 접근법이다.
요구가 불명확하거나 데이터가 불확실한 상황에서 빠르게 시행착오를 거치며 해결책을 찾는 상향식 접근에 해당한다.
- 하향식 문제 탐색은 문제가 주어진 상태에서 해법을 체계적으로 찾는다.
- 분석 유즈케이스 정의는 하향식 문제 탐색 단계의 활동이다.
- 폭포수형 추진은 요구가 명확할 때 단계를 순차로 진행하는 방식이다.
기업 의사결정에 영향을 주는 기관 투자자·주주·애널리스트를 살피는 것은 시장 니즈 탐색의 영향자 관점이다.
시장 니즈 탐색은 고객, 채널, 영향자의 세 관점으로 과제를 찾는다.
- 채널은 상품·서비스가 고객에게 전달되는 경로를 살피는 관점이다.
- 고객은 서비스를 실제 이용하는 사람들의 요구를 살피는 관점이다.
- 신규 진입자는 시장 니즈가 아니라 경쟁자 확대 관점에 속한다.
같은 데이터로 두 예측 모형을 각각 10회씩 반복 학습·평가하였다.
· 모형 A: 반복 간 예측값의 편차는 매우 작지만, 예측 평균이 실제값과 꽤 떨어져 있다.
· 모형 B: 예측 평균은 실제값에 가깝지만, 반복할 때마다 결과가 크게 흔들린다.
모형 A는 반복 결과의 편차가 작아 정밀도가 높지만, 실제값과의 차이가 커서 정확도는 낮다.
정확도는 모형과 실제값의 차이가 작은 정도로 분석 활용 측면에서, 정밀도는 반복 사용 시 결과가 일정한 정도로 안정성 측면에서 중요하다.
- 결과가 크게 흔들리는 모형 B는 안정성, 즉 정밀도가 A보다 낮다.
- 안정성 측면에서 중요한 지표는 정확도가 아니라 정밀도이다.
- 두 지표는 트레이드오프 관계인 경우가 많아 함께 높아지지 않는다.
| 구분 | 항목 | 설명 |
|---|---|---|
| 가 | ISP와의 관계 | 정보전략계획(ISP)처럼 조직 내외부 환경을 분석해 중장기 관점의 분석 과제와 추진 계획을 도출한다. |
| 나 | 우선순위 평가 | 전략적 중요도, 비즈니스 성과/ROI, 실행 용이성 등을 기준으로 과제의 우선순위를 정한다. |
| 다 | 로드맵 수립 | 우선순위 평가 결과의 순서를 그대로 추진 순서로 삼으며, 과제 간 선후 관계는 따로 고려하지 않는다. |
| 라 | 대상 범위 | 개별 부서의 당면 문제를 빠르게 해결하는 단기 Quick-Win 과제만을 대상으로 한다. |
마스터 플랜은 ISP처럼 중장기 관점에서 과제를 도출하고, 전략적 중요도·ROI·실행 용이성으로 우선순위를 정하므로 앞의 두 설명이 옳다.
로드맵은 우선순위에 더해 과제 간 선후 관계와 적용 범위·방식을 함께 고려해 단계별 추진 순서를 확정한다.
- 우선순위 결과를 그대로 순서로 삼고 선후 관계를 무시한 설명은 틀렸다.
- 단기 Quick-Win만 다루는 것은 과제 중심적 접근이며 마스터 플랜이 아니다.
- 로드맵이나 대상 범위 설명을 포함한 조합은 정답이 될 수 없다.
실행 용이성은 투자 용이성과 기술 용이성을 보는 기준으로, 필요한 기술을 확보하고 적용할 수 있는지가 핵심이다.
우선순위 평가 기준은 전략적 중요도, 비즈니스 성과/ROI, 실행 용이성의 세 가지로 정리된다.
- 경영 전략 목표와의 연계는 전략적 중요도의 검토 내용이다.
- 투입 비용 대비 성과는 비즈니스 성과/ROI의 검토 내용이다.
- 해결의 시급성은 전략적 중요도에서 함께 검토하는 내용이다.
· 비즈니스 부문: 외부 환경 데이터까지 분석에 활용하며 분석 결과로 비즈니스 모델을 진화시킨다.
· 조직·역량 부문: 경영진이 분석 결과를 의사결정에 직접 활용하고 분석이 전략과 연계되어 있다.
· IT 부문: 분석 샌드박스와 협업 환경이 갖춰져 분석이 업무 프로세스에 내재화되어 있다.
외부 환경 분석, 경영진의 분석 활용, 분석 샌드박스는 모두 최적화 단계의 특징이며 성숙도는 도입·활용·확산·최적화 순이다.
직전의 확산 단계는 전사 모든 부서가 분석을 수행하고 분석 CoE 조직과 데이터 사이언티스트를 갖춘 수준이다.
- 분석 CoE 운영은 확산 단계의 특징으로 진단 내용보다 한 단계 낮다.
- 활용 단계는 전문 부서의 예측·시뮬레이션과 실시간 대시보드 수준이다.
- 도입 단계는 DW·OLAP 기반으로 일부 부서가 실적을 분석하는 수준이다.
준비도는 낮지만 성숙도가 높은 기업은 정착형으로, 제한적으로 쓰는 분석 역량을 1차적으로 정착시키는 것이 과제이다.
사분면은 준비도와 성숙도의 높고 낮음에 따라 준비형·정착형·도입형·확산형으로 나뉜다.
- 도입형은 준비도는 높지만 성숙도가 낮은 기업이다.
- 확산형은 준비도와 성숙도가 모두 높은 기업이다.
- 준비형은 준비도와 성숙도가 모두 낮은 기업이다.
정답 라벨 없이 비슷한 고객끼리 묶는 고객 세분화에는 군집 분석이 맞고, 시점 순서의 패턴을 다루는 시계열 분석은 어울리지 않는다.
목표변수가 범주형이면 분류, 연속형이면 회귀, 목표변수가 없으면 군집·연관 분석을 고르는 것이 기본 흐름이다.
- 이탈 여부: 예/아니오의 범주형 목표라 분류가 맞다
- 월 매출액: 연속형 수치를 예측하므로 회귀가 맞다
- 동시 구매 품목: 함께 사는 항목 규칙을 찾는 연관 분석이 맞다
> x <- sprintf("%s-%02d", "A", c(1, 12))
> y <- paste("n", 1:2, sep = "_", collapse = "+")
> cat(x, y, sep = "/")cat 은 x 의 두 원소와 y 를 따옴표 없이 sep 로 연결하므로 A-01/A-12/n_1+n_2 가 출력된다.
%02d 는 최소 두 자리로 맞추는 형식이라 1은 01, 12는 그대로 12가 되고, collapse 를 준 paste 는 결과를 문자열 하나로 합친다.
- x[2]: 12는 이미 두 자리여서 A-12 이다
- y: collapse 로 합쳐져 길이 1인 문자열이다
- 따옴표: print 와 달리 cat 은 따옴표를 붙이지 않는다
> L <- list(a = 1, b = NA, c = "x") > L$c <- NULL > v <- c(1, NULL, NA, L$b) > c(length(L), length(v), sum(is.na(v)))
L$c 에 NULL 을 넣으면 그 원소가 삭제되어 L 의 길이는 2이고, v 는 1, NA, NA 로 길이 3, 결측 2개이다.
NULL 은 길이 0인 빈 객체라 c() 안에서 자취 없이 사라지지만, NA 는 값이 비어 있음을 나타내는 길이 1 원소로 남는다.
- 3 3 2: NULL 대입을 값 저장으로 보아 원소가 남는다고 본 값
- 2 4 2: c() 안의 NULL 도 원소 하나로 센 값
- 3 4 1: 삭제·NULL·L$b 의 NA 를 모두 잘못 처리한 값
> m <- as.matrix(head(sleep, 3)) > m > mode(m) > sapply(sleep, class)
extra group ID
1 " 0.7" "1" "1"
2 "-1.6" "1" "2"
3 "-0.2" "1" "3"
[1] "character"
extra group ID
"numeric" "factor" "factor" mode(m) 출력이 character 이고 값마다 따옴표가 붙어 있으므로 m 은 문자형 행렬이다.
행렬은 모든 원소가 한 자료형인 동질 구조라서, factor 열이 섞인 데이터프레임을 행렬로 바꾸면 숫자 열까지 문자로 강제 변환된다.
- extra 열: " 0.7" 처럼 따옴표가 붙은 문자로 바뀌었다
- group 열: sapply 출력에서 factor 로 나타난다
- 열별 자료형 차이: 데이터프레임·리스트만 허용하는 이질 구조이다
> s <- subset(PlantGrowth, weight > 5, select = c(group, weight)) > nrow(s) > table(s$group) > with(s, tapply(weight, group, mean))
[1] 17
ctrl trt1 trt2
6 2 9
ctrl trt1 trt2
5.418333 5.950000 5.593333 table 출력에서 weight 가 5를 넘는 관측치는 ctrl 6, trt1 2, trt2 9개이므로 trt1 이 가장 적다.
이 코드는 sqldf 의 WHERE 와 GROUP BY, data.table 의 dt[i, j, by] 와 같은 필터 후 그룹 요약을 base R 로 한 것이다.
- ddply: 분할·적용 후 결과를 데이터프레임으로 합쳐 돌려준다
- sqldf: SQL 문법을 그대로 쓰므로 HAVING 절도 쓸 수 있다
- data.table: by 인자가 바로 그룹 집계를 위한 것이다
A 는 상자 위쪽 수염 밖에만 점(30)이 하나 찍혀 있어 위쪽 이상값만 있다.
수염 끝 바깥에 개별 점으로 표시된 관측치가 IQR 울타리를 벗어난 이상값 후보이다.
- B: 위아래 양쪽 수염 밖에 점이 하나씩 있어 이상값은 두 개다
- C 의 중앙값: 상자 안 선이 세 집단 중 가장 높다
- C: 수염이 최솟값·최댓값까지 닿아 수염 밖 점이 없다
중심극한정리는 모집단 분포가 무엇이든 표본 크기가 충분히 크면 표본평균이 정규분포에 근사한다는 정리로, 모집단 정규성을 요구하지 않는다.
표본평균은 평균 μ, 표준오차 를 가지므로 n 이 커질수록 μ 주변에 좁게 모인다.
- 기댓값 μ: 표본평균은 모평균의 불편추정량이다
- 표준오차: 모표준편차를 표본 크기의 제곱근으로 나눈 값이다
- 정규 근사: n 이 커질수록 분포가 정규분포에 가까워진다
| 학년 | 1학년 | 2학년 | 3학년 | 합계 |
|---|---|---|---|---|
| 학생 수 | 600 | 900 | 1,500 | 3,000 |
비례배분은 층 크기 비율대로 표본을 나누므로 3학년 표본은 100명, 3학년 1,500명에서 100명을 고르는 계통추출 간격은 15이다.
,
- 100, 30: 간격을 전체 모집단 3,000명으로 나눈 값이다
- 67, 22: 층마다 같은 수를 뽑는 균등배분으로 계산한 값이다
- 150, 10: 표본 수를 층 비율이 아닌 값으로 잘못 나눈 값이다
한 사람에게서 두 측정값이 짝지어 나오므로 개인별 차이를 분석하는 대응표본 t검정이 적절하다.
짝을 이룬 차이 d = X − Y 의 평균이 0인지 검정하므로, 개인 간 변동이 빠져 검정력이 높아진다.
- 독립표본 t검정: 서로 다른 두 집단을 비교할 때 쓴다
- 일원배치 분산분석: 독립된 세 집단 이상의 평균 비교에 쓴다
- 카이제곱 독립성 검정: 두 범주형 변수의 관련성을 볼 때 쓴다
| 관측 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| x | 1 | 2 | 3 | 4 | 5 |
| y | 2 | 1 | 4 | 3 | 5 |
10개 쌍 중 순서가 어긋난 불일치 쌍은 (1,2)와 (3,4) 둘뿐이라 켄달 τ 는 0.6, 순위차 제곱합이 4라 스피어만 ρ 는 0.8이다.
,
- 0.8, 0.6: 두 계수의 순서를 바꾼 값이다
- 0.6, 0.9: 스피어만 분모를 잘못 쓴 함정값이다
- 0.4, 0.8: 켄달 분자에서 불일치 쌍을 두 번 빼서 구한 값이다
> pg <- PlantGrowth > round(tapply(pg$weight, pg$group, mean), 3) > round(tapply(pg$weight, pg$group, sd), 3) > round(tapply(pg$weight, pg$group, var), 3)
ctrl trt1 trt2 5.032 4.661 5.526 ctrl trt1 trt2 0.583 0.794 0.443 ctrl trt1 trt2 0.340 0.630 0.196
변동계수는 표준편차를 평균으로 나눈 값이며 trt1 이 0.794/4.661 ≈ 0.17로 가장 커서 상대적 흩어짐이 가장 크다.
로 ctrl ≈ 0.12, trt2 ≈ 0.08이며, 표준편차가 1 미만이면 제곱한 분산이 더 작아진다.
- 평균: 첫 줄 출력에서 trt2 가 5.526으로 가장 크다
- trt2 분산: 세 번째 줄 0.196으로 표준편차 0.443보다 작다
- 표준편차: 두 번째 줄에서 trt2 가 0.443으로 가장 작다
적합값이 커질수록 잔차의 퍼짐이 넓어지는 깔때기 모양이므로 등분산성이 의심되고, 반응변수 로그 변환으로 분산을 안정시킨다.
잔차가 0을 중심으로 고르게 퍼져 휘는 패턴은 없으므로 선형성 문제보다 분산 이질성이 핵심이며, 가중최소제곱도 대안이다.
- 독립성: 관측 순서에 따른 잔차의 연쇄 패턴은 더빈-왓슨으로 본다
- 정규성: 표본 수를 줄이는 것은 조치가 아니며 Q-Q 도로 진단한다
- 선형성: 잔차가 곡선을 그리지 않아 변수 제거는 근거가 없다
> m0 <- lm(Fertility ~ 1, data = swiss) > add1(m0, scope = ~ Agriculture + Examination + Education + Catholic, test = "F")
Single term additions
Model:
Fertility ~ 1
Df Sum of Sq RSS AIC F value Pr(>F)
<none> 7178.0 238.34
Agriculture 1 894.8 6283.1 234.09 6.4089 0.014917 *
Examination 1 2994.4 4183.6 214.97 32.2087 9.450e-07 ***
Education 1 3162.7 4015.2 213.04 35.4456 3.659e-07 ***
Catholic 1 1543.3 5634.7 228.97 12.3251 0.001029 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1추가했을 때 AIC 가 가장 작아지는 변수가 먼저 들어가며, 출력에서 Education 행의 AIC 213.04가 최소이므로 첫 투입 변수는 Education 이다.
add1 은 현재 모형에 각 후보를 하나씩 더한 결과를 보여 주는 전진 선택의 한 단계에 해당한다.
- AIC 기준: 값이 작을수록 좋은 모형이라 가장 작은 것을 고른다
- <none> 행: 아무것도 더하지 않은 절편만 모형이다
- 다시 빼는 과정: 추가와 제거를 오가는 단계적 선택의 특징이다
| x | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| y | 2 | 3 | 5 | 4 | 6 |
기울기는 Sxy/Sxx = 9/10 = 0.9, 절편은 4 − 0.9×3 = 1.3이며 결정계수는 SSR/SST = 8.1/10 = 0.81이다.
,
- 0.9: 결정계수가 아니라 상관계수 r 의 값이다
- 0.9 + 1.3x: 절편과 기울기를 뒤바꾼 식이다
- 4.0 + 0.9x: 절편 자리에 y 평균을 그대로 넣은 식이다
정상 시계열은 평균이 일정하여 한 수준 주위를 오르내리고 분산도 일정해 변동 폭이 비슷하게 유지된다.
그래프에서 추세, 커지는 진폭, 수준 이동이 보이면 비정상으로 보고 차분이나 변환을 먼저 한다.
- 꾸준한 상승: 평균이 시간에 따라 변하는 추세가 있다
- 커지는 변동 폭: 분산이 시점에 따라 달라진다
- 계단식 변화: 평균 수준이 구간마다 바뀌어 일정하지 않다
약한 정상성은 평균·분산이 일정하고 자기공분산이 시차에만 의존하면 되며, 자기상관이 0일 필요는 없다.
모든 시차의 자기상관이 0인 것은 백색잡음의 성질로, AR·MA 처럼 자기상관이 있는 정상 시계열도 많다.
- 평균 일정: 정상성의 첫째 조건이다
- 분산 일정: 시점마다 흩어짐이 같아야 한다
- 공분산: 두 시점 사이 간격에만 의존해야 한다
> p <- prcomp(swiss, scale. = TRUE) > round(p$rotation[, 1:2], 3) > round(colSums(p$rotation^2), 3) > round(cor(p$x[, 1], p$x[, 2]), 3) > round(var(p$x[, 1]), 3) > round(p$sdev[1], 3)
PC1 PC2 Fertility -0.457 0.322 Agriculture -0.424 -0.412 Examination 0.510 0.125 Education 0.454 0.179 Catholic -0.350 0.146 Infant.Mortality -0.150 0.811 PC1 PC2 PC3 PC4 PC5 PC6 1 1 1 1 1 1 [1] 0 [1] 3.2 [1] 1.789
colSums(p$rotation^2) 출력이 PC1~PC6 모두 1이므로, 각 주성분의 적재 벡터는 길이 1로 정규화되어 있다.
cor 출력은 0으로 주성분 점수끼리 서로 무상관이고, var 출력 3.2는 sdev 1.789를 제곱한 고유값과 같다.
- PC1·PC2 점수 상관: cor 출력이 0으로 양의 상관이 아니다
- PC1 점수 분산: sdev 가 아니라 sdev 의 제곱과 같다
- 부호: PC1 적재값이 Education 양수, Fertility 음수로 반대다
적재값의 부호는 주성분 방향을 나타낼 뿐이고 임의로 뒤집힐 수도 있어 성분 수 결정 기준이 아니다.
성분 수는 누적 기여율, 스크리 플롯의 엘보, 상관행렬 기준 고유값 1 이상 규칙을 함께 보고 정한다.
- 누적 기여율: 대개 70~90% 이상 설명하는 지점까지 남긴다
- 스크리 플롯: 고유값 감소가 완만해지기 전까지 남긴다
- 고유값 1: 원변수 하나보다 많은 분산을 설명하는 성분만 남긴다
검증 데이터는 학습에 쓰지 않은 자료로 k 나 가지치기 정도 같은 초매개변수를 고르는 데 쓴다.
시험 데이터는 모형 선택이 모두 끝난 뒤 일반화 성능을 한 번만 평가하는 데 남겨 둔다.
- 훈련 데이터 성능: 낙관적으로 나와 최종 성능으로 쓰지 않는다
- 시험 데이터 조정: 시험 정보가 새어 들어가 성능이 부풀려진다
- LOOCV: 관측치 수만큼 적합하므로 보통 k-fold 보다 많다
| 모형 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 복잡도 | 낮음 | 중간 | 높음 | ||
| 훈련 오차 | 0.30 | 0.20 | 0.12 | 0.05 | 0.01 |
| 검증 오차 | 0.32 | 0.22 | 0.15 | 0.21 | 0.30 |
검증 오차는 일반화 오차의 추정치이며 모형 3에서 0.15로 최소이므로 모형 3을 고른다.
복잡도가 그보다 낮으면 두 오차가 모두 큰 과소적합, 높으면 훈련 오차만 줄고 검증 오차가 커지는 과적합이다.
- 모형 5: 훈련 오차는 가장 작지만 검증 오차 0.30으로 크다
- 모형 1: 훈련·검증 오차가 모두 커서 과소적합이다
- 모형 4: 훈련 오차 0.05로 작고, 가장 큰 것은 모형 1의 0.30이다
· 전체 10{,}000건 중 양성(이탈) 200건, 음성 9{,}800건
· 양성 비율을 유지하는 층화 추출로 훈련 70%·시험 30% 분할
· 리샘플링은 훈련 데이터에만 적용하고 시험 데이터는 그대로 둠
· 언더샘플링: 음성을 무작위로 줄여 양성 건수와 같게 함
· 오버샘플링: 양성을 복제해 음성 건수와 같게 함
층화 분할 후 훈련 데이터는 양성 140건·음성 6,860건이므로, 언더샘플링은 280건, 오버샘플링은 13,720건이 된다.
, 양성 , 음성 이고 각각 , 이다.
- 400건, 19,600건: 시험 데이터까지 포함한 전체에 적용한 값이다
- 140건, 6,860건: 한 클래스의 건수만 센 값이다
- 280건, 14,000건: 오버샘플링을 훈련 전체의 2배로 잘못 셈한 값이다
> library(class) > set.seed(1) > n <- 200 > x1 <- rnorm(n); x2 <- rnorm(n, sd = 1000) > y <- factor(ifelse(x1 > 0, "A", "B")) > X <- data.frame(x1, x2) > idx <- sample(n, 140) > p1 <- knn(X[idx, ], X[-idx, ], y[idx], k = 5) > Z <- scale(X) > p2 <- knn(Z[idx, ], Z[-idx, ], y[idx], k = 5) > c(raw = mean(p1 == y[-idx]), scaled = mean(p2 == y[-idx]))
raw scaled 0.5166667 0.9166667
출력의 raw 는 약 0.52, scaled 는 약 0.92로 표준화 후 정확도가 크게 높아졌다.
k-NN 은 유클리드 거리로 이웃을 찾으므로 표준편차 1000인 x2 가 거리를 지배해 분류가 우연 수준이었고, 표준화로 두 변수의 척도를 맞추자 x1 정보가 살아났다.
- 표준화 전: 척도가 큰 x2 가 거리를 지배한다
- 학습: 계수를 추정하지 않고 자료를 저장하는 게으른 학습이다
- k 증가: 더 많은 이웃을 평균해 경계가 매끄러워진다
pred actual no yes no 40 10 yes 5 45
행이 실제, 열이 예측이므로 실제 no 50건 중 yes 로 잘못 예측한 FP 는 10건이고 FPR 은 10/50 = 0.20이다.
이며 1 − 특이도와 같다.
- 0.10: FP 를 전체 100건으로 나눈 값이다
- 0.15: 오분류 15건을 전체로 나눈 오분류율이다
- 0.18: FP 를 예측 yes 합계 55로 나눈 값이다
CP nsplit rel error xerror xstd 1 0.40 0 1.00 1.00 0.08 2 0.15 1 0.60 0.65 0.07 3 0.05 2 0.45 0.50 0.06 4 0.02 4 0.35 0.48 0.06 5 0.01 6 0.31 0.52 0.06
xerror 최소는 분리 4회의 0.48이고, 1-SE 규칙은 0.48 + 0.06 = 0.54 이하 중 가장 작은 나무를 고르므로 분리 2회(xerror 0.50) 나무다.
교차검증 오차가 비슷하면 더 단순한 나무를 택해 과적합을 줄이는 것이 이 규칙의 목적이다.
- cp: 값이 클수록 분리 조건이 엄격해져 나무가 작아진다
- rel error: 훈련 자료 오차라 분리가 많을수록 계속 줄어든다
- xerror 최소: 분리 6회가 아니라 분리 4회의 0.48이다
· 각 나무의 OOB(Out-of-Bag) 표본을 사용한다
· 한 변수의 값만 무작위로 뒤섞은 뒤 다시 예측한다
· 뒤섞기 전후의 예측 정확도 차이를 나무 전체에서 평균한다
OOB 표본에서 변수를 뒤섞어 정확도가 얼마나 떨어지는지 보는 것은 정확도 평균 감소량(MeanDecreaseAccuracy, 순열 중요도)이다.
지니 평균 감소량은 분리마다 줄어든 불순도를 합한 것으로, 범주가 많거나 연속형인 변수를 과대평가할 수 있다.
- 지니 평균 감소량: 뒤섞기 없이 훈련 중 불순도 감소로 잰다
- OOB 오분류율: 모형 전체 성능이며 변수별 지표가 아니다
- 투표 비율: 관측치별 클래스 예측 확률을 나타낸다
손실의 기울기를 구해 그 반대 방향으로 학습률만큼 가중치를 옮기는 방법은 경사하강법(Gradient Descent)이며, 미니배치로 나눠 반복하는 확률적 경사하강법이 대표적이다.
역전파는 각 가중치에 대한 기울기를 계산하는 과정이고, 그 기울기로 실제 갱신하는 것이 경사하강법이다.
- 유전 알고리즘: 선택·교차·변이로 해를 진화시키며 기울기를 쓰지 않는다
- EM 알고리즘: 잠재변수 모형의 기대·최대화 단계를 반복한다
- 정규방정식: 선형회귀 해를 반복 없이 한 번에 구한다
· 입력층과 2차원 격자 형태의 출력층으로 구성된다
· 입력과 가장 가까운 승자 노드와 그 이웃의 가중치만 갱신한다
· 고차원 자료의 위상 관계를 보존하며 저차원에 사상한다
격자 출력층에서 승자 노드와 이웃만 갱신하는 경쟁 학습으로 위상을 보존하는 기법은 자기조직화 지도(SOM)이다.
SOM 은 역전파 없이 한 번의 전방 패스로 학습하는 비지도 신경망으로, 군집 결과를 격자 위에서 시각화하기 쉽다.
- 가우스 혼합 모형: 확률분포 혼합을 EM 알고리즘으로 추정한다
- k-중앙값 군집: 중심으로 평균 대신 중앙값을 쓰는 분할 군집이다
- DBSCAN: 밀도가 높은 영역을 이어 군집을 만든다
| A | B | C | D | |
|---|---|---|---|---|
| A | 0 | |||
| B | 2 | 0 | ||
| C | 6 | 5 | 0 | |
| D | 10 | 9 | 4 | 0 |
세 방법 모두 A·B(2), C·D(4) 순으로 묶인 뒤 마지막에 {A,B}와 {C,D}가 합쳐지며 그 높이는 단일 5, 완전 10, 평균 7.5이다.
네 거리 AC 6, AD 10, BC 5, BD 9 에서 단일=최솟값, 완전=최댓값, 평균은 이다.
- 4, 10, 7.5: 단일 연결 높이에 두 번째 병합 높이를 넣은 값이다
- 5, 9, 7: 완전 연결에 BD 만 쓰고 평균을 잘못 낸 값이다
- 5, 10, 7: 평균 연결을 세 거리로만 나눠 셈한 값이다
| lhs | rhs | support | confidence | lift | count | |
|---|---|---|---|---|---|---|
| {커피} | => | {케이크} | 0.20 | 0.50 | 1.25 | 40 |
| {샐러드} | => | {생수} | 0.10 | 0.40 | 2.00 | 20 |
count 40이 support 0.20에 해당하므로 전체 거래 수는 40/0.20 = 200건이다.
신뢰도를 향상도로 나누면 rhs 단독 지지도가 나와 이고, lhs 단독 지지도는 support/confidence로 구한다.
- 케이크: 0.50/1.25 = 0.4로 0.5가 아니다
- 샐러드→생수: 향상도 2.00으로 1보다 커 양의 연관이다
- 커피: 0.20/0.50 = 0.4로 0.2는 규칙의 지지도이다
방향을 바꿔도 지지도와 향상도는 그대로이고, 신뢰도만 0.12/0.25 = 0.48로 바뀐다.
향상도는 P(A∩B)/(P(A)P(B))로 A, B 에 대칭이며, P(A) = 0.12/0.4 = 0.3이므로 0.48/0.3 = 1.6으로 확인된다.
- 0.4, 1.6: 신뢰도가 방향과 무관하다고 본 값이다
- 0.48, 1.92: 역방향 신뢰도를 P(A) 대신 P(B)로 나눈 값이다
- 0.3, 1.2: 신뢰도 자리에 A 의 단독 지지도를 넣은 값이다