평행 좌표

평행 좌표 GGobi에 있는 벼룩 데이터의 평행 좌표 플롯. **평행 좌표**(parallel coordinates) 플롯은 다중 변수 또는 속성을 가진 다변량 데이터를 분석하기 위해 고차원 데이터 집합을 시각화하는 일반적인 방법이다. n차원 공간에 있는 점들의 집합을 플로팅하거나 시각화하기 위해 배경에 평행한 n개의 선이 그려지며, 이 선들은 일반적으로 동일한 간격으로 수직으로 정렬되어 좌표 축을 나타낸다. n차원 공간의 점은 n개의 좌표 항목에 해당하는 평행 축에 배치된 n개의 꼭짓점을 가진 개별 폴리라인으로 표현되며, 꼭짓점은 n-1개의 폴리라인 세그먼트로 연결된다. 이 데이터 시각화는 시계열 시각화와 유사하지만, 평행 좌표는 시간 순서와 일치하지 않는 데이터에 적용된다는 점이 다르다. 따라서 축을 수평으로 반전시키거나 속성 범위를 반전시키는 등 다양한 축 배열이 흥미로울 수 있다.
# 역사
평행 좌표의 개념은 1885년 프랑스 수학자 필베르 모리스 도카뉴에 의해 시작되었다고 흔히 말한다.Ocagne, M. (1885). Coordonnées Parallèles et Axiales: Méthode de transformation géométrique et procédé nouveau de calcul graphique déduits de la considération des coordonnées parallèlles. Gauthier-Villars. archive.org 도카뉴는 다른 척도를 가진 평행 축을 사용하는 노모그램이라는 정렬 다이어그램을 사용하여 수학 함수의 그래픽 계산을 제공하는 방법을 찾았다. 예를 들어, 3변수 방정식은 3개의 평행 축을 사용하여 풀 수 있으며, 알려진 값을 척도에 표시한 다음 그 사이에 선을 그리고, 그 선이 척도와 교차하는 지점에서 알 수 없는 값을 척도에서 읽어낼 수 있다. 데이터를 보여주기 위한 시각화 기술로서 평행 좌표의 사용은 1890년 인구 조사를 위한 미국 통계 지도에 앞선 작업에서 헨리 개닛에 의해 더 일찍 시작되었다고도 흔히 말한다. 예를 들어, 그의 "일반 요약, 1880년 비율별 주 순위"url=https://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~32803~1152181는 각 주에 대해 선으로 연결된 평행 축에 10가지 측정값(인구, 직업, 부, 제조업, 농업 등)의 순위를 보여준다. 그러나 도카뉴와 개닛 모두 이전에 앙드레-미셸 게리에 의해 훨씬 더 선행되었다.Guerry, A.-M. (1833). Essai sur la Statistique Morale de la France. Paris: Crochard. 그의 그림 IV "나이의 영향"에서 그는 평행 축을 따라 나이별로 사람에 대한 범죄 순위를 보여주면서, 같은 범죄를 연령대에 걸쳐 연결했다.Friendly, M. (2022). The life and works of André-Michel Guerry, revisited. Sociological Spectrum, 42(4-6), 233–259. https://doi.org/10.1080/02732173.2022.2078450 평행 좌표는 87년 후 알프레드 인셀베르크s2cid=15933827에 의해 1985년에 다시 대중화되었고, 1977년부터 좌표계로 체계적으로 개발되었다. 일부 중요한 응용 분야는 항공 교통 관제를 위한 충돌 방지 알고리즘 (1987년—미국 특허 3개), 데이터 마이닝 (미국 특허), 컴퓨터 비전 (미국 특허), 최적화, 프로세스 제어, 최근에는 침입 탐지 및 기타 분야이다.
# 고차원
XY 데카르트 좌표계를 가진 평면에서 평행 좌표(종종 ||-coords, PCP 또는 PC로 약칭됨)에 더 많은 차원을 추가하는 것은 더 많은 축을 추가하는 것을 포함한다. 평행 좌표의 가치는 고차원의 특정 기하학적 속성이 쉽게 보이는 2D 패턴으로 변환된다는 점이다. 예를 들어, n-공간의 한 선에 있는 점들의 집합은 평행 좌표에서 n − 1개의 점에서 모두 교차하는 폴리라인 집합으로 변환된다. n = 2의 경우, 이는 점-선 이중성을 생성하며, 평행 좌표의 수학적 기초가 유클리드 공간이 아닌 사영 공간에서 개발되는 이유를 설명한다. 두 선의 쌍은 두 개의 좌표를 가지는 고유한 한 점에서 교차하므로 두 매개변수(또는 두 점)로 지정되는 고유한 한 선에 해당할 수 있다. 대조적으로, 곡선을 지정하려면 두 개 이상의 점이 필요하며, 두 곡선의 쌍은 고유한 교점을 가질 수 없다. 따라서 평행 좌표에서 선 대신 곡선을 사용하면 사영 기하학의 다른 모든 속성과 함께 점-선 이중성이 손실되며, (초)평면, 곡선, 여러 매끄러운 (초)곡면, 근접성, 볼록성 및 최근의 비정향성에 해당하는 알려진 멋진 고차원 패턴도 손실된다.isbn=978-0387215075 목표는 n차원 관계를 2D 패턴으로 매핑하는 것이다. 따라서 평행 좌표는 점대점 매핑이 아니라 nD 부분집합을 2D 부분집합으로 매핑하는 것이며, 정보 손실은 없다. 참고: nD의 점조차도 2D의 점으로 매핑되는 것이 아니라 다각형 선, 즉 2D의 부분집합으로 매핑된다.
# 통계적 고려 사항
평행 좌표의 대표적인 샘플. 통계 데이터 시각화에 사용될 때 세 가지 중요한 고려 사항이 있다: 축의 순서, 회전 및 스케일링. 축의 순서는 특징을 찾는 데 중요하며, 일반적인 데이터 분석에서는 많은 재정렬을 시도해야 한다. 일부 저자들은 유익한 순서를 생성할 수 있는 순서 발견법을 제시했다.journal=IEEE Symposium on Information Visualization (INFOVIS 2003) 축의 회전은 평행 좌표에서의 변환이며, 선이 평행 축 밖에서 교차하는 경우 회전을 통해 그 사이에서 변환될 수 있다. 가장 간단한 예는 축을 180도 회전하는 것이다. 플롯은 연속적인 변수 쌍의 보간(선형 조합)을 기반으로 하므로 스케일링이 필요하다.isbn=978-0387329062 따라서 변수들은 공통 척도에 있어야 하며, 더 유익한 보기를 드러낼 수 있는 데이터 준비 과정의 일부로 고려해야 할 많은 스케일링 방법이 있다. 스플라인을 사용하여 부드러운 평행 좌표 플롯을 얻을 수 있다.archive-date=2013-12-24 부드러운 플롯에서는 모든 관측값이 각 축에 대해 부드럽고 연속적이며 직교하는 매개변수 선(또는 곡선)으로 매핑된다. 이 디자인은 각 데이터 속성에 대한 양자화 수준을 강조한다.
# 읽기
인셀베르크 (p=)는 평행 좌표 관계 패턴을 시각적으로 읽는 방법에 대한 전체 검토를 수행했다. 두 평행 축 사이의 대부분의 선들이 서로 어느 정도 평행할 때, 이는 두 차원 간의 긍정적인 관계를 시사한다. 선들이 X자 모양으로 중첩되어 교차할 때, 이는 부정적인 관계이다. 선들이 무작위로 교차하거나 평행할 때, 특별한 관계가 없음을 보여준다.
# 한계
평행 좌표에서 각 축은 최대 두 개의 이웃 축(왼쪽 하나, 오른쪽 하나)을 가질 수 있다. n차원 데이터 세트의 경우, 접근 방식을 변경하지 않고 한 번에 최대 n-1개의 관계만 표시할 수 있다. 시계열 시각화에서는 자연스러운 선행자와 후행자가 존재하므로, 이 특별한 경우에는 선호하는 배열이 존재한다. 그러나 축에 고유한 순서가 없을 때는 좋은 축 배열을 찾는 데 실험과 특징 공학을 사용해야 한다. 더 많은 관계를 탐색하려면 축을 재정렬하거나 재구성할 수 있다. 한 가지 접근 방식은 축을 3차원 공간에 배열하는 것(여전히 평행하게, 격자 그래프를 형성)인데, 이 경우 축은 중앙 속성 주위에 원형으로 두 개 이상의 이웃을 가질 수 있으며, 최소 신장 트리를 사용하여 배열 문제를 개선할 수 있다.s2cid=14850709 이 시각화의 프로토타입은 데이터 마이닝 소프트웨어 ELKI의 확장으로 제공된다. 그러나 이 시각화는 선형 순서보다 해석하고 상호 작용하기가 더 어렵다.
# 소프트웨어
평행 좌표에 대한 논문은 많지만, 데이터베이스를 평행 좌표 그래픽으로 변환하는 데 사용할 수 있는 주목할 만한 공개 소프트웨어는 몇 가지에 불과하다.year=2010 주목할 만한 소프트웨어로는 ELKI, GGobi, Mondrian, Orange 및 ROOT가 있다. 라이브러리로는 Protovis.js, D3.js가 기본적인 예제를 제공한다. 평행 좌표 그래픽 생성에 특별히 전념하는 D3 기반 라이브러리인 D3.Parcoords.js도 출시되었다. 파이썬 데이터 구조 및 분석 라이브러리 Pandas는 플로팅 라이브러리 Matplotlib을 사용하여 평행 좌표 플로팅을 구현한다.Parallel Coordinates in Pandas
# 다변량 데이터의 다른 시각화
* 레이더 차트 – 좌표 축이 방사형으로 배열된 시각화. * 앤드류스 플롯 – 평행 좌표 그래프의 푸리에 변환. * 생키 다이어그램 - 한 상태에서 다른 상태로의 흐름/움직임/변화를 강조하는 시각화.
# 더 읽어보기
* Heinrich, Julian and Weiskopf, Daniel (2013) State of the Art of Parallel Coordinates, Eurographics 2013 - State of the Art Reports, pp. 95–116 * Moustafa, Rida (2011) Parallel coordinate and parallel coordinate density plots, Wiley Interdisciplinary Reviews: Computational Statistics, Vol 3(2), pp. 134–148. * Weidele, Daniel Karl I. (2019) Conditional Parallel Coordinates, IEEE Visualization Conference (VIS) 2019, pp. 221–225