Alteryxでネットワーク分析
こんにちは、小澤です。
今回は、AlteryxのNetwork Analysis Toolについて、サンプルを使ってお話しします。
Network Analysis Toolとは
AlteryxのNetwork Analysis Toolを利用すると以下のような結果が表示されます。
この画面で特定のノードを選択すると、そこからつながっているもののみに色をつけてくれたり、 ノードを動かしたりするとビヨンビヨン動いたりします。
SNS上でのつながりなどでよく見かけるもので、こういった可視化はレコメンドシステムと並んで「データ分析でこんなことしてみたい!」ランキングでは上位に入るのではないでしょうか?
このように対象となるもの(SNSであれば各ユーザ)をノード、その関係を表すエッジで構成されるグラフや、 その構造表すような数値の計算を行ってくれるのがNetwork Analysis Toolになります。
サンプルで見るNetwork Analysis Toolの使い方
では、サンプルを例に実際にツールの使い方を見てみましょう。
今回は Help > Sample Workflows > Predictive Analytics > 24 Network Analysis Tool を利用しています。
workflowを開くと以下のようになっています。
このサンプルでは2つのNetwork Analysis Toolを使っています。 順に見ていきましょう。
データの確認
まずは左側にある2つの入力データです。 このサンプルでは、入力データはText Input Toolを使ってAlteryx上で直接入力しているようです。
上側のデータは以下のようになっています。
これは、name列に名前が記載された人ごとのその人に関する情報となっています。
下側のデータは以下のようになります。
from列に記載された人からto列に記載された人へのつながりと、その重みの情報となっています。 ネットワーク構造のデータでの重みは、例えばSNSなどであればよくリプライをしているなど何らかの基準でつながりの大きさを表すものになります。
上側の分析内容
次に上半分の内容を確認していきます。
Formula Toolは下側のNetwork Analysis Toolにつながっているので対象には含めていません。
最初のSelect Toolでは、上部のデータをname列のみに絞り込んでいます。
さて、いよいよNetwork Analysis Toolの設定となります。 サンプルでは以下のようになっています。
shapeはノードの形を設定します。 例えば、ここを「ellipse」に変更すると、以下のように楕円形になります。
sizeではノードの大きさを選択できます。 これは、固定の大きさの他、他の変数を利用してサイズを変えたり、ネットワーク構造の解析によって得られる統計値(繋がっている人の数など)に応じて変更させることも可能です。
ノードのサイズを固定で100にした場合と、By Statistic > Degree(次数)にした場合はそれぞれ以下のようになります。
最後に出力部分を見てみます。 出力は2つあります。下側の「I」の方の出力はこれまで画像を張ってきグラフ構造が出力結果として表示されます。
上側の「D」の方は、以下のようにネットワーク解析における各種指標が計算され出力されます。
Network Analysis Toolでは入力のうちどの変数を利用するか指定しませんでした。 これは、「name」, 「from」, 「to」がそれぞれ固定で利用されるためです。
下側の分析内容
次に下側も見てみましょう。
こちらの出力結果は以下のようになっています。
Formula Toolでは、2つのカラムを追加しています。 これは出力結果の中心にいる人物の画像を表示させるための処理です。 カラムとして「shape」があればそこで指定して形が利用され、shapeの値が「circularImage」になっているものの場合、 image列で指定された画像が表示されるため、その2つ値を追加しています。
次に、Network Analysis Toolの設定です。
ツールでは、sizeの値を変更しているほか、「Group Nodes」という項目の設定もしています。 ここで設定したものに基づいて統計的な計算をするか、あらかじめカラムとしてgroup列で値を指定しておくことで、グループごとに色分けが可能になります。 それによって、最終結果のような色分けされたグラフが完成しています。
終わりに
今回はAlteryxのsample workflowを使って、Network Analysis Toolの紹介をしました。
実際のネットワーク解析には計算結果として出力される値など、独特な概念や計算手法を知っていないと難し部分もあります。 また、今回のようなNetwork Analysis Toolで利用可能な形式のデータを作成するまでが難しい場面も多々あります。
しかし、このようにネットワークのグラフ構造を綺麗に表示してくれる機能は見栄えもいいため、利用したいケースは多いかと思います。