(가) 고객 리뷰 원문: "상자가 찌그러져 왔어요"
(나) 지난달 반품 120건 중 45%가 포장 파손 사유였다
(다) 포장 파손이 반품을 늘린다는 판단으로 완충재 기준을 바꾸었다
(가)는 해석이 더해지지 않은 리뷰 원문이므로 데이터이며, 수치가 아닌 언어·문자 형태라 정성 데이터이다.
(나)는 반품 기록을 집계·해석한 정보이고 수치로 표현된 정량 자료이며, (다)는 정보를 바탕으로 판단을 내린 지식이다.
- (가)는 수치화되지 않았고 해석 전 자료라 정량 정보가 아니다.
- (나)는 비율로 집계된 정량 자료이며 단계는 정보이다.
- (다)는 정보를 구조화해 행동 기준으로 삼은 지식이다.
영업·배송·고객센터가 부서마다 따로 보관하던 고객 주소를 한곳에 모아, 같은 내용이 여러 번 저장되지 않도록 관리하기로 하였다.
동일한 내용의 데이터가 중복되어 있지 않도록 모아 관리하는 것은 데이터베이스의 통합된 데이터(Integrated Data) 특징이다.
데이터베이스의 4가지 특징은 통합된 데이터·저장된 데이터·공용 데이터·변화되는 데이터이다.
- 저장된 데이터는 컴퓨터가 접근 가능한 매체에 저장된다는 뜻이다.
- 공용 데이터는 여러 사용자가 서로 다른 목적으로 함께 이용한다는 뜻이다.
- 변화되는 데이터는 갱신되면서도 현재의 정확한 상태를 유지한다는 뜻이다.
(가) 주문·결제가 발생할 때마다 건 단위로 입력·갱신하며, 정규화된 현재 데이터를 다룬다
(나) 여러 원천 시스템의 데이터를 주제별로 통합해 시점별로 쌓고, 적재 후에는 갱신하지 않는다
(다) (나)의 데이터를 지역·기간 등 여러 차원에서 드릴다운·롤업하며 대화식으로 분석한다
(가)는 거래 단위 실시간 갱신인 OLTP, (나)는 주제지향·통합·시계열·비휘발 특성의 데이터 웨어하우스(DW), (다)는 다차원 대화식 분석인 OLAP이다.
일반적인 흐름은 OLTP에서 발생한 데이터를 ETL로 DW에 적재하고, OLAP로 분석하는 순서이다.
- (가)는 분석이 아니라 거래 처리이므로 OLAP가 될 수 없다.
- (나)는 적재·보관 저장소이고 차원 분석 도구인 OLAP가 아니다.
- ETL은 추출·변환·적재 과정이며 (가)의 거래 처리 시스템이 아니다.
(가) 초당 수만 건의 카드 결제 로그를 즉시 분석해 이상 거래를 차단한다
(나) 리뷰 중 광고성·허위 글과 센서 오류값이 섞여 있어 출처 검증과 정제가 먼저 필요하다
(다) 콜센터 녹취, 상품 이미지, 웹 로그를 한 분석에 함께 사용한다
(가)는 생성·처리 속도인 속도(Velocity), (나)는 데이터 품질과 신뢰성인 정확성(Veracity), (다)는 정형·비정형 형태의 다양성(Variety)이다.
3V(규모·다양성·속도)에 가치(Value) 또는 정확성을 더해 4V로 설명한다.
- (가)는 양보다 실시간 처리가 핵심이고 (나)는 가치가 아니라 신뢰성 문제이다.
- (나)와 (다)의 특성이 서로 바뀌어 있다.
- (가)의 핵심은 속도이고 (다)는 데이터 형태가 여러 가지인 다양성이다.
배송 효율을 위해 모은 차량 위치 기록이 나중에 상권 분석, 도로 정체 예측, 보험료 산정에까지 재사용·재조합되었다. 수집 당시에는 누가 어떤 목적으로 쓰게 될지 알 수 없었다.
데이터가 재사용·재조합되고 다목적으로 쓰이면서 언제, 어디서, 누가 활용할지 알 수 없게 된 것은 데이터 활용 방식 때문에 가치 산정이 어려운 경우이다.
가치 산정이 어려운 이유는 데이터 활용 방식·새로운 가치 창출·분석 기술의 발전 세 가지로 정리된다.
- 새로운 가치 창출은 기존에 없던 가치를 만들어 측정이 어려운 경우이다.
- 분석 기술의 발전은 쓸모없던 데이터가 새 기법으로 가치를 갖는 경우이다.
- 저장 비용 하락은 빅데이터 출현 배경이며 가치 산정 난제가 아니다.
함께 구매되는 상품 조합을 찾는 것은 연관 규칙 학습의 사례이며, 유형분석은 새 사례가 어느 범주에 속하는지 나누는 기법이다.
최적화 탐색은 유전 알고리즘, 의견의 긍·부정은 감정 분석, 변수 간 영향 관계는 회귀분석이 대표 사례이다.
- 배송 경로처럼 최적해를 진화적으로 찾는 문제는 유전 알고리즘에 맞다.
- 상품평의 긍정·부정 판별은 감정 분석의 전형적 사례이다.
- 요인이 결과에 미치는 영향 파악은 회귀분석의 사례이다.
보험사가 고객의 SNS 활동과 위치 기록을 결합해 건강 위험 등급을 산정하였다. 고객은 각 정보 수집에 개별 동의했지만, 결합 활용으로 어떤 결과가 나올지는 동의 당시 예측할 수 없었다.
여러 데이터를 결합한 2차·3차 활용으로 개인 정보가 드러나는 것은 사생활 침해이며, 통제 방안은 동의제에서 사용자 책임제로 전환하는 것이다.
결합 활용의 결과는 수집 시점에 예측할 수 없으므로 개별 동의만으로는 보호할 수 없다.
- 개별 동의를 더 엄격히 받아도 예측 불가한 활용은 막지 못한다.
- 책임 원칙 훼손은 예측만으로 사람을 처벌하는 문제를 말한다.
- 데이터 오용은 잘못된 지표·알고리즘으로 불이익을 주는 경우이다.
A사는 모든 설비에 센서를 달아 운영 상태를 기록하고, 스스로 학습하는 예측 모형도 운영 중이다. 그런데 모형이 특정 협력사를 부당하게 낮게 평가한다는 항의가 들어와도, 알고리즘을 해석해 피해를 판단하고 구제할 사람이 없다.
데이터화와 학습 모형은 갖췄지만 알고리즘을 해석하고 피해를 구제할 사람이 없으므로 인력 요소, 즉 알고리즈미스트(Algorithmist)가 필요하다.
빅데이터 활용 3요소는 모든 것의 데이터화(데이터), 진화하는 알고리즘·인공지능(기술), 데이터 사이언티스트·알고리즈미스트(인력)이다.
- 사물인터넷을 통한 데이터화는 기술이 아니라 데이터 요소이며 이미 갖춰져 있다.
- 인공지능 학습 플랫폼은 데이터가 아니라 기술 요소이다.
- 센서 수집 체계는 인력이 아닌 데이터화에 해당한다.
스토리텔링과 시각화는 분석 결과를 전달·설득하는 비즈니스 분석 영역에 속한다.
데이터 사이언스는 분석(수학·확률 모델·머신러닝·패턴 인식), IT(데이터 웨어하우징·분산 컴퓨팅·프로그래밍), 비즈니스 분석(커뮤니케이션·프레젠테이션·스토리텔링) 영역이 결합된 것이다.
- 데이터 웨어하우징은 데이터 관리를 담당하는 IT 영역이다.
- 확률 모델과 머신러닝은 분석 영역의 핵심 내용이다.
- 프레젠테이션은 비즈니스 분석 영역의 전달 역량이다.
한 금융사는 과거 자료로 '집값은 전국에서 동시에 떨어지지 않는다'는 전제를 둔 위험 모형을 만들었다. 계산은 정확했지만 전제가 깨지자 모형이 큰 손실을 예측하지 못했다.
모든 분석은 가정에 근거하므로, 정확한 계산도 전제가 틀리면 잘못된 결론을 낸다는 것이 데이터 사이언스의 한계이다.
그래서 분석가는 모형의 전제를 의심하고 결과를 맥락 속에서 읽는 인문학적 사고와 해석 능력을 함께 갖춰야 한다.
- 데이터 양이 늘어도 잘못된 전제는 그대로 남는다.
- 계산의 정확성은 가정의 타당성을 보장하지 못한다.
- 수치만 따르는 태도가 바로 사례의 실패 원인이다.
(가) 줄이려는 대상(배송 비용)이 정해져 있고, 사용할 경로 최적화 기법도 이미 갖추고 있다
(나) 군집분석 기법과 도구는 갖추었지만, 무엇을 개선 대상으로 삼을지는 아직 정하지 못했다
(다) 분석 대상도 방법도 정해지지 않아, 데이터를 탐색하며 새로운 기회를 찾으려 한다
대상과 방법을 모두 알면 최적화(Optimization), 방법은 알지만 대상을 모르면 통찰(Insight), 둘 다 모르면 발견(Discovery)이다.
대상은 알지만 방법을 모르는 경우가 솔루션(Solution)이며, 분석 주제 유형은 진행 중 다른 유형으로 바뀔 수 있다.
- (나)는 방법을 갖추고 대상을 모르므로 솔루션이 아니라 통찰이다.
- (가)는 방법도 알고 있으므로 솔루션이 아니다.
- (가)와 (나)의 유형이 서로 바뀌어 있다.
체계화는 형식지를 문서·매뉴얼 등으로 정리해 조직의 방법론으로 만드는 과정이다.
방법론은 암묵지→형식화→형식지→체계화→방법론→내재화→암묵지의 순환으로 발전한다.
- 암묵지를 말과 글로 표현하는 것은 형식화이다.
- 방법론을 학습해 개인 노하우로 만드는 것은 내재화이다.
- 경험 공유로 암묵지를 전하는 것은 방법론 생성 단계에 해당하지 않는다.
ㄱ. 잡음·이상값·결측값을 식별하고 처리한다
ㄴ. 분석 목적에 맞는 변수를 선택하고 차원을 축소한다
ㄷ. 학습용 데이터와 검증용 데이터로 분리한다
ㄹ. 분석 대상이 되는 목표 데이터를 선정·추출한다
ㅁ. 마이닝 결과를 해석·평가해 업무에 활용한다
KDD의 데이터 변환 단계는 변수 선택·차원 축소 등으로 데이터를 분석에 맞게 바꾸고, 학습용·검증용 데이터를 분리하는 단계이다.
KDD는 데이터 선택→전처리→변환→마이닝→해석과 평가 순으로 진행된다.
- 잡음·이상값·결측값 처리는 전처리 단계이다.
- 목표 데이터를 선정·추출하는 것은 데이터 선택 단계이다.
- 결과 해석과 활용은 해석과 평가 단계이다.
비용 항목과 편익을 산출해 비교하는 비용 대비 편익 분석은 경제적 타당성 검토에 해당한다.
데이터 존재 여부, 분석 시스템 환경, 분석 역량은 데이터 및 기술적 타당성에서 검토하며, 검토 후 최적 대안을 과제로 정의하고 우선순위를 평가한다.
- 분석 역량 확보 여부는 데이터 및 기술적 타당성 항목이다.
- 타당성 검토는 문제 탐색·정의·해결방안 탐색 다음의 마지막 단계이다.
- 도출된 과제는 과제 정의서 작성과 우선순위 평가를 거친다.
· 카드사가 자사 결제 데이터만으로는 한계가 있다고 보고, 제휴 관계인 통신사·유통사가 보유한 데이터와 분석 역량을 함께 활용할 기회를 찾는다
제휴사가 가진 데이터와 역량을 활용해 기회를 찾는 것은 역량의 재해석 관점 중 파트너와 네트워크 영역이다.
역량의 재해석은 자사 내부 역량과 관계사·제휴사의 역량을 다시 살펴 분석 기회를 넓히는 관점이다.
- 내부 보유 역량은 자사 자체의 지식·기술·자산을 살피는 영역이다.
- 신규 진입자는 경쟁자 확대 관점에서 위협이 될 기업을 살피는 영역이다.
- 영향자는 시장 니즈 탐색 관점에서 주주·투자자 등을 살피는 영역이다.
분석 과제의 주요 5속성은 데이터 크기·데이터 복잡성·속도·분석 복잡도·정확도와 정밀도이며, 데이터 보안 수준은 포함되지 않는다.
이 속성들은 분석 과제를 정의하고 프로젝트 관리 방안을 수립할 때 고려한다.
- 데이터 복잡성은 비정형·다원천 데이터를 다루는 정도를 말한다.
- 속도는 분석 결과가 활용되는 시점과 처리 시간을 고려하는 속성이다.
- 분석 복잡도는 정확도와 해석 가능성 사이의 균형을 고려한다.
| 과제 | 시급성 | 난이도 | 적용 범위·방식 검토 메모 |
|---|---|---|---|
| A 고객 이탈 예측 | 현재 | 쉬움 | 예측 결과를 상담 업무 흐름에 자동 반영할지, 별도 화면으로만 제공할지 결정 |
| B 판매 수요 예측 | 현재 | 어려움 | 내부 판매 데이터에 외부 기상 데이터까지 포함할지 결정 |
| C 설비 이상 탐지 | 미래 | 쉬움 | 기존 DW 배치 처리로 할지, 실시간 스트리밍 처리 기술을 새로 도입할지 결정 |
B 메모는 내부 데이터에 외부 데이터까지 포함할지 정하는 것이므로 분석 데이터 적용 수준에 해당한다.
A는 업무 흐름 반영 정도이므로 업무 내재화 적용 수준, C는 새 처리 기술 도입 여부이므로 기술 적용 수준이며, 우선순위는 현재·쉬움인 A가 가장 높다.
- A 메모는 업무 프로세스 반영 여부이므로 기술 적용 수준이 아니다.
- C 메모는 처리 기술 선택이므로 업무 내재화 적용 수준이 아니다.
- B는 현재 시급하나 어려운 과제여서 쉬운 A보다 뒤에 둔다.
ROI 관점에서 비즈니스 효과(Return)는 분석 결과가 창출하는 가치(Value)이며, 우선순위 평가의 시급성 기준과 연결된다.
규모(Volume)·다양성(Variety)·속도(Velocity)의 3V는 데이터 확보·처리에 드는 투자비용(Investment) 요소로 난이도와 연결된다.
- 데이터 규모는 투자비용 요소이다.
- 데이터 다양성은 투자비용 요소이다.
- 데이터 속도는 투자비용 요소이다.
빅데이터는 양이 방대해 모든 데이터를 똑같이 관리하면 비용이 커지므로, ROI를 고려해 관리 대상과 수준을 선별한다.
빅데이터 거버넌스는 데이터 거버넌스 체계에 생명주기 관리, 데이터 최적화, 정보보호, 카테고리별 책임자 지정 등을 더한 것이다.
- 데이터 유형별 관리 책임자 지정은 빅데이터 거버넌스의 특징이다.
- 생명주기에 따른 보관 기간 설정은 비용 효율 관리에 해당한다.
- 산업 분야별로 관리 요소를 달리 정하는 것도 특징이다.
· 분석에 필요한 데이터를 충분히 확보하고 있는가
· 데이터의 신뢰성과 적시성이 보장되는가
· 기준 데이터(마스터 데이터)가 관리되고 있는가
데이터의 충분성·신뢰성·적시성과 기준 데이터 관리는 분석 준비도 진단 중 분석 데이터 영역의 항목이다.
분석 준비도는 분석 업무 파악, 인력 및 조직, 분석 기법, 분석 데이터, 분석 문화, IT 인프라의 6개 영역으로 진단한다.
- IT 인프라는 운영·분석 시스템과 환경을 진단하는 영역이다.
- 분석 기법은 업무별 기법 사용과 기법 라이브러리를 진단한다.
- 분석 문화는 사실 기반 의사결정과 관리자의 분석 활용을 본다.
(가) 지난 분기 지역별 매출을 집계해 대시보드로 보여 준다.
(나) 특정 매장 매출이 줄어든 원인을 요인별로 분해해 확인한다.
(다) 과거 판매 이력으로 다음 달 수요량을 추정한다.
(라) 재고 비용이 최소가 되는 매장별 발주량을 산출해 권고한다.
원인을 규명하는 (나)가 진단 분석, 최적의 행동(발주량)을 권고하는 (라)가 처방 분석이다.
분석 유형은 무슨 일이 있었나(기술)→왜 일어났나(진단)→무엇이 일어날까(예측)→무엇을 해야 하나(처방) 순으로 가치와 난도가 높아진다.
- (가): 과거 사실을 요약해 보여 주는 기술 분석이다
- (다): 미래 수요를 추정하므로 예측 분석이다
- (다), (나): 예측을 진단으로, 진단을 처방으로 뒤바꿨다
> x <- 1:6; y <- c(10, 20) > z <- x * y > sum(z[z %% 4 == 0]) > 7 %/% 2 + 7 %% 2
짧은 벡터 y 가 10, 20, 10, 20… 으로 재활용되어 z 는 10, 40, 30, 80, 50, 120 이 되고, 4의 배수 40+80+120 의 합은 240 이다.
%/% 는 몫(3), %% 는 나머지(1)를 돌려주므로 둘째 줄은 4 이다.
- 120: y 를 10 하나로만 곱했다고 본 값(20, 40, 60 의 합)
- 3.5: %/% 를 일반 나눗셈으로 본 결과이다
- 오류: 길이 6 은 2의 배수라 경고 없이 재활용된다
> s <- subset(iris, Species != "setosa") > nrow(s) > nlevels(s$Species) > table(s$Species) > nlevels(droplevels(s$Species))
[1] 100
[1] 3
setosa versicolor virginica
0 50 50
[1] 2subset 으로 행만 걸러도 factor 의 수준(levels) 정보는 그대로 남아 nlevels 출력은 3 이다.
그래서 table 출력에 setosa 가 빈도 0 으로 나타나고, droplevels 를 적용해야 쓰지 않는 수준이 지워져 2가 된다.
- 행 수: nrow 출력은 setosa 50행을 뺀 100 이다
- table: setosa 열이 0 으로 표시되어 빠지지 않는다
- droplevels: 빈 수준을 지워 출력이 2 이다
> a <- tapply(mtcars$mpg, mtcars$cyl, mean) > b <- sapply(split(mtcars$mpg, mtcars$cyl), range) > c1 <- sapply(1:3, function(i) seq_len(i))
함수 결과의 길이가 1, 2, 3 으로 서로 달라 sapply 가 단순화하지 못하고 c1 은 길이 3인 리스트가 된다.
tapply 는 cyl 수준(4, 6, 8)별 평균이라 원소 3개이고, range 는 길이 2를 돌려주므로 b 는 2행 3열 행렬이다.
- b 3행 2열: sapply 는 결과를 열로 쌓아 행이 최솟값·최댓값 2개이다
- a 32개: 관측치마다가 아니라 집단마다 하나씩 3개이다
- c1 행렬: 길이가 같아야 행렬로 묶인다
> w <- reshape(CO2[, c("Plant", "conc", "uptake")], idvar = "Plant", timevar = "conc", direction = "wide")
> dim(w)
> names(w)[1:3][1] 12 8 [1] "Plant" "uptake.95" "uptake.175"
dim 출력이 12 8 이므로 w 는 식물 하나가 한 행이 되는 12행 8열 wide 자료이다.
idvar 인 Plant 1열에 timevar 7단계가 측정변수 열 7개(uptake.95 등)로 펼쳐진다.
- 84행 3열: 변환 전 long 자료의 크기이다
- 열 이름: names 출력은 측정변수명.시점인 uptake.95 형태이다
- 방향: direction = "wide" 로 long 을 wide 로 바꿨다
x <- c(7, 43, 5, 10, 1, 9, 6, 4, 10, 5)
평균은 이상값 43 에 끌려 10 이지만, 양끝을 10%씩 버린 절사평균은 7, 중앙값은 6.5 로 이상값 영향을 덜 받는다.
, 정렬 후 1 과 43 을 빼면 , 중앙값은 이다.
- 6.5, 7: 절사평균과 중앙값을 서로 바꾼 것이다
- 6.33: 위쪽 43 만 빼고 9개로 평균한 값이다
- 6: 짝수 개 자료에서 다섯째 값만 중앙값으로 잡았다
혈액형은 범주 구분만 가능한 명목척도이므로 대표값으로 최빈값을 쓴다.
서열척도는 순서만 있어 중앙값까지, 구간척도는 차이가 의미 있어 평균까지, 절대 0이 있는 비율척도는 비율·기하평균까지 쓸 수 있다.
- 학점 등급: 순서만 있는 서열척도라 산술평균은 적절하지 않다
- 섭씨온도: 절대 0이 없는 구간척도이다
- 몸무게: 절대 0이 있는 비율척도이다
어느 제품 5개의 무게(g)를 측정한 결과이다.
| 제품 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 무게 | 4 | 8 | 10 | 12 | 16 |
편차 제곱합 80 을 n−1=4 로 나눈 표본분산은 20이고, 표준오차는 표본표준편차를 √n 으로 나눈 2이다.
평균 10, , 이다.
- 분산 16: n 으로 나눈 모분산식을 쓴 값
- 표준오차 4: 제곱근을 씌우지 않은 이다
- 1.79: 모분산 16 으로 를 계산한 값
> shapiro.test(mtcars$mpg[mtcars$am == 0]) > shapiro.test(mtcars$mpg[mtcars$am == 1]) > wilcox.test(mpg ~ am, data = mtcars, exact = FALSE)
Shapiro-Wilk normality test data: mtcars$mpg[mtcars$am == 0] W = 0.97677, p-value = 0.8987 Shapiro-Wilk normality test data: mtcars$mpg[mtcars$am == 1] W = 0.9458, p-value = 0.5363 Wilcoxon rank sum test with continuity correction data: mpg by am W = 42, p-value = 0.001871 alternative hypothesis: true location shift is not equal to 0
wilcox.test 출력의 p-value(0.0019)가 0.05 보다 작으므로 두 집단의 위치(중앙값) 차이가 유의하다.
두 shapiro.test 의 p-value 가 0.90, 0.54 로 0.05 보다 커 정규성 가정을 기각하지 못한다.
- 정규성 기각: p값이 커 귀무가설(정규분포)을 유지한다
- W: 순위를 이용한 순위합 통계량으로 평균 차가 아니다
- 대응표본: 출력 제목이 독립 2표본의 Wilcoxon rank sum test 이다
신뢰수준 95%는 같은 방법으로 표본추출과 구간 계산을 반복할 때 만들어진 구간의 95%가 모수를 포함한다는 뜻이다.
모수 μ 는 고정된 상수이므로 이미 계산된 한 구간은 μ 를 포함하거나 포함하지 않을 뿐, 확률 진술의 대상이 아니다.
- 확률 95%: 고정된 모수에 확률을 부여한 흔한 오해이다
- 표본 크기: n 이 커지면 표준오차가 줄어 구간이 좁아진다
- 신뢰수준 99%: 임계값이 커져 구간이 넓어진다
> m1 <- lm(mpg ~ wt, data = mtcars) > m2 <- lm(mpg ~ wt + hp, data = mtcars) > anova(m1, m2)
Analysis of Variance Table Model 1: mpg ~ wt Model 2: mpg ~ wt + hp Res.Df RSS Df Sum of Sq F Pr(>F) 1 30 278.32 2 29 195.05 1 83.274 12.381 0.001451 ** --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Model 2 행의 Pr(>F) 가 0.0015 로 0.05 보다 작아 hp 를 넣었을 때 잔차제곱합(RSS) 감소가 유의하다.
내포 모형의 부분 F 검정은 RSS 가 278.32 에서 195.05 로 줄어든 83.27 을 추가 자유도 1 과 m2 의 오차 분산으로 비교한다.
- 잔차 자유도: Res.Df 열에서 m2 는 29, 30 은 m1 이다
- 귀무가설: 추가한 hp 의 계수가 0 이라는 것이다
- 모형 선택: 감소가 유의하므로 hp 를 포함한 m2 를 택한다
| 항 | 추정값 | 표준오차 |
|---|---|---|
| (Intercept) | 3.0 | 1.5 |
| x | 2.0 | 0.5 |
표본이 커서 95% 신뢰구간의 임계값은 1.96 을 쓴다.
t 통계량은 추정값을 표준오차로 나눈 4 이고, 95% 신뢰구간은 1.02 ~ 2.98 로 0 을 포함하지 않아 x 는 유의하다.
, 이므로 구간은 1.02 ~ 2.98 이다.
- 1.5 ~ 2.5: 임계값을 곱하지 않고 표준오차만 더하고 뺐다
- 0.25: 표준오차를 추정값으로 나눈 역수이다
- 1: 추정값과 표준오차를 곱한 값이다
관측치를 하나 뺐을 때 적합값 변화로 영향력을 재는 지표는 쿡의 거리(Cook's Distance)이다.
값이 크면 회귀식을 크게 바꾸는 영향점으로 보며, 흔히 1 을 넘으면 주의 깊게 살핀다.
- 더빈-왓슨 통계량은 잔차의 자기상관(오차 독립성)을 진단한다.
- 분산팽창계수는 설명변수 간 다중공선성을 진단한다.
- 수정 결정계수는 변수 수를 고려한 모형 설명력이다.
봉우리가 12개월 간격으로 반복되고 추세가 오를수록 계절 변동 폭도 커지므로 주기는 12개월, 분해는 승법 모형이 적합하다.
가법 모형(추세+계절+불규칙)은 계절 폭이 일정할 때, 승법 모형(추세×계절×불규칙)은 폭이 수준에 비례할 때 쓰며 로그 변환 후 가법으로 분해해도 된다.
- 가법 모형: 계절 진폭이 일정할 때 맞는 모형이다
- 6개월: 한 해에 봉우리는 한 번만 나타난다
- 24개월: 48개월 동안 봉우리가 네 차례라 주기는 12개월이다
ARIMA(p, d, q) 의 d 는 비정상 시계열을 정상으로 만들기 위해 차분한 횟수이므로 두 차례 차분했다는 뜻이다.
p 는 자기회귀(AR) 차수, q 는 이동평균(MA) 차수이며 이 모형은 두 차례 차분한 계열에 AR(1)을 적합한 것이다.
- 자기회귀 차수: 첫째 숫자 p=1 이다
- 이동평균 차수: 셋째 숫자 q=0 이다
- 계절 주기: 계절 ARIMA 에서 별도의 s 로 표기한다
다차원 척도법은 개체 간 거리(비유사성) 행렬을 입력으로 받아 그 거리를 최대한 보존하는 저차원 좌표를 찾는다.
R 의 cmdscale 도 dist 로 만든 거리 객체를 넣어 2차원 배치 좌표를 얻는다.
- 목표변수 자료: 지도 학습(분류·회귀)의 입력이다
- 거래 품목 목록: 연관 분석의 입력이다
- 시간 순서 자료: 시계열 분석의 대상이다
새 자료 없이 predict(pc) 를 실행하면 각 관측치를 주성분 축에 투영한 주성분 점수 행렬(pc$x 와 같음)이 나온다.
rotation 은 원변수 가중치인 적재값, sdev 는 주성분별 표준편차이고, summary 는 기여율 표를 보여 준다.
- pc$rotation: 주성분을 원변수의 선형결합으로 나타낸 계수이다
- pc$sdev^2: 주성분별 분산, 곧 고유값이다
- summary(pc): 표준편차와 분산 기여율을 요약한다
> v <- mtcars[, c("mpg", "disp", "hp", "wt")]
> round(apply(v, 2, var), 1)
> round(prcomp(v)$rotation[, 1], 3)
> round(prcomp(v, scale. = TRUE)$rotation[, 1], 3)mpg disp hp wt 36.3 15360.8 4700.9 1.0 mpg disp hp wt -0.038 0.900 0.435 0.006 mpg disp hp wt -0.511 0.517 0.470 0.501
분산 출력에서 disp(15360.8)가 압도적으로 커서 표준화하지 않은 PCA 의 PC1 적재값은 disp 가 0.900으로 지배한다.
표준화(scale. = TRUE)하면 네 변수의 적재값 절댓값이 0.47~0.52 로 비슷해지므로 단위가 다른 변수는 상관행렬 기준으로 분석한다.
- 적재값 비교: 두 줄의 PC1 계수가 서로 다르다
- 공분산행렬: 단위가 다르면 큰 단위 변수에 결과가 쏠린다
- wt: 분산 1.0 으로 가장 작다
| 구분 | 기법 | 학습 유형 |
|---|---|---|
| (가) | 자기조직화지도(SOM) | 비지도 |
| (나) | 연관규칙(Apriori) | 지도 |
| (다) | 랜덤포레스트 | 지도 |
| (라) | DBSCAN | 비지도 |
| (마) | 선형판별분석(LDA) | 비지도 |
SOM·DBSCAN 은 라벨 없이 구조를 찾는 비지도, 랜덤포레스트는 목표변수를 학습하는 지도 학습이라 (가), (다), (라)가 옳다.
학습 유형은 목표변수(정답 라벨)를 쓰는지로 가르며, 연관규칙은 목표변수가 없다.
- (나): Apriori 는 목표변수 없이 규칙을 찾는 비지도 기법이다
- (마): LDA 는 집단 라벨을 이용해 판별식을 만드는 지도 학습이다
- (마)를 포함한 조합은 모두 틀린 분류가 섞여 있다
불량품(양성)을 찾는 분류 모형을 200개 제품에 적용한 결과이다.
| 실제 불량 | 실제 정상 | |
|---|---|---|
| 예측 불량 | 12 | 8 |
| 예측 정상 | 18 | 162 |
정확도는 (12+162)/200=0.87, 정밀도 0.6 과 재현율 0.4 의 조화평균인 F1 은 0.48이다.
, , 로 정확도가 높아도 불량 검출력은 낮다.
- 0.50: 정밀도와 재현율의 산술평균이다
- 0.95: 162/170 인 특이도를 정확도로 본 값이다
- 0.60, 0.40: 정밀도와 재현율 자체이다
ROC 곡선은 분류 임계값을 바꿔 가며 가로축에 1−특이도(FPR), 세로축에 민감도(TPR)를 찍어 연결한 곡선이다.
곡선 아래 면적(AUC)이 1에 가까울수록 좋고, 0.5 는 대각선인 무작위 분류 수준이다.
- 민감도·특이도: 축 배치가 다르고 특이도는 1에서 뺀 값을 쓴다
- 정밀도·재현율: PR 곡선의 구성이다
- 반응률·향상도: 향상도 차트(Lift chart)의 구성이다
로지스틱 회귀는 종속변수가 성공/실패처럼 이항 범주형일 때 그 확률을 모형화한다.
선형결합을 시그모이드로 변환해 예측값이 0~1 사이 확률이 되고, 계수는 최대우도법으로 추정한다.
- 오차 정규성: 선형 회귀의 가정이며 로지스틱은 이항분포를 쓴다
- 실수 전체: 예측 확률은 0과 1 사이로 제한된다
- 최소제곱법: 선형 회귀의 추정법이다
> library(class)
> X <- mtcars[, c("disp", "hp", "wt")]
> set.seed(1); r1 <- knn.cv(X, mtcars$am, k = 3)
> set.seed(1); r2 <- knn.cv(scale(X), mtcars$am, k = 3)
> table(raw = r1, actual = mtcars$am)
> table(scaled = r2, actual = mtcars$am) actual
raw 0 1
0 15 5
1 4 8
actual
scaled 0 1
0 16 2
1 3 11두 table 의 비대각 합이 raw 4+5=9, scaled 3+2=5 이므로 표준화 후 오분류가 9개에서 5개로 줄었다.
knn.cv 는 한 관측치씩 빼고 나머지로 예측하는 LOOCV 결과이며, 표준화 전에는 값의 범위가 큰 disp 가 거리를 좌우한다.
- 재예측: knn.cv 는 자기 자신을 뺀 교차검증 예측이다
- 재현율: actual 1 열에서 raw 8/13, scaled 11/13 이다
- wt: 범위가 가장 작아 거리에 기여가 가장 작다
C4.5 는 엔트로피에 기반한 정보이득비율을 분리 기준으로 쓴다.
CART 는 분류에서 지니 지수, 회귀에서 분산 감소량을 쓰고 이진 분리만 하며, CHAID 는 카이제곱 통계량(연속형은 F 통계량)의 p값을 쓴다.
- CART – 카이제곱: 카이제곱 p값은 CHAID 의 기준이다
- CHAID – 지니: 지니 지수는 CART 의 분류 기준이다
- C4.5 – 분산 감소: 회귀나무에서 CART 가 쓰는 기준이다
배깅은 부트스트랩 표본마다 기본 모형을 서로 독립적으로 학습하므로 병렬 처리가 가능하다.
부스팅은 앞 모형의 오차를 보완하도록 순차 학습해 주로 편향을 줄이고, 성능이 좋은 모형에 큰 가중을 준다.
- 분산 감소: 배깅의 효과이며 부스팅은 편향 감소가 주목적이다
- 비복원추출: 배깅은 복원추출(부트스트랩)을 쓴다
- 같은 가중: 부스팅은 모형 성능에 따라 가중을 달리한다
· 출력값의 범위가 −1 에서 1 사이이다.
· 원점에 대해 대칭이어서 출력의 평균이 0 근처이다.
· 입력이 0 일 때 기울기가 1 이다.
출력이 −1~1 이고 원점 대칭이며 0에서 기울기가 1인 함수는 하이퍼볼릭 탄젠트(tanh)이다.
tanh 는 시그모이드를 늘이고 옮긴 형태로 출력이 0 중심이라 학습이 빠른 편이지만, 양 끝에서 기울기 소실이 생길 수 있다.
- 시그모이드: 출력이 0~1 이고 0에서 기울기가 0.25 이다
- ReLU: 음수 입력은 0, 양수는 그대로라 상한이 없다
- 소프트맥스: 여러 출력을 합이 1인 확률로 바꾼다
WSS 감소 폭이 k=3 이후 급격히 작아지므로 꺾이는 지점인 k=3을 고르며, WSS 는 k 가 늘수록 항상 줄어든다.
군집을 늘리면 관측치가 더 가까운 중심에 배정되어 WSS 는 계속 감소하므로, 최솟값이 아니라 추가 이득이 작아지는 지점을 택한다.
- k=8: WSS 최소는 항상 가장 큰 k 라 기준이 될 수 없다
- k=1: 군집을 나누지 않은 경우로 분석 의미가 없다
- WSS 증가: 그래프는 단조 감소하는 모양이다
마할라노비스 거리는 공분산행렬의 역행렬을 곱해 변수 간 상관과 분산(척도) 차이를 함께 보정한다.
변수들이 서로 독립이고 분산이 1이면 유클리드 거리와 같아진다.
- 맨해튼: 좌표 차 절댓값의 합으로 상관을 반영하지 않는다
- 자카드: 이진·집합 자료의 유사성을 재는 측도이다
- 체비셰프: 좌표 차 절댓값 중 최댓값을 쓴다
(가) 데이터베이스를 두 번 스캔해 FP-트리를 만든다.
(나) 빈발 후보 집합마다 데이터베이스를 다시 스캔해 지지도를 센다.
(다) 거래의 항목을 전체 빈도 내림차순으로 정렬해 트리에 넣는다.
(라) 최소 지지도에 못 미치는 항목도 트리에 함께 넣는다.
FP-Growth 는 첫 스캔으로 항목 빈도를 세고 둘째 스캔에서 빈도 내림차순으로 정렬한 거래를 트리에 넣으므로 (가), (다)가 옳다.
이후 트리에서 조건부 패턴을 재귀적으로 찾기 때문에 Apriori 처럼 후보마다 데이터베이스를 재스캔하지 않는다.
- (나): 후보별 반복 스캔은 Apriori 의 방식이다
- (라): 첫 스캔에서 최소 지지도 미만 항목은 제외한다
- (나), (라)가 섞인 조합은 틀린 설명을 포함한다
고객 5명의 구매 순서(왼쪽이 먼저)이다.
| 고객 | 구매 순서 |
|---|---|
| 1 | A → B → C |
| 2 | B → A |
| 3 | A → C → B |
| 4 | A → C |
| 5 | C → B |
A 뒤에 B 가 나오는 고객은 1, 3 의 2명이라 순차패턴 지지도는 0.4, 순서와 상관없이 A·B 를 모두 산 고객은 1, 2, 3 이라 항목집합 지지도는 0.6이다.
, 이다.
- 0.6, 0.6: 고객 2의 B 다음 A 를 순차패턴에 넣은 값이다
- 0.6, 0.4: 두 지지도를 서로 바꾼 것이다
- 0.4, 0.4: 항목집합 지지도에서도 순서를 따진 값이다