[ADP] 5과목. 데이터 시각화
1장. 시각화 인사이트 프로세스
- 시각화를 통해 통찰을 추출하는 전체 과정
- 삼찰 : 성찰(내부), 관찰(외부), 통찰(내-외부 연결)
[ 맥캔들리스의 시각 이해 계층도 ]
1. 데이터 : 시각화
- 개별적인 요소
2. 정보 : 디자인
- 연관된 요소
- 그 자체로도 의미가 있다.
- 데이터가 정보로서 가치를 갖기 위해서는 조직화되고 변형되어야 하며 의미를 전달하기 위한 형태로 표현되어야 한다.
- 생산자와 사용자의 관점에 따라 다르게 전달될 수 있으며 일정한 형태와 형식을 갖고 있다.
- 사용의 주체나 상황에 따라 의미와 가치가 다르기 때문에 정보가 생산되고 사용되는 컨텍스트가 중요하다.
- 생산자와 소비자 두 영역에 모두 포함되면서도 자기 조직화되지 않은 일반적인 의미만을 내재하고 있다.
3. 지식 : 매핑
- 자기 조직화된 정보
- 또 다른 특정 영역에서 경험을 통해 정보를 통합한 형태
- 경험을 통해 다른 관점과 방법으로 해석이 가능하며, 경험을 통해 형성된 지식은 특정한 세부 사항만을 설명하는 것이 아니라 다양한 상황에서 적용할 수 있게 일반화한 것
4. 지혜 : 정의되지 않은 것
- 개인화된 지식 / 자기 내면화한 지식 / 적용된 지식 / 메타 지식
- 인간의 경험이 본격적으로 개입되는 단계
- 인위적으로 전달하거나 공유할 수 있는 것이 아니다.
탐색
- 대상 : 자료
- 목표 : 자료 사이에 존재하는 관계
- 시각화 형태 : 패턴 분석
1. 사용 가능한 데이터 확인
1) 데이터 명세화 : 차원과 측정값
- 데이터형, 클래스, 메서드
- 모든 데이터는 기본적으로 하나 이상의 측정값과 하나 이상의 차원을 갖는다.
- 하나의 차원이 하나의 값으로 고정된 경우에는 차원이라고 하지 않는 경우도 있다.
- 동일한 데이터 항목이라도 차원이 될 수 있고 측정값이 될 수도 있다.
- 차원과 측정값의 구분은 분석의 형태에 따라 달라질 수 있다. 데이터 성격 x
2) 태생적 연결고리 : 인과관계
3) 객체지향 관점
- Raw Data가 제대로 남아있지 않은 경우 데이터의 구조 자체를 설계/생성해 이를 토대로 통찰을 뽑아볼 수 있다.
- 기본적으로 대상을 객체화하는데 모든 객체들은 행위와 고유 속성값을 갖게 된다.
- 해당 데이터의 성격과 객체에 대한 이해가 우선 되어야 한다.
2. 연결 고리의 확인
- 시각화 도구로 살펴보는 패턴에서 찾아내는 것이 아니라, 데이터의 태생을 정리한 명세서에서 직접 확인한다.
1) 공통 요소 찾기
- 데이터의 항목명이라는 정의 대신에 해당 항목의 정의와 데이터형을 보고 찾아야한다. 이름은 달라도 같은 데이터형으로 되어 있고, 데이터가 기록된 규칙이 같다면 공통요소이다.
2) 공통 요소로 변환하기
- 데이터형이 달라도 공통요소로 변환할 수 없는 경우가 있다.
3) 탐색 범위 설정
- 데이터 간의 연결고리를 이용해 전체 데이터 집합 안에서의 탐색 범위를 설정
- 처음에는 측정값에 하나의 차원만 연결해 탐색 → 단계적으로 늘려가며 살펴본다.
- 한 번에 모든 것을 연결 x
- 연결할 수 있는 모든 조합을 살펴보는 것은 비효율적
- 의미나 연결성이 없는 조합은 가급적 배제한다.
- 같은 데이터 안에서 차원과 측정값을 서로 맞바꾸면 다른 통찰을 찾아낼 수 있다.
3. 관계의 탐색
1) 이상값 처리
2) 차원과 측정값 유형에 따른 관계 파악 시각화
- 1차원 선형 / 2차원 평면 / 3차원 공간에서 표현
- 3차원으로 된 시각화는 원근감으로 인한 인지적 오차가 생기는 문제점도 있고 가려서 잘 보이지 않는 부분이 생길 수도 있다.
- 차원은 반드시 평면과 공간을 구성하는 축으로만 표현되는 것은 아니다.
- 색상은 구분값으로 된 차원을 처리하는 유용한 방법이다.
- 모션차트 : 시간에 따른 다차원 데이터의 변화를 직관적으로 살펴볼 수 있는 기법
3) 잘라보기, 달리보기, 내려다보기, 올려다보기 : 피벗테이블, 트리맵, 하이퍼볼릭 트리
4) 척도의 조정
- 척도를 어떻게 설정하느냐에 따라 다른 모습으로 나타난다.
- 인사이트 프로세스의 탐색 단계의 핵심은 개별 값보다는 전체적인 패턴을 살펴보면서 가능한 관계들을 살펴보는 것이다.
- 스파크라인 차트 : 동일 계열 내의 다른 값들을 비율에 맞춰 변환함으로써 동일한 공간에서 각각의 패턴 변화를 비교해 볼 수 있도록 자동으로 시각화하는 도구
분석
- 2차 탐색
- 통계적 기법과 시각적 분석 기법은 서로 분리되지 않고 밀접하게 관련을 맺고 상보적으로 도움이 되는 관계
- 지표 : 관계를 하나의 수치로 표현해 분석에 활용할 수 있는 형태로 전환한 것
- 지표 활용 시 주의해야 할 사항
① 지표 단위를 잘 살펴보아야 한다.
② 지표의 단위가 시각화 도구의 표현 공간상에 다른 데이터들과 함께 적절하게 표현될 수 있는지 체크해야하며 척도와 관련된 문제는 없는지 살펴보아야 한다.
③ 지표를 만들어낸 변수들과 지표가 통계적 모델을 만드는 데 같이 들어가면 모델의 설명력이 과대평가될 수 있다. → 요인 분석
활용
- 내부 활용 / 외부 활용
- 설득 : 설명에 비해 좀 더 강한 인과관계와 감성적 요소를 갖고 있어야 한다.
1. 보텀업(Bottom Up)
- 처음에 아무것도 모를 때 밑바닥에서부터 다양한 가능성을 찾아본다.
- 범위와 관점이 잘 정해지지 않았을 때
2. 탑다운(Top Down)
- 보텀업 방식으로 몇 가지 의미 있는 것들을 파악해 낸 후, 그것을 적용하는 과정에서 추가로 얻어낸 정보들을 토대로 검증해 나가는 것
3. 2차 잘라보기/달리보기/내려다보기/올려다보기
2장. 시각화 디자인
시각화
- 빅데이터 시각화 : 데이터 분석과 의사소통
- 데이터 시각화의 2가지 관점 : 통계적 그래픽, 주제 지도학
1. 정보 시각화
- 대규모 비수량 정보를 시각적으로 표현하는 것
- 데이터 시각화 분야보다 한 단계 더 정보 형태로 가공 과정을 거치며, 분기도, 수지도, 히트맵 등의 다양한 그래프를 통해 표현된다.
2. 정보 디자인
- 보는 사람들이 좀 더 명확하게 의미를 이해할 수 있게한다.
- 데이터 시각화, 정보 시각화, 인포그래픽도 정보 디자인의 한 유형이다.
- 의미 만들기(인지) ~ 형태 만들기(지각) ~ 맥락 만들기(경험)
- 데이터의 디테일을 나타내기보다는 그래픽을 적극적으로 이용해 시각 스토리텔링 형식의 설득형 메시지를 전달하는 것에 초점
- 양적 정보 디자인 : 데이터 시각화나 정보 시각화와 겹치면서 데이터를 객관적으로 어떤 것과 비교해 원인과 결과의 인과관계를 왜곡 없이 전달하는 데 초점을 두고 있다.
3. 인포그래픽
- 정보 디자인에서 메세지를 전달하고자 하는 측면에서 정보 사용의 목적과 관점에 따라 2가지로 나눌 수 있다.
1) 정보형 메시지 : 객관적인 정보 전달 / 데이터 시각화
2) 설득형 메시지 : 주장하는 바를 전달 / 빅데이터 시각화
- 데이터 시각화와는 확연히 구별될 정도로 원데이터를 취급하지 않는다.
- 양적 정보 디자인에 초점을 맞추기보다는 다양한 정보를 종합해 정보 디자인 의도에 따라 그래픽으로 전달
시각화 프로세스
[ 정보 디자인 프로세스 ]
- 데이터 수집/읽기 > 내러티브 찾기 > 문제 정의 > 계층 구조 만들기 > 와이어프레임(워크 플로우) 그리기 > 포맷 선택하기 > 시각 접근 방법 결정하기 > 정제와 테스트
- 내러티브 찾기 : 제공하고자 하는 정보를 담은 스토리를 만들어낼 수 있는지. 주목할 만한 사실 또는 가치를 말하는지. 이 주제에 관심이 가는지.
[ 빅데이터 시각화 프로세스 ]
- 마티아스 사피로의 빅데이터 시각화 : 질문 만들어내기 > 데이터 수집하기 > 시각적 표현 적용하기
- 벤 프라이의 시각화 방법론 : 획득 → 분해 → 선별 → 마이닝 → 표현 → 정제 → 상호작용
- 일반적인 빅데이터 시각화 프로세스 : 정보 구조화 > 정보 시각화 > 정보 시각 표현
1. 정보 구조화
1) 데이터 수집
2) 분류
- 일정한 형식으로 분류해 유사한 것끼리 묶음
3) 배열
- 데이터값의 의미에 따라 배치
- 리처드 솔 워먼의 래치(LATCH) : Location, Alphabet, Time, Category, Hierarchy
4) 재배열
- 관계 맺기
- 분류된 데이터를 정보 수용자가 인식하기 쉽게 패턴을 만드는 일
2. 정보 시각화 : 비교 시각화, 분포 시각화, 다중 변수 비교
1) 시간 시각화 : 막대그래프, 누적 막대 그래프, 점 그래프
① 점 그래프
- 면적을 표시할 필요가 없기 때문에 더 적은 공간에 그릴 수 있고, 한 점에서 다음 점으로 변하는 점의 집중 정도와 배치에 따라 흐름을 파악하기 쉽다.
- 일반적으로 두 변수의 연관 관계를 부여해 줄 때 많이 쓰인다.
- 간단하게 데이터를 정적으로 보여준다.
2) 분포 시각화 : 원그래프(파이차트), 도넛차트, 트리맵, 누적 연속 그래프
① 원그래프
- 크기가 비슷하지만 서로 인접해있지 않은 파이의 조각들을 제대로 비교하기 어렵다. (데이터 분석에서는 거의 사용하지 않는다.)
- 데이터 시각화에 제한 부분이 있어 데이터 분석에 자주 사용하지는 않는다.
- 구성요소를 제한하고 내용을 설명하기 위한 텍스트와 퍼센티지를 포함시키는 것이 좋다.
- 분포의 정도를 총합 100%로 나타내서 부분 간의 관계를 보여주면, 면적으로 값(수치)을 나타낼 수 있으며 원 조각의 각도는 데이터값을 전체 360도 비례하는 각도로 표현할 수 있다.
② 도넛차트
- 원그래프와 마찬가지로 수치를 각도로 표시한다.
- 도넛의 한 부분은 한 분류 또는 값을 나타낸다.
- 조각에 해당하는 수치는 조각의 면적이 아닌 길이로 표시한다.
③ 트리맵
- 각 사각형의 크기가 수치를 나타낸다.
- 위계 구조가 있는 데이터나 트리구조의 데이터를 표시할 때 활용된다.
④ 누적 연속 그래프
- 시간에 따른 연속적인 누적 막대그래프
- 한 시점의 세로 단면을 가져오면 그 시점의 분포를 볼 수 있다.
3) 관계 시각화 : 스캐터 플롯(산점도), 버블 차트, 히스토그램
① 산점도
- 포인트가 많을 때 유용한 반면, 포인트 수가 적은 경우에는 오히려 막대그래프나 일반 표가 정보를 제대로 표시하는 데 효과적일 수 있다.
② 버블차트
- 세 가지 요소의 상관관계를 표현
- 수십 또는 수백 개의 값을 갖거나 값들이 몇 자릿수씩 차이가 나는 데이터셋에 유용하다.
- 장기간에 걸쳐 점진적으로 변화하는 데이터를 표시하는 데 사용된다.
③ 히스토그램
- 분포가 연속적인 값이고 선으로 되어 있어서 내용을 파악하기 어렵거나 분류 유형이 많은 경우
4) 비교 시각화 : 히트맵, 체르노프 페이스, 스타차트, 평행좌표계, 다차원척도법
① 히트맵
- 여러가지 변수를 비교해 볼 수 있으며 한 칸의 색상으로 데이터값을 표현한다.
- 데이터가 많은 경우에는 혼란스러우니 적당한 색상을 선택하고 약간의 정렬 과정을 거쳐야한다.
② 스타차트
- 거미줄 차트 / 방사형 차트
③ 평행좌표계
- 대상이 많은 데이터에서 집단적인 경향성을 쉽게 알아볼 수 있게 해준다.
- 연결선 : 하나의 선은 하나의 대상을 의미한다.
- 상대적 단위 : 최솟값 ~ 최댓값
- 변수 : 하나의 축이 하나의 변수를 나타내며 각각이 평행하게 배치된다.
④ 다차원 척도법
- 개별 데이터 간의 유사도(선호도)를 바탕으로 데이터를 다차원 공간 속에 배치
- 유사성이 작은 대상끼리는 멀리, 유사성이 큰 대상끼리는 가까이 위치시킨다.
- 표현하고자 하는 객체 간 간격이 발생하는 거리행렬을 포함하는 데이터의 시각화에 유리하다.
5)
- 공간 시각화 : 지도 매핑
- 선 그래프 :시간의 흐름에 따른 등락을 확인할 수 있기에 시계열 지표에서 많이 쓰인다.
6) 효율적인 정보 시각화
- 배경을 지워라
- 범례를 지워라
- 테두리를 지워라
- 색깔을 지워라
- 특수효과를 지워라
- 굵은 글씨를 지워라
- 라벨을 흐리게 처리하라
- 보조선을 흐리게 처리하든지 아예 지워라
- 라벨을 직접 표시하라
3. 정보 시각 표현 : 인터랙션
1) 게슈탈트 이론 : 뇌가 색깔과 형태의 조각들을 하나의 집합체로 본다.
2) 자크 베르탱의 그래픽 7요소 : 위치, 크기, 모양, 색, 명도, 기울기, 질감
3) 타이포그래피 : 서체, 무게, 크기, 스타일, 색채, 간격
4) 색상
- 명도가 높고 낮음은 색상보다 더 명시성에 영향을 준다.
- 순서나 위계가 필요한 정보는 색의 단계로 표현할 수 있다.
- 색상을 쓸 때, 두 가지 색을 쓰는 경우 보색을 이용하고 명도와 채도를 같게 한다.
- 색은 크기나 명암과 달리 수치로 표현하기 힘들다 따라서 정보를 전달할 때 색상에만 의존하면 안 된다.
5) 그리드
- 사람의 눈이 움직이는 방향 : 상단 왼쪽의 입구 → 하단 오른쪽 귀퉁이
- 정보의 역피라미드 : 가장 중요하고 강력한 정보가 맨 위로 가고 이차 정보가 뒤따르며 더 일반적인 정보는 마지막에 온다.
- 망그리드 : 수평선과 수직선의 연속은 개체를 배치하는 지침의 일관성과 정확한 개체 배치를 가능하게 해준다.
- 3등분의 법칙: 3*3 그리드를 포개 그리드 선이 교차하는 곳을 적극적 핫스팟으로 삼아 역동적인 결과를 배치한다.
6) 아이소타이프
- 많은 양의 데이터를 쉽게 지각할 수 있도록 도와주는 시각 표현 방법
- 정보, 자료, 개념, 의미 등을 나타내기 위해 문자와 숫자 대신 상징적 도형이나 정해진 기호를 조합해 시각적이고 직접적으로 나타내는 방식
- 시공간을 초월해 읽혀야한다.
- 이미지를 활용해 정보를 명확하게 전달하는 방식
7) 터프티의 시각정보 디자인 7원칙
- 시각적 비교를 강화하라
- 인과관계를 제시하라
- 다중변수를 표시하라
- 텍스트, 그래픽, 데이터를 한 화면에 조화롭게 배치하라
- 콘텐츠의 질, 연관성, 진실성을 분명히 하라
- 시간순 x, 공간순 o
- 정량적 자료의 정량성을 제거하지 마라
3장. 시각화 구현
분류 |
도구 |
적용 방법 |
시각화 플랫폼 |
Cognos Insight, Information Builders, PowerPivot, PowerView, Visual, SAS, Enterprise Business Intelligence, Tableau, R, EXCEL, CartoDB, Gephi |
플랫폼 설치/구축 필요 플랫폼에서 제공하는 기능/명령어 실행 |
시각화 라이브러리 |
D3.js, InfoVis, Toolkit, jQuery Visualize, Google Charts, Tangle, NodeBox |
라이브러리 설치 필요 라이브러리가 제공하는 API로 코드 작성 |
인포그래픽스 |
iCharts, Visualize, Visual.ly |
웹서비스 형태로 제공되며 회원 가입이 필요하다. 제공되는 템플릿으로 인포그래픽스 구현 |
1. ggplot
- fill() : 내부 색상을 바꿔준다
- ggplot() + geom_point() + theme_wsj() 3가지 함수로 구성된다.
- geometric object : 기하객체
- colour : 명목형 변수, 테두리 색상, 라인의 색상
- fill : 내부 색
- alpah : 투명도
- facet_grid(변수명~.) : 시각화 가로 & 범주 우측
- facet_grid(.~변수명) : 시각화 세로 & 좌측
- guides(colour = '') : 색의 범위
2. 공간분석
1) 구글비즈
2) 샤이니
- 웹 프로그래밍 지식이 없더라도 인터렉티브한 웹 그래픽을 만들 수 있다.
- 인터랙티브한 데이터 정리와 질의를 쉽게 할 수 있다.
- HTML, CSS로 만든 사용자 콘텐츠를 쉽게 통합할 수 있다.
- headerPanel : 제목 / 주제
- sidebarPanel은 mainPanel에서 다룰 수 있는 컴포넌트들이 들어간다.
- mainPanel : 실질적으로 보여주는 부분
- ui.R : User Interface, 컴포넌트 클래스 설정
- server.R : R에서 구동시킨 코드가 들어가고 각각 id 값을 설정해 ui.R에 input과 output 값으로 작동한다.
- ui.R과 server.R이 같은 디렉토리에 있어야 한다.
3) 모자이크 플롯
- 복수의 범주형 변수 분포 파악에 도움이 되는 시각화 방법
- 두 변수의 구조적 특성을 파악하는 데 도움이 된다.
- 범주형 변수를 모자이크 플롯을 활용하면 유의미한 집단을 파악할 수 있다.
3. D3.js
- 자바스크립트 기반의 데이터 시각화 라이브러리
- HTML5, SVG, CSS로 데이터 시각화
- 크롬, 사파리, 오페라 브라우저에서 동작
- SVG 요소를 이용한 벡터 기반 그래프이다.
- 데이터 획득 > 데이터 파싱 > 데이터 필터링 > 데이터 표현 상호작용 추가
SVG |
Canvas |
화면에 출력할 모든 정보를 객체 자체에 저장한다. 다시 그리기 유리하지만 속도에 문제가 발생한다. |
화면에 출력한 모든 정보를 저장하지 않는다. 다시 그리기는 효율이 떨어지지만 속도에 있어서 유리하다. 최초에 컨텍스트(객체)를 얻을 필요가 있다. |
- 스케일 : 데이터를 직접 입력하는 대신 scale이라는 객체로 데이터와 시각적 요소 간의 관계를 정의한다.
- range() : 입력 데이터를 막대차트로 출력하기 위해서는 스케일이 필요하다. 실제 출력(=입력) 크기 범위를 지정하는 함수
- ticks() : 각 축의 눈금 단위를 지정
- orient() : 스캐터 플롯에서 눈금의 위치를 나타낸다.
- transform() : rotate, translate 등이 함께 사용되는 함수로 시각화 요소의 위치를 변경하는 속성
- transition() : 생성된 개체가 시간에 따라 속성값이 부드럽게 변화하며 다이나믹한 그래프를 그릴 수 있게 해준다
- Data-Binding : 각 데이터의 값과 SVG 객체의 속성을 묶어서 연결한다.
- Appending node : enter()를 이용하여 각 데이터를 하나씩 업데이트하고 나오면 DOM 트리에 노드 붙이기를 한다.
'정보수집 > 데이터분석' 카테고리의 다른 글
[ADsP/ADP] 4과목. 데이터 분석 (0) | 2020.05.27 |
---|---|
[ADsP/ADP] 3과목. 데이터 분석 기획 (0) | 2019.11.05 |
[ADP] 2과목 2장. 데이터 처리 기술 이해 :: 데이터 처리 프로세스 (0) | 2019.11.04 |
[ADP] 2과목 1장. 데이터 처리 기술 이해 :: 데이터 처리 프로세스 (0) | 2019.11.04 |
[ADsP/ADP] 1과목. 데이터 이해 (0) | 2019.11.04 |
Comments