데이터 시각화

 

데이터 시각화란?

꼭 알아야 할 3가지 사항

데이터 시각화란 데이터에 있는 패턴, 추세, 이상값 등을 손쉽게 식별할 수 있도록 데이터를 플롯, 차트, 지도, 3차원 시각화 같은 그래픽 표현으로 변환하는 과정입니다.

이런 데이터 시각화를 사용하면 센서, 데이터 로거, 의료 기록, 웹 검색 패턴, 구입 패턴 등의 출처에서 나온 빅데이터셋 같은 원시 데이터를 봐서는 관찰하기 어렵거나 불가능한 관계를 쉽게 볼 수 있습니다. 데이터를 실용적인 정보로 변환하는 데 있어 데이터 시각화는 중요한 역할을 합니다.

데이터 시각화로 얻는 이점

데이터 시각화 기법은 영역별로 다양합니다.

계산 금융

과거 데이터 또는 실시간 시장 데이터를 사용하는 데이터 시각화를 통해 빠르게 패턴과 추세를 식별하고 이상을 감지하며 유의미한 이해를 얻어낼 수 있습니다. 데이터 시각화를 통해 분석, 예측 모델 개발, 리스크 평가, 트레이딩 전략 정식화를 수행할 수 있습니다.

아래 플롯은 과거 데이터에 피팅된 시계열 모델로부터 전력 현물 가격의 향후 거동을 시뮬레이션하고 있습니다.

시뮬레이션된 현물 가격 및 추세와 함께 과거 현물 가격 및 추세를 보여주는 전력 현물 가격의 플롯. x축은 연도를 나타내며, y축은 현물 가격을 나타냅니다.

예측된 결정적 추세와 함께 과거 데이터를 보여주는 전력 현물 가격의 플롯.

신호 처리

신호 처리는 음성 분석, 심박수 모니터링, 무선 통신, 원격탐사, 기후 모니터링 및 GPS 등의 응용 분야에 사용됩니다. 신호를 전처리하고 비교하며 디지털 필터를 설계하고 신호를 변환하며 측정을 수행하고 패턴과 이벤트를 검출하는 작업들이 흔히 수행됩니다. 데이터 시각화를 사용하여 시간, 주파수 및 시간-주파수 영역에서 관심 신호를 분석할 수 있습니다.

아래 플롯은 태평양 대왕고래의 오디오 데이터입니다. 이 시각화는 시간 및 주파수 영역에서 신호의 시각화를 돕는 신호 분석기 앱을 사용하여 MATLAB®에서 만들어졌습니다.

태평양 대왕고래의 오디오에서 추출한 신호 데이터와 데이터 그래프가 표시된 신호 분석기 앱의 스크린샷.

태평양 대왕고래의 오디오에서 추출된 관심 영역.

영상 처리 및 컴퓨터 비전

영상 및 비디오 처리를 사용하면 형상을 찾고 객체의 개수를 세고 색을 식별하고 객체 속성을 측정하고 다른 유의미한 정보를 찾을 수 있습니다. 흔히 컴퓨터 비전 워크플로에서 전처리 단계로 영상 처리 기법을 적용합니다. 이 영역의 응용 분야에는 스마트폰의 얼굴 인식, 자율주행 차량의 보행자 및 차량 회피, 비디오 감시, 의료 MRI의 종양 검출 및 기타 영상 검색 시스템 등이 있습니다.

예를 들면 BMW는 ADV(Assisted Driving View)에서 컴퓨터 비전 기능을 사용하여 주변 차량을 표시하고 그 유형을 식별합니다.

객체 검출을 시연하고 있는 BMW ADV(Assisted Driver View)의 스크린샷.

BMW의 Assisted Driver View. 영상 정합, 객체 검출, 실측 레이블 지정 및 테스트 출력과 비교한 ADV 장면의 테스트 등의 자동화된 검증에 MATLAB이 사용되었습니다.

AI (인공 지능)

데이터 시각화는 머신러닝 또는 딥러닝을 사용하여 AI 모델을 개발할 때 중요한 역할을 하는데 이는 이런 모델이 해석하기 어려운 거대한 데이터셋에 의존하기 때문입니다. 머신러닝에서 군집 분석은 지도 학습의 이상 검출과 데이터 전처리에 유용합니다. PCA(주성분 분석)t-SNE(T 분산 확률적 이웃 임베딩)은 데이터 차원을 축소를 통해 차이가 있는 핵심적인 차원에만 집중할 수 있어 가장 널리 사용되는 데이터 시각화 기법입니다.

딥러닝에서 신경망 정확도나 손실의 플롯 같은 데이터 시각화를 사용하여 훈련의 진행 상황을 모니터링하고 Grad-CAM(Gradient-weighted Class Activation Mapping), 폐색 감도, LIME(Local Interpretable Model-agnostic Explanation), 딥 드림 등의 시각화 기법을 사용하여 훈련된 신경망을 살펴볼 수 있습니다.

세 가지 다른 종의 붓꽃의 마할라노비스, 코사인, 체비쇼프, 유클리드 플롯.

피셔 붓꽃 데이터셋을 사용한 다양한 붓꽃 종의 플롯. tsne 함수를 사용하여 플로팅한 시각화.

데이터 시각화 작동 방식

소프트웨어 패키지를 사용하면 원시 데이터를 플롯, 차트, 다이어그램 등의 풍성한 시각화로 변환할 수 있습니다. 다음은 자전거 교통 밀도 데이터의 예입니다. 원시 데이터를 육안으로만 봐서는 데이터 점들 사이의 관계를 규명하기 어렵습니다.

자전거 교통 밀도 원시 데이터 미리보기.
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시라는 점을 알 수 있습니다.

보스턴 자전거 교통의 산점도 플롯. x축은 하루 중 시간을 나타내며, y축은 총 자전거 대수를 나타냅니다. 청색 점은 동쪽을 향하는 운전자이고, 진한 주황색 점은 서쪽을 향하는 운전자입니다.

하루 중 시간별 동향 및 서향 자전거 교통량. 

군집 차트는 특수한 종류의 산점도 플롯으로서 하루 중 다양한 시간, 주중 요일 및 방향별 자전거 교통의 밀도 패턴을 보여줄 수 있습니다.

자전거 렌탈 대수의 밀도를 보여주는 주중, 하루 중 시간, 운행 방향이 플로팅된 보스턴 자전거 교통의 군집 차트.

요일 및 방향별 자전거 교통 밀도.

이 자전거 교통의 예에서는 막대, 산점도, 군집 차트 등 다양한 유형의 플롯으로 데이터를 시각화하면 피크 교통량 요일, 통근 방향, 하루 중 가장 붐비는 시간 등 유용한 정보를 데이터셋에서 추출할 수 있습니다.

MATLAB을 사용한 데이터 시각화

MATLAB은 데이터 분석, 알고리즘 개발 및 모델 생성에 사용하는 프로그래밍 및 수치 계산 플랫폼입니다. MATLAB은 데이터를 직접 MATLAB으로 가져와, 그 데이터를 분석하고 시각화하며 결과를 내보내는 등의 전체 데이터 분석 워크플로를 지원합니다. 대화형 방식의 앱을 사용하여 코드를 작성하지 않고 데이터를 시각화할 수 있고 앱이 자동으로 적절한 MATLAB 코드를 대신 생성해주므로 여러분의 작업을 자동화하고 재사용할 수 있습니다.

데이터 시각화 생성

MATLAB은 다양한 응용 분야에서 나온 데이터셋을 시각화하기 위해 선 플롯, 산점도 차트, 분포 플롯, 지리 플롯 등 다양한 내장 차트 유형을 제공합니다. 대화형 방식으로 또는 MATLAB 언어를 사용하여 프로그래밍 방식으로 시각화를 생성할 수 있습니다.

데이터 시각화 탐색

다음과 같이 대화형 방식으로 시각화를 살펴볼 수 있습니다.

  • 데이터셋의 특정 부분 확대 및 축소
  • 대화형 방식으로 시각화 패닝 및 회전
  • 시각화에 직접 추세선 또는 데이터 값 표시
  • 데이터 점에 음영 적용 및 강조 표시
  • 영역 간 전환 (예: 시간, 주파수, S, Z 영역)

데이터 시각화에 주석 추가 및 사용자 지정

다음과 같이 전달하려는 중요한 정보를 강조하여 시각화에 대화형 방식으로 주석을 추가할 수 있습니다.

  • 주요 데이터 점에 주석 추가
  • 데이터팁 추가
  • 축 레이블 추가
  • 다양한 색 및 패턴별로 그룹화
  • 데이터 마커, 라인 스타일, 색 추가

대화형 방식으로 차트를 수정하면 MATLAB이 자동으로 코드를 생성합니다. 이 코드를 스크립트에 추가하여 재사용할 수 있습니다.

I-Q 신호의 그래프. x축은 x를 나타내고 y축은 정규화된 진폭을 나타냅니다. 동위상 신호 및 직교위상 신호가 보입니다.

시각화를 수정하는 코드 업데이트 옵션.

복잡한 데이터셋은 단순한 차트로 시각화하기 어려울 수 있습니다. MATLAB을 통해 여러분의 시각화 요구에 부합하는 사용자 지정 차트를 만들고 사용자 지정 상호작용을 추가할 수 있습니다. 

다음과 같은 예가 있습니다.

  • 스파크라인 구성요소 - 테이블 같은 다중 벡터 데이터셋에서 각 벡터의 일반적인 추세를 나타내는 작은 선 그래프 생성. 각 행/열의 데이터 추세 관찰 및 비교.
  • 밀도 산점도 차트 - 색(또는 투명도)을 사용하여 점들의 밀도 식별.
레이블이 지정되지 않은 데이터를 플로팅한 스파크라인 구성요소 및 밀도 산점도 플롯의 스크린샷.

(왼쪽) 스파크라인 구성요소, (오른쪽) 밀도 산점도 차트.

MATLAB Central의 File Exchange에서 더 많은 사용자 지정 차트 컨테이너의 예를 살펴볼 수 있습니다.

데이터 시각화 내보내기

사용자 지정하고 주석을 추가한 시각화를 직접 내보내서 웹, 프레젠테이션, 보고서 등에 사용할 수 있습니다.

한 위치에 저장되고 있는 figure를 보여주는 스크린샷.

Figure 내보내기.

데이터 시각화와 데이터 분석의 통합

데이터 시각화는 흔히 데이터 분석 및 전처리와 결합됩니다. 데이터 정리기신호 분석기 같은 MATLAB 앱을 사용하면 그러한 단계들을 결합할 수 있습니다.

직접 앱 내에서 대화형 방식의 컨트롤을 사용하여 코드를 작성하지 않고도 작업을 지정할 수 있고, 이에 대응하는 데이터 시각화가 통합됩니다. 그렇게 하면 주어진 작업의 결과를 즉시 확인할 수 있습니다. 분석과 전처리가 완료되면 앱이 자동으로 이에 대응하는 MATLAB 코드를 생성하여 다른 데이터에 대해서도 이 단계들을 자동화할 수 있습니다.

응용 분야 특정 시각화

MATLAB 툴박스는 시각화와 데이터 전처리 및 분석을 결합하는 대화형 방식의 앱과 함께 응용 분야 특정 시각화를 제공합니다.

Econometric Modeler 앱의 스크린샷.

일변량 및 다변량 시계열 데이터를 시각화하고 분석하는 Econometric Modeler 앱(Econometrics Toolbox™에 포함).

x축에는 MHz 단위의 주파수가 y축에는 크기가 표시된 크기 응답 차트의 스크린샷.

다단 디지털 다운 컨버터의 개별 단계의 주파수 응답(DSP System Toolbox™에 포함).

x축에는 GHz 단위의 주파수가 y축에는 dBm이 표시된 필요한 신호와 간섭 신호의 스펙트럼을 플로팅한 그래프의 스크린샷.

Bluetooth LE 차단, 상호변조 및 반송파 대 간섭비 성능 테스트(Bluetooth® Toolbox에 포함)

다수의 차원에 대해 정규화된 dB 단위의 출력을 측정하는 위상 배열 시스템의 빔포밍 그래픽의 스크린샷.

위상 배열 시스템의 빔포밍(Phased Array System Toolbox™에 포함).

MATLAB과 기타 데이터 시각화 툴의 연결

MATLAB의 계산 및 데이터 처리 기능을 사용하여 다음과 같은 비즈니스 인텔리전스 툴로 시각화와 대시보드를 만들 수 있습니다.

사례 연구 섹션

흥미로운 데이터 시각화 응용 사례

여러 조직에서 MATLAB의 데이터 시각화 기능을 사용하여 연구 목표를 효과적으로 달성하고 있습니다.

Ford - 드라이브-사이클 테스트 결과 분석 툴 개발 사례

Ford의 차량 에너지 관리 엔지니어링 팀에서는 MATLAB을 사용하여 차량의 배출, 연비, 성능을 평가하기 위한 CycleTool을 개발하였습니다. 이 툴을 사용하여 하드웨어 테스트 결과를 모델 예측 및 시뮬레이션과 비교하여 시각화함으로써 시스템 성능을 평가할 수 있습니다.

사례 보기

모델 예측 및 시뮬레이션과 비교하여 하드웨어 테스트 결과를 시각화하는 기능을 시연하고 있는 MATLAB의 스크린샷.

요약 앱에서 데이터 브러싱을 통한 추세 발견하기.

고속 카메라와 풍동을 사용한 나비의 비행에 대한 이해 사례

Lund University 연구진은 나비의 독특한 날갯짓 패턴의 원인을 연구하고 MATLAB을 사용하여 영상 처리, 데이터 분석, 모델링, 시각화를 수행했습니다. 나비의 비행 행동을 연구함으로써 엔지니어들은 더욱 효율적이고 역동적인 비행 드론(또는 수영 드론까지)을 제작할 수 있습니다. 나비의 비행 해동에 대한 분석에서 영감을 얻은 연구진은 MATLAB 데이터 시각화 기능을 사용하여 날개 디자인의 성능을 분석하고 비교하였습니다.

사례 보기

정규화된 시간 속에서 충격과 에너지를 나타내는 다양한 날개 유형을 보여주는 4개의 차트.

유연한 날개는 날갯짓의 힘과 효율을 높여 줍니다.

State Street Global Advisors - ESG 투자에 투명성을 도입하는 점수 모델 개발 사례

State Street Global Advisors의 개발 팀에서는 투자자들이 현명한 의사결정을 하고 ESG(환경, 사회, 기업 지배구조) 점수를 향상시키도록 돕는 시스템인 R-Factor™의 개발 과정에서 알고리즘을 정교화하기 위해 히스토그램, 산점도 플롯, 상자 플롯, 기타 시각화를 생성하였습니다.

사례 보기

MSCI World의 산업별 R-Factor ESG 점수를 나타내고 있는 히스토그램을 형성하는 12개의 차트.

산업별 R-Factor ESG 점수를 보여주는 히스토그램.

Bosch - 자동차 테스트 데이터 분석 및 시각화를 위한 단일 플랫폼 개발 사례

Bosch에서는 MATLAB을 사용하여 측정 기기, 테스트벤치, 차량에서 수집한 테스트 데이터를 시각화, 처리, 분석하고 보고서를 생성하는 툴인 ENValyzer(Engineering Test Data Visualizer and Analyzer)를 개발하였습니다. Bosch의 엔지니어들은 데이터를 단일 플롯, 2차 플롯, 행렬 플롯, 다축 보기로 만들 수 있었습니다.

사례 보기

RPM 스펙트럼 결과에 대한 PR(부각 비율)을 보여주는 ENValyzer 플롯.

RPM 스펙트럼 결과에 대한 PR(부각 비율)을 보여주는 ENValyzer 플롯.