본문 바로가기

Qlik Sense 개발가이드

네트워크 차트(연관도 분석) - Network Chart

차세대 시각화 솔루션인 클릭센스(Qlik Sense)를 활용하여 네트워크 분석(연관도 분석)을 수행하는 기술적인 글입니다. 난이도는 중급이상이며, 기본적인 설명을 생략합니다.  클릭센스로 이렇게, 이런 차트, 이렇게 분석할 수 있도록 하는 내용입니다.   거 참 멋진 제품이네요. 

 

네트워크 분석이란?

네트워크 분석 (NA)은 행위자 간의 관계를 묘사하고 이러한 관계의 재발에서 나오는 사회적 구조를 분석하기위한 통합 된 기술 세트입니다. 기본적인 가정은 사회적 현상에 대한 더 나은 설명은 실체들 간의 관계 분석에 의해 산출된다는 것이다. 이 분석은 매트릭스 형태로 구성된 관계형 데이터를 수집하여 수행됩니다.

https://www.sciencedirect.com/topics/social-sciences/network-analysis

 

클릭센스 네트워크 차트

네트워크 차트(Network Chart)를 사용하면 데이터 집합에서 시트로 연결된 노드 및 가장자리의 네트워크를 그릴 수 있습니다. 네트워크 차트는 네트워크에서 정보 흐름 방식, 구성 요소의 상호 작용 방식 및 구성 요소의 위치를 보여 줍니다. 네트워크 차트는 시각화 번들에 포함되어 있습니다.

네트워크 차트는 광범위한 개요를 제공하거나 자세하게 제공할 수 있습니다. 노드는 시스템 구성 요소를 나타내며 가장자리는 하나의 구성 요소에서 다른 구성 요소로 정보의 이동을 표시합니다. 네트워크 노드는 가장 많이 상호 작용하는 노드에 연결됩니다. 이 시각화는 다양한 스타일, 색상, 크기 및 이미지를 사용하여 여러 수준의 네트워크를 나타냅니다.

 

https://help.qlik.com/ko-KR/sense/June2020/Subsystems/Hub/Content/Sense_Hub/Visualizations/VisualizationBundle/network-diagram.htm

 

클릭센스 네트워크 차트 와 CentralityX 차이점

클릭센스 번들에서 제공하고 있는 차트는 Vis.js 를 사용하고, CentralityX D3.js V.4 with JSNetworkX (Javascript implementation of NetworkX) 사용한다.

그러면 무엇이 다를까?

계층구조 데이터와, 메트릭스 형태의 차이입니다.  즉 데이터 모델 및 차원, 측정값 지정이 다릅니다.

CentralityX

Qlik Sense에 대한 중앙도 측정 기능이 있는 네트워크 다이어그램

D3.js V.4 with JSNetworkX (Javascript implementation of NetworkX).

JSNetworkX  : http://jsnetworkx.org/

Description:

중심 측정(Centrality Measures)은 네트워크의 관계에 대한 방법을 알려주는 잘 확립 된 네트워크 분석 알고리즘입니다. 네트워크는 단순히 서로 연결된 노드 그룹입니다. 노드는 영어 엔터티의 명사와 유사한 엔터티이며 Edge를 통해 서로 연결됩니다. 가장자리는 단순히 영어로 된 동사와 유사한 노드 간의 관계입니다.

Why?:

중심 측정 기능이 있는 네트워크 다이어그램은 모든 엔티티와 엔티티가 연관 관계, 각 엔티티의 중요성 및 엔티티 간 관계의 강도와 함께 엔티티와 다른 엔티티와 연관되는 방법을 신속하게 표시 할 수 있습니다.

 

업무 활용예 

 

혐의거래보고제도(STR, Suspicious Transaction Report)

하루에 2,000만원 이상 돈거래(현금, 수표, 외화 전부 해당) 중에서 자금세탁으로 의심되는 금융거래라 생각될 경우 금융기관에서 금융정보분석원(FIU)에 신고토록 한 제도. 

위 데이터를 분석하기 위해서 계좌간 이동 현황을 분석해야 하는데, 이를 위하여 네트워크 분석(연관도 분석) 혹은 자금흐름도 분석을 하고자 한다.

 

기능 해부

내용 분석

중심 측정(Centrality Measure)은 네트워크의 관계에 대한 방법을 알려주는 잘 확립 된 네트워크 분석 알고리즘입니다.

네트워크(Network) 는 단순히 서로 연결된 노드 그룹입니다.

노드(Node)는 명사와 유사한 엔티티입니다.

노드는 Edge를 통해 함께 연결됩니다.

가장자리(Edge)는 단순히 동사와 유사한 노드 간의 관계입니다.

 

그들이 어떻게 도움이 되나요?

중심 측정 기능이있는 네트워크 다이어그램은 모든 엔티티와 엔티티가 연관 관계,

각 엔티티의 중요성 및 엔티티 간 관계의 강도와 함께 엔티티와 다른 엔티티와 연관되는 방법을 신속하게 표시 할 수 있습니다.

 

아래 예제에는 간단한 배타적 네트워크(Exclusive Network)가 있습니다.

독점 네트워크 (노드가 SideA 또는 SideB에만 고유 한 곳)입니다.

우리가 보는 것은 두 개의 다른 항공편과 관련된 승객이며, 한 명의 승객 만 두 항공편에 공통적임을 알 수 있습니다 (김성주).

 

 

Non-Exclusive Network.

이 네트워크에는 약간 더 복잡한 엔티티 연관이 있습니다.

일반적으로 원시 데이터는 [serial_no, entity] 형식이며 엔티티는 공통 serial_no를 통해 서로 연관되어 있습니다.

이 경우 [entityA, entityB] 형식을 가지도록 테이블을 변환해야 합니다. 여기서 entityA는 다른 열에서 방향 ( 'In'또는 'Out')을 표시하거나 단순히 어떤 엔티티를 먼저 읽었는지 확인할 수 있습니다!

당신이 찾은 것은 각 엔티티가 SideA (Source) 또는 SideB (Target) 또는 Both에 있기 때문에 네트워크 다이어그램은 이상한 결과를 생성한다는 것입니다.

엔티티는 발생한 순서에 따라 SideA 또는 SideB 또는 둘 다에 있습니다.

불규칙한 필터링 및 프리젠테이션을 생성합니다.

 

 

Entity '4' 의 직접 이웃의 수를 시각적으로 세십시오.

5 개가 있습니다.

 

이제 Source 또는 Target에서 4를 선택하십시오.

결과는?

기존의 데이터 모델링은 그래프를 정확하게 지원하지 않습니다.

Non-Exclusive (reverse duplicated):

여기서 엔터티는 SideA SideB에 균일 한 방식으로 나타나므로

어느쪽에서 든 데이터를 필터링하고 올바른 네트워크 다이어그램을 생성 할 수 있습니다.

이중 소스 및 이중 대상( Dual Source and Dual Target) 으로 위 예를 시도하십시오.

결과가 맞습니다.

 

즉 모델링을 다시 해야 합니다.

 

Extensions 커스트마이징

이 섹션에서는 다양한 확장 옵션 및 사용자 정의에 대해 살펴 봅니다.

차원(Dimensions) : NodeA NodeB의 두 가지 차원이 필요합니다.

차원속성(Dimension Properties) : 각 차원을 사용자 정의하여 차원 대신 대체 이름 (ID 대신), 설명 및 16 진수 색상을 제공 할 수 있습니다. 이들은 텍스트 나 표현으로 제공 될 수 있습니다. 마우스를 노드 위로 가져 가면 설명이 표시됩니다.

측정 값(Measures) : edge_weight (선 두께) edge_color (선 색상)에 대해 두 가지 선택적 측정 값을 추가 할 수 있습니다. 다시 이것들은 텍스트 나 표현으로 제공 될 수 있습니다. * [Maps to]를 사용하여 옵션을 할당하십시오.

모양 아래에서 우리는 다음을 발견합니다.

노드(Node) : 차원 속성에 색상이 제공되지 않으면 모든 노드의 기본 색상을 변경할 수 있습니다. 초기 최소 / 최대 노드 크기를 설정할 수 있습니다. 소규모 또는 대규모 네트워크에 맞게 조정해야 할 수 있습니다.

 

가장자리(Edge) : 측정 값에 edge_color가 제공되지 않으면 기본 가장자리 색상을 변경할 수 있습니다. 최소 / 최대 선 두께를 설정할 수 있으며 D3를 이해하는 사람들을 위해 두 개의 D3 힘 방향 설정을 조정할 수 있습니다.

레이블(Label) : 레이블 크기, 글꼴 및 색을 설정할 수 있습니다. 레이블은 필요한 확대 / 축소 수준 후에 만 표시 될 수 있습니다. 항상 레이블을 표시하려면 0을 사용하십시오.

옵션(Option) : 구성 할 수 있는 다른 옵션이 많이 있습니다. AlphaDecay는 그래프가 얼마나 완벽해야 하는지 결정하는 D3 옵션입니다. 제로는 가장 완벽하지만 정착하고 이동을 멈추는 데 시간이 오래 걸립니다! 여기서 중심성 측정을 활성화 / 비활성화 할 수 있습니다. 메뉴 위치를 구성 할 수 있습니다. 처리 할 노드가 많으면 확장에서 데이터 처리를 중지하는 데 경고가 사용됩니다. 사용자는 경고를 받은 후 계속할 수 있는 옵션이 있습니다!

 

최종 결과

 

 

작성 방법:

차원 : dual_source, dual_target 2 개 지정 dual_source

Node Label : Name

Node Description : ='Group: ' & group_name  & '-david'

Node Color : =hex_color

dual_target

Node Label : Name2

Node Description : ='Group: ' & group_name2 

Node Color : =hex_color2

 

측정값 : edge_weight, Edge_color 2 개 지정 edge_weight

: edge_weight

Maps to : Edge Weight 선택

Edge_color

: =if(edge_weight>1,'#FF0000','#999999')

Maps to : Edge Color 선택

 

모양

Nodes : Default Node Color -> #999999, Initial Node Size Min -> 0, Initial Node Size Max -> 18

Edges : Default Node Color -> #999999, Min Edge Width(pixels) -> 2, Max Edge Width(pixels) -> 10

Labels : Label Size-> 12, Label Font : Arial, Show on Zoom Ratio > 0, Label Color -> #333333

Options : AlphaDecay(0.00 – 1.00) -> 0.03, Degree, Betweenness, Eigenvector Check, Center, , 0

 

 

 

성능 테스트

예에서는 수천 개의 노드를 얼마나 처리 있는지 확인합니다. 브라우저가 허용 가능한 시간 프레임을 처리 없는 지점이 있습니다. 경우 데이터 모델링은 커뮤니티 기반 노드로 변경 있으며, 다른 노드가 그룹화되어 커뮤니티를 형성합니다. 이런 식으로 네트워크를 여전히 조사 있지만 세분성 수준은 제거됩니다.

 

본 예제에서는 2,000 개의 노드를 표현하였습니다.

 

다음 예제는 Degree를 선택한 이미지입니다

 

 

 

사용되는 모델 구조

 

 

 

데이터 분석의 핵심성공요소는 데이터 품질입니다. 

https://qliksense.tistory.com/195

 

데이터 품질관리 솔루션 (QDQM)

데이터 품질(Data Quality) 및 중요성 데이터 품질(Data Quality)이란? 데이터 품질은 데이터 세트가 정확성, 일관성, 신뢰성, 완전성 및 적시성에 대한 확립된 표준을 충족하는 정도를 평가합니다. 높은

qliksense.tistory.com

 

 

유사글

https://qliksense.tistory.com/40

 

시각화 - 다양한 차트 유형

난이도 : 고급 다음 내용들은 차세대 시각화 솔루션 클릭센스(Qlik Sense) 로 작성된 차트들입니다. 물론 기본적인 차트들은 다 제공되고, 일반적으로 자주 사용하지 않았던 기능들에 대한 소개입��

qliksense.tistory.com

 

첨부 파일이 있습니다.  무단으로 사용하여도 됩니다. 

Network Chart(연관도 분석).pdf
0.82MB

 

또다른 네트워크 차트 소개 

qliksense.tistory.com/71

 

네트워크 차트(Network Chart) 사용사례

클릭센스(Qlik Sense)를 이용한 금융거래에 대한 계좌추적에 사용하는 사례 입니다. 실제 금융정보분석원에서는 각 금융기관에서 보고되는 금융거래에 대하여 의심거래 분석을 위하여 사용하고

qliksense.tistory.com

 

https://qliksense.tistory.com/105

 

Network 차트를 작성하기 위한 계층구조 생성

난이도 : 어려움 작성 배경 //---------------------------------------------------------------------------- //          Hierarchy 함수를 사용하려고 하는데, Depth 가 상당히 많고 //      ..

qliksense.tistory.com

 

데이터 품질관리에 대하여

https://qliksense.tistory.com/category/QDQM

qliker@kakao.com

010-3716-2863