데이터 시각화란?
꼭 알아야 할 3가지 사항
데이터 시각화란 데이터에 있는 패턴, 추세, 이상값 등을 손쉽게 식별할 수 있도록 데이터를 플롯, 차트, 지도, 3차원 시각화 같은 그래픽 표현으로 변환하는 과정입니다.
이런 데이터 시각화를 사용하면 센서, 데이터 로거, 의료 기록, 웹 검색 패턴, 구입 패턴 등의 출처에서 나온 빅데이터셋 같은 원시 데이터를 봐서는 관찰하기 어렵거나 불가능한 관계를 쉽게 볼 수 있습니다. 데이터를 실용적인 정보로 변환하는 데 있어 데이터 시각화는 중요한 역할을 합니다.
데이터 시각화 기법은 영역별로 다양합니다.
계산 금융
과거 데이터 또는 실시간 시장 데이터를 사용하는 데이터 시각화를 통해 빠르게 패턴과 추세를 식별하고 이상을 감지하며 유의미한 이해를 얻어낼 수 있습니다. 데이터 시각화를 통해 분석, 예측 모델 개발, 리스크 평가, 트레이딩 전략 정식화를 수행할 수 있습니다.
아래 플롯은 과거 데이터에 피팅된 시계열 모델로부터 전력 현물 가격의 향후 거동을 시뮬레이션하고 있습니다.
신호 처리
신호 처리는 음성 분석, 심박수 모니터링, 무선 통신, 원격탐사, 기후 모니터링 및 GPS 등의 응용 분야에 사용됩니다. 신호를 전처리하고 비교하며 디지털 필터를 설계하고 신호를 변환하며 측정을 수행하고 패턴과 이벤트를 검출하는 작업들이 흔히 수행됩니다. 데이터 시각화를 사용하여 시간, 주파수 및 시간-주파수 영역에서 관심 신호를 분석할 수 있습니다.
아래 플롯은 태평양 대왕고래의 오디오 데이터입니다. 이 시각화는 시간 및 주파수 영역에서 신호의 시각화를 돕는 신호 분석기 앱을 사용하여 MATLAB®에서 만들어졌습니다.
영상 처리 및 컴퓨터 비전
영상 및 비디오 처리를 사용하면 형상을 찾고 객체의 개수를 세고 색을 식별하고 객체 속성을 측정하고 다른 유의미한 정보를 찾을 수 있습니다. 흔히 컴퓨터 비전 워크플로에서 전처리 단계로 영상 처리 기법을 적용합니다. 이 영역의 응용 분야에는 스마트폰의 얼굴 인식, 자율주행 차량의 보행자 및 차량 회피, 비디오 감시, 의료 MRI의 종양 검출 및 기타 영상 검색 시스템 등이 있습니다.
예를 들면 BMW는 ADV(Assisted Driving View)에서 컴퓨터 비전 기능을 사용하여 주변 차량을 표시하고 그 유형을 식별합니다.
AI (인공 지능)
데이터 시각화는 머신러닝 또는 딥러닝을 사용하여 AI 모델을 개발할 때 중요한 역할을 하는데 이는 이런 모델이 해석하기 어려운 거대한 데이터셋에 의존하기 때문입니다. 머신러닝에서 군집 분석은 지도 학습의 이상 검출과 데이터 전처리에 유용합니다. PCA(주성분 분석) 및 t-SNE(T 분산 확률적 이웃 임베딩)은 데이터 차원을 축소를 통해 차이가 있는 핵심적인 차원에만 집중할 수 있어 가장 널리 사용되는 데이터 시각화 기법입니다.
딥러닝에서 신경망 정확도나 손실의 플롯 같은 데이터 시각화를 사용하여 훈련의 진행 상황을 모니터링하고 Grad-CAM(Gradient-weighted Class Activation Mapping), 폐색 감도, LIME(Local Interpretable Model-agnostic Explanation), 딥 드림 등의 시각화 기법을 사용하여 훈련된 신경망을 살펴볼 수 있습니다.
소프트웨어 패키지를 사용하면 원시 데이터를 플롯, 차트, 다이어그램 등의 풍성한 시각화로 변환할 수 있습니다. 다음은 자전거 교통 밀도 데이터의 예입니다. 원시 데이터를 육안으로만 봐서는 데이터 점들 사이의 관계를 규명하기 어렵습니다.
Timestamp | Day | Total | Westbound | Eastbound | Time |
‘2015-06-24 07:00:00’ | ‘Wednesday’ | 141 | 13 | 128 | 7 |
‘2015-06-24 08:00:00’ | ‘Wednesday’ | 327 | 44 | 283 | 8 |
‘2015-06-24 09:00:00’ | ‘Wednesday’ | 184 | 32 | 152 | 9 |
‘2015-06-24 10:00:00’ | ‘Wednesday’ | 94 | 30 | 64 | 10 |
‘2015-06-24 11:00:00’ | ‘Wednesday’ | 67 | 24 | 43 | 11 |
‘2015-06-24 12:00:00’ | ‘Wednesday’ | 66 | 32 | 34 | 12 |
‘2015-06-24 13:00:00’ | ‘Wednesday’ | 67 | 32 | 35 | 13 |
아래의 막대 그래프에는 주중 요일별 자전거 교통 밀도의 상승과 하강이 나타나 있습니다. 이제 주말에 비해 주중에 자전거 타는 사람의 수가 많다는 것을 분명히 알 수 있습니다. 이러한 시각화를 통해 이 경로에서 자전거를 타는 사람들이 주로 직장을 출퇴근하는 사람들이라고 추론할 수 있습니다.
같은 데이터에서 더 많은 이해를 얻기 위해 산점도 플롯을 사용할 수 있습니다. 다음의 플롯에는 하루 중 특정한 시간에 동쪽과 서쪽을 향하는 자전거의 합계가 나타나 있습니다. 이 플롯을 보면 동쪽을 향하는 경로는 상업 지구로 이어지고 서쪽을 향하는 경로는 주거 지역으로 이어진다는 결론을 내릴 수 있습니다. 더 나아가서, 러시아워 교통이 동쪽을 향하는 경로는 오전 8시부터 10시이고 서쪽을 향하는 경로는 오후 4시부터 6시라는 점을 알 수 있습니다.
군집 차트는 특수한 종류의 산점도 플롯으로서 하루 중 다양한 시간, 주중 요일 및 방향별 자전거 교통의 밀도 패턴을 보여줄 수 있습니다.
이 자전거 교통의 예에서는 막대, 산점도, 군집 차트 등 다양한 유형의 플롯으로 데이터를 시각화하면 피크 교통량 요일, 통근 방향, 하루 중 가장 붐비는 시간 등 유용한 정보를 데이터셋에서 추출할 수 있습니다.
MATLAB은 데이터 분석, 알고리즘 개발 및 모델 생성에 사용하는 프로그래밍 및 수치 계산 플랫폼입니다. MATLAB은 데이터를 직접 MATLAB으로 가져와, 그 데이터를 분석하고 시각화하며 결과를 내보내는 등의 전체 데이터 분석 워크플로를 지원합니다. 대화형 방식의 앱을 사용하여 코드를 작성하지 않고 데이터를 시각화할 수 있고 앱이 자동으로 적절한 MATLAB 코드를 대신 생성해주므로 여러분의 작업을 자동화하고 재사용할 수 있습니다.
데이터 시각화 생성
MATLAB은 다양한 응용 분야에서 나온 데이터셋을 시각화하기 위해 선 플롯, 산점도 차트, 분포 플롯, 지리 플롯 등 다양한 내장 차트 유형을 제공합니다. 대화형 방식으로 또는 MATLAB 언어를 사용하여 프로그래밍 방식으로 시각화를 생성할 수 있습니다.
데이터 시각화 탐색
다음과 같이 대화형 방식으로 시각화를 살펴볼 수 있습니다.
데이터 시각화에 주석 추가 및 사용자 지정
다음과 같이 전달하려는 중요한 정보를 강조하여 시각화에 대화형 방식으로 주석을 추가할 수 있습니다.
대화형 방식으로 차트를 수정하면 MATLAB이 자동으로 코드를 생성합니다. 이 코드를 스크립트에 추가하여 재사용할 수 있습니다.
복잡한 데이터셋은 단순한 차트로 시각화하기 어려울 수 있습니다. MATLAB을 통해 여러분의 시각화 요구에 부합하는 사용자 지정 차트를 만들고 사용자 지정 상호작용을 추가할 수 있습니다.
다음과 같은 예가 있습니다.
- 스파크라인 구성요소 - 테이블 같은 다중 벡터 데이터셋에서 각 벡터의 일반적인 추세를 나타내는 작은 선 그래프 생성. 각 행/열의 데이터 추세 관찰 및 비교.
- 밀도 산점도 차트 - 색(또는 투명도)을 사용하여 점들의 밀도 식별.
MATLAB Central의 File Exchange에서 더 많은 사용자 지정 차트 컨테이너의 예를 살펴볼 수 있습니다.
데이터 시각화 내보내기
사용자 지정하고 주석을 추가한 시각화를 직접 내보내서 웹, 프레젠테이션, 보고서 등에 사용할 수 있습니다.
직접 앱 내에서 대화형 방식의 컨트롤을 사용하여 코드를 작성하지 않고도 작업을 지정할 수 있고, 이에 대응하는 데이터 시각화가 통합됩니다. 그렇게 하면 주어진 작업의 결과를 즉시 확인할 수 있습니다. 분석과 전처리가 완료되면 앱이 자동으로 이에 대응하는 MATLAB 코드를 생성하여 다른 데이터에 대해서도 이 단계들을 자동화할 수 있습니다.
응용 분야 특정 시각화
MATLAB 툴박스는 시각화와 데이터 전처리 및 분석을 결합하는 대화형 방식의 앱과 함께 응용 분야 특정 시각화를 제공합니다.
일변량 및 다변량 시계열 데이터를 시각화하고 분석하는 Econometric Modeler 앱(Econometrics Toolbox™에 포함).
다단 디지털 다운 컨버터의 개별 단계의 주파수 응답(DSP System Toolbox™에 포함).
Bluetooth LE 차단, 상호변조 및 반송파 대 간섭비 성능 테스트(Bluetooth® Toolbox에 포함)
위상 배열 시스템의 빔포밍(Phased Array System Toolbox™에 포함).
흥미로운 데이터 시각화 응용 사례
여러 조직에서 MATLAB의 데이터 시각화 기능을 사용하여 연구 목표를 효과적으로 달성하고 있습니다.
Ford - 드라이브-사이클 테스트 결과 분석 툴 개발 사례
Ford의 차량 에너지 관리 엔지니어링 팀에서는 MATLAB을 사용하여 차량의 배출, 연비, 성능을 평가하기 위한 CycleTool을 개발하였습니다. 이 툴을 사용하여 하드웨어 테스트 결과를 모델 예측 및 시뮬레이션과 비교하여 시각화함으로써 시스템 성능을 평가할 수 있습니다.
고속 카메라와 풍동을 사용한 나비의 비행에 대한 이해 사례
Lund University 연구진은 나비의 독특한 날갯짓 패턴의 원인을 연구하고 MATLAB을 사용하여 영상 처리, 데이터 분석, 모델링, 시각화를 수행했습니다. 나비의 비행 행동을 연구함으로써 엔지니어들은 더욱 효율적이고 역동적인 비행 드론(또는 수영 드론까지)을 제작할 수 있습니다. 나비의 비행 해동에 대한 분석에서 영감을 얻은 연구진은 MATLAB 데이터 시각화 기능을 사용하여 날개 디자인의 성능을 분석하고 비교하였습니다.
State Street Global Advisors - ESG 투자에 투명성을 도입하는 점수 모델 개발 사례
State Street Global Advisors의 개발 팀에서는 투자자들이 현명한 의사결정을 하고 ESG(환경, 사회, 기업 지배구조) 점수를 향상시키도록 돕는 시스템인 R-Factor™의 개발 과정에서 알고리즘을 정교화하기 위해 히스토그램, 산점도 플롯, 상자 플롯, 기타 시각화를 생성하였습니다.
Bosch - 자동차 테스트 데이터 분석 및 시각화를 위한 단일 플랫폼 개발 사례
Bosch에서는 MATLAB을 사용하여 측정 기기, 테스트벤치, 차량에서 수집한 테스트 데이터를 시각화, 처리, 분석하고 보고서를 생성하는 툴인 ENValyzer(Engineering Test Data Visualizer and Analyzer)를 개발하였습니다. Bosch의 엔지니어들은 데이터를 단일 플롯, 2차 플롯, 행렬 플롯, 다축 보기로 만들 수 있었습니다.