본문 바로가기

[ADP] 5과목. 데이터 시각화

정보수집/데이터분석 2020. 6. 6.

반응형

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 트리에 노드 붙이기를 한다.

 

 

 

728x90

Comments