~에 JSM 2019, 세션에 참여하고 있습니다. 동적 대화형 데이터 시각화 . 세션 의장인 Blanton Godfrey가 강연에 참여해 달라는 초대를 처음 받았을 때 처음 든 생각은 "물론이죠. JMP에는 동적이고 대화형 데이터 시각화 기능이 많이 있습니다."였습니다. 그러나 두 번째 생각이 곧 이어졌습니다. “그게 정말 무엇을 의미합니까? 요즘에는 모든 것이 상호 작용합니다.”
그것은 상호 작용의 다른 방법을 분류하려고 노력하는 길로 나를 이끌었습니다. 높은 목표는 제품을 비교하거나 개별 구현을 논의하는 데 유용한 데이터 시각화 상호 작용의 분류를 정의하는 데 도움을 주는 것입니다. 이 초기 노력에서 저는 9가지 기술을 분류했으며 내부 상호 작용의 예제 비디오와 함께 JMP .
- 그래프 구축
- 선택 연결
- 행 필터링
- 호버 디테일링
- 모델 튜닝
- 미적 매핑
- 열 전환
- 볼륨 슬라이싱
- 축 스케일링
예제 비디오 전체에서 동일한 데이터 세트를 사용하고 있습니다. 여기에는 3,000개 이상의 미국 카운티에 대한 60개 이상의 인구 통계, 경제 및 선거 데이터 열이 포함되어 있습니다. 이제 방법으로 넘어갑니다!
그래프 구축
대화형 그래프 작성이란 즉각적인 보기 업데이트로 그래프를 구성하거나 재구성하는 것을 의미합니다. JMP에서는 상호 작용이 표면에 직접 나타납니다. 다른 구현은 여전히 그래프 측면에 있는 드롭 영역과 상호 작용할 수 있습니다.
비디오는 몇 가지 과제를 강조합니다. 두 번째 Y 변수인 "Rep Pct"가 추가되었을 때 이전보다 더 많은 Y 드롭 영역이 있었기 때문에 기존 Y 변수와 관련하여 어디에 둘지 지정할 수 있었습니다. 그리고 색상 및 크기 드롭 영역은 X축 및 Y축 변수와 동일한 자연스러운 위치를 가지지 않는다는 점에서 인공적입니다.
이 엔딩 차트는 뉴욕 타임즈 기사 "가장 보수적인 카운티는 정부 지원을 가장 많이 받는 카운티입니다." 약간 있었다 트위터 토론 회귀선 및 기타 기능에 대해. 그로 인해 데이터를 직접 수집하고 탐색하게 되었습니다( 경제분석국 그리고 Tony McGovern의 선거 결과 ). 탐색하는 동안 얼마나 많은 상호작용 방법을 연습하고 있는지 깨달았을 때 이것이 적절한 데모 데이터 세트가 될 것이라고 생각했습니다.
선택 연결
동일한 데이터 테이블을 사용하는 여러 보기가 있는 경우 선택 링크는 한 보기에서 강조 표시된 요소가 다른 보기에서 강조 표시된 해당 요소를 가짐을 의미합니다. JMP에서는 선택 연결이 항상 켜져 있으므로 수백만 개의 행이 있는 경우에도 빨라야 합니다. 이를 달성하기 위해 선택은 모든 데이터 테이블의 핵심 부분으로 구워집니다.
가장 큰 문제는 그래프 요소가 예시에서 군 수준의 점과 주 수준의 도형과 같이 서로 일대일로 대응하지 않는 경우입니다. 모든 그래프 유형에 대해 명확한 방식으로 부분 선택을 표시하는 것은 열려 있는 과제입니다. 지도의 경우 JMP는 다른 곳에서 카운티를 선택하면 전체 상태 모양을 강조 표시합니다. 히스토그램 막대와 같이 개수로 크기가 지정된 그래프 요소의 경우 JMP는 부분 강조 표시를 사용하여 부분 선택을 반영합니다.
행 필터링
행 필터링은 데이터 시각화 상호 작용의 가장 일반적인 유형 중 하나입니다. 아이디어는 비주얼리제이션이 시각적 개체 옆에 나타나는 필터의 제약 조건에 따라 데이터 테이블 행의 하위 집합만 사용한다는 것입니다.
필터링하는 동안 축을 고정된 상태로 유지하기 위해 비디오에서 사용한 "Lock Scales"라는 옵션이 있습니다. 그렇지 않으면 필터링된 각 하위 집합에 대해 조정됩니다.
호버 디테일링
수동적인 종류의 상호 작용은 그래픽 요소 위로 마우스를 가져가서 자세한 정보가 포함된 플로팅 창을 표시하는 것입니다. 원래 도구 모음 아이콘에 사용되었기 때문에 "도구 설명"이라고도 합니다. 데이터 시각화에서 호버 디테일링은 차트 변수와 추가 관련 변수에 대한 보다 정확한 값을 모두 표시하는 방법입니다.
예제에서 해당 변수가 차트에 없는 경우에도 카운티 이름이 산점도에 대한 가리키기 세부 정보에 포함되었음을 알 수 있습니다. 이는 데이터 테이블의 변수가 기본적으로 모든 가리키기 세부 정보에 표시되도록 하는 속성으로 표시되기 때문입니다.
모델 튜닝
모델 튜닝은 모델 매개변수가 변경됨에 따라 시각적 표현이 변경됨을 의미합니다. 예제에서 모델은 스플라인 스무더이고 모델 매개변수는 강성 매개변수인 람다입니다.
많은 모델이 이러한 대화형 조정에 비해 너무 느리지만 컴퓨터는 우리가 종종 깨닫는 것보다 더 많은 작업을 수행할 수 있을 만큼 빠릅니다. 이 단순해 보이는 모델에는 많은 일이 있습니다. 4개의 별도 평활기가 있으며 각각 250x 부트스트랩 신뢰 구간이 있으므로 강성 매개변수가 변경될 때마다 1,000개의 스플라인 모델이 적합합니다.
미적 매핑
미적 특성을 그래프 요소에 매핑하는 것은 간단하지만 중요한 상호 작용입니다. 색상 및 선 스타일과 같은 미학의 경우 잘 작동하는지 확인하기 위해 자주 확인해야 합니다.
간단한 속성은 마우스 오른쪽 버튼을 클릭하여 변경할 수 있으며 그라데이션 색상 매핑과 같은 보다 복잡한 속성은 설정 대화 상자가 필요하므로 상호 작용 수준이 한 단계 낮습니다.
열 전환
열 전환에서는 하나 이상의 데이터 열을 집합의 다른 열로 바꿉니다. 여기에서 Y 변수는 왼쪽 패널의 열로 하나씩 대체됩니다.
열 전환은 새 데이터 세트를 빠르게 통과하는 좋은 방법이 될 수 있습니다.
볼륨 슬라이싱
볼륨 슬라이싱은 2차원 슬라이스 집합을 그래프로 표시하여 다차원 데이터 공간을 탐색하는 방법입니다. 그만큼 프로파일러 JMP에서는 슬라이싱을 사용하여 다차원 모델을 탐색합니다. 이 예에서는 세 가지 요소인 개인 소득, 개인 이체 및 투표율에 대해 Y에서 Rep Pct를 모델링하여 4차원 표면을 생성합니다. 각 프레임은 하나의 X에 걸쳐 슬라이스를 보여주고 다른 X는 고정되어 있습니다.
Personal Transfer는 거의 영향을 미치지 않는 것처럼 보이지만(적어도 이 슬라이스에서는 대부분 평평한 선입니다), 그것과 상호 작용하고 다른 프레임에서 사용되는 고정 값을 변경하면 Personal Income과 상호 작용하는 것을 볼 수 있습니다. 개인 소득은 높은 개인 이전 값에 대해 느슨한 양의 기울기를 갖고 낮은 개인 이전 값에 대해 강한 음의 기울기를 가집니다.
축 스케일링
척도는 데이터 값이 화면 좌표에 매핑되는 방식을 정의하고 그 자체가 축으로 시각화됩니다. 축 크기 조정 상호 작용은 축을 직접 조작하여 해당 매핑을 변경하는 기능입니다. 상호 작용에는 패닝, 늘이기 및 확대/축소가 포함됩니다.
축 크기 조정은 항상 다른 위치에서 요소를 다시 그리는 문제가 아닙니다. 오른쪽의 점도표는 새 척도에 대한 마커 회피 레이아웃을 조정해야 하며 축 자체는 때때로 눈금 간격과 같은 항목을 다시 계산해야 합니다. 케이스 또는 지리적 시각화의 경우 축척에 따라 투영을 전환하는 것도 유용합니다.
JMP의 경우 지역 척도는 앨버스 동일한 영역 투영 및 월드 스케일은 Kavrayskiy VII 타협 투영.
더 많은 상호 작용?
이러한 9가지 데이터 시각화 상호 작용 방법이 주어지면 추가 질문을 더 잘 고려할 수 있습니다.
- 데이터 시각화에 유용한 다른 일반적인 상호 작용 방법은 무엇입니까? 특정 종류의 그래프에 맞춰진 특수 상호 작용의 수에는 제한이 없다고 생각하기 때문에 "일반적인" 방법을 말하는 것입니다. 예를 들어 JMP에는 여기에 일반적인 방법으로 포함하지 않은 히스토그램 빈 크기를 대화식으로 변경할 수 있는 방법이 있습니다.
- 이러한 방법 중 일부를 여러 방법으로 분할해야 합니까? 볼륨 슬라이싱은 데이터 탐색과 모델 탐색이 다를 수 있습니다. 대화식 그래프 크기 조정을 일종의 축 크기 조정으로 고려하고 있지만 자체 범주를 가질 가치가 있습니다.
- 이러한 방법 중 일부는 동일한 방법의 변형으로 결합되어야 합니까? 아마도 행 필터링과 열 전환은 더 큰 부분 집합화 상호 작용의 두 가지 종류일 것입니다.
- 기존 또는 새로운 이러한 방법에 대한 더 나은 이름이 있습니까? 이러한 이름 중 일부는 JMP 용어에서 유래했으며 일부는 이 논의를 위해 제가 직접 발명한 것입니다.
- 각 방법의 다른 수준을 인식해야 합니까? 예를 들어 실시간 미리 보기가 있는 그래프 빌드와 없는 그래프 빌드를 구분해야 합니까?
여기, JSM 또는 Twitter에서 이러한 질문과 다른 질문에 대한 피드백을 듣고 싶습니다.
저는 JMP와 상호작용하는 방법이 얼마나 다양한지 생각해 본 적이 없었습니다. 특히 당신이 강조하는 모든 복잡한 문제를 고려할 때 정말 놀랍습니다. 언제나처럼 훌륭한 게시물입니다. 고마워, 잔.