최고의 시각화 소프트웨어는 필요한 그림을 만들 수 있게 해주는 소프트웨어입니다.
올바른 시각화 소프트웨어 선택하기
이 책 전체에서 저는 데이터 시각화의 중요한 질문 중 하나인 “실제로 그림을 어떻게 생성하는가? 어떤 도구를 사용해야 하는가?”라는 질문을 의도적으로 피했습니다. 이 질문은 많은 사람들이 익숙한 특정 도구에 강한 감정적 유대감을 가지고 있기 때문에 열띤 토론을 불러일으킬 수 있습니다. 저는 종종 사람들이 새로운 접근 방식에 객관적인 이점이 있더라도 새로운 접근 방식을 배우는 데 시간을 투자하는 대신 자신이 선호하는 도구를 강력하게 옹호하는 것을 보았습니다. 그리고 저는 여러분이 알고 있는 도구를 고수하는 것이 전적으로 불합리한 것은 아니라고 말하고 싶습니다. 새로운 도구를 배우는 데는 시간과 노력이 필요하며, 새로운 도구로 작업을 수행하는 것이 이전 도구보다 훨씬 더 어려운 고통스러운 전환 기간을 거쳐야 합니다. 이 기간을 거치는 것이 노력할 가치가 있는지는 일반적으로 새로운 도구를 배우기 위해 투자한 후에야 회고적으로 평가할 수 있습니다. 따라서 다양한 도구와 접근 방식의 장단점에 관계없이 가장 중요한 원칙은 자신에게 맞는 도구를 선택해야 한다는 것입니다. 과도한 노력 없이 원하는 그림을 만들 수 있다면 그것으로 충분합니다.
그렇긴 하지만, 시각화를 제작하는 다양한 접근 방식의 상대적인 장점을 평가하는 데 사용할 수 있는 일반적인 원칙이 있다고 생각합니다. 이러한 원칙은 대략적으로 시각화의 재현성, 데이터의 신속한 탐색 용이성, 출력물의 시각적 모양을 어느 정도까지 조정할 수 있는지에 따라 분류됩니다.
재현성 및 반복성
과학적 실험의 맥락에서, 다른 연구 그룹이 동일한 유형의 연구를 수행하더라도 연구의 전반적인 과학적 발견이 변경되지 않으면 해당 연구를 재현 가능하다고 합니다. 예를 들어, 한 연구 그룹이 새로운 진통제가 눈에 띄는 부작용 없이 인지된 두통을 현저히 감소시킨다는 것을 발견하고 다른 그룹이 이후 동일한 약물을 다른 환자 그룹에 대해 연구하여 동일한 결과를 얻으면 해당 연구는 재현 가능합니다. 반대로, 동일한 사람이 동일한 장비에서 정확히 동일한 측정 절차를 반복하여 매우 유사하거나 동일한 측정을 얻을 수 있으면 해당 연구는 반복 가능합니다. 예를 들어, 제가 제 개의 체중을 측정하여 41파운드라는 것을 발견한 다음 동일한 저울에서 다시 체중을 측정하여 다시 41파운드라는 것을 발견하면 이 측정은 반복 가능합니다.
약간의 수정을 거쳐 이러한 개념을 데이터 시각화에 적용할 수 있습니다. 플로팅된 데이터를 사용할 수 있고 적용되었을 수 있는 모든 데이터 변환이 정확하게 지정된 경우 시각화는 재현 가능합니다. 예를 들어, 그림을 만든 다음 플로팅한 정확한 데이터를 저에게 보내면 실질적으로 유사한 그림을 준비할 수 있습니다. 동일한 데이터를 표시하기 위해 약간 다른 글꼴이나 색상 또는 점 크기를 사용할 수 있으므로 두 그림이 정확히 동일하지 않을 수 있지만, 귀하의 그림과 제 그림은 동일한 메시지를 전달하므로 서로의 재현입니다. 반면에 시각화는 원시 데이터에서 마지막 픽셀까지 정확히 동일한 시각적 모양을 다시 만들 수 있는 경우 반복 가능합니다. 엄밀히 말해, 반복성은 그림에 지터(챕터 중첩된 점 처리하기)와 같은 임의 요소가 있더라도 해당 요소가 반복 가능한 방식으로 지정되었으며 나중에 다시 생성할 수 있어야 합니다. 임의 데이터의 경우 반복성은 일반적으로 시드를 설정하고 기록하는 특정 난수 생성기를 지정해야 합니다.
이 책 전체에서 다른 그림을 재현하지만 반복하지는 않는 그림의 많은 예를 보았습니다. 예를 들어, 챕터 ?sec-avoid-line-drawings는 각 세트의 모든 그림이 동일한 데이터를 보여주지만 각 세트의 각 그림이 다소 다르게 보이는 여러 그림 세트를 보여줍니다. 마찬가지로, 그림 Figure 30.1 (a)는 각 데이터 포인트에 적용된 임의 지터까지 그림 ?fig-lincoln-temp-jittered를 반복한 반면, 그림 Figure 30.1 (b)는 해당 그림의 재현일 뿐입니다. 그림 Figure 30.1 (b)는 그림 ?fig-lincoln-temp-jittered와 다른 지터를 가지고 있으며, 두 그림이 데이터에 대한 동일한 정보를 명확하게 전달하더라도 두 그림이 상당히 다르게 보이도록 충분히 다른 시각적 디자인을 사용합니다.
(ref:lincoln-repro) 그림의 반복 및 재현. (a) 부분은 그림 ?fig-lincoln-temp-jittered의 반복입니다. 두 그림은 각 점에 적용된 임의 지터까지 동일합니다. 반대로 (b) 부분은 재현이지만 반복은 아닙니다. 특히 (b) 부분의 지터는 (a) 부분 또는 그림 ?fig-lincoln-temp-jittered의 지터와 다릅니다.
대화형 플로팅 소프트웨어로 작업할 때 재현성과 반복성을 모두 달성하기 어려울 수 있습니다. 많은 대화형 프로그램에서는 데이터를 변환하거나 조작할 수 있지만 수행하는 모든 개별 데이터 변환을 추적하지 않고 최종 결과물만 추적합니다. 이러한 종류의 프로그램으로 그림을 만든 다음 누군가가 그림을 재현하거나 다른 데이터 세트로 유사한 그림을 만들도록 요청하면 어려움을 겪을 수 있습니다. 박사후 연구원 및 젊은 조교수로 재직하던 시절에 저는 모든 과학적 시각화에 대화형 프로그램을 사용했으며 이러한 문제가 여러 번 발생했습니다. 예를 들어 과학 논문에 여러 그림을 만들었습니다. 몇 달 후 논문을 수정하고 싶어서 그림 중 하나의 약간 변경된 버전을 재현해야 했을 때 원래 그림을 어떻게 만들었는지 잘 기억나지 않는다는 것을 깨달았습니다. 이 경험을 통해 저는 가능한 한 대화형 프로그램을 멀리하게 되었습니다. 이제 저는 원시 데이터에서 그림을 생성하는 코드(스크립트)를 작성하여 프로그래밍 방식으로 그림을 만듭니다. 프로그래밍 방식으로 생성된 그림은 일반적으로 생성 스크립트와 사용된 프로그래밍 언어 및 특정 라이브러리에 액세스할 수 있는 모든 사람이 반복할 수 있습니다.
데이터 탐색 대 데이터 프레젠테이션
데이터 시각화에는 두 가지 뚜렷한 단계가 있으며 요구 사항이 매우 다릅니다. 첫 번째는 데이터 탐색입니다. 새로운 데이터 세트로 작업을 시작할 때마다 데이터 세트의 주요 특징을 이해하기 위해 다양한 각도에서 살펴보고 다양한 시각화 방법을 시도해야 합니다. 이 단계에서는 속도와 효율성이 가장 중요합니다. 다양한 유형의 시각화, 다양한 데이터 변환, 다양한 데이터 하위 집합을 시도해야 합니다. 데이터를 보는 다양한 방법을 더 빨리 반복할수록 더 많이 탐색하게 되고 그렇지 않으면 간과했을 수 있는 데이터의 중요한 특징을 발견할 가능성이 높아집니다. 두 번째 단계는 데이터 프레젠테이션입니다. 데이터 세트를 이해하고 청중에게 보여주고 싶은 측면을 알게 되면 이 단계에 들어갑니다. 이 단계의 주요 목표는 기사나 책에 인쇄하거나 프레젠테이션에 포함하거나 인터넷에 게시할 수 있는 고품질의 출판 준비가 된 그림을 준비하는 것입니다.
탐색 단계에서는 만드는 그림이 매력적으로 보이는지 여부는 부차적입니다. 데이터의 다양한 패턴을 평가할 수 있는 한 축 레이블이 없거나 범례가 엉망이거나 기호가 너무 작아도 괜찮습니다. 그러나 중요한 것은 데이터를 표시하는 방법을 변경하는 것이 얼마나 쉬운가 하는 것입니다. 데이터를 진정으로 탐색하려면 산점도에서 중첩 밀도 분포 그림, 상자 그림, 히트맵으로 빠르게 이동할 수 있어야 합니다. 챕터 ?sec-aesthetic-mapping에서는 모든 시각화가 데이터에서 미학적 요소로의 매핑으로 구성되는 방법을 논의했습니다. 잘 설계된 데이터 탐색 도구를 사용하면 어떤 변수가 어떤 미학적 요소에 매핑되는지 쉽게 변경할 수 있으며 단일하고 일관된 프레임워크 내에서 광범위한 다양한 시각화 옵션을 제공합니다. 그러나 제 경험상 많은 시각화 도구(특히 프로그래밍 방식 그림 생성을 위한 라이브러리)는 이러한 방식으로 설정되어 있지 않습니다. 대신 플롯 유형별로 구성되어 있으며 각 플롯 유형마다 다소 다른 입력 데이터가 필요하고 고유한 특이한 인터페이스가 있습니다. 이러한 도구는 모든 다른 플롯 유형이 어떻게 작동하는지 기억하기 어렵기 때문에 효율적인 데이터 탐색을 방해할 수 있습니다. 시각화 소프트웨어가 신속한 데이터 탐색을 허용하는지 아니면 방해가 되는 경향이 있는지 신중하게 평가하는 것이 좋습니다. 더 자주 방해가 되는 경향이 있다면 대체 시각화 옵션을 탐색하는 것이 도움이 될 수 있습니다.
데이터를 정확히 어떻게 시각화할지, 어떤 데이터 변환을 수행할지, 어떤 유형의 플롯을 사용할지 결정한 후에는 일반적으로 출판을 위해 고품질 그림을 준비하려고 합니다. 이 시점에서 우리는 추구할 수 있는 몇 가지 다른 방법이 있습니다. 첫째, 초기 탐색에 사용한 것과 동일한 소프트웨어 플랫폼을 사용하여 그림을 마무리할 수 있습니다. 둘째, 최종 결과물에 대한 더 세밀한 제어를 제공하는 플랫폼으로 전환할 수 있습니다. 비록 해당 플랫폼이 탐색을 더 어렵게 만들더라도 말입니다. 셋째, 시각화 소프트웨어로 초안 그림을 제작한 다음 Photoshop이나 Illustrator와 같은 이미지 조작 또는 일러스트레이션 프로그램으로 수동으로 후처리할 수 있습니다. 넷째, 펜과 종이를 사용하거나 일러스트레이션 프로그램을 사용하여 처음부터 전체 그림을 수동으로 다시 그릴 수 있습니다.
이 모든 방법은 합리적입니다. 그러나 일상적인 데이터 분석 파이프라인이나 과학 출판물에서 그림을 수동으로 꾸미는 것에 대해서는 주의를 환기시키고 싶습니다. 그림 준비 파이프라인의 수동 단계는 그림을 반복하거나 재현하는 것을 본질적으로 어렵고 시간이 많이 걸리게 만듭니다. 그리고 자연 과학 분야에서 일한 제 경험상 그림을 한 번만 만드는 경우는 거의 없습니다. 연구 과정에서 실험을 다시 하거나 원래 데이터 세트를 확장하거나 약간 변경된 조건에서 실험을 여러 번 반복할 수 있습니다. 모든 것이 완료되고 마무리되었다고 생각하는 출판 과정 후반에 데이터 분석 방식에 약간의 수정을 가하여 결과적으로 모든 그림을 다시 그려야 하는 경우를 여러 번 보았습니다. 그리고 비슷한 상황에서 관련된 노력 때문이거나 원래 그림을 만든 사람들이 떠나 더 이상 사용할 수 없기 때문에 분석을 다시 하거나 그림을 다시 그리지 않기로 결정하는 경우도 보았습니다. 이러한 모든 시나리오에서 불필요하게 복잡하고 재현 불가능한 데이터 시각화 파이프라인은 최상의 과학을 생산하는 것을 방해합니다.
그렇긴 하지만, 손으로 그린 그림이나 예를 들어 축 레이블을 변경하거나 주석을 추가하거나 색상을 수정하기 위해 수동으로 후처리된 그림에 대해 원칙적인 우려는 없습니다. 이러한 접근 방식은 다른 방법으로는 쉽게 만들 수 없는 아름답고 독특한 그림을 만들 수 있습니다. 실제로 정교하고 세련된 컴퓨터 생성 시각화가 점점 더 보편화됨에 따라 수동으로 그린 그림이 다소 부활하고 있음을 관찰합니다(예는 그림 Figure 30.2 참조). 저는 이러한 그림이 그렇지 않으면 다소 무미건조하고 일상적인 데이터 프레젠테이션일 수 있는 것에 대한 독특하고 개인화된 해석을 나타내기 때문에 그렇다고 생각합니다.
(ref:sequencing-cost) 차세대 시퀀싱 방법이 도입된 후 게놈당 시퀀싱 비용은 무어의 법칙에서 예측한 것보다 훨씬 빠르게 감소했습니다. 이 손으로 그린 그림은 국립 보건원에서 준비한 널리 알려진 시각화를 재현한 것입니다. 데이터 출처: 국립 인간 게놈 연구소
내용과 디자인의 분리
좋은 시각화 소프트웨어는 그림의 내용과 디자인을 별도로 생각할 수 있도록 해야 합니다. 내용이란 표시된 특정 데이터 세트, 적용된 데이터 변환(있는 경우), 데이터에서 미학적 요소로의 특정 매핑, 척도, 축 범위, 플롯 유형(산점도, 선 그림, 막대 그림, 상자 그림 등)을 의미합니다. 반면에 디자인은 전경색 및 배경색, 글꼴 사양(예: 글꼴 크기, 모양, 계열), 기호 모양 및 크기, 범례, 축 눈금, 축 제목, 플롯 제목의 배치, 그림에 배경 격자가 있는지 여부와 같은 특징을 설명합니다. 새로운 시각화 작업을 할 때 일반적으로 이전 하위 섹션에서 설명한 종류의 신속한 탐색을 사용하여 먼저 내용을 결정합니다. 내용이 설정되면 디자인을 조정하거나 더 가능성이 높은 것은 제가 좋아하고/또는 더 큰 작업 본문 맥락에서 그림에 일관된 모양을 제공하는 미리 정의된 디자인을 적용하는 것입니다.
이 책에서 사용한 소프트웨어인 ggplot2에서는 테마를 통해 내용과 디자인을 분리합니다. 테마는 그림의 시각적 모양을 지정하며 기존 그림을 가져와 다른 테마를 적용하기 쉽습니다(그림 Figure 30.3). 테마는 타사에서 작성하여 R 패키지로 배포할 수 있습니다. 이 메커니즘을 통해 ggplot2를 중심으로 추가 기능 테마의 번성하는 생태계가 개발되었으며 다양한 스타일과 응용 시나리오를 다룹니다. ggplot2로 그림을 만드는 경우 디자인 요구 사항을 충족하는 기존 테마를 거의 확실하게 찾을 수 있습니다.
(ref:unemploy-themes) 1970년부터 2015년까지 미국의 실업자 수. 동일한 그림이 네 가지 다른 ggplot2 테마를 사용하여 표시됩니다. (a) 이 책의 기본 테마; (b) 이 책의 모든 그림을 만드는 데 사용한 플로팅 소프트웨어인 ggplot2의 기본 테마; (c) 이코노미스트에 표시된 시각화를 모방한 테마; (d) 파이브서티에이트에 표시된 시각화를 모방한 테마. 파이브서티에이트는 종종 플롯 제목과 부제목을 위해 축 레이블을 생략하므로 그에 따라 그림을 조정했습니다. 데이터 출처: 미국 노동 통계국
내용과 디자인의 분리는 데이터 과학자와 디자이너가 각자 가장 잘하는 일에 집중할 수 있도록 합니다. 대부분의 데이터 과학자는 디자이너가 아니므로 주된 관심사는 시각화의 디자인이 아니라 데이터여야 합니다. 마찬가지로 대부분의 디자이너는 데이터 과학자가 아니므로 특정 데이터, 적절한 변환 등에 대해 걱정할 필요 없이 그림에 대한 독특하고 매력적인 시각적 언어를 제공할 수 있어야 합니다. 내용과 디자인을 분리하는 동일한 원칙은 작가가 내용만 제공하고 레이아웃이나 디자인은 제공하지 않는 책, 잡지, 신문, 웹사이트의 출판계에서 오랫동안 지켜져 왔습니다. 레이아웃과 디자인은 이 분야를 전문으로 하고 출판물이 시각적으로 일관되고 매력적인 스타일로 보이도록 보장하는 별도의 사람들이 만듭니다. 이 원칙은 논리적이고 유용하지만 데이터 시각화 세계에서는 아직 그렇게 널리 퍼져 있지 않습니다.
요약하자면, 시각화 소프트웨어를 선택할 때 그림을 얼마나 쉽게 재현하고 업데이트되거나 변경된 데이터 세트로 다시 만들 수 있는지, 동일한 데이터의 다른 시각화를 신속하게 탐색할 수 있는지, 그림 내용을 생성하는 것과 별도로 시각적 디자인을 어느 정도까지 조정할 수 있는지 생각해 보십시오. 프로그래밍에 대한 기술 수준과 편안함에 따라 데이터 탐색 단계와 데이터 프레젠테이션 단계에서 다른 시각화 도구를 사용하는 것이 유리할 수 있으며 최종 시각적 조정을 대화식으로 또는 수동으로 수행하는 것을 선호할 수 있습니다. 특히 적용한 모든 데이터 변환 및 시각적 조정을 추적하지 않는 소프트웨어로 대화식으로 그림을 만들어야 하는 경우 각 그림을 만드는 방법에 대해 신중하게 메모하여 모든 작업이 재현 가능하도록 하는 것을 고려하십시오.