★ : 기출
Contents
1. 데이터 이해 |
|||
2. 데이터 분석 기획 |
|||
3. 데이터 분석 |
3-1. R 기초와 데이터 마트 |
||
3-2. 통계분석 |
통계학 개론 |
||
3-3. 정형 데이터 마이닝 |
|||
분류 분석 |
|||
군집 분석 |
|||
1과목 - 데이터 이해
1-1. 데이터의 이해
1-1-1. 데이터와 정보
#데이터의 정의
- 데이터는 추론과 추정의 근거를 이루는 사실
- 단순한 객체로서의 가치 뿐만 아니라 다른 객체와의 상호관계 속에서 가치를 가지는 것으로 설명되고 있다.
#데이터의 특성
- 존재적 특성: 객관적 사실
- 당위적 특성: 추론·예측·전망·추정을 위한 근거
#데이터의 유형
- 정성적(qualitative) 데이터: 그 형태와 형식이 정해져 있지 않아서 저장, 검색, 분석하는데 많은 비용과 기술적 투자가 수반된다.
예) 언어, 문자 등
- 정량적(quantitative) 데이터: 데이터의 양이 크게 증가하더라도 저장, 검색, 분석하여 활용하기 용이하다.
예) 수치
#지식경영의 핵심 이슈
- 데이터는 지식경영의 핵심 이슈인 암묵지와 형식지의 상호작용에 있어 중요한 역할을 한다.
구분 |
의미 |
예 |
암묵지 |
학습과 경험을 통해 |
김치 담그기 |
형식지 |
문서나 매뉴얼처럼 |
교과서 |
- 암묵지는 사회적으로 중요하지만 다른 사람에게 공유되기 어렵다. 개인에게 축적된 내면화된 지식이 조직의 지식으로 공통화 된다.
- 형식지는 전달과 공유가 용이하다. 언어, 기호, 숫자로 표준화된 지식이 개인의 지식으로 연결화
#SECI 모델 (Socialization - Externalization - Combination - Internalization Model) ★
- 암묵지+형식지의 4단계 지식전환 모드
1) 공동화 : 경험을 공유를 통해 새로운 암묵지 창조
- 암묵지 지식 노하우를 다른 사람에게 알려주기)
2) 표출화 : 암묵지에서 구체적인 개념을 도출하여, 암묵지를 형식지로 표출
- 암묵적 지식 노하우를 책이나 교본 등 형식지로 만들기
3) 연결화 : 표출된 형식지의 완성도를 높여 지식체계로 전환
- 책이나 교본(형식지)에 자신이 알고 있는 새로운 지식(형식지)를 추가하기
4) 내면화 : 표준화와 연결화로 공유된 정신 모델이나 기술적 노하우가 개인의 암묵지로 내면화
- 만들어진 책이나 교본(형식지)를 보고 다른 직원들이 암묵적 지식(노하우)을 습득
5) 위의 4가지 과정 (공동화, 표출화, 연결화, 내면화)이 순환하면서 창조됨
#DIKW 피라미드
(DIKW pyramid, Wikipedia)
구분 |
의미 |
예 |
데이터 |
개별 데이터 자체로는 의미가 중요하지 않은 객관적인 사실. |
A는 100원, B는 200원에 연필을 판매 |
정보 |
데이터의 가공, 처리와 데이터간 연관관계 속에서 의미가 데이터의 가공 및 상관관계간 이해를 통해 패턴을 인식하고 |
A마트의 |
지식 |
데이터를 통해 도출된 다양한 정보를 구조화하여 유의미한 정보를 분류하고 개인적인 경험을 결합시켜 고유의 지식으로 내재화된 것. 상호 연결된 정보 패턴을 이해하여 이를 토대로 예측한 결과 |
상대적으로 저렴한 A마트에서 연필을 사야겠다 |
지혜 |
지식의 축적과 아이디어가 결합된 창의적인 산물. 근본 원리에 대한 깊은 이해를 바탕으로 도출되는 창의적인 아이디어 |
A마트의 다른 상품들도 B마트보다 더 쌀 것이라고 판단한다. |
#데이터(자료) 양의 단위
B[Bite, 바이트]* | 1B=1Byte | 20B |
KB[Kilo Byte, 킬로바이트] | 1KB = 1024Byte | 210B |
MB[Mega Byte, 메가바이트] | 1MB = 1024KB | 220B |
GB[Gega Byte, 기가바이트] | 1GB = 1024MB | 230B |
TB[Tera Byte, 테라바이트] | 1TB = 1024GB | 240B |
PB[Peta Byte, 페타바이트] | 1PB = 1024TB | 250B |
EB[Exa Byte, 엑사바이트] | 1EB = 1024PB | 260B |
ZB[Zeta Byte, 제타바이트] | 1ZB = 1024EB | 270B |
YB[Yotta Byte,요타바이트] | 1YB = 1024ZB | 280B |
- 비트 하나로는 '0 또는 1'의 2가지 표현밖에 할 수 없다. 그래서 이를 일정한 단위로 묶어서 바이트(byte)라 하고 정보를 표현하는 기본단위로 삼고 있다.
- 일반적으로 8개의 비트를 하나로 묶어 1 Byte라 하고 있으며, 1 Byte가 표현할 수 있는 정보의 개수는 2의 8승 = 256 개가 된다. 바이트는 256 종류의 정보를 나타낼 수 있어 숫자, 영문자, 특수문자 등을 모두 표현할 수 있다. ★
1-1-2. 데이터베이스 정의와 특징
#데이터베이스의 정의
- 동시에 복수의 적용 업무를 지원할 수 있도록 복수 이용자의 요구에 대응해서 데이터를 받아들이고 저장, 공급하기 위해 일정한 구조에 따라서 편성된 데이터의 집합
- 관련된 레코드의 집합, 소프트웨어로는 데이터베이스 관리 시스템(DBMS)을 의미
- 문자, 기호, 음성, 화상, 영상 등 상호 관련된 다수의 콘텐츠를 정보 처리 및 정보통신 기기에 의해 체계적으로 수집·축적하여 다양한 용도와 방법으로 이용할 수 있도록 정리한 정보의 집합체
#데이터베이스의 특징
- 통합된 데이터(integrated data): 동일한 내용의 데이터가 중복되어 있지 않다는 것을 의미. 데이터 중복은 관리상의 복잡한 부작용을 초래 ★
- 저장된 데이터(stored data): 자기 디스크나 자기 테이프 등과 같이 컴퓨터가 접근할 수 있는 저장 매체에 저장되는 것을 의미. 데이터베이스는 기본적으로 컴퓨터 기술을 바탕으로 한 것 ★
- 공용 데이터(shared data): 여러 사용자가 서로 다른 목적으로 데이터를 공동으로 이용한다는 것을 의미. 대용량화 되고 구조가 복잡하다. ★
- 변화되는 데이터(changeable data): 데이터베이스에 저장된 내용은 곧 데이터베이스의 현 상태를 나타냄. 다만 이 상태는 새로운 데이터의 삽입, 기존 데이터의 삭제, 갱신으로 항상 변화하면서도 현재의 정확한 데이터를 유지해야 함
#데이터베이스의 설계 절차★
- 요구사항 분석 > 개념적 설계 > 논리적 설계 > 물리적 설계
1-1-2. 데이터베이스 활용
#OLTP (On-Line Transaction Processing) ★ @
- 호스트 컴퓨터와 온라인으로 접속된 여러 단말 간의 처리 형태의 하나이다. 여러 단말에서 보내온 메시지에 따라 호스트 컴퓨터가 데이터베이스를 액세스하고 바로 처리 결과를 돌려보내는 형태를 말한다. 데이터베이스의 데이터를 수시로 갱신하는 프로세싱을 의미한다.
- (예) 주문 입력 시스템, 재고 관리 시스템 등
#OLAP (On-Line Analytical Processing)
- 정보 위주의 분석 처리를 의미하며, 다양한 비즈니스 관점에서 쉽고 빠르게 다차원적인 데이터에 접근하여 의사 결정에 활용할 수 있는 정보를 얻게 해주는 시스템이다.
#CRM (Customer Relationship Management) ★
- 기업 내부 데이터베이스를 기반으로 고객과 관련된 내·외부 자료를 분석·통합해 고객 중심 자원을 극대화하고 이를 토대로 고객 특성에 맞게 마케팅 활동을 계획·지원·평가하는 과정이다.
#SCM (Supply Chain Management) ★
- 기업에서 원재료의 생산·유통 등 모든 공급망 단계를 최적화해 수요자가 원하는 제품을 원하는 시간과 장소에 제공하는 "공급망 관리"를 뜻한다.
#ERP (Enterprise Resource Planning) ★
- 인사·재무·생산 등 기업의 전 부문에 걸쳐 독립적으로 운영되던 각종 관리시스템의 경영자원을 하나의 통합 시스템으로 재구축함으로써 생산성을 극대화하려는 경영혁신기법을 의미한다.
#BI (Business Intelligence) ★
- 데이터 기반 의사결정을 지원하기 위한 리포트 중심의 도구 ★
- 기업이 보유하고 있는 수많은 데이터를 정리하고 분석해 기업의 의사결정에 활용하는 일련의 프로세스를 말한다. 즉, 기업의 사용자가 더 좋은 의사결정을 하도록 데이터 수집, 저장, 분석, 접근을 지원하는 응용시스템과 기술인 것이다.
- 데이터를 통합/분석하여 기업 활동에 연관된 의사결정을 돕는 프로세스 ★
-가트너의 정의 : '여러 곳에 산재되어 있는 데이터를 수집하여 체계적이고 일목요연하게 정리함으로써 사용자가 필요로 하는 정보를 정확한 시간에 제공할 수 있는 환경'★
#BA (Business Intelligence) ★
- 데이터와 통계를 기반으로 성과에 대한 이해와 비즈니스 통찰력에 초점을 준 분석 방법
- 경영 의사결정을 위한 통계적이고 수학적인 분석에 초점을 둔 기법 ★
- 사전에 예측하고 최적화하기 위함
- BI 보다 진보된 형태
1-2. 데이터의 가치와 미래
1-2-1. 빅데이터의 이해
#빅데이터의 정의
(1) 3V
- Volume (양): 데이터의 규모 측면
- Variety (다양성): 데이터의 유형과 소스 측면
- Velocity (속도): 데이터의 수집과 처리 측면
(2) 데이터 자체 뿐 아니라 처리, 분석 기술적 변화까지 포함되는 중간 범위의 정의가 있다.
- 새로운 처리, 저장, 분석 기술 및 아키텍처
- 클라우드 컴퓨팅 활용
(3) 인재, 조직 변화까지 포함해 넓은 관점에서의 빅데이터에 대한 정의가 있다.
- 새로운 인재 필요
- 데이터 중심 조직
(3) 그밖의 정의
- 빅데이터는 일반적인 데이터베이스 소프트웨어로 저장, 관리, 분석할 수 있는 범위를 초과하는 규모의 데이터다. ★
- 빅데이터는 다양한 종류의 대규모 데이터로부터 저렴한 비용으로 가치를 추출하고 데이터의 초고속 수집, 발굴, 분석을 지원하도록 고안된 차세대 기술 및 아키텍처다. ★
#빅데이터의 출현배경 ★
- 빅데이터 현상은 없었던 것이 새로 등장한 것이 아니라 기존의 데이터, 처리방식, 다루는 사람과 조직 차원에서 일어나는 "변화"를 말한다.
(1) 산업계 - 고객 데이터 축적
- 양질 전환 법칙 + 기술 -> 거대 가치 창출
(2) 학계 - 거대 데이터 활용 과학 확산
(ex) 인간 게놈 프로젝트
(3) 관련 기술 발전 (디지털화, 통신 기술, 저장 기술, 인터넷 보급, 모바일 혁명, 클라우드 컴퓨팅)
- 디지털화 : 데이터의 생산, 유통, 저장의 편리성 개선
- 압축 기술 발전 -> 디지털화 비용 감소
- 통신 기술 발전 : M2M, IoT
- 저장 기술 발전 : 데이터 저장 비용 감소
- 인터넷 발전 : 인터넷의 사업모델 측면 - 광고
- 서비스 제공, 사용자 정보를 기업들에게 제공
- 사용자 로그 (log) 정보 -> 사용자 특성 정교하게 파악
- 모바일 혁명 : SNS 통한 감정 데이터 표출, 상황 (context) 정보 양산 (예: 트위터, 페이스북 등 SNS의 급격한 확산) ★
- 클라우드 컴퓨팅 : 빅데이터 처리 비용 감소 ★
- 클라우드 분산 병렬 처리 컴퓨팅, 대용량 데이터 처리 비용을 줄임 (예: 하둡)
#빅데이터의 출현에 따른 변화
- 기존 방식으로는 얻을 수 없었던 통찰 및 가치 창출. 사업방식, 시장, 사회, 정부 등에서 변화와 혁신 주도
- 사용자 로그(log) 정보 (사용자가 인터넷에 접속한 시간과 정보, 검색기록 등)에 대한 프로파일링이 이루어지기 시작하면서 아이덴티티가 뚜렷해지고 사용자와 광고를 매칭하는 정확도도 향상
#데이터의 가치 측정이 어려운 이유 ★☆
- 데이터의 재사용이 일반화되면서 특정 데이터를 언제 누가 사용했는지 알기 힘들기 때문
- 빅데이터는 기존에 존재하지 않던 가치를 창출하기 때문
- 분석 기술의 발전으로 과거의 분석이 불가능했던 데이터를 분석할 수 있게 되었기 때문
#빅데이터에 거는 기대를 잘 표현한 비유
산업혁명의 석탄, 철 | 제조업 뿐 아니라 서비스 분야의 생산성을 획기적으로 끌어올려 사회/경제/문화 전반에 혁명적 변화를 가져올 것으로 기대 |
21세기 원유 | 경제 성장에 필요한 정보를 제공함으로써 생산성을 한 단계 향상시키고 기존에 없던 새로운 범주의 산업을 만들어 낼 것으로 전망 |
렌즈 | 렌즈를 통해 현미경이 생물학에 미쳤던 영향만큼 데이터가 산업 발전에 영향을 미칠 것 |
플랫폼 | 다양한 서드파티 비즈니스에 활용되면서 플랫폼 역할을 할 것으로 전망 ex) kakao , facebook |
- 빅데이터는 차세대 산업혁명에서 석탄과 철 역할을 할 것으로 기대된다. 제조업 뿐 아니라 서비스 분야의 생산성을 획기적으로 끌어올려 사회·경제·문화·생활 전반에 혁명적 변화를 가져올 것으로 기대된다.
- 빅데이터는 21세기의 원유에 비유된다. 우리가 살고 있는 사회 저변을 떠받치는 에너지원인 원유처럼 경제 성장에 필요한 정보를 제공함으로써 산업 전반의 생산성을 한 단계 향상시키고, 기존에 없던 새로운 범주의 산업을 만들어낼 것으로 전망된다.
- 렌즈를 통해 현미경이 생물학 발전에 미쳤던 영향만큼이나 데이터가 산업 발전에 영향을 미칠 것으로 기대된다.
예) 구글의 Ngram Viewer
- 빅데이터는 플랫폼 역할을 할 것으로 기대된다. 최근에는 다양한 서드파티 비즈니스에 빅데이터가 활용되면서 플랫폼 역할을 할 것으로 전망
#빅데이터가 만들어 내는 본질적인 변화 ★
- 사전처리에서 사후처리 시대로: 필요한 정보만 수집하고 필요하지 않은 정보는 버리는 시스템에서 가능한 한 많은 데이터를 모으고 그 데이터를 다양한 방식으로 조합해 숨은 정보를 찾아낸다.
- 표본조사에서 전수조사로: 표본을 조사하는 기존의 지식 발견 방식이 데이터 수집 비용의 감소와 클라우드 컴퓨팅 기술의 발전으로 인해 전수조사로 변화하게 된다. 이에 따라 샘플링이 주지 못하는 패턴이나 정보를 찾을 수 있게 된다. ★
- 질보다 양으로: 데이터가 지속적으로 추가될 때 양질의 정보가 오류보다 많아져 전체적으로 좋은 결과 산출에 긍정적인 영향을 미친다는 추론에 바탕을 두고 변화된다.
- 인과관계에서 상관관계로: 상관관계를 통해 특정 현상의 발생 가능성이 포착되고, 그에 상응하는 행동을 하도록 추천되는 일이 점점 늘어나 데이터 기반의 상관관계 분석이 주는 인사이트가 인과관계에 의해 미래 예측을 점점 더 압도해 가는 시대가 도래하게 될 것으로 전망된다.
#빅데이터 활용 3요소
데이터 | 모든 것의 데이터화 |
기술 | 진화하는 알고리즘 , 인공지능 |
인력 | 데이터 사이언티스트 , 알고리즈미스트 |
#산업별 분석 애플리케이션
산업 | 일차원적 분석 애플리케이션 |
금융 서비스 | 신용점수 산정 , 사기 탐지 , 가격 책정 , 프로그램트레이딩 , 클레임 분석, 고객 수익성 분석 |
소매업 | 판촉, 매대 관리 , 수요 예측 , 재고 보충 , 가격 및 제조 최적화 |
제조업 | 공급사슬 최적화, 수요예측 , 재고 보충 , 보증서 분석 , 맞춤형 상품 개발 |
에너지 | 트레이딩, 공급/수요 예층 |
온라인 | 웹 매트릭스 , 사이트 설계 , 고객 추천 |
#데이터의 유형 ★
유형 | 내용 | 예시 |
정형 데이터 | - 형태가 있으며 ,연산 가능 , 주로 관계형 데이터베이스에 저장됨 - 데이터 수집 난이도가 낮고 형식이 정해져 있어 처리가 쉬움 |
관계형 데이터베이스 , csv , 스프레드 시트, ERP , CRM Transcation data , Demand Forecast |
반정형 데이터 | - 형태(스키마, 메타데이터)가 있으며 , 연산이 불가능, 주로 파일로 저장됨 - 보통 API 형태로 제공되기 때문에 데이터 처리기술(파싱)이 요구됨 |
XML , HTML , JSON, e-mail , report , social media , blogs and news |
비정형 데이터 | - 형태가 없으며, 연산이 불가능 , 주로 NoSQL에 저장됨 - 데이터 수집 난이도가 높으며 처리가 어려움 |
소셜데이터, 영상, 이미지 , 음성 , 텍스트(word, pdf ), machine data |
- 메타데이터 : 데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해주는 데이터이다. 데이터에 대한 데이터이다. ★
- 인덱스 : 데이터베이스 내의 데이터를 신속하게 정렬하고 탐색하게 해주는 구조. 원하는 형태의 배열과 찾아보기를 가능하게 해주는 기능 ★
#데이터웨어하우스 ★
- 기업내의 의사결정지원 어플리케이션을 위한 정보 기반을 제공하는 하나의 통합된 데이터 저장 공간
- 재무, 생상, 운영 등과 같이 특정 조직의 특정 업무 분야에 초점을 맞춰 구축된다.
- *ETL은 주기적으로 내부 및 외부 데이터베이스로부터 정보를 추출하고 정해진 규약에 따라 정보를 변환한 후에 데이터웨어하우스에 정보를 적재한다.
- 데이터 웨어하우스의 4가지 특징 - 주제지향성, 통합성, 비휘발성, **시계열성.
*ETL(Extraction, Transformation and Load) ★
- Extraction: 데이터 원청 소스에서 데이터 획특
- Transformation: 데이터 클렌징, 형식변환, 표준화, 통합
- Load: 특정 목표 시스템에 적재
**데이터웨어하우스의 시계열성★
- 데이터웨어하우스에서 관리하는 데이터들은 수시적인 갱신이나 변경이 발생할 수 없다.
#데이터웨어하우스 vs 테이터베이스
특징 |
Data Warehouse |
Database |
적합한 워크로드 |
분석, 보고, 빅데이터 |
트랜잭션 처리 |
데이터 원본 |
여러 소스로부터 수집되고 정규화된 데이터 |
트랜잭션 시스템과 같이 단일 소스에 있는 그대로 캡처한 데이터 |
데이터 캡처 |
대개 미리 결정된 대량 배치 일정에 따른 대량 쓰기 작업 |
트랜잭션 처리량을 최대화할 수 있도록 새로운 데이터가 사용할 수 있어 지속적인 쓰기 작업에 최적화 됨 |
데이터 정규화 |
스타 스키마 또는 눈송이 스키마와 같이 비정규화된 스키마 |
고도로 정규화된 정적 스키마 |
데이터 스토리지 |
컬럼 방식 스토리지를 사용하여 간단한 액세스 및 고속 쿼리 성능에 대해 최적화 |
단일 행 지향 물리적 블록에 대한 고도의 처리량 쓰기 작업에 최적화 |
데이터 액세스 |
I/O를 최소화하고 데이터 처리량을 최대화하도록 최적화 |
대량의 소규모 읽기 작업 |
1-2-2. 비즈니스 모델
#비즈니스 모델
- 기업이 어떤 제품이나 서비스를 어떻게 소비자에게 제공하고 어떻게 마케팅하며 어떻게 돈을 벌 것인지에 대한 계획 또는 사업아이디어
#비즈니스 모델 캔버스(Business Model Canvas) ★
- 비즈니스 모델을 일목묘연하게 보여주는 그래픽 템플릿
- 9개로 구성된 중요한 비즈니스 영역/블록들의 유기적인 연견을 통해 기업이 어떻게 수익을 창출하는지, 즉 가치를 창출하고 전달하고 획득하는 원리를 9가지 요소로 분석
① Customer Segments(고객 세그먼트)
- 가치를 전달할 대상인 고객에 대해 분석이 이뤄지는 부분
② Value Propositions(가치 제안)
- 고객의 니즈를 찾고, 해당 니즈에 대해 어떤 형태로 고객을 만족시킬 것인지에 대한 부분
- 고객의 니즈를 찾기 위해서는 고객이 처한 상황을 알아야하고, 해결할 수 있는 창의적인 방법이 필요
- 효과적으로 니즈를 충족시키기 위한 형태를 만드는 것도 중요
③ Channel(채널)
- 고객과 기업의 의사소통 방법
- 기업이 고객니즈를 충족시키기 위해 가치를 전달할 방법
- 고객 세그먼트에 따라 어떤 채널을 통해 가치를 전달할 것인지, 어떤 채널을 사용해야 고객에게 효과적으로 가치를 전달하고 기업 입장에서는 수익을 극대화할 수 있는지에 대한 부분
④ Customer Relationships(고객 관리)
- 채널을 통해 고객과의 관계를 어떻게 만들 것인가에 해당하는 부분
- 새로운 고객 확보, 기존 고객 유지 → 수익을 끌어올리기 위해 고객 관계는 중요하다.
⑤ Key Resources(핵심 자원)
- 고객에게 가치를 전달하기 위한 필수적인 자원[채널/고객관계/수익원을 위한 자원이 포함]
- 자원의 종류에는 물적자원[H/W], 지적자산[저작권, 브랜드 등], 인적자원, 재무자원이 있다.
⑥ Revenue Streams(수익원)
- 고객에게 가치를 전달하고 기업이 받는 수익
- 다양한 수익원을 만들 수 있지만 고객이 어떻게 지불하기 원하는지에 대한 것과 기업은 어떤 수익원을 통해 최대의 수익을 창출할 수 있을지 고려
⑦ Key Activities(핵심활동)
- 고객에게 가치를 전달하기 위한 활동들 [채널/고객관리/수익원을 위한 활동들을 의미]
- 예를 들면, S/W개발과 같은 생산활동, 고객이 처한 문제에 대한 해결방안을 제시하는 컨설팅활동, 플랫품/네트워크가 있다.
⑧ Key Partnerships(핵심 파트너)
- 비즈니스 모델의 최적화, 시장의 경쟁상황에 대한 리스크 감소, 자원/활동의 공유 및 획득을 위한 파트너십
⑨ Cost Structure(비용 구조)
- 비즈니스 모델을 운영하는데 발생하는 모든 비용[고정비, 변동비, 규모의 경제, 범위의 경제요소로 구성]
- 가치 주도적 : 가치를 만드는데 초점을 두어 많은 비용이 드는 비용구조
- 비용 주도적 : 최소한의 비용구조
#플랫폼형 비즈니스 모델★
- 상품, 서비스, 기술 등의 기반 위에 다른 이해관계자들이 보완적인 상품, 서비스, 기술을 제공하는 생태계 구축을 목표로 하는 비즈니스 모델
#빅데이터 활용 기본 테크닉 ★
- 연관규칙학습은 어떤 변수들 간에 주목할 만한 상관관계가 있는지를 찾아내는 방법이다.
- 유형분석(분류)은 문서를 분류하거나 조직을 그룹으로 나눌 때, 혹은 온라인 수강생들을 특성에 따라 분류할 때 사용한다.
- 기계 학습은 훈련 데이터로부터 학습한 알려진 특성을 활용해 예측하는 방법이다.
- 회귀 분석은 독립변수와 종속변수의 관계를 파악할 때 사용한다.
- 감정 분석은 특정 주제에 대해 말하거나 글을 쓴 사람의 감정을 분석한다.
- 소셜 네트워크 분석은 특정인과 다른 사람이 몇 촌정도의 관계인가를 파악할 때 사용하고 영향력 있는 사람을 찾아낼 때 사용한다.
- 유전자 알고리즘은 최적화가 필요한 문제의 해결책을 자연선택, 돌연변이 등과 같은 메커니즘을 통해 점진적으로 진화시켜 나가는 방법이다.
테크닉 | 내용 | 예시 |
연관규칙학습 | 변인들 간에 주목할 만한 상관관계가 있는지 찾아내는 방법 | - 커피를 구매하는 사람이 탄산음료를 더 많이 사는가? - 맥주를 사는 사람은 콜라도 같이 구매하는 경우가 많은가? |
유형분석 | 문서를 분류하거나 조직을 그룹으로 나눌 때, 또는 온라인 수강생들을 특성에 따라 분류할 때 사용 | - 이 사용자는 어떤 특성을 가진 집단에 속하는가? - 조직을 그룹으로 나눌 때 또는 온라인 수강생들을 특성에 따라 분류할 때 사용 |
유전자 알고리즘 ★ | 최적화가 필요한 문제의 해결책을 자연선택, 돌연변이 등과 같은 매커니즘을 통해 점진적으로 진화시켜 나가는 방법 ( 적자 생존 ) | - 최대의 시청률을 얻으려면 어떤 프로그램을 어떤 시간대에 방송해야 하는가? |
기계학습 | 훈련 데이터로 부터 학습한 알려진 특성을 활용해 예측하는 방법 | - 기존의 시청 기록을 바탕으로 시청자가 현재 보유한 영화 중에서 어떤 것을 가장 보고 싶어할까? |
회귀분석 | 독립변수를 조작함에 따라, 종속변수가 어떻게 변하는지를 보면서 두 변인의 관계를 파악할 때 사용 | - 구매자의 나이가 구매 차량의 타입에 어떤 영향을 미치는가? ( 인과관계 ) - 고객 만족도가 충성도에 어떤 영향을 미치는가? |
감정분석 (감성분석) ★ | - 특정 주제에 대해 말하거나 글을 쓴 사람의 감정을 분석 (트위터 형용사 분석) - 주관적 평가를 측정 - 주로 문장이나 단어가 분석의 대상 - 특정 주제에 대한 긍정/부정 의견 분석 |
- 새로운 환불 정책에 대한 고객의 평가는 어떤가? |
소셜네트워크분석(사회관계망분석) | 특정인과 다른 사람이 몇 촌 정도의 관계인가를 파악할 때 사용하고, 영향력있는 사람을 찾아낼 때 사용 ( SNA 고객들 소셜 관계 파악 ) |
- 고객들 간 관계망은 어떻게 구성되어 있나? - 고객의 만족도가 충성도에 어떤 영향을 미치는가? |
1-2-3. 위기 요인과 통제 방안
#빅데이터 시대의 위기 요인★
(1) 사생활 침해
- 개인정보가 포함된 데이터를 목적 외에 활용할 경우사생활 침해를 넘어 사회, 경제적 위협으로 변형될 수 있다.
- 빅데이터에 의한 사생활 침해 문제를 해결하기에는 부족한 측면이 많아 좀 더 포괄적인 해결책으로 동의제를 책임제로 바꾸는 방안을 제안한다. → 동의에서 책임으로
- 사생활 침해 사례: 여행 사실을 트윗한 사람의 집을 강도가 노리는 고전적인 사례 발생 → 익명화 기술 발전이 필요하다.
(2) 책임 원칙 훼손
- 빅데이터 기본 분석과 예측 기술이 발전하면서 정확도가 증가한 만큼, 분석 대상이 되는 사람들은 예측 알고리즘의 희생양이 될 가능성도 올라간다. 책임 원칙 훼손 위기 요인에 대한 통제 방안으로는 기존의 책임 원칙을 좀 더 보강하고 강화한다. → 결과 기반 책임 원칙 고수
- 책임 훼손의 사례: 범죄 예측 프로그램을 통해 범죄 전 체포
(3) 데이터 오용
- 빅데이터는 일어난 일에 대한 데이터에 의존하기 때문에 이를 바탕으로 미래를 예측하는 것은 적지 않은 정확도를 가질 수 있지만 항상 맞을 수는 없다. 또한 잘못된 지표를 사용하는 것도 빅데이터의 폐해가 될 수 있다. 대응책으로 알고리즘에 대한 접근권을 제공하여 알고리즘의 부당함을 반증할 수 있는 방법을 명시해 공개할 것을 주문한다. → 알고리즘 접근 허용
- 알고미즈미스트는 데이터오용의 피해를 막아주는 역할을 한다.
1-2-4. 미래의 빅데이터
#미래의 빅데이터
- 데이터 사이언티스트는 빅데이터에 대한 이론적 지식과 숙련된 분석 기술을 바탕으로 통찰력, 전달력, 협업 능력을 두루 갖춘 전문 인력
- 빅데이터의 다각적 분석을 통해 인사이트를 도출하고 이를 조직의 전략 방향 제시에 활용할 줄 아는 기획자 전문가 역할을 할 것으로 기대
1-3. 가치 창조를 위한 데이터 사이언스와 전략 인사이트
1-3-1. 빅데이터 분석과 전략 인사이트
#빅데이터 분석과 전략 인사이트
- 빅데이터 분석도 기존의 분석과 마찬가지로, 데이터에서 가치, 즉 통찰을 끌어내 성과를 창출하는 것이 관건이며, 단순히 빅데이터에 포커스를 두지 말고 분석을 통해 가치를 만드는 것에 집중해야 한다.
- 데이터는 크기의 이슈가 아니라, 거기에서 어떤 시각과 통찰을 얻을 수 있느냐의 문제가 중요하다. 무작정 "빅"한 데이터를 찾을 것이 아니라, 비즈니스의 핵심에 대해 보다 객관적이고 종합적인 통찰을 줄 수 있는 데이터를 찾는 것이 그 무엇보다 중요하다.
- 전략적 통찰력을 가지고 분석하고 핵심적인 비즈니스 이슈에 집중하여 데이터를 분석하고 차별적인 전략으로 기업을 운영하여야 한다.
ex) 아메리칸항공, 사우스웨스트항공
- 일차적인 분석만으로는 큰 변화에 제대로 대응하거나 고객 환경의 변화를 파악하고 새로운 기회를 포착하기 어렵다.
- 일차원적인 분석을 통해 경험을 쌓고 분석의 활용 범위를 넓혀가며 전략적인 분석을 시도해야 한다.
- 사업성과를 견인하는 요소들과 차별화를 꾀할 기회에 대해 전략적 인사이트를 주는 가치기반 분석 단계로 나아가야 한다.
#BI와 비교하여 빅데이터 분석에 대한 키워드★
- Information, Ad hoc Report, Alerts, Clean Data
1-3-2. 전략 인사이트 도출을 위한 필요 역량
#데이터 사이언스의 의미와 역할
- 데이터 사이언스란 데이터로부터 의미있는 정보를 추출해내는 학문이다.
- 데이터 사이언스는 분석뿐 아니라 이를 효과적으로 구현하고 전달하는 과정까지를 포함한 포괄적 개념이다.
#데이터 사이언티스트의 요구역량
(1) 하드스킬(Hard Skill)
- 빅데이터에 대한 이론적 지식: 관련 기법에 대한 이해와 방법론 습득
- 분석 기술에 대한 숙련: 최적의 분석 설계 및 노하우 축적
(2) 소프트 스킬(Soft Skill)
- 통찰력 있는 분석: 창의적 사고, 호기심, 논리적 비판
- 설득력 있는 전달: 스토리텔링, 시각화
- 다분야간 협력: 커뮤니케이션
- 전략적 통찰을 주는 분석은 단순 통계나 데이터 처리와 관련된 지식 외에 스토리텔링, 커뮤니케이션, 창의력, 열정, 직관력, 비판적 시각, 대화능력 등 인문학적 요소가 필요하다.
- 가트너(Gartner)가 정의한 데이터 사이언티스트의 역량 : 데이터 관리, 분석 모델링, 비즈니스 분석, 소프트 스킬 ★
- John Rause : 수학·공학, 인문학적, 호기심 및 행복
#전략적 통찰력과 인문학의 부활 ★
(1) 외부 환경적 측면에서 인문학 열풍의 이유
- 단순세계화 → 복잡 세계화 : 컨버전스(규모의 경제, 표준화) → 디버전스(복잡한 세계, 다양성)
- 상품 생산 → 서비스 : 고장나지 않은 상품 → 뛰어난 서비스
- 생산 → 시장창조 : 공급자 중심 → 무형자산 경쟁(현지사회, 문화)
(2) 창의적 관점, 비즈니스 핵심가치 이해, 고객과 직원의 내면적 요구 이해하는 능력(인문학 역량)
#DBMS의 종류
(1) 관계형 DBMS
- 컬럼과 로우를 이루는 하나 이상의 테이블로 정리
- 키가 존재
(2) 객체지향 DBMS
- 정보를 객체 형태로 표현하는 데이터베이스 모델
(3) 네트워크 DBMS
- 레코드=노드, 관계=간선, 으로 표현되는 그래프 기반 데이터베이스 모델
(4) 계층형 DBMS
- 트리 구조를 기반으로 하는 계층 데이터베이스 모델
#개인정보 비식별화 기법 ★
- 데이터 마스킹 : 데이터를 익명으로 생성 (홍**, **대학)
- 가명처리 : 다른 값으로 대체 (홍국돈, 항곡대학)
- 총계처리 : 총합 값으로 대체 (키 합:750cm, 평균키:185cm)
- 데이터값 삭제 : 개인식별에 중요한 값 삭제 (90년대 생, 남자)
- 데이터 범주화 : 범주의 값으로 변환 (홍씨, 30~40세)
2과목 - 데이터 분석 기획
2-1. 데이터 분석 기획의 이해
2-1-1. 분석 기획 방향성 도출
#분석 기획의 정의와 특징
- 실제 분석을 수행하기에 앞서 분석을 수행할 과제의 정의 및 의도했던 결과를 도출할 수 있도록 하는 방안을 사전에 계획하는 일련의 작업이다.
- 분석 과제 및 프로젝트를 직접 수행하는 것은 아니지만, 어떠한 목표를 달성하기 위하여 어떤 데이터를 가지고 어떤 방식으로 수행할지에 대한 일련의 계획을 수립하는 작업이기 때문에 성공적인 분석 결과를 도출하기 위한 중요한 사전 작업이다.
- 분석을 기획한다는 것은 해당 문제 영역에 대한 전문성 역량 및 수학/통계학적 지식을 활용한 분석 역량과 분석의 도구인 데이터 및 프로그래밍 기술 역량에 대한 균형 잡힌 시각을 가지고 방향성 및 계획을 수립해야 한다는 것을 의미한다.
- 목표 시점 별로는 당면한 과제를 빠르게 해결하는 "과제 중심적인 접근 방식"과 지속적인 분석 내재화를 위한 "장기적인 마스터 플랜 방식"으로 나눌 수 있다.
- 분석기획에서는 문제 해결(Problem solving)을 위한 단기적인 접근 방식과 분석 과제 정의(Problem definition)을 위한 중장기적인 마스터플랜 접근방식을 융합하여 적용하는 것이 중요하다.
- 의미 있는 분석을 위해서는 분석 기술, IT 및 프로그래밍, 분석 주제에 대한 도메인 전문성, 의사소통이 중요하고 분석대상 및 방식에 따른 다양한 분석 주제를 과제 단위 혹은 마스터 플랜 단위로 도출할 수 있어야 한다.
#분석 주제 유형 ★
-4가지 유형을 융합적으로 반복
(1) 최적화(Optimization): 분석 대상 및 분석 방법을 이해하고 현 문제를 최적화 형태로 수행
(2) 솔루션(Solution): 분석 과제는 수행되고, 분석 방법을 알지 못하는 경우 솔루션을 찾는 방식으로 분석 과제 수행
(3) 통찰(Insight): 분석 대상이 불분명하고, 분석 방법을 알고 있는 경우 인사이트 도출 ★
(4) 발견(Discovery): 분석 대상, 방법을 모른다면 발견을 통하여 분석 대상 자체를 새롭게 도출
분석의 대상(What) → 분석의 방법(How)↓ |
Known | Un-Known |
Known | 최적화(Optimization) | 통찰(Insight) |
Un-Known | 솔루션(Solution) | 발견(Discovery) |
#분석 기획 시 고려사항 ★
(1) 가용한 데이터
- 분석을 위한 데이터의 확보가 우선적이며, 데이터의 유형에 따라서 적용 가능한 솔루션 및 분석 방법이 다르기 때문에 데이터에 대한 분석이 선행적으로 이루어져야 한다.
예) 반정형 데이터: 센서 중심으로 스트리밍되는 머신 데이터
(2) 적절한 유스케이스
- 분석을 통해서 가치가 창출될 수 있는 적절한 활용방안과 활용 가능한 유즈케이스의 탐색이 필요하다.
- 기존에 잘 구현되어 활용되고 있는 유사 분석 시나리오 및 솔루션을 최대한 활용하는 것이 중요하다.
(3) 분석과제 수행을 위한 장애요소
- 분석을 수행함에 있어서 발생하는 장애요소들에 대한 사전 계획 수립이 필요하다.
- 일회성 분석으로 그치지 않고 조직의 역량으로 내재화하기 위해서는 충분하고 계속적인 교육 및 활용방안 등의 변화 관리가 고려되어야 한다.
종류 | 정형 데이터 | 반정형 데이터 ★ | 비정형 데이터 |
특징 | - 데이터 자체 분석 가능 - RDB 구조의 데이터 - DB로 관리 |
- 데이터 분석은 가능 - 해석 불가 메타정보를 활용하여 해석해야 함 |
- 데이터 자체 분석 불가 |
예시 |
ERP, CRM, SCM Demand Forecasts |
기기에서 생성된 데이터 Competitor Pricing |
음성, 영상, 문자 이메일 전송 데이터 |
2-1-2. 분석 방법론
#방법론의 적용 업무의 특성에 따른 모델
(1) 폭포수 모델(Waterfall model)
- 단계를 순차적으로 진행하는 방법으로, 이전 단계가 완료되어야 다음 단계로 진행될 수 있으며 문제가 발견되면 피드백 과정이 수행
(2) 나선형 모델(Spiral model) ★
- 대규모 시스템 소프트웨어 개발에 적합 여러 변의 개발 과정을 거쳐 점진적으로 프로젝트를 완성시켜가는 모델
- 반복을 통해 점증적으로 개발하는 방법으로 처음 시도하는 프로젝트에 적용이 용이하지만 관리 체계를 효과적으로 갖추지 못한 경우 복잡도가 상승하여 프로젝트 진행이 어려움
(3) 프로토타입 모델(Waterfall model)
- 폭포수 모델의 단점을 보완하기 위해 점진적으로 시스템을 개발해 나가는 접근 방법으로 고객의 요구를 완전하게 이해하고 있지 못하거나 완벽한 요구 분석의 어려움을 해결하기 위하여 개발의 일부분만을 우선 개발한다. 사용자는 시험 사용을 하게 되고 이를 통해서 요구를 분석하거나 요구 정당성을 점검, 성능을 평가하여 그 결과를 개선 작업에 반영
#방법론의 구성
- 일반적으로 방법론은 계층적 프로세스 모델의 형태로 구성
- 분석방법론의 구성요소: 절차, 방법, 도구와 기법, 템플릿과 산출물 ★
(1) 단계(Phase): 최상위 계층. 프로세스 그룹을 통하여 완성된 단계별 산출물이 생성
(2) 태스크(Task): 단계를 구성하는 단위 활동으로써 물리적 또는 논리적 단위로 품질검토의 항목이 된다.
(3) 스텝(Step): 단계는 기준선으로 설정되어 관리되어야 하며 버전관리 등을 통해 통제
#KDD 분석 방법론
- 프로파일링 기술을 기반으로 데이터로부터 통계적 패턴이나 지식을 찾기 위해 활용할 수 있도록 체계적으로 정리한 데이터 마이닝 프로세스로써 데이터마이닝, 기계학습, 인공지능, 패턴인식, 데이터 시각화 등에서 응용될 수 있는 구조를 가지고 있다.
- 데이터에서 패턴을 찾는 과정을 9개의 프로세스로 제시
(1) 분석 대상 비즈니스 도메인의 이해
(2) 분석 대상 데이터셋 선택과 생성
(3) 데이터에 포함되어 있는 노이즈(Noise)와 이상값(Outlier) 등을 제거하는 정제작업이나 전처리작업 실시
(4) 분석 목적에 맞는 변수를 찾고 필요시 데이터의 차원을 축소하여 데이터를 변경
(5) 분석 목적에 맞는 데이터마이닝 기법 선택
(6) 분석 목적에 맞는 알고리즘 선택
(7) 데이터마이닝 실행
(8) 데이터마이닝 결과에 대한 해석
(9) 데이터마이닝에서 발견된 지식 활용
#KDD 분석 절차
(1) 데이터셋 선택
- 데이터셋 선택에 앞서 분석 대상 비즈니스 도메인의 대한 이해와 프로젝트 목표 설정
- 데이터베이스 또는 원시 데이터에서 분석에 필요한 데이터 선택
- 데이터마이닝에 필요한 목표 데이터 구성
(2) 데이터 전처리
- 추출된 분석 대상용 데이터셋에 포함되어 있는 잡음과 이상치, 결측치를 식별하고 필요시 제거하거나 의미있는 데이터로 재처리하여 데이터셋을 정제
- 데이터 전처리 단계에서 추가로 요구되는 데이터 셋이 있을 경우 데이터셋 선택 프로세스 재실행
(3) 데이터 변환
- 데이터 전처리 과정을 통해 정제된 데이터에 분석 목적에 맞는 변수를 생성, 선택하고 데이터의 차원을 축소하여 효율적으로 데이터마이닝을 할 수 있도록 변경
- 학습용 데이터와 시험용 데이터로 분리
(4) 데이터마이닝
- 학습용 데이터를 이용해서 분석 목적에 맞는 데이터마이닝 기법을 선택하고 적절한 알고리즘을 적용하여 데이터마이닝 작업 실행
- 필요에 따라 데이터 전처리와 데이터 변환 프로세스를 추가로 실행하여 최적 결과 산출
(5) 결과 평가
- 데이터마이닝 결과에 대한 해석과 평가 그리고 분석 목적과의 일치성을 확인
- 활용 방안 마련 및 필요에 따라 이전 프로세스를 반복 수행
#CRISP-DM 방법론
- 계층적 프로세스 모델로써 4개 레벨로 구성된다.
- 최상위 레벨은 여러 개의 단계(Phases)로 구성되고 각 단계는 일반화 태스크(Generic tasks)를 포함한다. 일반화 태스크는 데이터마이닝의 단일 프로세스를 완전하게 수행하는 단위이며, 일반화 태스크는 구체적으로 수행하는 레벨인 세분화 태스크(Specialized tasks)로 구성된다.
- 마지막 레벨인 프로세스 실행(process instances)은 데이터마이닝을 위한 구체적인 실행을 포함한다.
#CRISP-DM 프로세스
- 6단계로 구성되어 있으며, 각 단계는 한 방향으로 구성되어 있지 않고 단계 간 피드백을 통해 단계별 완성도를 높이게 되어 있다.
(1) 업무이해
- 비즈니스 관점에서 프로젝트의 목적과 요구사항을 이해하기 위한 단계로써 도메인 지식을 데이터 분석을 위한 문제정의로 변경하고 초기 프로젝트 계획을 수립하는 단계
- 업무 목적 파악, 상황 파악, 데이터 마이닝 목표 설정, 프로젝트 계획 수립
(2) 데이터 이해
- 분석을 위한 데이터를 수집하고 데이터 속성을 이해하기 위한 과정으로 데이터 품질에 대한 문제점을 식별하고 숨겨져 있는 인사이트를 발견하는 단계이다.
- 초기 데이터 수집, 데이터 기술 분석, 데이터 탐색, 데이터 품질 확인
(3) 데이터 준비
- 분석을 위해 수집된 데이터에서 분석 기법에 적합한 데이터로 편성하는 단계로써 많은 시간이 소요될 수 있다.
- 데이터셋 선택, 데이터 정제, 데이터셋 편성, 데이터 통합
(4) 모델링
- 다양한 모델링 기법과 알고리즘을 선택하고 모델링 과정에서 사용되는 파라미터를 최적화해 나가는 단계이다. 데이터셋이 추가로 필요한 경우 데이터 준비 단계를 반복 수행할 수 있으며, 모델링 결과를 테스트용 데이터셋으로 평가하여 모델 과적합 문제를 확인한다.
- 모델링 기법 선택, 모델 테스트 계획 설계, 모델 작성, 모델 평가 ★
(5) 평가
- 모델링 결과가 프로젝트 목적에 부합하는지 평가하는 단계로 데이터마이닝 결과를 최종적으로 수용할 것인지 판단한다.
- 분석결과 평가, 모델링 과정 평가, 모델 적용성 평가
(6) 전개
- 모델링과 평가 단계를 통해 완성된 모델을 실제 업무에 적용하기 위한 계획을 수립하고 모니터링과 모델의 유지보수 계획을 마련한다. 모델은 적용되는 비즈니스 도메인의 특성, 입력되는 데이터 품질 편차, 운영모델의 평가 기준에 따라 생명주기가 다양하므로 상세한 전개 계획이 필요하다.
- 프로젝트 종료 관련 프로세스를 수행하여 프로젝트를 마무리한다.
- 전개 계획 수립, 모니터링과 유지보수 계획 수립, 프로젝트 종료보고서 작성, 프로젝트 리뷰
#빅데이터 분석 방법론 ★
빅데이터 분석 방법론 |
|
(1) 분석 기획 |
① 비즈니스 이해 및 범위 설정 ② 프로젝트 정의 및 계획 수립 ③ 프로젝트 위험계획 수립 |
(2) 데이터 준비 |
① 필요 데이터 정의 ② 데이터 스토어 설계 ③ 데이터 수집 및 정합성 점검 |
(3) 데이터 분석 |
① 분석용 데이터 준비 ② 텍스트 분석 ③ 탐색적 분석 ④ 모델링 ⑤ 모델 평가 및 검증 |
(4) 시스템 구현 |
① 설계 및 구현 ② 시스템 테스트 및 운영 |
(5) 평가 및 전개 |
① 모델 발전 계획 수립 ② 프로젝트 평가 및 보고 |
- 빅데이터를 분석하기 위한 방법론은 계층적 프로세스 모델로써 3계층으로 구성된다.
- 최상위 계층인 단계에서는 프로세스 그룹을 통하여 완성된 단계별 산출물이 생성되며, 각 단계는 기준선으로 설정되어 관리되어야 한다. 또한 버전관리 등을 통해 통제해야 한다.
- 각 단계는 여러 개의 태스크로 구성. 각 태스크는 단계를 구성하는 단위 활동이며 물리적 또는 논리적 단위로 품질 검토의 항목
- 스텝은 입력자료, 처리 및 도구, 출력자료로 구성된 단위 프로세스이다.
- 빅데이터 분석 방법론은 분석 기획, 데이터 준비, 데이터 분석, 시스템 구현, 평가 및 전개의 5단계로 구성되어 있다.
(1) 분석 기획
- 비즈니스 도메인과 문제점을 인식하고 분석 계획 및 프로젝트 수행계획을 수립한다.
① 비즈니스 이해 및 범위 설정
- 비즈니스에 대한 충분한 이해와 도메인에 대한 문제점을 파악한다. 업무 매뉴얼 및 업무 전문가와의 대화를 통해 프로젝트 범위를 명확하게 하기 위한 구조화된 명세서를 작성하게 된다.
② 프로젝트 정의 및 계획 수립
- 빅데이터 분석 프로젝트 추진 목표를 명확하게 정의하고 구체화하기 위하여 모델의 운영 이미지를 설계. 또한 모델 평가 기준을 설정함으로써 프로젝트 정의를 명확하게 한다.
- 데이터 확보 계획, 빅데이터 분석 방법, 일정계획, 예산계획, 품질계획, 인력구성 계획, 의사소통 계획 등을 포함하는 프로젝트 수행 계획을 작성한다.
- SOW(Statement Of Work) 작성 ★@
: 입력자료 - 중장기 계획서, 빅데이터 분석 프로젝트 지시서, 비즈니스 이해 및 도메인 문제점
: 프로세스 및 도구 - 자료 수집, 비즈니스 이해, 프로젝트 범위 정의서 작성 절차
: 출력자료 - 프로젝트 범위 정의서 SOW
③ 프로젝트 위험계획 수립 ★
- 빅데이터 분석 프로젝트는 데이터 획득 및 활용에 현실적으로 많은 어려움이 있다. 프로젝트를 진행하면서 발생 가능한 모든 위험을 발굴하여 사전에 대응 방안을 수립함으로써 프로젝트 진행의 완전성을 높인다.
- 위험관리: 회피, 전이, 완화, 수용 ★
(2) 데이터 준비
- 비즈니스 요구사항과 데이터 분석에 필요한 원천 데이터를 정의하고 준비하는 단계이다.
① 필요 데이터 정의
- 정형·비정형·반정형 등의 모든 내·외부 데이터를 포함하고 데이터의 속성, 데이터 오너, 데이터 관련 시스템 담당자 등을 포함하는 데이터 정의서를 작성한다. 데이터 정의서를 이용하여 구체적인 데이터 획득 방안을 상세하게 수립함으로써 데이터 획득 과정에서 발생하는 프로젝트 지연을 방지한다.
-★ ERD: ERD는 운영중인 데이터베이스와 일치하기 위해 철저한 변경관리가 필요하다.
② 데이터 스토어 설계
- 프로젝트의 목적을 파악하고 필요한 데이터를 정의한 후 데이터 획득 방안이 수립되면 데이터를 저장하기 위한 전사 차원의 데이터 스토어를 설계한다. 데이터 스토어는 정형·비정형·반정형 데이터를 모두 저장할 수 있도록 설계한다.
정형 데이터 스토어 설계 | 비정형 데이터 스토어 설계 | |
입력자료 | 데이터 정의서, 데이터 획득 계획서 | 데이터 정의서, 데이터 획득 계획서 |
프로세스 및 도구 | 데이터베이스 논리설계, 데이터베이스 물리설계, *데이터 매핑 | 비정형, 반정형 데이터 논리설계, 비정형, 반정형 데이터 물리설계 |
출력자료 | 정형 데이터 스토어 설계서, 데이터 매핑 정의서 | 비정형 데이터 스토어 설계서, 데이터 매핑 정의서 |
*데이터 매핑: 두 개의 서로 다른 데이터 모델이 만들어지고 이러한 모델 간의 연결이 정의되는 프로세스 ★
③ 데이터 수집 및 정합성 점검
- 저장된 데이터는 데이터의 품질을 확보하기 위한 정합성 검증을 실시하고 데이터 거버넌스에 근거하여 메타 데이터 및 데이터 사전 등이 작성되고 적용되고 있는지 주기적으로 확인한다.
(3) 데이터 분석
- 원천 데이터를 분석용 데이터 셋으로 편성하고 다양한 분석 기법과 알고리즘을 이용하여 데이터를 분석하는 단계. 분석 단계를 수행하는 과정에서 추가적인 데이터 확보가 필요한 경우 데이터 준비 단계로 피드백하여 두 단계를 반복 진행한다.
① 분석용 데이터 준비
- 분석에 필요한 데이터셋을 준비하기 위해 프로젝트 목표와 도메인을 이해하고 비즈니스 룰을 확인한다. 전사 차원으로 구축된 데이터 스토어에서 분석용 데이터셋을 추출하고 데이터베이스나 구조화된 데이터 형태로 편성한다.
② 텍스트 분석
- 텍스트로부터 분석 목적에 맞는 적절한 모델을 구축한다. 텍스트 분석 결과는 모델링 태스크와 연동하여 프로젝트 목적에 부합되는 최종 모델을 구축하기도 한다.
③ 탐색적 분석
- 분석용 데이터 셋에 대한 정합성 검토, 데이터 요약, 데이터 특성을 파악하고 모델링에 필요한 데이터를 편성한다.
- EDA는 다양한 데이터 시각화를 활용하여 데이터의 가독성을 명확히 하고 데이터의 형상 및 분포 등 데이터 특성을 파악하는 태스크이다.
④ 모델링★
- 분석용 데이터를 이용한 가설 설정을 통해 통계 모델을 만들거나 기계학습을 이용한 데이터의 분류, 예측, 군집 등의 기능을 수행하는 모델을 만드는 과정
- 기계학습은 지도학습과 비지도학습 등으로 나뉘어 다양한 알고리즘을 적용할 수 있다. 모델링을 효과적으로 진행하기 위해서는 모델링 전에 데이터셋을 훈련용과 시험용으로 분할함으로써 모델의 과적합을 방지하거나 모델의 일반화에 이용된다.
⑤ 모델 평가 및 검증
- 분석 기획 단계에서 작성된 프로젝트 정의서의 평가 기준에 따라 모델의 완성도를 평가한다. 모델 검증은 분석용 데이터 셋이 아닌 별도의 데이터 셋으로 모델의 객관성과 실무 적용성을 검증해야 한다. 검증 스텝에서 요구되는 성능 목표에 미달하는 경우 모델링 태스크를 반복하는 등 모델 튜닝 작업을 수행한다.
(4) 시스템 구현
- 분석 기획에 맞는 모델을 도출하고 이를 운영중인 가동 시스템에 적용하거나 시스템 개발을 위한 사전 검증으로 프로토타입 시스템을 구현한다.
① 설계 및 구현
- 모델링 결과를 시스템으로 구현하기 위해서는 모델링 태스크에서 작성된 알고리즘 설명서와 데이터 시각화 보고서를 이용하여 시스템 및 데이터 아키텍처 설계, 사용자 인터페이스 설계를 진행한다. 가동 중인 시스템에 적용하기 위해서는 운영 시스템에 대한 분석도 수행한다.
- 시스템 설계서를 바탕으로 BI 패키지를 활용하거나 새로운 프로그램 코딩을 통해 시스템을 구축한다.
② 시스템 테스트 및 운영
- 시스템에 구현된 모델은 테스트를 통해 가동 중인 시스템에 적용하고 효율적인 운영을 위한 프로세스를 진행한다.
(5) 평가 및 전개
- 데이터 분석 및 시스템 구현 단계를 수행한 후 프로젝트의 성과를 평가하고 정리(Lesson learned)하거나 모델의 발전 계획을 수립하여 차기 분석 기획으로 전달하고 프로젝트를 종료하는 단계이다.
① 모델 발전 계획 수립
- 모델의 생명 주기를 설정하고 주기적인 평가를 실시하여 모델을 유지보수 하거나 재구축하기 위한 방안을 마련한다. 모델 업데이트를 자동화하는 방안을 수립하여 적용할 수도 있다.
② 프로젝트 평가 및 보고
- 분석 기획 단계에서 설정된 기준에 따라 프로젝트의 성과를 정량적, 정성적으로 평가하고 프로젝트 진행 과정에서 산출된 지식, 프로세스, 출력자료를 지식자산화 하고 프로젝트 최종 보고서를 작성한 후 의사소통 계획에 따라 보고함으로써 프로젝트를 종료한다.
2-1-3. 분석 과제 발굴
#하향식(Top-down) 접근 방식 ★
|
설명 |
(1) 문제 탐색 (Problem discovery) |
· 비즈니스 모델 기반 문제 탐색 · 외부 참조 모델 기반 문제 탐색 · 분석 유즈 케이스 정의 |
(2) 문제 정의 (Problem definition) |
|
(3) 해결방안 탐색(Solution search) |
|
(4) 타당성 검토(Feasibility study) |
(1) 문제 탐색 (Problem discovery)
- 전체적인 관점의 기준 모델을 활용하여 빠짐없이 문제를 도출하고 식별하는 것이 중요하다.
- 문제를 해결함으로써 발생하는 가치에 중점을 두는 것이 중요하다.
· 비즈니스 모델 기반 문제 탐색
- 기업 내·외부 환경을 포괄하는 비즈니스 모델이라는 틀을 활용하여 문제를 발굴하고, 기회를 추가로 도출하는 작업을 수행한다.
- 현재 사업을 영위하고 있는 환경, 경쟁자, 보유하고 있는 역량, 제공하고 있는 시장을 넘어서 거시적 관점의 요인, 경쟁자의 동향, 시장의 니즈 변화, 역량의 재해석 등 새로운 관점의 접근을 통해 새로운 유형의 분석 기회 및 주제 발굴을 수행해야 한다.
- 거시적 관점(STEEP)에서 비즈니스 분석하는 5가지 영역, 경쟁자 확대 관점에서 분석 기회 발굴 3가지 영역★, 시장의 니즈 탐색 관점에서 분석 기회 발굴 3가지 영역★, 역량의 재해석 관점에서 분석 기회 발굴 2가지 영역
· 외부 참조 모델 기반 문제 탐색
- 데이터 분석을 통한 인사이트(Insight)를 도출하고 업무에 활용하는 사례들을 발굴, 자사의 업종 및 업무 서비스에 적용하며 평상시 지속적인 조사와 데이터 분석을 통한 가치 발굴 사례를 정리하여 풀(Pool)로 만들어 둔다면 과제 발굴 및 탐색 시 빠르고 의미있는 분석 기회도출이 가능하다.
· 분석 유즈 케이스 정의
- 현재의 비즈니스 모델 및 유사·동종사례 탐색을 통해서 빠짐없이 도출한 분석 기회들을 구체적인 과제로 만들기 전에 분석 유즈 케이스로 표기하는 것이 필요하다.
- 분석 유즈 케이스는 풀어야 할 문제에 대한 상세한 설명 및 해당 문제를 해결했을 때 발생하는 효과를 명시함으로써 향후 데이터 분석 문제로의 전환 및 적합성 평가에 활용한다.
(2) 문제 정의 (Problem definition)
- 식별된 비즈니스 문제를 데이터의 문제로 변환하여 정의하는 단계이며, 앞서 수행한 문제 탐색의 단계가 무엇을(What) 어떤 목적으로(Why) 수행해야 하는지에 대한 관점이었다면, 본 단계에서는 이를 달성하기 위해 필요한 데이터 및 기법(How)을 정의하기 위한 데이터 분석의 문제로의 변환을 수행
- 분석을 수행하는 당사자 뿐만 아니라 해당 문제가 해결 되었을 때 효용을 얻을 수 있는 최종 사용자 관점에서 이루어져야 한다.
- 데이터 분석 문제가 잘 정의되었을 때 필요한 데이터의 정의 및 기법 발굴이 용이하기 때문에 가능한 정확하게 분석의 관점으로 문제를 재정의할 필요가 있다.
(3) 해결방안 탐색(Solution search)
- 기존 정보시스템의 단순한 보완으로 분석이 가능한지 고려
- 엑셀 등의 도구로 분석이 가능한지 고려
- 하둡 등 분산병렬처리를 활용한 빅데이터 분석 도구를 통해 보다 체계적이고 심도 있는 방안 고려
- 분석 역량을 기존에 가지고 있는 지의 여부를 파악하여 보유하고 있지 않은 경우에는 교육이나 전문 인력 채용을 통한 역량을 확보하거나 분석 전문 업체를 활용하여 과제를 해결하는 방안에 대해 사전 검토를 수행한다.
(4) 타당성 검토(Feasibility study)
- 도출된 분석 문제나 가설에 대한 대안을 과제화하기 위해서는 경제적, 기술적 및 데이터 타당성 분석이 수행되어야 한다.
- 도출된 여러 대안 중에서 평가 과정을 거쳐 가장 우월한 대안을 선택
- 도출한 데이터 분석 문제 및 선정된 솔루션 방안을 포함
- 분석과제 정의서의 형태로 명시하는 후속작업을 시행
- 프로젝트 계획의 입력 물로 활용
#상향식(Bottom-up) 접근 방식
(1) 기존 하향식 접근법의 한계를 극복하기 위한 분석 방법론
- 하향식 접근 방식은 문제의 구조가 분명하고 문제를 해결하고 해결책을 도출하기 위한 솔루션 도출에는 유효하지만 새로운 문제의 탐색에는 한계가 있다.
- 따라서 기존의 하향식 접근 방식은 최근 복잡하고 다양한 환경에서 발생하는 문제에는 적합하지 않을 수 있다.
- 통상적인 관점에서는 분석적으로 사물을 인식하려는 "Why"를 강조하지만, 이는 우리가 알고 있다고 가정하는 것이기 때문에 문제와 맞지 않는 솔루션인 경우 오류가 발생할 소지가 있다. 그렇기 때문에, 답을 미리 내는 것이 아니라 사물을 있는 그대로 인식하는 "What" 관점에서 보아야 한다는 것이다.
- 객관적으로 존재하는 데이터 그 자체를 관찰하고 실제적으로 행동에 옮김으로써 대상을 좀 더 잘 이해하는 방식으로의 접근을 수행하는 것이다.
(2) 시행착오를 통한 문제 해결
- 프로토타이핑 접근법은 사용자의 요구사항이나 데이터를 정확히 규정하기 어렵고 데이터 소스도 명확히 파악하기 어려운 상황에서 일단 분석을 시도해보고 그 결과를 확인해가면서 반복적으로 개선해 나가는 방법.
- 하향식 접근방식은 문제가 정형화되어 있고 문제해결을 위한 데이터가 완벽하게 조직에 존재할 경우에 효과적이다.
- 프로토타이핑 방법론은 비록 완전하지는 못하다 해도 신속하게 해결책이나 모형을 제시함으로써 이를 바탕으로 문제를 좀 더 명확하게 인식하고 필요한 데이터를 식별하여 구체화할 수 있게 하는 유용한 상향식 접근 방식.
· 빅데이터 환경에서 프로토타이핑의 필요성
- 문제에 대한 인식 수준
- 필요 데이터 존재 여부의 불확실성
- 데이터 사용 목적의 가변성
(3)디자인 사고(Design thinking)
- 새로운 상품을 개발하거나 전략수립 등 중요한 의사결정을 할 때 가능한 옵션을 도출하는 상향식 접근 방식의 발산(Diverge) 단계와 도출된 옵션을 분석하고 검증하는 하향식 접근 방식의 수렴(Converge) 단계를 반복적으로 수행하며 상호 보완한다.
- 동적인 환경에서 분석의 가치를 높일 수 있는 최적의 의사결정 방식
#비지도 학습과 지도 학습 ☆
구분 | 비지도학습 | 지도학습 |
기법 | 장바구니 분석 군집 분석★ 연관분석 OLAP SOM ★ 주성분 분석(PCA) 기대값 최대화(EM) K-means 기술 통계 및 프로파일링 |
의사결정나무 ★ 인공신경망 ★ 회귀분석★ 로지스틱 회귀분석 ★ K-NN 분류분석★☆ 감성분석★☆ 앙상블★ |
예시 | 고객의 과거 거래 구매 패턴을 분석했다. 고객이 상품을 구매할 때 동시에 구매한 상품을 분석했다. |
대출가능한 고객을 분류했다. 자동차 연비에 영향을 주는 요소를 분석했다. |
(1) 비지도학습
-일반적으로 상향식 접근방식의 데이터 분석 비지도 학습 방법에 의해 수행된다.
-비지도학습은 데이터분석의 목적이 명확히 정의된 형태의 특정 필드의 값을 구하는 것이 아니라 데이터 자체의 결합, 연관성, 유사성 등을 중심으로 데이터의 상태를 표현하는 것이다.
-장바구니 분석, 군집 분석, 연관분석, OLAP, SOM, 기술 통계 및 프로파일링 등
(2) 비지도학습
- 명확한 목적 하에 데이터를 분석하는 것으로 분류, 추측, 예측, 최적화를 통해 분석을 실시하고 지식을 도출한다.
- 의사결정나무, 인공신경망, 회귀분석, K-NN 등 사례기반 추론
2-1-4. 분석 프로젝트 관리 방안
#분석 과제 관리를 위한 5가지 주요 영역 ★@
(1) 데이터 크기 (Data size)
- 분석하고자 하는 데이터의 양을 고려한 관리 방안 수립이 필요하다.
(2) 데이터 복잡성 (Data complexity)
- 비정형 데이터 및 다양한 시스템에 산재되어 있는 원천 데이터들을 통합해서 분석 프로젝트를 진행할 때는, 초기 데이터의 확보와 통합 뿐 아니라 해당 데이터에 잘 적용될 수 있는 분석 모델의 선정 등에 대한 사전 고려가 필요하다.
(3) 속도 (Speed)
- 분석 결과가 도출되었을 때 이를 활용하는 시나리오 측면에서의 속도를 고려해야 한다.
(4) 분석 복잡성 (Analytic complexity)
- 분석 모델의 정확도와 복잡도는 트레이드 오프 관계가 존재한다. 분석 모델이 복잡할수록 정확도는 올라가지만 해석이 어려워지는 단점이 존재하므로 이에 대한 기준점을 사전에 정의해 두어야 한다.
- 해석이 가능하면서도 정확도를 올릴 수 있는 최적 모델을 찾는 방안을 사전에 모색
(5) 정확도와 정밀성 (Accuracy & Precision) ★
- Accuracy는 모델과 실제 값 사이의 차이가 적다는 정확도를 의미하고 Precision은 모델을 지속적으로 반복했을 때의 편차의 수준으로 일관적으로 동일한 결과를 제시한다는 것을 의미한다.
- 분석의 활용적인 측면에서는 Accuracy가 중요하며, 안정성 측면에서는 Precision이 중요하다. 그러나 Accuracy와 Precision은 Trade-off가 되는 경우가 많기 때문에 모델의 해석 및 적용 시 사전에 고려해야 한다.
#분석 프로젝트의 특성
- 분석가에게는 개별적인 분석 업무 수행뿐만 아니라 전반적인 프로젝트 관리 또한 중요
- 분석 프로젝트에서는 데이터 영역과 비즈니스 영역의 현황을 이해하고 프로젝트의 목표인 분석의 정확도 달성과 결과에 대한 가치 이해를 전달하는 조정자로서의 분석가의 역할이 중요하다. 조정자로서의 분석가가 해당 프로젝트의 관리자까지 겸임하게 되는 경우가 대부분이므로 프로젝트 관리방안에 대한 이해와 주요 관리 포인트를 사전에 숙지하는 것이 필수적이다.
- 분석 프로젝트는 도출된 결과의 재해석을 통한 지속적인 반복 및 정교화가 수행되는 경우가 대부분이므로 프로토타이핑 방식의 애자일 프로젝트 관리방식에 대한 고려도 필요
- 데이터 분석의 지속적인 반복 및 개선을 통해 의도했던 결과에 더욱 가까워지는 형태로 프로젝트가 진행될 수 있도록 적절한 관리 방안 수립이 사전에 필요하다.
#분석 프로젝트 관리방안 ★@
- KS A ISO 21500의 프로젝트 관리 주제 그룹: 통합, 이해관계자, 범위, 자원, 시간, 원가, 리스크, 품질, 조달, 의사소통
- 분석 프로젝트 영역별 주요 관리 항목: 범위, 시간, 원가, 품질, 통합, 조달, 자원, 리스크, 의사소통, 이혜관계자
- 분석 프로젝트의 최종 산출물이 보고서 또는 시스템인지에 따라 프로젝트 관리에 차이가 있다.
범위(Scope) | 분석 기획단계의 프로젝트 범위가 분석을 진행하면서 데이터의 형태와 양 도는 적용되는 모델의 알고리즘에 따라 범위가 빈번하게 변경됨.분석의 최종 결과물이 분석 보고서 형태인지 시스템인지에 따라서 투입되는 자원 및 범위가 크게 변경되므로 사전에 충분한 고려가 필요함. |
시간(Time) | 데이터 분석 프로젝트는 초기에 의도했던 모델이 쉽게 나오지 않기 때문에 지속적으로 반복되어 많은 시간이 소요될 수 있음. 분석 결과에 대한 품질이 보장된다는 전제로 Time Boxing 기법으로 일정관리를 진행하는 것이 필요함. ★ |
원가(Cost) | 외부 데이터를 활용한 데이터 분석인 경우 고가의 비용이 소요될 수 있으므로 사전에 충분한 조사가 필요함.오픈 소스 도구 외에 프로젝트 수행 시 의도했던 결과를 달성하기 위하여 상용 버전의 도구가 필요할 수 있음. |
품질(Quality) | 분석 프로젝트를 수행한 결과에 대한 품질목표를 사전에 수립하여 확정해야 함. 프로젝트 품질은 품질통제와 품질보증으로 나누어 수행되어야 함. 품질을 평가하기 위해서 SPICE를 활용할 수 있다. ★ |
통합(Integration) | 프로젝트관리 프로세스들이 통합적으로 운영될 수 있도록 관리함. |
조달(procurement) | 프로젝트 목적성에 맞는 외부 소싱을 적절하게 운영할 필요가 있음.PoC형태의 프로젝트는 인프라 구매가 아닌 클라우드 등의 다양한 방안을 검토할 필요가 있음. |
자원(Resource) | 고급 분석 및 빅데이터 아키텍쳐링을 수행할 수 있는 인력의 공급이 부족함로 프로젝트 수행 전 전문가 확보 검토 필요 |
리스크(Risk) | 분석에 필요한 데이터 미확보로 분석 프로젝트 진행이 어려울 수 있어 관련 위험을 식별하고 대응방안을 사전에 수립해야 함.데이터 및 분석 알고리즘의 한계로 품질목표를 달성하기 어려울 수 있어 대응 방안을 수립할 필요가 있음. |
의사소통(Communication) | 전문성이 요구되는 데이터 분석의 결과를 모든 프로젝트 이해관계자가 공유할 수 있도록 해야 함.프로젝트의 원활한 진행을 위한 다양한 의사소통체계 마련 필요. |
이해관계자(Stakeholder) | 데이터 분석 프로젝트는 데이터 전문가, 비즈니스 전문가, 분석 전문가, 시스템 전문가 등 다양한 전문가가 참여하므로 이해관계자의 식별과 관리가 필요함. |
2-2. 분석 마스터 플랜
2-2-1. 마스터플랜 수립 프레임워크
#분석 마스터 플랜 수립 프레임 워크
- 데이터 기반 구축을 위해 분석 과제를 대상으로 전략적 중요도, 비즈니스 성과 및 ROI, 분석 과제 실행의 용이성 등 다양한 기준을 고려해 적용 우선순위를 설정한다.
- 업무 내재화 적용 수준, 분석 데이터 적용 수준, 기술 적용 수준 등 분석 적용 범위 및 방식에 대해 종합적으로 고려하여 데이터 분석 구현을 위한 로드맵을 수립한다.
- ★ISP(Information Strategy Planning): 기업의 경영목표 달성에 필요한 전략적 주요 정보를 포착하고, 주요 정보를 지원하기 위해 전사적 관점의 정보 구조를 도출하며, 이를 수행하기 위한 전략 및 실행 계획을 수립하는 전사적인 종합추진 계획이다. 정보 기술 또는 정보시스템을 전략적으로 활용하기 위해 조직 내·외부 환경을 분석하여 기회나 문제점을 도출하고 사용자의 요구사항을 분석하여 시스템 구축 우선순위를 결정하는 등 중장기 마스터 플랜을 수립한다.
- 분석 마스터 플랜: 일반적인 ISP 방법론을 활용하되 데이터 분석 기획의 특성을 고려하여 수행하고 기업에서 필요한 데이터 분석 과제를 빠짐없이 도출한 후 과제의 우선순위를 결정하고 단기 및 중·장기로 나누어 계획을 수립한다.
#우선순위 평가 방법 및 절차
- 정의된 데이터 과제에 대한 실행 순서를 정하는 과정이다.
- 업무 영역별로 도출된 분석 과제를 우선순위 평가기준에 따라 평가하고, 과제 선행의 선·후행 관계를 고려하여 적용 순위를 확정.
- 최근에 새롭게 생성되는 비정형 데이터와 기존의 정형 데이터가 결합되어 분석됨으로써 새로운 가치(Value)가 창출된다는 점에서 빅데이터를 4V로 정의하기도 한다.
#ROI 관점에서 빅데이터의 핵심 특징
(1). 투자비용(Investment) 요소
- Volume, Variety, Velocity
(2) 비즈니스 효과(Return) 요소 ★
- 가치(Value): 분석 결과를 활용하거나 실질적인 실행을 통해 얻게 되는 비즈니스 효과 측면의 요소라고 볼 수 있다. 이는 기업의 데이터 분석을 통해 추구하거나 달성하고자 하는 목표 가치라고 정의할 수 있다.
#데이터 분석 과제를 추진할 때 고려해야 하는 우선순위 평가 기준 ★
(1) 시급성 ★
- 전략적 중요도와 목표 가치에 부합하는지에 따른 시급성이 가장 중요한 기준이다. 시급성의 판단 기준은 전략적 중요도가 핵심이며, 이는 현재의 관점에서 전략적 가치를 둘 것인지 미래의 중장기적 관점에서 전략적인 가치를 둘 것인지를 고려하고, 분석 과제의 목표가치(KPI)를 함께 고려하여 시급성 여부를 판단할 수 있다.
(2) 난이도
- 데이터를 생성, 저장, 가공, 분석하는 비용과 현재 기업의 분석 수준을 고려한 난이도 역시 중요한 기준이다. 난이도는 현 시점에서 과제를 추진하는 것이 적용 비용 측면과 범위 측면에서 바로 적용하기 쉬운 것인지 또는 어려운 것인지에 대한 판단 기준으로서, 데이터 분석의 적합성 여부를 본다.
- 우선순위 선정 기준을 토대로 난이도 또는 시급성을 고려하여 분석 과제를 4가지 유형으로 구분한 뒤, 분석 과제의 적용 우선순위를 결정한다.
- 사분면 영역에서 가장 우선적인 분석 과제 적용이 필요한 영역은 3사분면이다.
- 분석과제의 적용 우선순위 기준을 "시급성"에 둔다면 3→4→2 영역 순이며, 우선순위 기준을 "난이도"에 둔다면 3→1→2 영역 순으로 의사결정을 할 수 있다.
#이행계획 수립
(1) 로드맵 수립
- 분석 과제에 대한 포트폴리오 사분면(Quadrant) 분석을 통해 과제의 1차적 우선순위를 결정한다.
- 분석 과제별 적용범위 및 방식을 고려하여 최종적인 실행 우선순위를 결정한 후 단계적 구현 로드맵을 수립한다.
- 단계별로 추진하고자 하는 목표를 정의
- 추진 과제별 선·후행 관계를 고려하여 단계별 추진 내용을 정렬한다.
(2) 세부 이행계획 수립
- 반복적인 분석 체계는 모든 단계를 반복하기보다 데이터 수집 및 확보와 분석 데이터를 준비하는 단계를 순차적으로 진행하고 모델링 단계는 반복적으로 수행하는 혼합형을 많이 적용하며, 이러한 특성을 고려하여 세부적인 일정 계획도 수립해야 한다.
2-2-2. 분석 거버넌스 체계 수립
#분석 거버넌스 체계 구성 개요 ★
- 마스터 플랜 수립 시점에서 데이터 분석의 지속적인 적용과 확산을 위한 거버넌스 체계는 아래 요소로 구성된다.
(1) 분석 기획 및 관리를 수행하는 조직 ★
(2) 과제 기획 및 운영 프로세스 ★
(3) 분석 관련 시스템
(4) 데이터
(4) 분석 관련 교육 및 마인드 육성 체계 ★
#데이터 분석 수준진단 프레임워크 (6개 분석준비도 + 3개 성숙도)
- 기업들은 데이터 분석의 도입 여부와 활용에 명확한 분석 수준을 점검할 필요가 있다. 데이터 분석 수준진단을 통해 무엇을 준비하고 보완해야 하는지 등 분석의 유형 및 분석의 방향성을 결정할 수 있다.
- 기업의 현재 분석 수준을 명확히 이해하고, 수준진단 결과를 토대로 미래의 목표수준을 정의한다.
- 데이터 분석을 위한 기반 또는 환경이 유사업종 또는 타 경쟁사에 비해 어느 정도 수준이고, 데이터를 활용한 분석의 경쟁력 확보를 위해 어떠한 영역에 선택과 집중을 해야 하는지, 어떤 관점을 보완해야 하는지 등 개선방안을 도출한다.
(1) 분석 준비도
- 기업의 데이터 분석 도입의 수준을 파악하기 위한 진단방법
- 분석 업무 파악, 인력 및 조직, 분석 기법, 분석 데이터, 분석 문화, IT 인프라
- 영역별로 세부 항목에 대한 수준 파악
- 일정 수준이상 충족하면 분석 업무 도입
- 충족하지 못할 시 분석 환경 조성
(2) 분석 성숙도 모델
- 조직의 성숙도 평가 도구: CMMI (Capability Maturity Model Integration) 모델
- 성숙도 수준분류:
· 도입단계: 분석을 막 시작하여 환경, 시스템 구축
· 활용단계: 분석 결과를 실제 업무에 적용
· 확산단계: 전사 차원에서 분석을 관리하고 공유
· 최적화 단계: 분석을 진화시켜서 혁신 및 성과 향상에 기여
- 분석 성숙도 진단 분류: 비즈니스 부문, 조직·역량 부문, IT 부문
(2) 분석 수준 진단 결과
- 기업의 현재 분석 수준을 객관적으로 파악
- 경쟁사의 분석 수준과 비교하여 분석 경쟁력 확보 및 강화를 위한 목표 수준 설정 가능
#분석 준비도(readiness) : 데이터 분석 도입의 수준을 파악을 위한 진단방법
분석 업무 파악 |
인력 및 조직 |
분석기법 |
· 발생한 사실 분석 업무 |
· 분석전문가 직무 존재 |
· 업무별 적합한 분석기법 |
분석 데이터 |
분석 문화 |
IT 인프라 |
· 분석업무를 위한 데이터 |
· 사실에 근거한 의사결정 |
· 운영시스템 데이터 통합 |
#분석 성숙도
(1) 조직의 성숙도 평가 도구
- 능력 성숙도 통합모델 ( CMMI (Capability Maturity Model Integration)): 소프트웨어 개발 및 전산장비 운영 업체들의 업무 능력 및 조직의 성숙도를 평가하기 위한 모델★@
(2) 성숙도 수준 분류
- 도입 → 활용 → 확산 → 최적화
(3) 분석 성숙도 진단 분류
- 비즈니스, 조직 및 역량, IT
도입 | 활용 | 확산 | 최적화 |
분석 시작 환경과 시스템 구축 |
분석결과를 실제 업무적용 |
전사차원에서 분석 광리 + 공유 | 분석을 진화시켜 혁신 및 성과 향상 기여 |
#분석 관점에서의 사분면 분석
- 분석 수준진단 결과를 구분
- 데이터 분석 수준에 대한 목표 방향을 정의
- 유형별 특성에 따라 개선방안을 수립
#분석지원 인프라 방안 수립
- 분석과제 단위별로 별도의 분석시스템을 구축하는 경우, 관리의 복잡도 및 비용의 증대라는 부작용이 나타나게 된다. 따라서 분석 마스터 플랜을 기획하는 단계에서부터 장기적이고 안정적으로 활용할 수 있는 확장성을 고려한 플랫폼 구조를 도입하는 것이 적절하다.
#플랫폼 ★
- 단순한 분석 응용프로그램 뿐만 아니라 분석 서비스를 위한 응용 프로그램이 실행될 수 있는 기초를 이루는 컴퓨터 시스템을 의미한다.
- 분석 플랫폼이 구성되어 있는 경우에는 새로운 데이터 분석 니즈가 존재할 경우 개별적인 분석 시스템을 추가하는 방식이 아닌 서비스를 추가적으로 제공하는 방식으로 확장성을 높일 수 있다.
- 예시: 페이스북은 SNS 서비스로 시작했지만, 2006년 F8 행사를 기점으로 자신들의 소셜그래프 자산을 외부 개발자들에게 공개하고 서드파티 개발자들이 페이스북 위에서 작동하는 앱을 만들기 시작했다. 각종 사용자 데이터나 M2M 센서 등에서 수집된 데이터를 가공, 처리, 저장해 두고, 이 데이터에 접근할 수 잇도록 API를 공개하였다.
#데이터 거버넌스 체계 수립
(1) 데이터 거버넌스 개요
- 전사 차원의 모든 데이터에 대하여 정책 및 지침, 표준화, 운영조직 및 책임 등의 표준화된 관리 체계를 수립하고 운영을 위한 프레임워크 및 저장소를 구축하는 것을 말한다.
- 기업은 데이터 거버넌스 체계를 구축함으로써 데이터의 가용성, 유용성, 통합성, 보안성, 안정성을 확보할 수 있다.
- 데이터 거버넌스는 독자적으로 수행될 수도 있지만 전사 차원의 IT 거버넌스나 EA의 구성요소로써 구축되는 경우도 있다.
- 빅데이터 거버넌스는 이러한 데이터 거버넌스의 체계에 대하여 빅데이터의 효율적인 관리, 다양한 데이터의 관리체계, 데이터 최적화, 정보보호, 데이터 생명주기 관리, 데이터 카테고리별 관리 책임자 지정 등을 포함한다.
- 데이터 거버넌스의 구성요소인 원칙(Principle), 조직(Organization), 프로세스(Process)의 유기적인 조합을 통하여 데이터를 비즈니스 목적에 부합하고 최적의 정보 서비스를 제공할 수 있도록 효과적으로 관리해야 한다.
(2) 데이터 거버넌스 체계
· 데이터 표준화
- 데이터 표준 용어 설정, 명명 규칙(Name rule) 수립, 메타 데이터 구축, 데이터 사전 구축 등의 업무로 구성된다.
· 데이터 관리 체계
- 데이터 정합성 및 활용의 효율성을 위하여 표준 데이터를 포함한 메타 데이터와 데이터 사전의 관리 원칙을 수립한다.
· 데이터 저장소 관리
- 메타데이터 및 표준 데이터를 관리하기 위한 전사 차원의 저장소를 구성한다.
· 표준화 활동
- 데이터 거버넌스 체계를 구축한 후 표준 준수 여부를 주기적으로 점검하고 모니터링을 실시한다.
#데이터저장소 ★@
- 데이터 거버넌스 체계에서 데이터 저장소(Repository) 관리란 메타 데이터 및 표준 데이터를 관리하기 위한 전사 차원의 저장소로 구성된다. 저장소는 데이터 관리 체계 지원을 위한 워크플로우 및 관리용 응용소프트웨어를 지원하고 관리 대상 시스템과의 인터페이스를 통한 통제가 이뤄져야 한다. 또한 데이터 구조 변경에 따른 사전영향평가도 수행되어야 효율적인 활용이 가능하다.
- 사전영향평가
#데이터 조직 및 인력방안 수립
- 빅데이터 등장에 따라 기업의 비즈니스도 많은 변화를 겪고 있는데, 이러한 비즈니스 변화를 인식하고 기업의 차별화된 경쟁력을 확보하는 수단으로서 데이터 과제 발굴, 기술 검토 및 전사 업무 적용계획 수립 등 데이터를 효과적으로 분석·활용하기 위해 기획, 운영 및 관리를 전담할 수 있는 전문 분석조직의 필요성이 제기되고 있다.
- 데이터 분석 조직은 기업의 경쟁력 확보를 위해 데이터 분석의 가치를 발견하고, 이를 활용하여 비즈니스를 최적화하는 목표를 가지고 구성되어야 한다. 기업의 업무 전반에 걸쳐 다양한 분석 과제를 발굴해 정의하고, 데이터 분석을 통해 의미있는 인사이트를 찾아서 실행하는 역할을 수행할 수 있어야 한다.
(1) 분석 조직의 개요
- 데이터 분석 조직은 기업의 경쟁력을 확보하기 위해 데이터 분석의 가치를 발견하고, 이를 활용해 비즈니스를 최적화하는 목표를 갖고 구성되어야 한다.
- 이를 위해 기업의 업무 전반에 걸쳐 다양한 분석 과제를 발굴해 정의해야 한다.
- 데이터 분석을 통해 의미있는 인사이트를 찾아 실행하는 역할을 수행해야 한다.
- 다양한 분야의 지식과 경험을 가진 인력과 업무담당자 등으로 구성된 전사 또는 부서 내 조직으로 구성돼야 한다.
목표 | 기업의 경쟁력 확보를 위하여 비즈니스 질문[Question]과 이에 부합하는 가치[Value]를 갖고 비즈니스를 최적화[Optimization]하는 것 |
역 할 | 전자 및 부서의 분석 업무를 발굴하고 전문적인 기법과 분석도구를 활용해 기업 내 존재하는 빅데이터 속에서 Insight를 전파하고 이를 Action화하는 것 |
구 성 | 기초통계학 및 분석 방법에 대한 지식과 분석 경험을 가지고 있는 인력으로 전사 또는 부서 내 조직으로 구성하여 운영 |
(2) 조직 및 인력 구성 시 고려사항
- 고려사항1. 조직구조
비즈니스 질문을 선제적으로 찾아낼 수 있는 구조인가?
분석 전담조직과 타 부서간 유기적인 협조와 자원이 원활한 구조인가?
효율적인 분석업무를 수행하기 위한 분석 조직의 내부 조직 구조는?
- 고려사항2.
인력 구성 비즈니스 및 IT전문가의 조합으로 구성되어야 하는가?
통계적 기법 및 분석 모델링 전문 인력을 별도 구성해야 되는가?
전사분석업무에 대한 적합한 인력 규모는 어느 정도인가?
- 고려사항3. 분석을 위한 3가지 조직 구조
DSCoE : Data Science Center of Excellence
#데이터 분석을 위한 조직 구조★
집중 구조 | 전사 분석업무를 별도의 분석전담조직이 담당 전략적 중요도에 따라 분석조직이 우선순위를 정해 진행 가능 현업업무 부서의 분석업무와 이중화, 이원화 가능성이 높음 |
기능 구조 | 일반적인 분석 수행 구조 별도 분석조직이 없고 해당 업무부서에서 분석 수행 전사적 핵심분석이 어려우며, 부서현황 및 실적통계 등 과거 실적에 국한된 분석수행 가능성이 높음 |
분산 구조 | 분석조직 인력들을 현업업무로 직접 배치하여 분석업무 수행 전사 차원의 우선순위 수행 분석 결과에 따른 신속한 Action가능 베스트 프렉티스 공유 가능 부서분석 업무와 역할 분담 명확히 해야함 (업무 과다 이원화 가능성) |
- 고려사항4. 분석 조직의 인력 구성
분석 조직(DSCoE) | Director/Magager |
||||
비즈니스 인력 | IT 기술 인력 | 분석전문 인력 | 변화관리 인력(겸직 가능) | 교육 담당 인력 (겸직 가능) |
해당 비즈니스를 잘 이해하고 분석요소를 찾고 협의할 수 있는 능력 | 분석에 필요한 IT기술 동향을 파악하고 필요한 기술 아키텍처를 수립할 수 있는 인력 | 고급 통계 분석기법을 이해하고 다양한 예측 모델링을 설계*검증할 수 있는 인력 | 경영층 대상으로 분석문화 확산을 위한 변화관리를 담당하는 인력 | 분석조직에게 다양한 분석기법에 대한 김도 있는 교육을 할 수 있느 인력 |
#분석 과제 관리 프로세스 수립
- 분석 마스터 플랜이 수립되고 초기 데이터 분석 과제가 성공적으로 수행되는 경우, 지속적인 분석 니즈 및 기회가 분석 과제 형태로 도출될 수 있다. 이런 과정에서 분석 조직이 수행할 주요한 역할 중의 하나가 분석 과제의 기획 및 운영이므로 이를 체계적으로 관리하기 위한 프로세스를 수립해야 한다.
- 과제 발굴 단계에서는 개별 조직이나 개인이 도출한 분석 아이디어를 발굴하고 이를 과제화하여 분석 과제 풀로 관리하면서 분석 프로젝트를 선정하는 작업을 수행한다.
- 과제 수행 단계에서는 분석을 수행할 팀을 구성하고 분석 과제 실행 시 지속적인 모니터링과 과제결과를 공유하고 개선하는 절차를 수행한다.
- 분석 조직이 지속적이고 체계적인 분석 관리 프로세스를 수행함으로써 조직 내 분석 문화 내재화 및 경쟁력을 확보할 수 있다.
- 해당 과제를 진행하면서 만들어진 시사점(Lesson learned)을 포함한 결과물을 풀에 잘 축적하고 관리함으로써 향후 유사한 분석과제 수행 시 시행착오를 최소화하고 프로젝트를 효율적으로 진행할 수 있다.
#분석 교육 및 변화관리
- 빅데이터의 등장으로 많은 비즈니스 영역에서 변화를 가져왔다. 이러한 변화에 보다 적극적으로 대응하기 위해서는 기업에 맞는 적합한 분석 업무를 도출하고, 가치를 높여줄 수 있도록 분석 조직 및 인력에 대한 지속적인 교육과 훈련을 실시하여야 한다. 또한 경영층이 사실 기반 의사결정을 할 수 있는 문화를 정착시키는 등 지속적인 변화관리를 계획하고 수행하여야 한다.
- 분석 교육의 목표는 단순한 툴 교육이 아닌 분석역량을 확보하고 강화하는 것에 초점을 맞추어 진행되어야 한다.
- 분석적인 사고를 업무에 적용할 수 있도록 다양한 교육을 통해 조직 구성원 모두에게 분석기반의 업무를 정착시키고 이를 통해 데이터를 바라보는 관점, 데이터 분석과 활용 등이 기업 문화로 자연스럽게 확대되어야 한다.
#빅데이터기획전문가 ★☆
- 회사 내 기능조직, 비즈니스 분석 또는 BI조직에 소속되어 있으면서 빅데이터 분석 전문 조직과 협력을 통하여 업무에 필요한 분석 모델이나 예측 모델을 Self Service Analytics 도구를 활용하여 구현하는 전문가
3과목 - 데이터 분석
3-0. 데이터 분석 개요
#데이터마이닝
- 대표적인 고급 분석으로 데이터에 있는 패턴을 파악해 예측하는 분석으로 데이터가 크고 정보가 다양할수록 활용하기 유리한 분석
#데이터마이닝의 평가 기준과 시뮬레이션 지표
- 평가 기준: 정확도(정밀도, Accuracy), 디텍트 레이트(Detect Rate), 리프트(Lift)
- 시뮬레이션: Throughout, Average Waiting Time, Average Queue Length, Time in System
#데이터 처리 구조
- 데이터를 분석에 활용하기 위해 데이터웨어하우스와 데이터마트에서 데이터를 가져온다.
- 신규 시스템이나 스테이진 영역의 데이터는 정제되지 않았기 때문에 정제하고 DW나 DM과 결합해야 한다.
- ODS는 운영데이터저장소로 기존 운영시스템의 데이터가 정제된 데이터으이므로 DW나 DM과 결합하여 분석에 활용할 수 있다.
- 스테이지 영역에서 가져온 데이터는 정제되어 있지 않기 때문에 데이터의 전처리를 해서 DW나 DM과 결합하여 사용한다.
#시각화(그래프)
- 탐색적 분석 시 필수적
- SNA(사회연결망 분석)을 할 때 자주 활용된다.
#공간 분석(GIS)
- 공간분석은 공간적 차원과 관련된 속성들을 시각화하는 분석
- 지도 위에 관련된 속성들을 생성하고 크가, 모양, 선 굵기 등으로 구분하여 인사이트를 얻는다.
3-1. R 기초와 데이터 마트
3-1-1. R프로그래밍 기초
#R 소개
(1) R 소개
- R은 오픈소스 프로그램으로 통계, 데이터마이닝을 위한 언어이다.
- 윈도우, 맥, 리눅스 OS에서 사용 가능하다.
- 객체 지향 언어이며 함수형 언어이다. 즉, 통계 기능뿐만 아니라 일반 프로그래밍 언어처럼 자동화하거나 새로운 함수를 생성하여 사용 가능
- 객체 지향 언어는 필요한 부분을 프로그래밍으로 골라 추출하여 활용이 가능하다.
- 함수형 언어는 깔끔하고 단축된 코드, 매우 빠른 수행 속도, 디버깅 노력 감소, 병렬 프로그래밍의 전환이 용이하다는 특징을 가진다.
(1) R Studio
- 메모리에 변수가 어떻게 되어있는 지와 타입이 무엇인지를 볼 수 있고 스크립트 관리와 도큐먼테이션이 편리하다.
- 스크립트용 프로그래밍으로 어렵지 않고 쉽게 자동화가 가능하다.
#R 프로그래밍 기초
(1) 패키지(Package)
- R 함수, 데이터 및 컴파일된 코드의 모임
- 패키지 자동설치: install.packages("패키지")
- 패키지 수동설치: install.packages("패키지명", "패키지 위치")
(2) 스크립트로 프로그래밍 된 파일 실행
- source("파일명.R")
- pdf( ): 그래픽 출력을 pdf 파일로 지정
(3) 배치모드
- 사용자와 인터랙션이 필요하지 않은 방식으로, 매일 실행되어야 하는 프로그램에서 프로세스를 자동화할 때 유용하다.
- 배치파일 실행 명령: batch.R 실행파일이 있는 위치에서 윈도우 창에 "R CMD BATCH batch.R" 명령어 실행
(4) R 명령어
print( ) |
출력 형식을 지정할 필요 없음. 한 번에 하나의 객체만 출력 |
cat( ) |
여러 항목을 묶어서 연결된 결과로 출력. 복합적 데이터 구조(행렬, list 등)를 출력 불가 |
" <-, <<-, =, ->" |
대입 연산자 |
ls( ) |
변수 목록보기 |
rm( ) |
변수 삭제하기 |
c( ) |
벡터 생성하기 |
- 벡터의 원소 중 하나라도 문자가 있으면 모든 원소의 자료형은 문자형태로 변환 ★
지역변수 |
단순히 값을 대입하기만 하면 지역변수로 생성. 함수가 종료되면 지역변수는 삭제됨 |
조건부 실행문 |
if문 |
반복 실행문 |
for문, while문, repeat문 |
전역변수 |
"<<-"를 사용하여 전역변수를 변경할 수 있지만 추천하지 않음 |
수열 |
"시작값 |
반복 |
rep( ) 함수는 숫자나 변수의 값들을 반복해서 생성 가능. |
문자열 붙이기 |
paste( ) 함수 |
문자열 추출 |
substr(문자열, 시작점, 끝점) 함수는 문자열의 특정 부분을 추출 가능 |
논리값 |
T는 True, F는 False |
- 논리연산자
== |
같다 |
!= |
같지 않다 |
<, <= |
작다, 작거나 같다 |
>, >= |
크다, 크거나 같다 |
· 벡터의 원소 선택하기: V[n], n은 원소의 자릿수, 논리형 벡터, 벡터의 이름.
· 벡터의 원소 제외하기: V[-n], n은 제외하고자 하는 원소의 자릿수
(5) 벡터의 연산
[, [[ |
인덱스 |
$ |
요소, 변수 뽑아내기 ★ |
^ |
지수 계산. 예) 5^2 = 25 |
-, + |
단항 마이너스, 플러스 부호 |
: |
수열 생성 |
%/% |
나눗셈 결과의 몫 반환 |
%% |
나눗셈 결과의 나머지 반환 |
%*% |
행렬 곱 |
*, / |
곱하기, 나누기 |
+, - |
더하기, 뻬기 |
! |
논리 부정. !T = F |
& |
논리 "and". |
| |
논리 "or". |
~ |
식(formula) |
->, ->> |
오른쪽 대입 |
= |
오른쪽을 왼쪽으로 대입 |
<-, <<- |
오른쪽을 왼쪽으로 대입 |
? |
도움말 |
(6) 기초통계 명령어
mean(변수) |
변수의 평균 산출 |
sum(변수) |
변수의 합계 산출 |
median(변수) |
변수의 중앙값 산출 |
log(변수) |
변수의 로그값 산출 |
sd(변수) |
변수의 표준편차 산출 |
var(변수) |
변수의 분산 산출 |
cov(변수1, 변수2) |
변수 간 공분산 산출 |
cor(변수1, 변수2) |
변수 간 상관계수 산출 |
length(변수) |
변수의 길이를 값으로 산출 |
#입력과 출력
- 테이블로 된 데이터 파일 읽기 (변수 구분자 포함): read.table("파일이름", sep="구분자")
- CSV 데이터 파일 읽기(변수 구분자는 쉼표): read.csv("파일이름", header=T)
- CSV 데이터 파일로 출력(변수 구분자는 쉼표): write.csv(행렬 또는 데이터프레임, "파일이름", row.names=F)
#데이터 프레임과 데이터 구조★
(1)벡터(Vector)
- 벡터들은 동질적이다: 한 벡터의 원소는 모두 같은 자료형을 가진다.
- 벡터는 위치로 인덱스된다: V[2]는 V벡터의 2번째 원소이다.
- 벡터는 인덱스를 통해 여러 개의 원소로 구성된 하위 벡터를 반환할 수 있다.: V[c(2, 3)]은 V 벡터의 2번째, 3번째 원소로 구성된 하위벡터
- 벡터 원소들은 이름을 가질 수 있다.
기능 |
R 코드 |
벡터에 |
v <- c(v, newItems) v[length(v)+1] <- newItems |
벡터에 |
append(vec, newvalues, after=n) |
요인 생성 |
f <- factor(v) f <- factor(v, levels) |
여러 벡터를 |
comb <- stack(list(v1=v1, v2=v2)) |
벡터 내 |
V[c(1, 3, 5, 7)] V[-c(2, 4)] |
(2)리스트(List)
- 리스트는 이질적이다: 여러 자료형의 원소들이 포함될 수 있다.
- 리스트는 위치로 인덱스된다: L[[2]]는 L 리스트의 2번째 원소이다.
- 리스트에서 하위 리스트를 추출할 수 있다.: L[c(2, 3)]은 L 리스트의 2번째, 3번째 원소로 이루어진 하위 리스트
- 리스트의 원소들은 이름을 가질 수 있다.: L[["Moe"]]와 L$Moe는 둘 다 "Moe"라는 이름의 원소를 지칭한다.
기능 |
R 코드 |
리스트 생성 |
L <- list(x, y, z) L <- list(valuename1=vec, valuename2= data) |
리스트 |
L[[n]]: n번째 원소 L[c(n1, n2, … nk)]: 목록 |
이름으로 |
L[["name"]] L$name |
리스트에서 |
L[["name"]] <- NULL |
NULL 원소를 리스트에서 제거 |
L[sapply(L, is.null)] <- NULL L[is.na(L)] <- NULL |
(3)행렬(Matrix)
- R에서는 차원을 가진 벡터로 인식
기능 |
R 코드 |
행렬 생성 |
matrix(데이터, 행개수, 열개수) e <- matrix(1:20, 4, 5) |
차원 |
dim(행렬) |
대각행렬 |
diag(행렬) |
전치행렬 |
t(행렬) |
역행렬 |
solve(matrix) |
행렬곱 |
행렬 %*% 행렬 |
행 이름 부여 |
rownames(행렬) <- c("행이름") |
열 이름 부여 |
colnames(행렬) <- c("열이름") |
행렬 연산 |
행렬 + 행렬, 행렬 - 행렬 행렬 + 상수, 행렬 - 상수, 행렬*상수 |
행렬에서 행, 열 선택하기 |
vec <- matrix[1, ] vec <- matrix[, 3] |
(4) 단일값(scalars)
- R에서는 원소가 하나인 벡터로 인식/처리
(5) 배열(Arrays)
- 행렬이 3차원 또는 n차원까지 확장된 형태
- 주어진 벡터에 더 많은 차원을 부여하여 생성
(6) 요인(Factors)
- 벡터처럼 생겼지만, R에서는 벡터에 있는 고유값(unique value)의 정보를 얻어 내는데, 이 고유값들을 요인의 수준(level)이라고 한다.
(7) 데이터프레임(Data frame) ★
- 데이터 프레임 리스트의 원소는 벡터 또는 요인이다. 벡터와 요인은 데이터 프레임의 열이다.
- 데이터프레임은 표 형태의 데이터 구조이며, 각 열은 서로 다른 데이터 형식을 가질 수 있다. ★
- 벡터와 요인들은 동일한 길이이다.
- 동일한 벡터와 요인들은 데이터프레임을 사각형으로 만든다.
- 열에는 이름이 있어야 한다.
- 각각의 열에 대해 문자형인지 수치형인지 자동적으로 구분되어 편리
- 데이터프레임은 메모리 상에서 구동된다.
R 코드 |
|
데이터프레임 생성 |
data.frame(벡터, 벡터, 벡터) |
행결합 |
rbind(dfrm1, dfrm2) newdata <- rbind(data, row) ★ |
열결합 |
cbind(dfrm1, dfrm2) newdata <- cbind(data, col) |
데이터프레임 조회 |
dfrm[dfrm$gender="m"] dfrm[dfrm$변수1>4 & dfrm$변수 2>5, c(변수3, 변수4)]
dfrm[grep("문자", dfrm$변수1, ignore.case=T), c("변수2, 변수3")]
subset(dfrm, select=변수, subset=조건) |
데이터 선택 |
lst1[[2]], lst1[2], lst1[2,], lst1[, 2] lst1[["name"]], lst1$name lst1[c("n1", "n2", .., "nk")] |
데이터 병합 |
merge(df1, df2, by="공통열") |
열이름 조회 |
colnames(데이터프레임) |
행, 열 선택 |
subset(dfm, select=열이름) subset(dfm, select=c(열이름1, 열이름2, 열이름n)) subset(dfm, select=열이름, subset(조건)) |
이름으로 열 제거 |
subset(dfm, select=-"열이름") |
열이름 변경 |
colnames(dfm) <- newcolname |
NA 행 삭제 |
df <- na.omit(dfm) |
데이터프레임 |
cbind_dfm <- cbind(dfm1, dfm2) rbind_dfm <- rbind(dfm1, dfm2) |
(8) 데이터 구조 및 자료형 변환
기능 |
R 코드 |
자료형 변환 |
as.character( ) as.integer( )★ (예) as.interger(3, 14)의 값은 3이다. as.logical()★ (예) as.logical(0, 45)의 값은 TRUE이다. |
구조 변환 |
as.data.frame( ) |
(9) 데이터 구조 변경
기능 |
R 코드 |
벡터 → 리스트 |
as.list(vector) |
벡터 → 행렬 |
1열짜리 행렬: cbind(vector) 또는 as.matrix(vector)
1행짜리 행렬: rbind(vector) ★ n * m 행렬: matrix(vector, n, m) |
벡터 → |
1열짜리 데이터프레임: as.data.frame(vector)
1행짜리 데이터프레임: as.data.frame(rbind(vector)) |
리스트 → 벡터 |
unlist(list) |
리스트 → 행렬 |
1열짜리 행렬: as.matrix(list) 1행짜리 행렬: as.matrix(rbind(list)) n * m 행렬: matrix(list, n, m) |
리스트 → |
리스트 원소들이 데이터의 열이면: as.data.frame(list)
리스트 원소들이 데이터의 행이면: rbind(list[[1]], list[[2]]) |
행렬 → 벡터 |
as.vector(matrix) |
행렬 → 리스트 |
as.list(matrix) |
행렬 → |
as.data.frame(matrix) |
데이터프레임 → 벡터 |
1열짜리 데이터프레임: dfm[[1]] 또는 dfm[, 1]
1행짜리 데이터프레임: dfm[1, ] |
데이터프레임 → 리스트 |
as.list(dfm) |
데이터프레임 |
as.matrix(dfm) |
(10) 벡터의 기본 연산
기능 |
R 코드 |
벡터 연산 |
벡터1 + 벡터2 벡터1 - 벡터2 벡터1 * 벡터2 벡터1 ^ 벡터2 |
함수 적용 |
sapply(벡터, 연산함수) |
파일저장 |
write.csv(변수이름, "파일이름") save(변수이름, file=".RData") |
파일읽기 |
read.csv("파일이름") load("파일.R") source("파일.R") |
데이터 삭제 |
rm(변수) rm(list=ls()) |
#데이터 변형
(1) 데이터 변형
기능 |
R 코드 |
요인으로 |
v <- c(24, 23, 52) w <- c(87, 86, 92) f <- factor(c("A", "B", "C") |
벡터를 여러 |
groups <- split(v, f) groups <- split(w, f) groups <- unstack(data.frame(v, f)) |
데이터프레임을 |
sp <- split(Car93$MPG.city, Cars93$Origin) |
리스트의 각 |
lapply(결과를 리스트로 반환) list <- lapply(list, func)
sapply(결과를 벡터 또는 행렬로 반환) vec <- sapply(list, func) |
행렬에 함수 적용 |
m <- apply(mat, 1, func) m <- apply(mat, 2, func) |
데이터프레임에 |
dfm <- lapply(dfm, func) dfm <- sapply(dfm, func) dfm <- apply(dfm, func): 데이터프레임이 동질적인 경우만(모두 문자 or 숫자) 활용 가능. 데이터프레임을 행렬로 변환 후 함수 적용 |
대용량 데이터에 함수 적용 |
cors <- sapply(dfm, cor, y=targetVariable) mask <- (rank(-abs(cors)) <= 10) best.pred <- dfm[, mask] lm(targetVariable ~ bes.pred) |
집단별 함수 적용 |
tapply(vec, factor, func) |
병렬 벡터, |
mapply(factor, v1, …, vk) mapply(factor, list1, …, list k) |
(2) 문자열, 날짜 다루기 ★
기능 |
R 코드 |
문자열 길이 |
nchar("단어") |
문자열 연결 |
paste("word1", "word2", sep="-") |
부분 문자열 추출 |
substr("statistics", 1, 4) |
구분자로 문자열 추출 |
strsplit(문자열, 구분자) |
하위 문자열 대체 |
sub(old, new, string) gsub(old, new, string) |
쌍별 조합 |
mat <- outer(문자열1, 문자열2, paste, sep="") |
현재 날짜 반환 |
Sys.Date( ) |
날짜 객체로 변환 |
as.Date( ) format(Sys.Date(), format=%m%d%y)
(예시) [1] "2016-09-27" [1] "2018-12-01"
|
날짜 조회 |
format(Sys.Date(), "%a") 요일 format(Sys.Date(), "%b") 월 format(Sys.Date(), "%B") 월
format(Sys.Date(), "%d") 일 format(Sys.Date(), "%m") 월 format(Sys.Date(),"%y") 연도 format(Sys.Date(), "%Y") 연도 |
날짜 일부 추출 |
d <- as.Date("2014-12-25") p <- as.POSIXlt(d) p$yday start <- as.Date("2014-12-01") end <- as.Date("2014-12-25") seq(from=start, to=end, by=1) |
#R코드의 결과 예시
(예시1) rbind ★
X<-1:5 #1,2,3,4,5
y<-seq(10,50,10) #10,20,30,40,50
rbind(x,y)
- 2*5 행렬으며, 데이터 프레임 타입의 자료 구조이다 .
-xy[1,] 결과 = 1, 2, 3, 4, 5
-xy[,1] 결과 = 1, 10
3-1-2. 데이터 마트
#데이터 변경 및 요약
(1) 데이터 마트(Data Mart)
- 데이터웨어하우스(DW)와 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서 중심의 데이터 웨어하우스라고 할 수 있다.
- 데이터 마트 내 대부분의 데이터는 DW로부터 복제되지만, 자체적으로 수집될 수도 있으며, 관계형 DB나 다차원 DB를 이용하여 구축한다.
- 동일한 데이터 셋을 활용할 경우 최신 분석기법들을 이용하면 분석가의 역량에서는 분석 효과가 크게 차이가 나지 않는다.
- 데이터 마트를 어떻게 구축하느냐에 따라 분석 효과는 크게 차이난다.
(2) 요약변수
- 수집된 정보를 분석에 맞게 종합한 변수
- 많은 모델에서 공통적으로 사용될 수 있어 재활용성이 높다.
- 합계, 횟수와 같이 간단한 구조이므로 자동화하여 상황에 맞게 또는 일반적인 자동화 프로그램으로 구축이 가능
- 연속형 변수를 범주화하여 사용해도 좋다.
(3) 파생변수
- 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수이다.
- 매우 주관적일 수 있으므로 논리적 타당성을 갖추어 개발해야 한다.
- 파생변수는 특정 상황에만 유의미하지 않도록 대표성을 띄게 생성해야 한다.
(4) plyr을 이용한 데이터 분석 ★
- plyr은 apply 함수에 기반해 데이터와 출력변수를 동시에 배열로 치환하여 처리하는 패키지
-R에서 반복문을 다중으로 사용할 경우 계산 시간이 현저하게 떨어진다는 단점이 있는데 plyr는 multi-core를 사용하여 반복문을 사용하지 않고도 매우 간단하고 빠르게 처리할 수 있는 데이터 처리 함수를 포함하고 있는 패키지다. ★
- split-apply-combine: 데이터를 분리하고 처리한 다음 다시 결합하는 등 필수적인 데이터 처리기능을 제공한다.
(5) data.table을 이용한 데이터 분석
- data.table은 큰 데이터를 탐색, 연산, 병합하는 데 아주 유용하다.
· 기존 data frame 방식보다 월등히 빠른 속도
- 특정 column을 key 값으로 색인을 지정한 후 데이터를 처리한다.
- 빠른 grouping과 ordering, 짧은 문장 지원 측면에서 데이터프레임보다 유용하다.
#데이터 가공
(1) Data Exploration
- 데이터 분석을 위해 구성된 데이터의 상태를 파악한다.
- head( )
- summary( ) : 연속형 변수의 경우 4분위수, 최소값, 최대값, 중앙값, 평균 등을 출력하고 범주형 변수의 경우 각 범주에 대한 빈도수를 출력하여 데이터의 분포를 파악할 수 있게 하는 함수 ★
(2) 변수 중요도
- 모형을 생성하여 사용된 변수의 중요도를 살피는 과정이다.
(3) 변수의 구간화
- 신용평가모형, 고객 세분화 등 시스템으로 모형을 적용하기 위해서는 각 변수들을 구간화해서 구간별로 점수를 적용할 수 있어야 한다.
- bining: 연속형 변수를 범주형 변수로 변형하는 방식. 각각 동일한 개수의 레코드를 50개 이하의 구간에 데이터를 할당하여 구간들을 병합하면서 구간을 줄여나가는 방식의 구간화 방법이다.
#기초 분석 및 데이터 관리
(1) EDA(Exploratory Data Analysis) ★
- 데이터가 가지고 있는 특성을 파악하기 위해 해당 변수의 분포 등을 시각화하여 분석하는 분석 방식
- 데이터 분석에 앞서 전체적으로 데이터의 특징을 파악하고 데이터를 다양한 각도로 접근한다.
- EDA의 4가지 주제: 저항성의 강조, 잔차 계산, 자료변수의 재표현, 그래프를 통한 현시성
(2) 결측값(Missing value)
- 결측값 자체가 의미있는 경우도 있다.
- 결측값이나 이상값을 꼭 제거해야 하는 것은 아니기 때문에 분석의 목적이나 종류에 따라 적절한 판단이 필요
(3) 결측값 처리 방법(Imputation)
단순 대치법(Single Inputation) |
completes analysis: 결측값이 존재하는 레코드를 삭제한다. |
|
평균대치법(mean imputation): 관측 또는 실험을 통해 얻어진 데이터의 평균으로 대치한다 |
- 비조건부 평균 대치법: 관측 데이터의 평균 |
|
- 조건부 평균 대치법: 회귀분석을 활용 |
||
단순확률 대치법(Single Stochastic Imputation): 평균대치법에서 추정량 표준 오차의 과소 추정문제를 보완하고자 고완된 방법으로 Hot-deck 방법, nearest neighbor 방법 등이 있다. |
||
다중 대치법(Multiple Imputation) |
단순 대치법을 한 번 적용하지 않고 m번의 대치를 통해 m개의 가상적 완전 자료를 생성 |
(4) R에서 결측값 처리
- 랜덤포레스트는 결측값이 존재할 경우, 에러 발생: randomForest 패키지의 rfImpute() 함수를 활용하여 결측값을 대치한 후 알고리즘에 적용
complete.cases() |
데이터 내 레코드에 결측값이 있으면 FALSE, 없으면 TRUE 반환 |
is.na() |
결측값이 NA인지 여부를 반환 |
DMwR::centralImputation() |
NA 값에 가운데 값(central value)으로 대치. 연속형 변수 - 중위값, 범주형 변수 - 최빈값 |
DMwR::knnImputation() |
NA 값을 knn 알고리즘을 사용하여 대치. k개 주변 이웃까지의 거리를 고려하여 가중 평균한 값을 사용 |
(5) 이상값(Outlier)
- 의도하지 않게 잘못 입력한 경우
- 의도하지 않게 입력되었으나 분석 목적에 부합되지 않아 제거해야 하는 경우
- 의도하지 않은 현상이지만 분석에 포함해야 하는 경우
- 의도된 불량(fraud)인 경우
(6) 이상값 탐지(detection)
- ESD(Extreme Studentized Deviation): 평균으로부터 K*표준편차만큼 떨어져 있는 값들을 이상값으로 판단하는 방법 ★☆
- (기하평균 - 2.5 * 표준편차 < data < 기하평균 + 2.5 * 표준편차)의 범위를 벗어나는 값
- (-1.5 * IQR(Q3-Q1) < data < 1.5 * IQR)의 범위를 벗어나는 값
(7) 극단값 절단(trimming)
- 기하평균을 이용한 제거
- 상, 하위 5%에 해당되는 데이터 제거
(8) 극단값 조정(winsorizing)
- 상한값과 하한값을 벗어나는 값들을 상한, 하한값으로 바꾸어 활용하는 방법
3-2. 통계분석
3-2-1. 통계학 개론
3-2-1-1. 통계 분석 개요
#통계학의 정의
- 자료로부터 유용한 정보를 이끌어 내는 학문, 유용한 정보를 이끌어내는 작업에는 자료의 수집과 정리, 그리고 이를 해석하는 방법 모두 포함
#통계분석
- 통계분석 방법을 이용해 의사결정하는 과정
- 기술통계: 여러 특성을 수향화하는 통계 분석 방법론(편균, 표준편차, 그래프)
- 통계적 추론(추측통계): 모집단으로부터 추출된 표본의 표본통계량으로부터 모집단의 특성인 모수에 관해 통계적으로 추론하는 통계(모수추정, 가설점정, 예측) ★☆
#표본조사★
(1) 표본 오차(sampling error)
- 모집단을 대표할 수 있는 표본 단위들이 조사 대상으로 추출되지 못함으로서 발생하는 오차
(2) 비표본 오차(non-sampling error)
- 표본오차를 제외한 모든 오차로서 조사과정에서 발생하는 모든 부주의나 실수, 알 수 없는 원인 등 모든 오차
- 조사대상이 증가하면 오차가 커진다.
- 표본값으로 모집단의 모수를 추정할 때 표본오차의 비표본오차가 발생할 수 있다.
(3) 표본 편의(sampling bias)
- 모수를 작게 또는 크게 할 때 추정하는 것과 같이 표본추출방법에서 기인하는 오차
- 표본 편의는 확률화(randomization)에 의해 최소화하거나 없앨 수 있다. ★
- 확률화(randomization): 모집단으로부터 편의되지 않은 표본을 추출하는 절차
- 확률 표본(random sample): 확률화 절차에 의해 추출된 표본
(4) 표본조사의 유의점
- 응답오차, 유도질문 등 표본조사에서 유의해야할 점이다.
#모집단과 표본
- 모딥단은 유한 모집단과 무한 모집단으로 나뉜다. 보통 개념적으로 상정된 모집단은 무한 모집단을 의미한다.
#표본추출의 방법 ★ ☆
- 표본조사를 할 때는 모집단의 정의, 표본의 크기, 조사방법, 조사기간, 표본추출 방법을 명확하게 밝히거나 확인해야 한다.
- 가장 대표적인 방법으로는 단순랜덤추출법, 계통추출법, 집락추출법, 층화추출법 등이 있다. 보통 업무에서는 이 방법들을 혼합사용.
(1) 단순 랜덤 추출법
- 각 원소에 임의 번호 부여 후 -> n개의 번호를 임의 선택 ★
(2) 계통 추출법
- 모집단의 모든 원소에 일련번호 부여 -> 순서대로 나열한 후 k개 씩 n개의 구간으로 나눈 후 , 각 구간에서 하나를 임의로 선택 ★
- 번호를 부여한 샘플을 나열하여 k개씩 n개의 구간을 나누고 첫 구간에서 하나를 임의로 선택한 후에 k개씩 띄어서 표본을 선택하고 매번 k번째 항목을 추출하는 표본 추출 방법★☆
(3) 집락 추출법
- 일부 집락을 랜덤으로 선택 -> 각 집락에서 표본을 임의 선택 ★
(4) 층화 추출법 ★
- 모집단을 성격에 따라 몇 개의 집단 또는 층으로 나누고, 각 집단내에서 원하는 크기의 표본을 무작위로 추출하는 확률적 표본 추출 방법
- 서로 유사한 것끼리 몇 개의 층으로 나눈 후 표본을 랜덤하게 추출 ★
**표본조사 외에 실험으로 자료를 수집할 수도 있다. 특정 목적하에 실험 대상에서 처리를 가한 후 결과를 관측해 자료를 수집
**표본조사는 대상 집단의 일부 추출-> 현상 관측 또는 조사
#자료의 종류
척도 | 순서 | 균등한 간격 | 절대적 존재 |
명목척도 | x | x | x |
서열척도 | o | x | x |
등간척도 | o | o | x |
비율척도* | o | o | o |
*비율척도는 사칙연산이 가능하다.
(1) 질적 자료 (qualitative data)
- 명목 척도 : 어느 집단에 속할 지 - 성별, 출생지 등
- 순서 척도 : 서열관계 , 선택사항이 일정한 순서로 되어 있음 - 선호도
(2) 양적 자료(quantitative data)
- 구간 척도 : 속성의 양을 측정, 절대적인 원점 x , 비율은 별 의미 x - 온도, 지수 등
- 비율 척도 : 절대적 기준인 0값 존재, 사칙연산 가능 , 숫자로 관측되는 일반적인 자료의 특성 - 무게, 나이, 연간소득, 제품 가격 등
**측정 : 표본조사나 실험을 실시하는 과정에서 추출된 원소들이나 실험 단위로부터 주어진 목적에 적합하도록 관측해 자료 얻는 것
**측정방법 : 명목척도, 순서척도, 구간척도, 비율척도
#통계 분석
- 특정한 집단이나 불확실한 현상을 대상으로 자료를 수집해 대상 집단에 대한 정보를 구하고, 적절한 통계 분석 방법을 이용해 의사결정을 하는 과정 = 통계적 추론 : 수집된 자료를 이용해 대상 집단에 대해 의사결정 하는 것
- '대상 집단의 특성값이 무엇일까?' 추측 : 추정
- 가설의 채택여부를 결정 : 가설 검정
- 미래의 불확실성을 해결해 효율적인 의사결정을 하기 위해 수행 : 예측
- 평균, 표준편차, 중위수, 최빈값, %와 같이 숫자로 표현하는 방식 / 막대 그래프 등 그래프로 나타내는 방식
** 기술 통계 : 수집된 자료를 정리, 요약하기 위해 사용되는 기초적인 통계 - 자세한 통계적 분석을 위한 사전단계 역할
#통계 분석 기법 종류
(1) 교차 분석 (Crosstabs Analysis) ★☆
- 범수의 관찰도수에 비교될 수 있는 기대도수를 계산한다.
- 교차분석은 두 문항 모두 범주형 변수일 때 사용하며, 두 변수간 관계를 보기 위해 실시한다.
- 교차분석은 교차표를 작성하여 교차빈도를 집계할 뿐 아니라 두 변수들 간의 독립성 검정을 할 수 있다.
- 기대빈도가 5 미만인 셀의 비율이 20%를 넘으면 카이제곱분포에 근사하지 않으며 이런 경우 표본의 크기를 늘리거나 변수의 수준을 합쳐 셀의 수를 줄이는 방법 등을 사용한다.
(2) 빈도 분석 (Frequency Analysis)
(3) 판별 분석 (Discriminant Analysis)
(4) 요인 분석 (Factor Analysis)
(5) 평균비교 (T-Test)
(6) 군집 분석 (Cluster Analysis)
(7) 회귀 분석 (Regression Analysis)
(8) 분산 분석 (Analysis Variance)
(9) 상관 분석 (Correlation Analysis)
3-2-1-2. 확률 및 확률분포
#확률의 정의
- 특정 사건이 일어날 가능성의 척도
(1) 모든 사건 E의 확률값은 0과 1사이에 있다. 0 <= P(E) <= 1
(2) 전체 집합 Ω의 확률은 1이다. 즉, P(Ω) = 1
(3) 서로 배반인 사건들 E1, E2...의 합집합의 확률은 각 사건들의 확률의 합이다. (배반사건 = 교집합이 공집합인 사건)
**표본공간 : 통계적 실험을 실시할 때 나타날 수 있는 모든 결과들의 집합
** 사건 : 표본공간의 부분집합
**근원 사건 : 오직 한 개의 원소로만 이루어진 사건을 근원사건
**표본공간이 유한 개의 원소로 구성이 되어 있고 근원사건들이 일어날 가능성이 모두 같다면, 사건 E의 확률은 " P(E) = n(E)/ n(Ω) " 즉, 사건 수 / 표본공간의 수 이다.
#조건부 확률과 독립사건
- 조건부 확률 P(B|A) = P(A n B) / P(A) - P(A)>0 일 때만 정의된다.
- P(A n B)=P(A)P(B)이면 , 두 사건이 독립이라는 의미.
- P(B|A)=P(B): 사건 B의 확률은 사건 A가 일어났는 지 여부와 무관하다.
#확률변수와 확률분포
- 특정사건이 일어날 확률은 그 변수가 특정값을 가질 확률로 표현할 수 있다.
- 확률 변수 : 특정값이 나타날 가능성이 확률적으로 주어지는 변수 , 정의역(x값)이 표본 공간, 치역이 실수값
#이산형 확률 변수 ★
- 사건의 확률이 "점" , 확률이 0보다 큰 값을 갖는 점들로 표현 가능
- 각 이산점에 있어서 확률의 크기를 표현하는 함수 → 확률 질량 함수 ★
(1) 베르누이 확률분포 ★
- 결과가 2개만 나오는 경우 (ex. 동전 던지기, 합격/불합격)
- 각 사건이 성공할 확률이 일정하고 전/후 사건에 독립적인 특수한 상황의 확률 분포
(2) 이항분포
(3) 기하분포: 베르누이 시행 n번 반복 시, k번 성공할 확률
(초기하분포: 크기가 N인 모집단이 크기 M짜리 부모집단(A)과 N-M짜리 부모집단(B)으로 나눠져있을 때
n개의 표본을 비복원추출할 때 부모집단 A에서 추출될 표본의 분포)
(4) 포아송분포: 주어진 시간, 공간 내에서 발생하는 사건의 횟수에 대한 확률 분포 ★☆
(5) 다항분포: 이항분포 확장. 3가지 이상의 결과를 가지는 반복 시행에서 발생하는 확률분포
#연속형 확률 변수
- 어떤 0보다 큰 값을 갖는 함수의 면적으로 표현
- 한 점에서의 확률은 0, 구간에서의 확률값 → 확률률밀도함수 ★
(1) 균일분포(일양분포)
(2) 정규분포
(3) 지수분포
(4) t-분포: 두 집단의 평균이 동일한 지 확인하기 위해 검정통계량으로 활용
(5) 카이제곱분포: 모평균, 모분산이 알려지지 않는 모집단의 모분산 가설 검정과 동질성 검정 사용
(6) F-분포: 두 집단 간 분산의 동일성 검정에 사용
이산형 확률 분포 | 연속형 확률 분포 |
베르누이 확률분포 포아송분포 다항분포 초기하분포
|
균일분포 정규분포 ★ 지수분포 t-분포 ★ 카이제곱분포 ★ F-분포 분산분포 |
#확률변수의 기댓값과 분산
- 이상형 확률변수의 기댓값은 각 점에서의 확률값의 합
- 연속형 확률변수의 기댓값은 해당 구간에서의 면적(적분)
#백분위수
- 제 q백분위수 Xq 는 P(X<=Xq)=q/100이며, q는 0과 100사이의 값이다.
3-2-1-3. 추정과 가설검정
#추정과 가설검정 ★
통계적 추론 |
|||
(1) 추정 |
(2) 가설검정 |
||
점추정 |
구간추정 |
- 모수: 통계적 방법론을 통해 알고자하는 대상은 모집단의 확률분포 . 모집단의 특징을 표현하는 값 (예: 평균, 분산, 표준편차, 백분위수 등)
- 통계적 추론: 모집단에서 추출된 표본을 기반으로 모수들에 대한 통계적 추론을 함. → 추정과 가설검정으로 나뉨
- 모집단의 평균(모평균)을 추정하기 위한 추정량으로 표본평균이 대표적 (확률표본의 평균값)
- 모집단의 분산(모분산)을 추정하기 위한 추정량으로 표본분산이 대표적
(1) 점추정 ★
- 가장 참값이라고 여겨지는 하나의 모수의 값을 택하는 것. 모수가 특정한 값일 것 이라고 추정하는 것.
(2) 구간추정
- 모수가 특정한 구간에 있을 것이라는 개념으로 신뢰구간을 추정하는 방법
- 모수의 참값이 포함되어 있다고 추정되는 구간을 결정하는 것이지만, 실제 모딥단의 모수가 신뢰구간에 꼭 포함되어 있는 것은 아니다.★
- 신뢰수준: 90%, 95%, 99%의 확률을 이용하는 경우가 많다.
- 신뢰수준 95%: '주어진 한 개의 신뢰구간에 미지의 모수가 포함될 확률 95%;라는 의미 ★
- 신뢰 구간: 일정한 크기의 신뢰 수준으로 모수가 특정한 구간에 있을 것이라고 선언하는 것★
- 신뢰수준이 높아지면 신뢰수준의 길이는 길어진다. ★
- 표본의 수가 많아지면 신뢰구간의 길이는 짧아진다. ★
- 모집단의 획률분포를 정규분포라 가정할 때, 95% 신뢰수준 하에서 모평균 μ 의 신뢰구간
(예시)
> t.test(chickwts$weight)
One Sample t-test
data: chickwts$weight
t = 28.202, df = 70, # 자유도(degree of freedom)
p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval: # 95%의 신뢰구간(구간추정)
242.8301 279.7896
sample estimates:
mean of x # 점추정량
261.3099
#자유도(degree of freedom)
- 통계적 추정을 할 때 표본자료 중 모집단에 대한 정보를 주는 독립적인 자료 수
- 크기가 n인 표본의 관측값의 자유도는 n-1이다 ★
#가설검정 ★
- 모집단에 대한 귀무가설(H0)과 대립가설(H1)을 설정한 뒤, 표본관찰 또는 실험을 통해 하나를 선택하는 과정
- 귀무가설이 옳다는 전제하에서 관측된 검정통계량의 값보다 더 대립가설을 지지하는 값이 나타날 확률을 구하여 가설의 채택여부 결정한다.
- 독립변수의 기울기(회귀계수)가 0이라는 가정을 귀무가설, 기울기가 0이 아니라는 가정을 대립가설로 놓는다. ★★
- 즉 유의수준을 평가하여 귀무가설을 채택할지 거부할지를 판단한다.★
- 귀무가설(H0) : 대립가설과 반대의 증거를 찾기 위해 정한 가설 (관습적이고 보수적인 주장)
- 대립가설(H1) : 증명하고 싶은 가설 (적극적으로 우리가 입증하려는 주장) ★
- 유의수준(알파a): 오류를 허용할 범위
- 유의확률(p-value): 대립가설이 틀릴 확률 ★
#p-value ★
- 귀무가설이 옳다는 가정하에 얻은 통계량이 귀무가설을 얼마나 지지하는 지를 나타낸 확률이다. ★
- p-value는 귀무가설이 사실인데도 불구하고 사실이 아니라고 판정할 때 실제 확률을 나타낸다. ★
- p-value가 미리 정해놓은 유의수준 값보다 작을 경우 귀무가설은 기각되고 대립가설은 채택된다. ★
- p-값은 0~1 사이의 값을 가지고 있고 P값은 전체 표본에서 하나의 표본이 나올 수 있는 확률이다. ★
- p-값이 작을수록 귀무가설을 기각할 가능성이 높아진다.
- p-값이 유의수준(α)보다 작으면 귀무가설을 기각한다.
#가설검정의 오류 ★
- 제1종 오류와 제2종 오류는 상충관계가 있음
- 제1종 오류의 확률을 0.1, 0.05, 0.01 등으로 고정시킨 뒤, 제2종 오류가 최소가 되도록 기각역을 설정한다.
- 기각역: 귀무가설을 기각하는 통계량의 영역 (대립가설이 맞을 때ㅐ 그것을 받아들이는 확률) ★
- 1종 오류: 귀무가설이 사실임데도 사실이 아니라고 판정 ★
- 2종 오류: 귀무가설이 사실이 아님에도 사실이라고 판정
정확한 사실\가설검정 결과 |
귀무가설(H0)이 사실이라고 판정 |
귀무가설(H0)이 사실이 아니라고 판정 |
귀무가설(H0)이 사실임 |
옳은 결정 |
제 1종 오류(α) ★ |
귀무가설(H0)이 사실이 아님 |
제2종 오류(β) |
옳은 결정 |
#가설검정의 예시
- A나라의 평균수명은 70세라고 통상 알려져 있다. (귀무가설) 실제로 평균 수명이 70세인지 아닌지 검정하고자 한다. 샘플링한 데이터를 t-test를 진행한 결과 p-value가 0.04로 나왔으며, 유의수준 5%에서 검정하라.
- 귀무가설은( A나라의 평균수명의 통념 70세 이다. ) 기각하고 대립가설을 ( A나라의 실제로 평균 수명이 70세가 아니다. ) 채택한다.
- 채택근거는 t-test (두 집단의 평균 차이 확인시 사용)결과 p-value = 0.04로 유의확율인 0.05보다 "작아" 귀무가설은 기각하고, 대립가설을 채택할 수 있다.
#t 검정(t-test)
- 모집단의 분산이나 표준편차를 알지 못할 때 모집단을 대표하는 표본으로부터 추정된 분산이나 표준편차를 가지고 검정하는 방법
- “두 모집단의 평균간의 차이는 없다”라는 귀무가설과 “두 모집단의 평균 간에 차이가 있다”라는 대립가설 중에 하나를 선택할 수 있도록 하는 통계적 검정방법
#검정 통계량
- 우리의 자료로부터 계산하게 되는 값
- 검정 통계량은 모수를 추정하고자 하는 것
- 귀무가설을 기각을 할지 말지는 모수로부터 검정통계랑이 얼마나 떨어져 있는데 따라서 판단한다.
#. 기각역 설정
- θ : 모수
- x : 영가설(의 수치)
- t : 검정통계량(x의 상대적 위치)
- C : 임계값 (t를 검정하기 위한 기준)
(1) 양측 검정 (유의수준 : α/2) ★
- H0 : θ = x
- H1 : θ != x
- 기각역 : P(t < Cl) ~ P(t > Cu) *색칠구간
- 채택역 : Cl < t < Cu
- 유의확률 : P(ㅣtㅣ< α/2 ) * P(t < 0.025) 일 때, H0 기각
* 검정의 편의를 위해 t에 절대값을 적용
(2) 단측 검정(왼쪽) (유의수준 : α)
- H0 : θ >= x
- H1 : θ < x
- 기각역 : P(t < Cl) *색칠구간
- 채택역 : P(t > Cl)
- 유의확률 : P( t < α ) * P(t < 0.05) 일 때, H0 기각, H1 채택
(3) 단측 검정(오른쪽) (유의수준 : α)
- H0 : θ <= x
- H1 : θ > x
- 기각역 : P(Cu < t) *색칠구간
- 채택역 : P(Cu > t)
- 유의확률 : P( t < α ) * P(t < 0.05) 일 때, H0 기각, H1 채택
3-2-1-4. 모수 검정
모수 검정 | 비모수 검정 |
가정된 분포의 모수에 대해 가설 | 가정된 분포X -> "분포의 형태가 동일 or 동일하지 x "같은 분포의 형태에 대해 설정 |
관측된 자료를 이용해 표본평균, 표본분산 등 이용 | 관측값의 절대적인 크기에 의존하지 않는 관측값들의 순위, 차이의 부호 등을 이용 - 부호 검정 - 크루스칼-왈리스 검정 - 맨-휘트니 검정 |
#모수적 검정
- 모집단의 분포에 대한 가정을 하고, 그 가정 하에서 검정통계량과 검정통계량의 분포를 유도해 검정을 실시하는 방법
- 가설의 설정 : 가정된 분포의 모수(모평균, 모분산 등)에 대한 가설 설정
- 검정 실시 : 관측된 자료를 이용해 표본평균, 표본분산 등을 구하여 검정 실시
#비모수적 검정
- 모집단의 분포에 대해 아무 제약을 가하지 않고 검정을 실시하는 검정 방법이다.★
- 비모수적 방법은 모집단에 대한 아무런 정보가 없을 때 사용하는 방법 ★
- 관측 자료가 특정분포를 따른다고 가정할 수 없는 경우에 이용 ★
- 비모수적 방법은 평균과 분산이 없고 평균 값의 차이, 신뢰구간을 구할 수 없다. ★
- 모딥단의 특성을 몇 개의 모수로 결정하기 어려우며 수많은 모수가 필요할 수 있다. ★
- 관측값의 절대적인 크기에 의존하지 않는 관측값들의 순위나 두 관측값 차이의 부호 등을 이용해 검정한다.★
- 가설의 설정 : 가정된 분포가 없으므로, 단지 '분포의 형태'가 동일한지 여부에 대해 가설 설정
- 검정 실시 : 관측값의 순위나 관측값 차이의 부호 등을 이용해 검정 실시 ★
(예) 부호검정, 순위합검정, 부호순위합검정, U검정, 런검정, 순위상관계수 등
#부호 검정(Sign test) ★
- 비모수 검정 방법 ★
- 표본들이 서로 관련되어 있는 경우 짝지어진 두 개의 관찰치들의 크고 작음을 표시하여 그 개수를 가지고 두 분포의 차이가 있는지에 대한 가설을 검증하는 방법
#모분산의 추론 ★
- 표본의 분산은 카이제곱 분포를 따른다.
- 모집단의 변동성 또는 퍼짐의 정도에 관심이 있는 경우 모분산이 추론의 대상이 된다.
- 모집단이 정규 분포를 따르지 않더라도 중심극한정리를 통해 정규모집단으로부터 모분산에 대한 검정을 유사하게 시행할 수 있다.
- 이 표본에 의한 분산비 검정은 두 표본의 분산이 동일한지를 비교하는 검정으로 검정통계량은 *F분포를 따른다.
*F분포 : 두 집단 간 분산의 동일성 검정에 사용 (t분포 : 두 집단의 평균이 동일한 지 확인하기 위해 검정통계량으로 활용)
3-2-2. 기초 통계분석
#기술 통계
- 자료를 요약하는 기초적 통계
- 자료의 특성을 표, 그림, 통계량 등을 사용하여 쉽게 파악할 수 있도록 정리/요약
- 분석에 앞서 데이터의 통계적 수치를 계산해봄으로써, 데이터에 대한 대략적인 이해와 분석의 통찰력을 얻기에 유리하다.
- R에서는 head(data), summary(data), mean(data$column), median(data$column), var(data$column), max(data$column), min(data$column) 등의 함수로 기초통계량을 구해 확인한다.
#분포의 형태에 관한 측도
(1) 왜도
- 분포의 비대칭 정도를 나타내는 측도
- Right-skewed, Prositive-skewed distribution ★
: 오른쪽으로 긴 꼬리를 갖는 분포
: Mode < Median < Mean
- Symmetrical distribution
: Mode = Median = Mean
- Left-skewed, Negative-skewed distribution
: 왼쪽으로 긴 꼬리를 갖는 분포
: Mean < Median < Mode
(2) 첨도
- 분포의 중심에서 뾰족한 정도를 나타내는 측도
#표본을 도표화함으로써 모집단 분포의 개형을 파악하는 방법
(1) 히스토그램 ★
- 도수분포표를 이용하여 표본자료의 분포를 나타낸 그래프
- 수평축 위에 계급구간을 표시하고 각 계급의 상대도수에 비례하는 넓이의 직사각형을 그린 것
- 연속형
(2) 막대그래프
- 범주형
(3) 줄기-잎 그림 ★
- 각 데이터의 점들을 구간단위로 요약하는 방법으로 계산량이 많지 않음
(4) 상자그림
(5) 산점도 ★
- 두 특성의 값이 연속적인 수인 경우, 표본자료를 그래프로 나타내는 방법
- 각 이차원 자료에 대하여 좌표가 (특성 1의 값, 특성 2의 값)인 점을 좌표평면 위에 찍은 것
(6) 파레토그림 ★
- 명목형 자료에서 ‘중요한 소수’를 찾는데 유용한 방법
3-2-2-1. 회귀분석
#회귀 분석의 정의와 변수의 종류
- 회귀분석이란 하나나 그 이상의 변수들이 또 다른 변수에 미치는 영향에 대해 추론할 수 있는 통계기법이다.
- 반응변수(종속변수) : 영향을 받는 변수, 보통 y로 표기
- 설명변수(독립변수) : 영향을 주는 변수, 보통 x, x1, x2 등으로 표기
- 회귀계수 추정 : 최소제곱법, 최소자승법 ★
#회귀분석의 종류
(1) 독립변수의 수에 의한 구분
- 단순 회귀 분석: - 회귀모형 중에서 가장 단순한 모형, 한 개의 독립변수와 하나의 종속변수로 이루어짐, 회귀계수의 추정치는 보통 제곱오차를 최소로 하는 값으로 구함
- 다중 회귀 분석: 두 개 이상의 독립변수를 사용하여 종속변수의 변화를 설명, 단순회귀모형이 종속변수의 변동을 설명하는데 충분하지 않다는 점을 보완
(2) 독립변수 척도에 의한 구분
- 등간, 비율: 일반 회귀
- 명목, 서열: 더미 회귀
(3) 독립, 종속 변수의 관계에 의한 구분
- 선형회귀
- 비선형회귀
#회귀모형에 대한 가정 ★☆
- 선형성 : 독립변수의 변화에 따라 종속변수도 변화하는 선형인 모형 ★
- 독립성 : 잔차와 독립변수의 값이 관련되어 있지 않음 ★
- 등분산성 : 오차항들의 분포는 동일한 분산을 가짐
- 비상관성 : 잔차들끼리 상관이 없어야 함
- 정상성(정규성) : 잔차항이 정규분포를 이뤄야 함 ★★
#정규성 검정 ★
(1) Q-Q plot★
그래프를 그려서 정규성 가정이 만족되는지 시각적으로 확인하는 방법이다.
대각선 참조선을 따라서 값들이 분포하게 되면 정규성을 만족한다고 할 수 있다.
한쪽으로 치우치면 정규성 가정에 위배되었다고 볼 수 있다.
(2) Shapiro-Wilk test( 샤피로 - 윌크 검정 )★
-오차항이 정규분포를 따르는지 알아보는 검정, 회귀분석에서 모든독립변수에 대해서
-종속변수가 정규분포를 따르는지 알아보는 방법이다.
-귀무가설은 , '정규분포를 따른다'
-p-value 가 0.05보다 크면 정규성을 가정하게 된다.
(3) Kolmogorov-Smirnov test(콜모고로프-스미노프 검정)
- 자료의 평균/표준편차와 히스토그램을 표준정규분포와 비교하여 적합도를 검정한다.
-샤피로와 마찬가지로 p-value가 0.05보다 크면 정규성을 가정하게 된다.
(4) 히스토그램
#최소제곱 ★☆
- 주어진 자료를 가장 잘 설명하는 회귀계수의 추정치는 보통 제곱오차를 최소로하는 값을 구하며, 이 회귀계수 추정량을 최소제곱이라고 한다.
#회귀분석 모형에서 확인할 사항
- 모형이 통계적으로 유의미한가? F분포값과 유의확률(p-value)를 확인
- 회귀계수들이 유의미한가? 회귀계수의 T값과 유의확률(p-value)를 확인
- 모형이 얼마나 설명력을 갖는가? 결정 계수(R^2)를 확인, 0~1닶
- 모형이 데이터를 잘 적합하고 있는가? 잔차통계량을 확인하고 회귀진단
#다중선형회귀분석 결과 해석
- 모형의 통계적 유의성은 F-통계량으로 확인
- 유의수준 5% 하에서 F-통계량의 p-value 값이 0.05보다 작으면 추정된 회귀식은 통계적으로 유의하다고 볼 수 있음
- F-통계량이 크면 p-value가 0.05보다 작아지고 귀무가설을 기각. 모형이 유의하다고 결론
#다중공선성(Multicolinearity)
- 모형의 일부 예측변수가 다른 예측변수와 상관되어 있을 때 발생하는 조건이다.
- 중대한 다중공선성은 회귀계수의 분산을 증가시켜 불안정하고 해석하기 어렵게 만들기 때문에 문제가 된다.
- R에서는 vif 함수를 이용해 VIF값을 구할 수 있으며, 보통 VIF값이 4가 넘으면 다중공선성이 존재한다고 본다.
- 해결방안 : 높은 상관 관계가 있는 예측변수를 모형에서 제거한다.
#최적 회귀방정식의 선택 ★☆
(1) 모든 가능한 조합의 회귀분석
-모든 가능한 독립변수들의 조합에 대한 회귀모형을 고려해 가장 적합한 회귀모형을 선택
- AIC나 BIC의 값이 가장 작은 모형을 선택하는 방법으로 모든 가능한 조합의 회귀분석을 실시한다. ★
(2) 전진선택법 (Forward Selection)
- 상수모형으로부터 시작해 중요하다고 생각되는 설명변수부터 차례로 모형에 추가
- 후보가 되는 설명변수 중 가장 설명을 잘하는 변수가 유의하지 않을 때의 모형을 선택
- 설명변수를 추가했을 때 제곱합의 기준으로 가장 설명을 잘하는 변수를 고려하여 그 변수가 유의하면 추가한다. ★☆
(3) 후진제거법 (Backward Elimination) ★☆
-독립변수 후보 모두를 포함한 모형에서 출발해 가장 적은 영향을 주는 변수부터 하나씩 제거
- 더 이상 유의하지 않은 변수가 없을 때의 모형을 선택
(4) 단계별방법 (Stepwise Selection)
- 전진선택법에 의해 변수를 추가하면서, 기존 변수의 중요도가 약화되면 제거하는 등 단계별로 추가 또는 제거
- 단계적 방법은 기존의 모형에서 예측 변수를 추가, 제거를 반복하여 최적의 모형을 찾는 방법★☆
- 더 이상 추가 또는 제거되는 변수가 없을 때의 모형을 선택
(5) 적은 수의 설명변수
- 가능한 범위 내 적은 수의 설명변수를 포함시킨다. ★☆
#R에서의 단계적 변수선택 예제
(1) 전진선택법
> step(lm(y~1, dfrm), scope=list(lower=~1,upper=~u+v+w), direction="forward")
(2) 후진제거법
step(lm(y~u+v+w, dfrm), direction="backward")
(3) 단계별방법
step(lm(y~1, dfrm), scope=list(lower=~1, upper=~u+v+w), direction="both")
#경사하강법(Gradient descent)★
- 손실을 줄이는 알고리즘으로 미분값(기울기)이 최소가 되는 점을 찾아 가중치를 찾는 방법
#R에서의 회귀분석 수행 예제
(1) 단순선형회귀분석
> lm ( y~x, data=데이터명 )
Call :
lm(formula = y ~ x, data = 데이터명)
Coefficients :
(Intercept) x
2.131 3.018
#회귀방정식 y = 2.131 + 3.018x 로 추정
(2) 다중선형회귀분석
> lm ( y~u+v+w, data=데이터명 )
Call :
lm(formula = y ~ u + v + w, data = 데이터명)
Coefficients :
(Intercept) u v w
3.203 0.1482 1.9752 -3.0081
#회귀방정식 y = 3.203 + 0.1482u + 1.9752v - 3.0081w 로 추정
(3) 모형의 적절성 여부 확인
> m <- lm ( y~u+v+w, data = 데이터명 )
> summary(m)
- summary 함수를 통해 F-통계량의 p-값, 결정계수, 회귀계수의 p-값을 확인하여 모형의 적절성 여부를 판단한다.
- 추가로 plot(m) 함수를 통해 회귀식의 잔차도를 확인하여 선형성을 파악한다.
#모형의 적절성 여부 확인 예시
(1) 실행 결과 결과 1
- 통계적으로 유의미한가 ? F통계량의 p값 = 1.564e-14 <0.05 ; 유의
- 회귀계수들이 유의미한가? t통계량과 p값이 모두 0.01보다 작음 ; 유의 -> ***으로 표시된 결과
- 모형의 설명력은 얼마나? 결정계수 = 1 ; 설명력 높다
(2) 실행 결과 결과 2
- 통계적으로 유의미한가 ? F통계량의 p값 = 5.852e-12 <0.05 ; 유의
- 회귀계수들이 유의미한가? t통계량과 p값이 모두 0.05보다 크다 ; 유의하지 않다.
- 모형의 설명력은 얼마나? 결정계수 = 0.6673 ; 설명력 보통
(2) 실행 결과 결과 3
m<-lm(y~u+v+w,dfrm1)
summary(m)
Call: lm(formula = y ~ u + v + w, data = dfrm1) # 회귀모형 출력
Residuals: # 잔차의 분포 정보
Min 1Q Median 3Q Max
-0.188562 -0.058632 -0.002013 0.080024 0.143757
Coefficients: # 회귀계수라고(coefficients)-> 비표준화 회귀계수
Estimate Std.Error t value Pr(>|t|)
(Intercept) 3.041653 0.264808 11.486 0.00002615200404717 ***
u 0.123173 0.012841 9.592 0.00007339511595238 ***
v 1.989017 0.016586 119.923 0.00000000002266819 ***
w -2.997816 0.005421 -552.981 0.00000000000000236 ***
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
# 회귀계수 유의성 검정->t통계량 때 p값이 모두 <0.05 귀무가설 기각 회귀계수 모두 유의미함
Residual standard error: 0.1303 on 6 degrees of freedom
Multiple R-squared: 0.799 Adjusted R-squared: 0.855
F-statistic: 1.038e+05 on 3 and 6 DF, p-value: 0.00000000000001564
- 다중 회귀분석을 한 것으로 종속변수 y 대해 u,v 비표준화(estimate)계수 양의 관계, w 는 음의관계이다. ★
- *** 표시는 모든 회귀계수가 유의미 하다는 뜻.
- 모형의 통계적 유의성 검정 -> F 통계량 값, p값(0.00000000000001564)<0.05
- 귀무가설 : 회귀모형은 의미가 없다-> 기각
- 결정계수(R^2)=종속변수의 분산 중에서 독립변수의 의해 설명된 분산 비율=85.5%
- R^2값은 독립변수의 수가 많아질수록 커지는 특성 -> 수정된 R^2을 사용함.
- 결정계수(R^2)는 모형의 설명력을 판단. ( 결정 계수는 총변동과 설명되는 편차에 대한 변동 비율이다)
- 결정계수(R^2)는 제곱이기 때문에 0~1 범위를 갖는다.
(2) 실행 결과 결과 4 ★
> out=lm(Fertility~Education,data=swiss)
> anova(out)
Analysis of Variance Table
Response: Fertility
Df Sum Sq Mean Sq F value Pr(>F)
Education 1 3162.7 3162.7 35.446 3.659e-07 *** #회귀제곱합(SSR):3162.7
Residuals 45 4015.2 89.2 #오차제곱합(SSE):4015.2
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 '' 1
- 결정계수(R^2) = SSR/SST = 3162.7/(3162.7+4015.2) = 0.441★☆
- R^2(결정계수) = 회귀제곱합(SSR) / 총 제곱합(SST) ★
- 총 제곱합(총 변동, SST) = 회귀제곱합(설명된 변동, SSR) + 오차제곱합(설명안된 변동, SSE)
3-2-2-2. 정규화 선형회귀(Regularized Linear Regression)
#정규화 선형회귀란?
선형회귀계수에 대한 제약 조건을 추가하여 모형이 과도하게 최적화되는, 즉 과적합(overfitting)을 막는 방법
#딥러닝에서 과적합 문제를 해결하는 방법
- 더 많은 데이터를 사용한다.
- Cross Validation
- 정규화(Regularization) : Ridge 회귀모형, Lasso 회귀모형, Elastic Net 회귀 모형
#세 가지 정규화 방법의 비교
구분 |
릿지(Ridge) |
라쏘(Lasso) ★ |
엘라스틱넷(Elastic Net) |
제약식 |
L2norm |
L1norm |
L1 + L2norm |
변수선택 |
불가능 |
가능 |
가능 |
장점 |
변수 간 상관관계가 높아도 좋은 성능 |
변수 간 상관관계가 높으면 성능이 떨어짐 |
변수 간 상관관계를 반영한 정규화 |
#Lasso 회귀분석 ★
- 회귀분석에서 사용하는 최소제곱법에 제약조건을 부여하는 방법이다.
- 회귀계수의 절대값이클수록 패널티를 부여한다. ★
- 자동적으로 변수선택을 하는 효과가 있다. ★
- lambda값으로 penalty의 정도를 조정한다. ★
- 람다는 기존의 잔차 제곱합과 추가적으로 제약 조건의 비중을 조절하기 위한 hyper parameter 이다. ( 람다가 크면 정규화 정도가 커지고 가중치의 값들이 작아진다 = 과소적합의 문제가 발생 )
- 정규화 선형회귀 ( Regularized Linear Regression ) 의 하나로 선형회귀계수에 대한 제약 조건을 추가하여 과적합을 막는 방법 중 하나이다.
- 제약조검 t는 회귀계수 값에 대해 축소 정도를 조절할 수가 있다.
- MSE(평균제곱오차, mean squared error)와 Penalty항의 합이 최소가 되게하는 파라메터를 찾는 것이 목적이다.
- Lasso regression은 L1 norm을 사용해서 패널티를 주는 방식이다.
- L1 Regularizaiton 은 기존 Cost function 뒤에 L1 항을 추가해준 것이다.
3-2-3. 다변량 분석
#다변량 분석
- 간단한 형식으로 데이터를 요약하는 것
- 이를 통해 반응변수와 설명변수 간의 관계를 쉽게 이해하기 위해 실행
- 정보의 손실 없이 설명 변수의 숫자를 줄이거나 다수의 개체를 몇 개의 작은 그룹으로 나눈다.
#다변량 분석의 방법
- 주성분분석(Principal COmponent Analysis)
- 요인분석(Factor Analysis)
- 판별분석(Discriminant Analysis)
- 군집분석(Cluster Analysis)
- 정준상관분석(Canonical Correlation Analysis)
- 다차원척도법(Multi-dimensional Scaling)
#인과관계와 공분산의 이해
- 종속변수(반응변수): 다른 변수의 영향을 받는 변수
- 독립변수(설명변수): 영향을 주는 변수
- 산점도: 두 변수 사이의 선형, 함수 관계 파악, 이상값, 집단 구분 확인 가능
- 공분산: 두 변수의 방향성 확인, 독립이면 Cov(X,Y) = 0 ★
#상관분석 ★
- 데이터 안의 두 변수 간의 관련성을 파악하는 방법이다.
- 상관계수는 두 변수간 관련성의 정도를 의미한다.
- Cor.test() 함수를 사용해 상관계수 검정을 수행하고, 유의성 거점을 판단할 수 있다.
#상관분석 유형 ★
구분 | (1) 피어슨의 상관계수★ | (2) 스피어만 상관계수 ★★ |
설명 | - 두 변수 간의 선형관계의 크기를 측정하는 값으로 비선형적인 관계는 나타내지 못한다.★ - 연속형 변수만 가능, 정규성을 가정 - 대상이 되는 자료의 종류 : 등간 척도, 비율척도 ★★ - -1과 1사이의 값을 가진다.★ - 예. 국어 점수와 영어점수의 상관계수 |
- 두 변수 간의 비선형적인 관계도 나타낼 수 있음 ★★ - 연속형 외에 이산형 순서형도 가능★ - 관계가 랜덤이거나 존재하지 않을 경우 상관 계수 모두 0에 가깝다. ★ - 원시 데이터가 아니라 각 변수에 대해 순위를 매긴 값을 기반으로 한다. ★ - 비모수적이다. - 대상이 되는 자료의 종류 : 순서척도, 서열척도 ★★ - -1과 1사이의 값을 가진다. -0은 상관 관계가 없음을 의미한다. - 예. 국어성적 석차와 영어성적 석차의 상관계수 |
공식 |
(1) 피어슨의 상관계수
- 두 변수간 선형 관계의 크기를 측정하는 공분산의 크기가 단위에 따라 영향을 받지 않도록 한 피어슨 상관계수에서 두 변수의 상관관계가 존재하지 않을 경우 도출되는 값은 0이다. ★
- 예시 ★
응답자 ID | 키 | 몸무게 |
1 | 165 | 65 |
2 | 170 | 70 |
3 | 175 | 75 |
4 | 180 | 80 |
5 | 185 | 85 |
답: 1
(2) 스피어만 상관계수
- 예시
축구팀 |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
세계통신 |
7 |
1 |
3 |
8 |
6 |
5 |
4 |
2 |
10 |
9 |
11 |
12 |
국제통신 |
8 |
3 |
2 |
7 |
5 |
4 |
6 |
1 |
9 |
12 |
11 |
10 |
답: 0.9
#상관계수와 상관관계 ★
- 상관계수 r의 범위는 -1 ≤ r ≤ 1
-상관계수가 0에 가까울 수록 상관이 낮다고 말한다. (단, r=0이라 함은 두 변수간 직선적 관계가 없다는 의미이다.
- R에서 cor(변수1, 변수2)는 변수 간 상관계수 산출을 의미한다.
#결정계수★
- 결정계수는 총 변동 중 회귀모형에 의하여 설명되는 변동이 차지하는 비율이다. ★★
- 결정계수가 커질수록 회귀방정식의 설명력이 높아진다.
- 수정된 결정계수는 유의하지 않은 독립변수들이 회귀식에 포함되었을 때 그 값이 감소한다. ★☆
- 다중회귀분석에서는 최적 모형의 선정기준으로 결정계수 값보다 수정된 결정계수 값을 사용하는 것이 적절하다. ★☆
- 회귀모형에서 입력변수가 증가하면 결정 계수도 증가한다.
- 결정계수는 0~1 사이의 범위를 갖는다.
- 회귀계수의 유의성 검증은 t값과 p값을 통해 확인하다.
(1) 회귀 분산분석에서, 총 제곱합(총 변동, SST) = 회귀제곱합(설명된 변동, SSR) + 오차제곱합(설명안된 변동, SSE)
(2) R^2(결정계수) = 회귀제곱합(SSR) / 총 제곱합(SST) ★
→ 결정계수가 클 수록 회귀방정식과 상관계수의 설명력이 높아진다.★
#다차원 척도법(MDS, Multidimensional Scaling) ★
- 개체들 사이의 유사성/ 비유사성을 측정하여 2차원 또는 3차원 공간상에 표현하는 방법
- 개체간의 근접성을 시각화하여 데이터 속에 잠재한 패턴이나 구조를 찾아내는 통계기법
- 차원의 수가 많을 수록 추정의 적합도가 높아지지만 해석이 어려워서 일반적으로 두 개 차원의 지각도를 작성
- 유사성의 계산은 Euclidean 거리를 활용
- 여러 대상 간의 거리가 주어져 있을 때, 대상들을 동일한 상대적 거리를 가진 실수 공간의 점들로 배치시키는 방법
#주성분분석(PCA, Principal Component Analysis)
- p개의 변수들을 중요한 m(p)개의 주성분으로 표현하여 전체 변동을 설명하는 방법★
- 데이터에 많은 변수가 있을 때 변수의 수를 줄이는 차원 감소 기법중 하나.
- 상관관계가 있는 변수들을 선형 결합하여 변수를 축약
- 즉, 변수들 간에 내재하는 상관관계 및 연관성을 이용하여 소수의 주성분으로 차원을 축소하는 분석기법
#주성분분석 개수(m)를 선택하는 방법★☆
- 전체 변이 공헌도(percentage of total variance) 방법은 전체 변이의 70~90% 전도가 되도록 주성분의 수를 결정한다.
- 평균 고유값 방법: 교유값들의 평균을 구한 후 고유값이 평균값 이상이 되는 주성분을 설정하는 것
- Scree graph를 이용하는 방법은 고유값의 크기순으로 산점도를 그린 그래프에서 감소하는 추세가 원만해지는 지점에서 1을 뺀 개수를 주성분의 개수로 선택한다.
- 주성분은 주성분을 구성하는 변수들의 계수 구조를 파악하여 적절하게 해석되어야 하며, 명확하게 정의된 해석 방법이 있는 것은 아니다.
#스크리 그림(Scree plot)
- 주성분의 분산의 크기를 보여준다.
- 주성분의 개수를 선택하기 위해 총 분산의 비율이 70~90% 사이가 되는 지점을 찾는데 사용된다.
- 몇 개의 주성분을 사용하여 차원 축소를 진행할지 경정하기 위해 사용된다.
- 총 분산 비율과 고유값이 수평을 유지하기 전단계로 주성분의 수를 선택한다.
#주성분분석 vs 요인분석
- 자료의 축소라는 차원에서 같은 의미로 해석하기 쉬우나 다른 개념
- 주성분분석 : 많은 데이터에 포함된 정보의 손실을 최소화해서 단순히 데이터를 축소하는 방법
- 공통요인분석 : 자료의 축소라는 의미도 포함해 데이터에 내재적 속성까지 찾아내는 방법
3-2-4. 시계열 예측
3-2-4-1. 시계열 자료
#시계열 자료
- 시간의 흐름에 따라 관찰된 닶들을 시계열 자료라 한다.
- 시계열 데이터의 분석을 통해 미래의 값을 예측하고 경향, 주기, 계절성 등을 파악하여 활용한다.
- 시계열 데이터의 구성요소: 추세, 순환, 계절변동, 불규칙 변동 등
#시계열 자료의 종류
(1) 비정상성 시계열 자료
- 시계열 분석을 실시할 때 다루기 어려운 자료로 대부분의 시계열 자료가 이에 해당한다.
(2) 정상성 시계열 자료
- 비정상 시계열을 핸들링해 다루기 쉬운 시계열 자료로 변환한 자료이다.
#시계열 데이터의 분석 절차
(1) 시간 그래프 그리기
(2) 추세와 계절성을 제거
(3) 잔차를 예측
(4) 잔차에 대한 모델 적합하기
(5) 예측된 잔차에 추세와 계절성을 더해 미래 예측
3-2-4-2. 정상성
#정상성
- 시간의 흐름에 따라 관측된 시계열 자료를 분석하기 위해서는 정상성을 만족해야 함
- 정상성이란, 시점에 관계없이 시계열의 특성이 일정함을 의미
- 확률과정의 평균과 분산이 일정한 것을 안정적이라고 함
#정상성의 조건 ★
- 평균이 일정, 분산이 시점에 의존하지 않음, 공분산은 시차에만 의존하고, 시점 자체에는 의존하지 않음 ★
- 위의 3가지 정상성 조건을 만족하지 못하는 경우 비정상 시계열로 부르며, 대부분의 자료가 비정상 시계열임
- 때문에 시계열 자료의 분석을 위해서는 이를 판단하고, 분석 가능한 형태로 바꾸는 작업이 필요함
#비정상 시계열 자료의 분석을 위한 작업
(1) 정상성 만족 여부 판단
- 이상점과 개입을 살핌
- 개략적인 추세 유무를 관찰(상승 또는 하락 추세가 있다면 평균이 일정하지 않음)
(2) 비정상 시계열을 정상성을 만족하도록 수정
- 이상점 존재 -> 이상값 제거
- 개입 -> 회귀분석 수행
- 추세 -> 차분(현 시점의 자료값에서 전 시점의 자료값을 빼는 것)
- 분산이 일정하지 않음 -> 변환
3-2-4-3. 시계열자료 분석 방법
#분석방법
(1) 수학적 이론 모형: 회귀분석(계량경제) 방법, Box-JenKins 방법
(2) 직관적 방법: 지수평활법, 시계열 분해법으로 시간에 따른 변동이 느린 데이터 분석에 활용
(3) 장기 예측: 회귀분석 방법 활용
(4) 단기 예측: Box-Jenkins 방법, 지수평활법, 시계열 분해법 활용
#자료 형태에 따른 분석 방법
(1) 일변량 시계열분석
- 시간(t)을 설명변수로 한 회귀모형주가, 소매가지수 등 하나의 변수에 관심을 갖는 경우의 시계열 분석
- Box-Jenkins(ARMA), 지수 평활법, 시계열 분해법 등
(2) 다중 시계열분석
- 어러개의 시간(t)에 따른 변수들을 활용하는 시계열 분석
- 계량경제 모형, 전이함수 모형, 개입분석, 상태공간 분석, 다변량 ARIMA 등
- 계량경제 예시: 이자율, 인플레이션이 환율이 미치는 요인 등
#이동평균법
(1) 이동평균법의 개념
- 과거로부터 현재까지 시계열 자료를 대상으로 일정기간별 이동평균을 계산하고, 이들의 추세를 파악하여 다음 기간을 예측하는 방법
- 시계열 자료에서 계절변동과 불규칙 변동을 제거하여 추세변동과 순환변동만 가진 시계열로 변환하는 방법으로도 사용된다.
- n개의 시계열데이어를 m기간으로 이동평균하면 n-m+1개의 이동평균 데이터가 생성된다.
(2) 이동평균법의 특징
- 간단하고 쉽게 미래를 예측할 수 있으며, 자료의 수가 많고 안정된 패턴을 보이는 경우 예측의 품질이 높음
- 일반적으로 시계열 자료에 뚜렷한 추세가 있거나 불규칙 변동이 심하지 않은 경우에는 짧은 기간 (m의 개수가 적음)의 평균을 사용하며, 반대로 불규칙 변동이 심한 경우 긴 기간(m의 개수가 많음)의 평균을 사용한다.
(3) 이동평균모형 (MR 모형) ★
- 시계열 모델 중 자기 자신의 과거 값을 사용하여 설명하는 모형이다.
- 백색 잡음의 현재값과 자기 자신의 과거값의 선형 가중합으로 이루어진 확률 모형이다.
- 현시점의 자료를 유한 개의 백색잡음의 선형결합으로 표현되었기 때문에 항상 정상성을 만족한다.
- 모형에 사용하는 시계열 자료의 시점에 따라 1차, 2차...,p차 등을 사용하나 정상시계열 모형에서는 주로 1,2차를 사용한다.
- 자기 상관 함수 p+1시차 이후 절단된 이후 형태를 취한다.
#지수평활법(Exponential Smoothing)
(1) 지수평활법의 개념
-일정기간의 평균을 이용하는 이동평균법과 달리 모든 시계열 자료를 사용하여 평균을 구하며, 시간의 흐름에 따라 최근 시계열에 더 많은 가중치를 부여하여 미래를 예측하는 방법
- 지수평활계수가 과거로 갈수록 지수형태로 감소하는 형태인 것을 확인할 수 있다.
*평활법이란 변화가 심한 시계열 테이러를 평탄하고 변화가 완만하게 값을 변환시키는 것이다. ★
**Fn+1 = n 시점 다음의 예측값, a = 지수평활계수, Zn = n시점의 관측값
(2) 지수평활법의 특징
- 단기간에 발생하는 불규칙변동을 평활하는 방법이다.
- 자료의 수가 많고, 안정된 패턴을 보이는 경우일수록 예측 품질이 높다.
- 지수평활법에서 가중치의 역할을 하는 것은 지수평활계수(a)이며, 불규칙변동이 큰 시계열의 경우 지수평활계수는 작은 값을, 불규칙 변동이 작은 시계열의 경우 큰 값이 지수평활계수를 적용한다.
- 지수평활계수는 예측오차(실제 관측치와 예측치 사이의 잔차제곱합)를 비교하여 예측오차가 가장 작은 값을 선택하는 것이 바람직하다.
- 지수평활법은 불규칙변동의 영향을 제거하는 효과가 있으며 중기 예측 이상에 주로 사용된다.
(단, 단순지수 평활법의 경우 장기추세나 계절 변동이 포함된 시계열 예측에는 적합하지 않다.)
3-2-4-4. 시계열 모형
#AR (자기회귀모형)
- 현 시점의 자료가 p시점 전까지 유한개의 과거 자료로 설명될 수 있다. (p차 자기회귀모형)
- AR 모형인지 판단하기 위해 자기상관함수(ACF)와 부분자기상관함수(PACF)를 이용
- AR(p) 모형은 부분자기상관함수(PACF)가 p+1 시점 이후 절단
#MA (이동평균모형) ★☆
- 현 시점의 자료를 p시점 전까지 유한개 백색잡음들의 선형결합으로 표현
- 항상 정상성을 만족하는 모형으로 정상성 가정이 필요없음
- MA 모형인지 판단하기 위해 자기상관함수(ACF)와 부분자기상관함수(PACF)를 이용
- MA(q) 모형은 자기상관함수(ACF)가 p+1 시점 이후 절단
- 시계열 모델 중 자기 자신의 과거 값을 사용하여 설명하는 모형임
- 백색 잡음의 현재값과 자기 자신의 과거값의 선형 가중합으로 이루어진 정상 확률 모형
- 모형에 사용하는 시계열 자료의 시점에 따라 1차, 2차, …, p차 등을 사용하나 정상시계열 주로 1, 2,차를 사용함
#ARIMA (자기회귀 누적이동평균모형) ★
- ARIMA는 AR모형과 MA모형을 합친 것이다. AR(p) + MA(q)
- 기본적으로 비정상 시계열 모형
- 차분, 변환을 통해 AR모형이나 MA모형, ARMA 모형으로 정상화
- ARIMA(p,d,q), p : AR모형, d : 차분 횟수, q : MA모형 차수, ★
- d=0 : ARMA(p,q), 정상성 만족
- p=0 : IMA(d,q) -(d번차분)→ MA(q)
#분해 시계열 ★☆
- 상시계열에 영향을 주는 일반적인 요인을 시계열에서 분리해 분석하는 방법
- 시계열에 영향을 주는 일반적인 요인을 분리해 분석하는 방법
- 회귀분석적인 방법을 주로 사용
- 이론적 약점이 있음에도 널리 사용됨
#시계열 구성 요소 ★
- 추세 요인 :장기적으로 변해가는 큰 흐름 → 상승, 하락, 이차식, 지수식 형태
- 계절 요인 : 요일, 월, 분기 등 고정된 주기에 따른 변화
- 순환 요인 : 명백한 이유없이 알려지지 않은 주기를 가지고 변화
- 불규칙 요인 :불규칙하게 변동하여 급격한 환경변화, 천재지변 같은 것으로 발생하는 변동
위 세 가지 요인으로 설명할 수 없는 회귀분석의 오차에 해당하는 요인
3-2-5. 다차원 척도법
#다차원척도법 정의
- 객체간 근접성을 시각화하는 통계기법이다.
- 군집분석과 같이 개체들을 대상으로 변수들을 측정한 후에 개체들 사이의 유사성/비유사성을 측정하여 개체들을 2차원 공간상에 점으로 표현하는 분석방법이다. ★
- 개체들 2차원 또는 3차원 공간 상에 점으로 표현하여 개체들 사이의 집단화를 시각적으로 표현하는 분석 방법이다.
#다차원척도법 목적
- 데이터 속에 잠재해 있는 패턴과 구조를 찾아낸다.★
- 그 구조를 소수 차원의 공간에 기하학적으로 표현한다. ★
- 데티어 축소의 목적으로 다차원척도법을 이용한다. 즉, 데이터에 포함되는 정보를 끄집어내기 위해서 다차원척도법을 탐색수단으로써 사용한다.
- 다차원적도법에 의해서 얻은 결과를, 데이터가 만들어진 현상이나 과정에 고유의 구조로서 의미를 부여한다.
#다차원척도법 방법
- 개체들의 거리 계산에는 유클리드 거리행렬을 활용한다.
- 관측대상들의 상대적 거리의 정확도를 높이기 위해 적합 정도를 스트레스 값으로 나타낸다.
- 각 개체들을 공간상에 표현하기 위한 방법은 부적합도 기준으로 STRESS나 S-STRESS를 사용한다.
- 최적모형의 적합은 부적합도를 최소를 하는 반복알고리즘을 이용하며, 이 값이 일정 수준 이하가 될 때 최종적으로 적합된 모형으로 제시한다.
-최적모형의 적합은 부적합도를 최소로 하는 방법으로 일정 수준 이하로 될때까지 반복해서 수행한다.
stress | 적합도 수준 |
0 | 완벽(perfect) |
0.05 이내 ★ | 매우 좋음(excellent) |
0.05 ~ 0.10 | 만족(satisfactory) |
0.10 ~ 0.15 | 보통(acceptable) |
0.15 이상 | 나쁨(poor) |
#다차원척도법 종류
(1) 계량적 MDS (Metric MDS)
- 데이터가 구간척도나 비율척도인 경우 활용한다. ★
(2) 비계량적 MDS (Monmetric MDS)
- 데이터가 순서척도인 경우 활용한다. 개체들간의 거리가 순서로 주어진 경우에는 순서척도를 거리의 속성과 같도록 변환하여 거리를 생성한 후 적용한다. ★
3-2-6. 주성분 분석
#주성분분석의 정의
- 여러 변수들의 변향을 주성분이라는 서로 상관성이 높은 변수들의 선형결합으로 만들어 기존의 상관성이 높은 변수들을 요약, 축소하는 기법이다.
- 첫 번째 주성분으로 전체 변도을 가장 많이 설명할 수 있도록하고, 두 번째 주성분으로는 첫 번째 주성분과는 상관성이 없어서(낮아서) 첫 번째 주성분이 설명하지 못하는 나머지 변동을 정보의 손실 없이 가장 많이 설명할 수 있도록 변수들의 선형 조합을 만든다.
#주성분분석의 목적
- 여러 변수들 간에 내재하는 상관관계, 연관성을 이용해 소수의 주성분으로 차원을 축소함으로써 데이터를 이해하기 쉽고 관리하기 쉽게 해준다.
- 다중공선성이 존재하는 경우, 상관성이 없는 (적은) 주성분으로 변수들을 축소하여 모형 개발에 활용된다.
- 회귀분석이나 의사결정나무 등의 모형 개발 시 입력변수들 간의 상관관계가 높은 다중공선성이 존재할 경우 모형이 잘못 만들어져 문제가 생긴다.
- 연관성이 높은 변수를 주성분분석을 통해 차원을 축소한 후에 군집분석을 수행하면 군집화 결과와 연산 속도를 개선할 수 있다.
- 기계에서 나오는 다수의 센서데이터를 주성분분석으로 차원을 축소하는 후 시계열 분포나 추세의 변화를 분석하면 기계의 고장 징후를 사전에 파악하는데 활용하기도 한다.
#주성분분석 vs. 요인 분석
- 요인분석: 등간척도(혹은 비율척도)로 측정한 두 개 이상의 변수들에 잠재되어 있는 공통인자를 찾아내는 기법이다.
구분 |
주성분분석 |
요인분석 |
공통점 |
모두 데이터를 축소하는데 활용된다. 원래 데이터를 활용해서 몇 개의 새로운 변수들을 만들 수 있다. |
|
생성된 변수의 수 |
제 1주성분, 제 2주성분, 제 3주성분 정도로 활용된다. (대개 4개 이상은 넘지 않음) |
몇 개라고 지정 없이 만들 수 있다. |
생성된 변수의 이름 |
제 1주성분, 제 2주성분 등으로 표현된다. |
분석자가 요인의 이름을 명명한다. |
생성된 변수들 간의 관계 |
제1주성분이 가장 중요하고 그 다음 제2주성분이 중요하게 취급된다. |
새 변수들은 기본적으로 대등한 관계를 갖고 '어떤 것이 더 중요하다' 는 없다. 단, 분류/예측에 그 다음 단계로 사용된다면 그때 중요성의 의미가 부여된다. |
분석 방법의 의미 |
목표 변수를 고려하여 목표 변수를 잘 예측/분류하기 위하여 원래 변수들의 선형 결합으로 이루어진 몇 개의 주성분(변수)들을 찾아내게 된다. |
목표변수를 고려하지 않고 그냥 데이터가 주어지면 변수들을 비슷한 성격들로 묶어서 새로운 (잠재) 변수들 만든다. |
#주성분의 선택법
- 주성분분석의 결과에서 누적기여율이 85% 이상이면 주성분의 수로 결정할 수 있다.
- scree plot을 활용하여 고유값이 수평이 유지하기 전 단계로 주성분의 수를 선택한다.
#주성분분석의 실행 예시
(1) Rotation : 실제로 원래의 독립변수에 곱해서 주성분을 만들 계수들을 나타낸다. 예를들어 PC1을 만들기 위해선 population에 −0.098, white에 0.056, ... , poverty에 −0.187 곱한 뒤 모두 더해서 만들어진다. 또한 데이터에 따라선 어떤 주성분이 어떤 변수에 대한 정보를 많이 가지고 있는지 한 눈에 확인할 수 있는 지표가 되기도 한다.
(2) Importance of components : 말그대로 각 주성분의 중요도를 나타낸다. Proportion of Variance가 높을수록 데이터의 많은 부분을 설명하고 그만큼 중요한 주성분이라는 의미가 된다.
3-3. 정형 데이터 마이닝
3-3-1. 데이터 마이닝 개요
#데이터 마이닝의 정의 ★
- 거대한 양의 데이터 속에서 쉽게 드러나지 않는 유용한 정보를 찾아내는 과정
- 대용량 데이터 속에서 굼겨진 지식 또는 새로운 규칙을 추출해 내는 과정 ★
- 기업이 보유한 고객, 거래, 상품데이터 등과 이외의 기타 외부 데이터를 기반으로 감춰진 지식, 새로운 규칙 등을 발견하고 이를 비즈니스 의사결정 등에 활용하는 일련의 작업
#데이터 마이닝의 기능
1) 분류(Classification)
- 새롭게 나타난 현상을 검토하여 기존의 분류, 정의된 집합에 배정하는 것
- 잘 정의된 분류기준과 선분류되어진 검증 집합이 필요
- 반응변수가 범주형인 경우 예측모형의 주목적 ★☆
- 기법 : 의사결정나무, memory-based reasoning, link analysis 등
2) 추정(Estimation)
- '수입, 수준, 신용카드 잔고' 등 연속된 변수의 값을 추정하는 것
- 주어진 데이터를 활용해 알려지지 않은 결과값을 추정한다
- 기법 : 신경망 모형
3) 예측(Prediction)
- 분류와 추정과 유사하지만, 미래의 값이라는 차이가 있다
- 예측 작업의 정확성을 알아보는 방법은 기다리고 지켜보는 것 뿐이다.
- 기법 : 장바구니 분석, memory-based reasoning, 의사결정나무, 신경망 등이 모두 사용될 수 있음
(입력 데이터의 성격에 따라 기술의 사용이 결정된다.)
4) 연관 분석(Association Analysis)
- '같이 팔리는 물건'과 같이 아이템의 연관성을 파악하는 분석
- 기법 : 장바구니 분석
5) 군집(Clustering)
- 모집단을 동질성을 지닌 그룹으로 세분화하는 것
- 이질적인 모집단을 세분화하는 기능이 대표적인 기능 ★☆
- 선분류 되어있는 기준에 의존하지 않는다는 점이 분류와의 차이
- 레코드 자체가 지니고 있는 다른 레코드와의 유사성에 의해 그룹화되고, 이질성에 의해 세분화된다.
- 주로 데이터 마이닝이나 모델링의 준비단계로서 사용됨
6) 기술(Description) ★
- 데이터가 가지고 있는 의미를 단순하게 기술하여, 의미를 파악할 수 있도록 함
- 데이터가 암시하는 바에 대해 설명이 가능해야 하며, 설명에 대한 답을 찾아낼 수 있어야 한다.
- 사람, 상품에 관한 이해를 증가시키기 위해 데이터가 가지고 있는 특징을 나타내고 설명에 대한 답을 제공할 수 있는 데이터 마이닝의 기능
#데이터 마이닝 5단계 ★
1) 목적 정의
- 데이터 마이닝을 통해 무엇을 왜 하는지 명확한 목적을 설정해야 함
- 이해 관계자 모두가 목적에 동의하고 이해할 수 있어야 함
- 1단계부터 전문가가 참여하여 목적에 맞는 데이터 마이닝 모델, 기법, 필요 데이터를 정의하는 것이 바람직
2) 데이터 준비
- 데이터 마이닝 수행에 필요한 데이터 수집
- IT부서와의 사전 협의, 일정 조율 필요
- 데이터 준비 -> 정제, 품질보증 -> 데이터 보강 등의 작업을 거친다.
3) 데이터 가공 ★
- 모델링 목적에 따라 변수를 정의하고, 소프트웨어 적용에 적합하도록 데이터를 가공한다.
4) 데이터 마이닝 기법의 적용
- 데이터 마이닝 기법을 적용하는 단계
- 어떤 기법을 활용하고 어떤 값을 입력하느냐 등에 따라 성과가 달라지므로 데이터분석에 대한 전문성이 필요
5) 검증
- 추출된 정보를 검증하는 단계
- 테스트 마케팅이나 과거 데이터 활용
- 검증 후에는 자동화 방안을 협의하여 업무에 적용하도록 함
- 보고서 작성 및 경영진에게 기대효과(연간 추가수익, 투자대비성과(ROI) 등)를 알림
#과대적합(Overfitting)
- 생성된 모델이 훈련 데이터에 너무 최적화되어 학습하여 테스트데이터의 작은 변화에 민감하게 반응한다.
- 학습 데이터가 모집단의 특성을 충분히 설명하지 못할 때 자주 발생한다.
- 변수가 너무 많아 모형이 복잡할 때 생긴다.
- 과대적합이 발생할 것으로 예상되면 학습을 종료하고 업데이트하는 과정을 반복해 과대적합의 방지할 수 있다.
3-3-2. 분류 분석
3-3-2-1. 로지스틱 회귀모형
#로지스틱 회귀모형 정의
- 독립변수(x)와 종속변수(y) 사이의 관계를 설명하는 모형으로 종속변수가 범주형(y=0 또는 y=1)값을 갖는 경우에 사용하는 방법
#로지스틱 회귀모형 특징
- 반응변수가 범주형인 경우 적용
- 일반화선형모형의 특별한 경우로 로짓(logit) 모형으로도 불림
- 오즈(odds)의 관점에서 해석될 수 있다는 장점을 가짐
- 새로운 설명변수가 주어질 때, 반응변수의 각 범주에 속할 확률이 얼마인지 추정
- 클래스가 알려진 데이터에서 설명변수들을의 관점에서 각 클래스내의 관측치들에 대한 유사성을 찾는데 사용할 수 있다. ★
- 설명변수가 한 개인 경우 회귀계수(β)의 부호에 따라 S자(β>0) 또는 역S자(β<0) 모양을 가짐
(설명 변수가 한 개인 경우 해당 회귀 계수의 부호가 0보다 작을 때 표현되는 그래프의 형태 → 역 S자 그래프★)
- 표준로지스틱 분포의 누적분포함수로 성공의 확률을 추정
#로지스틱 회귀모형이 선호되는 이유
- 독립변수에 대해 어떤 가정도 필요하지 않음
- 독릭변수가 연속형 및 이산형 모두 가능하기때문에 판별분석보다 선호됨
#오즈비 (Odds ratio), 승산비
- 변수가 성공 또는 실패로 구성된다면 Odds는 한 집단이 다른 집단에 비해 성공할 승산 비에 대한 측정량
- Odds(오즈) : 클래스 0에 속할 확률(1-p)이 클래스 1에 속할 확률 p의 비
- 오즈비 = 성공률/실패욜 = Pi/(1-Pi) 단, Pi는 성공률 ★
- exp(beta)의 의미는 나머지 변수가 주어질 때, x1이 한 단위 증가할 때마다 성공(Y=1)의 오즈(odds)가 몇 배 증가하는지 나타내는 값★
- 성공 가능성이 높은 경우는 1보다 크고실패 가능성이 높은 경우는 1보다 작다
#선형회귀분석 vs 로지스틱 회귀분석
구분 |
일반선형 회귀분석 |
로지스틱 회귀분석 |
종속변수 |
연속형 변수 |
이산형 변수 |
모형 탐색 방법 |
1) 최소자승법 ★ |
2) 최대우도법, 가중최소자승법 |
모형 검정 |
F검정, t검정 |
3) 카이제곱 검정 ★ |
1) 최소자승법(최소제곱법) ★☆
- 데이터와 추정된 함수가 얼마나 잘 맞는지는 잔차들을 제곱(square)해서 구한다. 이를 잔차제곱합 RSS 혹은 SSE이라고 한다.
- 최소자승법(최소제곱법)은 해당 식이 제곱형태이니 미분해서 0이 되는 지점을 찾기 위해 잔차제곱합을 최소화하는 계수를 구하는 방법이다.
2) 최대우도법
- 관측값이 가정된 모집단에서 하나의 표본으로 추출된 가능성이 가장 크게 되도록 하는 회귀계수 추정방법
- 표본의 수가 클 경우에 최대우도추정법은 안정적
3) 카이제곱 검정 ★
- 분류 조합에 따라 특정값에 유효한 차이가 발생하는 지를 검정하는 것으로 명목 척도로 측정된 두 속성이 서로 관련되어 있는지 분석하고 싶을 때 사용하는 통계분석법
- 독깁변수와 종속변수가 모두 명목척도일 경우 적합한 통계 기법
#로지스틱 회귀분석 함수 glm()
- glm(모형, data, family="binominal")
3-3-2-2. 신경망 모형
#신경망 모형의 정의 및 특징
(단층신경망(퍼센트론) 다이어그램, pathmind)
- 동물의 뇌신경계를 모방하여 분류 또는 예측을 위해 만들어진 모형
- 가중치 W=(W1, ···, Wd)'는 의사결정 경계의 방향을 나타내는 모수
- 편의 W0는 의사결정 경계의 위치를 결정하는 모수
- 가중치와 편의는 학습을 통해 오차제곱합이 최소가 되는 방향으로 갱신된다.
장점 | 단점 |
- 변수의 수가 많거나, 입ㆍ출력 변수 간에 복잡한 비선형 관계가 존재할 때 유용 |
- 결과에 대한 해석이 쉽지 않음 |
#인공신경망
- 인간 뇌를 기반으로 한 추론 모델
- 뉴런은 기본적인 정보처리 단위
- 뉴런은 가중치가 있는 링크들로 연결
- 뉴런은 여러 입력 신호를 받지만 출력 신호는 오직 하나만 생성
- 신경망 모형은 변수의 수가 많거나 입출력 변수간에 복잡한 비선형관계가 존재할 때 유용하다.★
- 잡음에 대해서도 민감하게 반응하지 않는다는 장점을 가지고 있다.★
#뉴런의 특징
- 입력 링크에서 여러 신호를 받아서 새로운 활성화 수준을 계산하고, 출력 링크로 출력 신호를 보낸다.
- 입력 신호는 미가공 데이터 또는 다른 뉴런의 출력이 될 수 있다.
- 출력 신호는 문제의 최종적인 해(solution)가 되거나 다른 뉴런에 입력될 수 있다.
#뉴런의 계산
- 뉴런은 활성화 함수를 사용한다.
(1) 뉴런은 입력 신호의 가중합을 계산하여 임계값과 비교한다.
(2) 가중치 합이 임계값보다 작으면 뉴런의 출력은 -1, 같거나 크면 +1을 출력한다.
#인공신경망의 학습
- 가중치를 반복적으로 조정하여 학습
- 뉴런은 링크로 연결되어 있고, 각 링크에는 수치적인 가중치
- 가중치 조정 방식: 초기화 후, 훈련 데이터를 통해 갱신, 신경망의 구조를 선택 후 활용할 학습 알고리즘 결정한 후 신경망 훈련
#신경망 모형 구축 시 고려사항
1) 입력 변수
- 복잡성에 의하여 입력 자료 선택에 민감
- 범주형 변수: 모든 범주에서 일정 빈도 이상, 빈도 일정
- 범주형 변수의 경우, 모든 범주형 변수가 같은 범위를 갖도록 가변수화 해야 함.
- 연속형 변수: 입력 변수들의 범위가 변수간 큰 차이가 없을 때
- 연속형 변수의 경우, 분포가 평균 중김으로 대칭이야 함
2) 가중치의 초기값과 다중 최소값 문제
- 초기값 선택 중요
- 가중치가 0이면, 신경망 모형은 근사적 선형 모형
- 초기값은 0근처로 랜덤하게 선택, 가중치가 증가할 수록 비선형
3) 학습모드
- 온라인 학습모드: 관측값을 순차적으로 투입하여 가중치 추정값이 매번 바뀜(속도 빠름, 훈련 자료가 비정상성일 때 좋음, 국소 최소값에 벗어나기 쉬움)
- 확률적 학습모드: 관측값을 랜덤하게 투입하여 가중치 추정값이 매번 바뀜
- 배치 학습모드: 전체 훈련자료를 동시에 투임
4) 은닉층과 은닉 노드의 수 ★
- 신경망 적용 시 제일 중요한 부분: 모형 선택(은닉층, 은닉노드의 수 결정)
- 은닉층의 뉴런 수와 개수를 정하는 것은 신경망을 설계하는 사람의 직관과 경험에 의존한다.★
- 많으면 가중치가 많아져 과대 적합 문제 발생
- 은닉층 구 결정: 하나로 선정
- 은닉노드 수 결정: 적절히 큰 값을 놓고 가중치 감소시키면서 적용
- 은닉층/노드가 많으면 가중치가 많아져 과적합 문제 발생 ★
- 은닉층/노드가 적으면 복잡한 의사결정 경계를 만들 수 없음 (입력 데이터를 충분히 표현하지 못하는 경우 발생★)
- 은닉노드의 수는 적절히 큰값으로 두고 가중치를 감소 시키며 적용하는 것이 좋음
- 포화문제: 역전파를 진행함에 따라 각 노드를 연결하는 가중치의 절대값이 커져 조정이 더 이상 이루어지지 않아 과소 적합이 발생하는 문제 ★
5) 과대 적합 문제 ★
- 학습 데이터는 실제 데이터의 일부분이므로 너무 과하게 학습하게 되면 학습데이터는 정확하게 맞지만 실제 데이터에 대해서 오차가 증가하는 문제 ★
- 알고리즘 조기 종료와 가중치 감소 기법으로 해결
- 조기 종료: 검증 오차가 증가하기 시작하면 반복 중지
- 가중치 감소라는 벌점화 기법 활용
6) 기울기 소실 문제(Gradient Vanishing) ★ ☆
- 다층 신경망모형에서 은닉층의 개수를 너무 많이 설정하게 되면 역전파 과정에서 앞쪽 은닉층의 가중치 조정이 이뤄지지 않아 신경망의 학습이 제대로 이뤄지지 않는 현상
#역전파 알고리즘
- 신경망 모형의 목적함 수를 최적화하기 위해 사용된다. ★
- 연결강도를 갱신하기 위해 예측된 결과와 실제값의 차이인 에러(error)를 통해 가중치를 조정하는 방법★
#뉴런의 활성화 함수
Soft Functon | Sigmoid Function |
logistic regression 에서 multi-classification 문제에서 사용 | logistic regression 에서 binary-classification 문제 에서 사용 |
확률의 총 합 = 1 | 확률의 총 합은 1이 아님 |
출력층에서 사용됨(확률 표현) |
Activation 함수로 사용될 수 있음(실제 사용하지 않음) |
큰 출력 값은 그 class에 해당할 가능성이 높다는 것을 뜻하며 실제 확률을 나타냄 |
큰 출력 값은 그 class에 해당할 가능성이 높지만 실제 확률 값을 나타내는 것은 아님 |
(1) 시그모이드(sigmoid) 함수
- 로지스틱 회귀분석과 유사, 0~1의 확률값 ★
- 입력층이 직접 출력층에 연결되는 단층신경망에서 활성함수를 시그모이드로 사용하면 로지스틱 회귀 모형과 작동 원리가 유사해진다.
- binary-classification에서 사용
(2) softmax 함수
- 표준화지수 함수, 출력값이 여러개 주어지고 목표치가 다범주인 경우 각 범주에 속할 사후확률을 제공★☆
- 계산 된 확률은 0에서 1 사이, 모든 확률의 합은 1과 같음
- multi-classificarion에서 사용
(3) Relu 함수 : 입력값이 0이하는 0, 0이상은 x값을 가지는 함수, 딥러닝에 많이 활용
#neuralnet함수의 일반화 가중치(generalized weight)
- 일반화 가중치(generalized weight)는 각 공변량의 영향을 표현하기 때문에 회귀모델에서 1번째 회귀 변수의 유사한 해석을 가진다.
- 로지스틱 회귀 모형에서의 회귀 계수와 유사하게 해석된다. ★☆
3-3-2-3. 의사결정나무 모형
#의사결정나무 정의와 특징
- 분류함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법
- 의사결정나무는 분류(classification)와 회귀(regression) 모두 가능하다.
- 복잡하지 않고 빠르게 만들 수 있다.
- 분류 정확도가 좋은 편이다.
- 다중공선성 영향을 안 받는다.
- 대표적 적용 사례: 대출신용평가, 환자 증상 유추, 채무 불이행 가능성 예측★
- 과적합의 문제를 해결하기 위해 정치규칙과 가지치기 방법을 이용해 트리를 조정하는 방법을 사용한다.★
- 불순도 측도인 엔트로피 개념은 정보이론의 개념을 기반으로 하여, 그 의미는 임의의 사건이 모여있는 집합의 순수성(purity) 또는 단일성(homogeneity) 관점의 특성을 정량화해서 표현한 것이다.★
장점 |
단점 |
구조가 단순하여 해석이 용이하다. |
분류기준값의 경계선 부근의 자료값에 대해서는 오차가 크다. |
선형성, 정규성, 등분산성 등의 수학적 가정이 불필요한 *비모수적 모형 |
로지스틱회귀와 같이 각 예측변수의 효과를 파악하기 어렵다. |
수치형/범주형 변수를 모두 사용할 수 있다는 점 |
새로운 자료에 대한 예측이 불안정할 수 있다. |
*비모수적 : 모수에 대한 가정을 전제로 하지 않고 모집단의 형태에 관계없이 주어진 데이터에서 직접 확률을 계산
#의사결정나무 모형의 학습 방법
- 이익도표 또는 검정용 자료에 의한 교차타당성 등을 이용해 의사결정나무를 평가한다.
- 분리변수의 P차원 공간에 대한 현재 분할은 이전 분할에 영향을 받는다.
- 각 마디에서 최적 분리 규칙은 분리변수의 선택과 분리 기준에 의해 결정된다.
- 가지치기는 분류 오류를 크게 할 위험이 높으나 부적절한 규칙을 가지고 있는 가지를 제거하는 작업니다.
#가지치기(Pruning)
- 의사결정나무 모형에서 과대적합되어 현실 문제에 적응할 수 있는 적절한 규칙이 나오지 않는 현상을 방지하기 위해 사용되는 방법
#정지규칙 ★
- 의사결정나무에서 더 이상 분기가 되지 않고 현재의 마디가 끝마디가 되도록 하는 규칙
#의사결정나무의 순도(homogeneity)와 불순도(불확실성, impurity)
- 각 영역의 순도가 증가, 불순도가 최대한 감소하는 방향을 학습을 진행한다.
- 순도가 증가/불확실성이 감소하는 걸 두고 정보이론에서는 정보획득(information gain)이라고 합니다.
- 불순도 측도 : 지니지수, 엔트로피 지수, 카이제곱통계량 (오분류오차은 잘 안 쓰임)
#의사결정나무 알고리즘 분류 및 기준변수의 선택법 ★
(1) 이산형 목표변수 (분류나무) |
(2) 연속형 목표변수 (회귀나무) |
|
(3) CHAID |
카이제곱 통계량 |
ANOVA F 통계량 |
(4) CART |
지니계수 |
분산 감소량 |
(5) C5.0 |
엔트로피지수 |
(1) 목표변수가 이산형 목표변수인 경우 분류 기준
- 각 범주에 속하는 빈도에 기초하여 분리
- 오차율 분할 (잘못 분류된 관찰값의 수 / 전체 관찰값의 수)
- 카이제곱 통계량: 각 셀에 대한 (기대도수-실제도수)^2/기대도수 의 합
- 지니계수: 불평등 지수를 나타낼 때 사용하는 계수로 0이 가장 평등하고 1로 갈수록 불평등
- 엔트로피지수: 엔트로피 지수가 가장 작은 예측 변수와 이떄의 최적분리에 의해 자식마디를 형성함
(2) 목표변수가 연속형 목표변수인 경우 분류 기준 ★
- 평균과 표준편차에 기초하여 분리
- 잔차제곱합(SSR) 개선되는 방향으로 분할 (불필요한 지도학습,bias 낮고, variance 높음)
- F통계량: 모델 또는 모델 성분의 유의성을 검정하는 분산분석(ANOVA) 방식에 대한 검정 통계량
- 분산감소량: 예측오차를 최소화하는 것과 동일한 기준으로 분산의 감소량을 최대화하는 기준의 최적분리에 의해서 자식마디가형성.
(3) CHAID (Chi-square automatic interaction detection)
- 가지치기를 하지 않고 적당한 크기에서 나무모형의 성장을 중지하며 입력 변수가 반드시 범주형 변수이어야 한다.
(4) CART (Classification And Regression Tree)
- 가장 많이 활용되는 의사결정나무 알고리즘으로 불순도의 측력 변수가 범주형일 경우 지니지수를, 연속형일 경우 분산을 이용한 이진 분리를 사용한다.
(5) C5.0
- CART와는 다르게 각 마디에서 다지분리가 가능하며 범주형 입력변수에 대해서는 범주의 수만큼 분리가 일어난다.
#이산형목표변수와 연속형 목표변수★
- 목표변수가 범주형인 경우 분류나무, 수치형인 경우 회귀나무를 사용한다.★
- 목표변수가 이산형인 경우 분류나무, 연속형인 경우 회귀나무로 구분된다.
- 이산형 목표변수 : p 값은 작을 수록, 지니지수와 엔트로피 지수는 클수록 노드 내의 이질성이 크고 순수도가 낮다고 할 수 있다.
- 연속형 목표변수 : p값은 작아지고 분산의 감소량은 커질 수록 이질성이 높다.
#지니 지수 ★
- 범주가 두 개일 때 한쪽 범주에 속한 비율(p)이 0.5(두 범주가 각각 반반씩 섞여 있는 경우)일 때 불순도가 최대
예시: 행렬(A, B, C, A, C, C, A, D) 있을 경우 지니계수 구하는법
지니계수=1-(3/8)^2-(1/8)^2-(3/8)^2-(1/8)^2 = 0.69
(순서대로 8개 중 A는 3개, B는 1개, C는 3개, D는 1개)
#엔트로피 지수(Entropy measure)
- 엔트로피 지수가 가장 작은 예측 변수와 이떄의 최적분리에 의해 자식마디를 형성함
3-3-2-4. 앙상블 모형
#앙상블 모형의 정의
- 여러 개의 분류모형에 의한 결과를 종합하여 분류의 정확도를 높이는 방법
#앙상블 모형의 특징
- 분리 분석의 과적합을 줄이기 위해 개발
- 적절한 표본추출법으로 여러 개의 훈련용 데이터를 만들고, 훈련용 데이터마다 하나의 분류기를 만들어 앙상블하는 방법
- 여러 모형의 결과를 결합함으로써 단일 모형으로 분석했을 때보다 신뢰성 높은 예측값을 얻을 수 있다.
- 각 모형의 상호 연관성이 높을수록 정확도가 감소한다.
- 모형의 투명성이 떨어져 원인 분석에는 적합하지 않다.
- 이상값에 대한 대응력이 높아진다.
- 전체적인 예측값의 분산을 감소시켜 정확도를 높을 수 있다.
- 앙상블모형은 훈련을 한 뒤 예측을 하는데 사용하므로 교사학습법(Supervised learning)이다. ★
- 앙상블은 배깅, 부스팅, 랜덤포레스트를 포함된다.★
- 부스팅은 예측력이 약한 모형들을 결합하여 강한 예측 모형을 만드는 방법이다.★
- 랜덤포레스트는 의사결정나무모형의 특징인 분산이 크다는 점을 고려하여 배깅보다 더 많은 무작위성을 추가한 방법으로 약한 학습기들을 생성하고 이를 선형 결험해 최종 학습기를 만드는 방법이다. ★
#학습의 불안정성
- 작은 병화에 의해 예측 모형이 크게 변하는 경우, 그 학습 방법은 불안정
- 가장 안정적인 방법: K-최근접이웃, 선형회귀 모형
- 가장 불안정한 방법: 의사결정 나무
#배깅(bagging) ★
- 데이터에서 여러 개의 부트스트랩 데이터를 생성해서 각 부트스트랩 데이터 분석 모델에 결합한 후에 최종 예측 모델을 산출하는 것 ★
- 배깅은 데이터 간의 거리를 측정하여 군집화한다. ★
- 원 데이터 집합으로부터 크기가 같은 표본을 여러 단순 임의 복원 추출하여 각 표본에 대해 분류기를 생성한 후 그 결과를 앙상블하는 방법 ★
- 배깅은 트랜잭션 사이에 빈번하게 발행하는 규칙을 찾아낸다.★
- 배깅은 고차원의 데이터를 이해하기 쉬운 저차원의 뉴런으로 정렬하여 지도의 형태로 형상화한다. ★
- 붓스트랩(bootstrap): 주어진 자료에서 동일한 크기의 표보을 랜덤복원추출로 뽑은 자료
- 보팅(Voting): 여러 개의 모형으로부터 산충된 결과를 다수결에 의하여 최종 결과를 선정하는 과정
- 가지치기를 하지 않고 최대한 성장한 의사결정 나무들 사용
- 평균예측 모형을 못 구함 (훈련 자료의 모집단의 분포 모름)
- 훈련자료를 모집단으로 생각하고 평균예측모형을 구한 것과 같음 (분산을 줄이고 예측력 향상)
- 반복추출 방법으로 동일한 데이터가 여러 번 추출될 수도 있고, 어떤 데이터는 한 번도 추출되지 않을 수 있다.
#부스팅(boosting)
(1) 부스팅(boosting)의 개념 및 특징
- 예측력이 약한 모형들을 결함하여 강한 예측 모형을 만드는 방법
- 훈련오차를 빠르고 쉽게 줄임
- 성능이 배깅보다 뛰어난 경우가 많음
- 배깅과 유사하나 붓스트랩 표본을 구성하는 재표본 과정에서 각 자료에 동일한 확률을 부여하지 않고, 분류가 잘못된 데이터에 더 큰 가중을 두어 표본을 추출
- 붓스트랩 표본을 추출해 분류기 생성 → 각 데이터의 확률 조정 → 다음 붓스트랩 표본 추출 → 분류기 생성 → ···
#부스팅 계열 알고리즘
(1) GBM(Gradient Boosting Algorithm)
- 예측모형의 앙상블 방법론 중 부스팅 계열에 속하는 알고리즘.
- 회귀분석 또는 분류 분석을 수행할 수 있는 예측모형
- Gradient Boosting Algorithm을 구현한 패키지: LightGBM, CatBoost, XGBoost 등
(2) LGBM(Light GBM, Light Gradient Boosting) ★
- LGBM은 GBM의 한 종류
- 예측모형의 앙상블 방법론 중 부스팅 계열에 속하는 알고리즘
- 일반적인 GBM 패키지와 다르게 LGBM은 leaf wise(리프 중심 트리 분할)방식을 사용한다.
- LGBM은 균형적으로 트리를 분할하지 않는 대신 최대 손실값(max delta loss)을 갖는 트리 노드를 계속 분할
(3) XGBoost vs. LGBM
XGBoost | LGBM |
- XGboost는 학습 시간이 오래 걸린다. - Grid search를 통해 최적의 파라미터를 탐색한다면 학습 시간의 효율을 고려해야 한다. |
- LGBM은 XGBoost보다 학습 시간이 덜 걸리며 메모리 사용도 작다는 장점이 있다. - LGBM은 데이터셋의 과적합을 조심해야 하는데, 1만개 이하의 데이터셋은 과적합 위험이 있다. |
#랜덤포레스트(random forest) ★
- 의사결정나무을 앙상블하는 방법 중 전체 변수 집합에서 부분 변수 집합을 선택하여 각각의 데이터 집합에 대해 모형을 생성한 후 결합하는 방식 ★
- 분산이 큰 의사결정나무를 고려하여 배깅과 부스팅보다 더 많은 무작위성을 주어 약한 학습기들을 생성 후 이를 선형 결합하여 최종 학습기를 만드는 방법
- 배깅에 랜덤 과정을 추가한 방법
- 붓스트랩 샘플을 추출하고 트리를 만들어가는 과정은 배깅과 유사
- 예측변수들을 임의로 추출하고, 추출된 변수 내에서 최적의 분할을 만들어나감
(배깅 : 각 노드마다 모든 예측변수 안에서 최적의 분할을 선택)
- 변수 제거 없이 실행되어 정확도가 좋음
- 해석이 어렵지만 예측력이 높음 (입력 변수가 많을구록 배깅, 부스팅보다 좋음)
- 별도의 검증용 데이터를 사용하지 않더라도, 붓스트랩 샘플과정에서 제외된 자료를 통해 검증을 실시할 수 있다.
- Category 변수의 value 종류가 32개까지됨
- randomForest 패키지, 랜덤한 forest에 많은 트리 생성
- 활용 예시: 고객의 인구통계학적 특성, 보험가입 채널, 상품 종류 등의 정보를 사용하여 자사 고객의 보험 갱신 여부를 예측★☆
3-3-2-5. 분류 모형 평가
#분류 모형 평가
- 구축된 모형이 임의의 모형보다 더 우수한 분류 성과를 보이는지, 고려된 모형들 중 어느 것이 가장 우수한지 등을 비교 분석하는 과정
#모형 평가 기준
(1) 일반화의 가능성
- 데이터를 확장하여 적용할 수 있는지에 대한 평가 기준
- 모집단 내의 다른 데이터에 적용해도 안정적인 결과를 제공하는 것을 의미
(2) 효울성
- 얼마나 효과적으로 구축되었는지 평가
- 적은 입력변수를 필요로 할수록 효율적
(3)예측과 분류의 정확성
- 모형의 정확성 측면에서 평가
#모형 평가 절차 1. 훈련용 자료와 검증용 자료 추출
- 훈련용 자료는 모형 구축용도, 검증용 자료는 모형 검증 용도
- 주어진 데이터에서만 성과를 보이는 과적합화를 해결하기 위한 단계
- 잘못된 가설을 가정하게 되는 2종 오류를 방지 ★
(1) 홀드아웃(hold-out) ★
- hold-out : 밖으로 끄집어 내어 별도로 가지고 있는 것
- 랜덤 추출 방식
- 주어진 원천 데이터를 랜덤하게 두 분류로 분리하여 교차 검정을 실시하는 방법으로 하나의 모형 학습 및 구축을 위한 훈련용 자료로 하나는 성과평가를 위한 검증용 자료로 사용하는 방법 ★★ ☆
- 훈련용, 검증용 데이터 비율을 7:3으로 함
(2) 교차검증(cross-validation)
- 데이터를 k개로 나누어 k번 반복측정하고, 그 결과를 평균 내어 최종 평가로 사용
- 일반적으로 10-fold 교차 검증이 사용됨
(3) 붓스트랩(bootstrap) ★ ☆
- 교차검증과 유사하게 평가를 반복하지만, 훈련용 자료를 반복 재선정한다는 점에서 차이가 있음
- 관측치를 한번 이상 훈련용 자료로 사용하는 복원 추출법에 기반 ★
- 전체 데이터의 양이 크지 않은 경우의 모형 평가에 가장 적합
- 일반적으로 훈련용 자료의 선정을 d번 반복할 때 하나의 관측치가 선정되지 않을 확률이 (1-1/d)e이다.
- d가 충분히 크다고 가정할 때 훈련용 집합으로 선정되지 않아 검증용 자료로 사용되는 관측치의 비율은 1/e = 0.3678..이므로 36.8%이다.
#모형 평가 절차 2. 모형 학습 및 성능 평가
- 훈련용 자료로 모형을 학습한 뒤, 검증용 자료를 사용해 모형의 분류 및 예측 정확도를 평가
- 분류 모형 평가에 사용되는 방법
- 오분류표, ROC 그래프 등
#오분류표(confusion matrix) ★☆
Predicted |
|||
Positive |
Negative |
||
Actual |
Positive |
True Positive |
False Negative |
Nagative |
False Positive |
True Negative |
- 정분류율(Accuracy) : 전체 관측치 중 실제값과 예측치가 일치한 정도
(TP+TN)/TP+FN+FP+TN = (TP+TN)/전체
- 오분류율(Error rate) : 모형이 제대로 예측하지 못한 관측치
(FP+FN)/(P+N) = 1-정분류율(Accuracy)
- 재현율(Recall), 민감도(Sensitivity)★ : 실제 True인 관측치 중 예측치가 적중한 정도★
TP/(TP+FN)
- 특이도(Specificity) : 실제값이 False인 관측치 중 예측치가 적중한 정도★
TN/(FP+TN)
- 정확도(정밀도, Precison) : True로 예측한 관측치 중 실제 값이 True인 정도
TP/(TP+FP)
- F1지표 : 재현율과 정확도의 조화평균 ★
(재현율과 정확도가 반비례할 높은 가능성을 보정하기 위한 지표)
# F점수 ★
- 정확도와 재현율의 가중조화평균(weight harmonic average)을 F점수(F-score)라고 한다.
- 정확도에 주어지는 가중치를 베타(beta)라고 한다.
- 베타가 1인 경우를 특별히 F1점수라고 한다. ★
- 베타가 2인 경우, 재현율에 2배만큼의 가중치를 부여하여 조화평균을 하는것이다.
#범주불균형의 문제 ★
- 분류 모형을 구성하는 경우 예측 실패의 비용이 큰 분류 분석의 대상에 대한 관측치가 현저히 부족하여 모형이 제대로 학습되지 않는 문제
#ROC 그래프 ★
- 민감도와 특이도를 사용해서 모델의 성능을 평가
- X축에는 FP Ratio(1-특이도), Y축에는 민감도를 나타냄
- ROC 그래프의 밑부분 면적(AUC)이 넓을 수록 좋은 모형으로 평가
- ROC 그래프에서 이상적으로 완벽히 분류한 모형의 x축과 y축 값 = (0,1) ★☆
#이익도표★
- 이익(gain) : 목표 번주에 속하는 개체들이 각 등급을 얼마나 분포하고 있는지를 나타내는 값
- 이익도표 : 분류분석 모형을 사용해 분류된 관측치가 각 등급별로 얼마나 포함되는지를 나타내는 도표
- 이익도표(Lift)를 작성함에 있어 평가도구 중 %Captured Reponse를 표현한 계산식 : 해당 집단에서 목표변수의 특정범주 빈도 / 전체 목표변수의 특정범주 빈도 x 100
- %Captured Response란 전체에서 해당집단을 분리해내는 비율을 의미하며 Score에 따라 고객을 10개의 집단으로 구분하고 집단이 누적됨에 따라 전체 재구매 고객 대비 Percentile별 누적 구매 고객의 비율을 나타낸다. 특정 범주의 고객에게 Action을 수행할 경우, 실제 반응이 나타난 고객 중 몇 %의 고객을 확보할 수 있는지에 대한 수치로 해석할 수 있다.
#향상도 곡선(lift curve) ★
- 랜덤모델과 비교하여 해당 모델의 성과가 얼마나 향상되었을지를 각등급별로 파악하는 그래프
- 상위등급에서 매우 크고 하위 등급으로 갈수록 감소하게 되면 일반적으로 모형의 예측력이 적절하다고 판단하게 된다.
3-3-3. 군집 분석
#군집분석
- 비지도학습 기법 중 하나로 사전 정보 없이 자료를 유사한 대상끼리 묶는 방법
- 군집 결과에 대한 안정성을 검토하는 방법은 교차타당성을 이용하는 방법이 있다. 데이터를 두 집단으로 나누어 각 집단에서 군집분석을 한 후 합쳐서 군집분석한 결과와 비교하여 비슷하면 결과에 대한 안정성이 있다고 할 수 있다.
- 군집의 분리가 논리적인가를 살펴보기 위해서는 군집 간 변동의 크기 차이를 검토한다.
3-3-2-1. 계층적 군집
#계층적 군집 정의 및 특징
- 가장 유사한 개체를 묶어 나가는 과정을 반복하여 원하는 개수의 군집을 형성하는 방법
(n개의 군집으로 시작해 점차 군집의 개수를 줄어나가는 방법 ★)
- 군집을 형성하는 매 단계에서 지역적 최적화를 수행해 나가는 방법 (전역적인 최적해라고 볼 수 없음)
- 군집 개수를 미리 지정하지 않아도 되는 장점으로 탐색적 분석에 사용하는 모형
- 단일, 완전, 평균, 중심결합기준, 와드
- 계층적 군집의 결과는 덴드로그램*의 형태로 표현
(* 덴드로그램을 통해 항목간의 거리, 군집간의 거리를 알 수 있고, 항목간 유사정도를 파악하여 견고성을 해석할 수 있다.)
#계층적 군집 방법
1) 병합적(응집형) 방법: Bottom-up
- 작은 군집에서 출발하여 거리가 가까운 순으로 병합해 나가는 방법
(하나의 군집이 남을 때 까지 순차적으로 군집들을 병합)
- R에서 agnes(), mclust() 함수를 이용한다.
2) 분할적(분리형) 방법: Top-down
- 큰 군집에서 출발하여 군집을 분리해 나가는 방법
(하나의 군집에서 n개 군집으로 분리)
- R에서 diana(), mona() 함수를 이용한다.
#dist함수
- 거리 계산을 수행할 때 사용하는 함수
- 지원 하는 함수 : "euclidean" , "maximum" , "manhattan" , "canberra" , "binary", "minkowski" .
#군집 간 거리 측정 방법 (연결법)
1) 최단연결법(단일연결법)
- 각 군집에서 관측값을 뽑았을 때 나타날 수 있는 거리의 최소값을 군집간 거리로 한다.
- 사슬 모양으로 생길 수 있음
- 고립된 군집을 찾는데 중점을 둔 방법
2) 최장연결법(완전연결법)
- 각 군집에서 관측값을 뽑았을 때 나타날 수 있는 거리의 최대값을 군집간 거리로 한다.
- 군집들의 내부 응집성에 중점을 둔 방법
3) 중심연결법
- 두 군집의 중심간 거리를 군집간 거리로 한다.
- 군집이 결합될 때, 새로운 군집의 평균은 가중평균을 통해 구해진다.
4) 평균연결법
- 모든 항목에 대한 거리 평균을 구하면서 군집화를 수행한다.
- 계산량이 불필요하게 많아질 수 있다.
4) 와드연결법(ward linkage)
- 군집내의 오차제곱합에 기초하여 군집을 수행한다.
- 군집이 병합되면 오차제곱합은 증가하는데, 증가량이 가장 작아지도록 군집을 형성한다.
- 계층적 군집분석 수행 시 두 군집을 병합하는 방법 가운데 병합된 군집의 오차제곱합이 병합 이전 군집의 오차제곱합에 비해 증가한 정도가 작아지는 방향으로 군집을 형성하는 방법 ★
- 크기가 비슷한 군집끼리 병합하게 되는 경향이 있다.
#유클리드(유클리디안, Euclidean) 거리 ★
- 데이터간 유사성 측정을 위해 사용, 통계적 개념이 내포X, 변수들의 산포정도 감안X
- 두 점을 잇는 가장 짧은 직선 거리★
- 공통으로 점수를 메긴 항목의 거리를 통해 판단하는 측도이다.★
예시)
#맨하탄(Manhattan) 거리
- 유클리드와 함께 가장 많이 쓰는 거리, 건물간 최단거리 계산 ★
예시)
#마할라노비스 거리
- 통계적 개념이 포함된 거리, 변수들의 산포를 고려하여 표준화한 거리 ★
- 변수의 표준화와 상관성을 동시에 고려한 통계적 거리 ★
- 두 벡터 사이의 거리를 산포를 의미하는 표본 공분산으로 나눠주어야 하며 그룹에 대한 사전 지식 없이는 표본 공분산을 계산할 수 없으므로 사용하기 어렵다 ★
#표준화 (Statistical) 거리
- 해당 변수의 표준편차로 척도 변환 후 유클리디안 거리를 계산★
- 표준화를 하게 되면 척도의 차이, 분산의 차이로 인해 왜곡을 피할 수 있다. ★
#자카드
#그 밖의 거리
- 민코우스키(Minkowski) 거리
- 체비셰프 거리 (체스보드 거리, 최고 거리)
- 캔버라 거리
#군집 간 거리 (연속형, 범주형 변수)
1) 연속형 변수: 유클리디안 거리, 표준화 거리, 마할노비스거리, 체비셰프 거리, 맨하탄 거리, 캔버라 거리, 민코우스키 거리
2) 범주형 변수: 카드 거리, 자카드 계수, 코사인 거리, 코사인 유사도
#군집 간 거리 (수학적, 통계적 거리)
1) 수학적 거리: 유클리드 거리, 맨하튼 거리, 민코우스키 거리
2) 통계적 거리: 표준화 거리, 마할라노비스 거리
3-3-3-2. 비계층적 군집 (K-means)
#비계층적 군집방법의 정의 및 특징
- n개의 개체를 g개의 군집으로 나눌 수 있는 모든 방법을 점검해 최적화한 군집을 형성
- 자료의 크기에 제약이 없음
#비계층적 군집방법의 장점과 단점
비계층적 군집화의 장점 |
비계층적 군집화의 단점 |
- 주어진 데이터의 내부구조에 대한 사전정보 없이 의미있는 자료구조를 찾을 수 있다. - 다양한 형태의 데이터에 적용이 가능하다. - 분석방법 적용이 용이하다. |
- 가중치와 거리정의가 어렵다. - 초기 군집수를 결정하기 어렵다. - 사전에 주어진 목적이 없으므로 결과 해석이 어렵다. |
#K-평균 군집(K-means Clustering) 정의
- 원하는 수 만큼 초기값을 지정하고, 각 개체를 가까운 초기값에 할당하여 군집을 형성 한 후, 각 군집의 평균을 재계산하여 초기값을 갱신한 뒤 갱신된 값에 대해 위의 할당 과정을 반복하여 k개의 최종군집을 형성하는 방법
#K-평균 군집(K-means Clustering) 특징