SAS Japan

活用事例からデータ分析のテクニックまで、SAS Japanが解き明かすアナリティクスの全て
Analytics
小林 泉 0
グラフ理論入門:ソーシャル・ネットワークの分析例

SASではグラフ理論(グラフ分析と言ったりもします)や、そのビジュアライゼーションを容易に実践することができます。本ブログでは、何回かにわたりこのトピックを扱っていきたいと思います。グラフ(ネットワーク)は世の中のあらゆるところに存在します。リレーショナルデータベースのER図として抽象化されている世界(企業の業務など)とは異なり、現実の世界では全てのモノが相互に関連しています。昨今注目されているIoTにおいても単に生成されるデータを個別に分析するだけでなく、それによってつくられたネットワークそのものを分析対象にすることで新たな洞察が生まれる期待も大きいと考えられます。今回はまずソーシャルネットワークを例にその様子を紹介していきます。 はじめに IoTに代表される昨今のように全てが相互に接続された世界では、ある一つのモノそのものを詳細に分析するだけでなく、異なるモノとモノ同士がお互いにどのように関連しているかも理解することの重要性が増しています。ソーシャルネットワークは、モノやサービスについて消費者がどのように考えているか、あるコミュニティが自社に関係のある別のコミュニティとどのようにリンクしているのか、インフルエンサー(情報発信力あるいは影響力をもつ人々)はどこにいるのかなどについて驚くべき事実を提供してくれることが多いのです。このようなネットワークについて理解することで、自社のビジネスにとって役立つ洞察を与えてくれたり、次のマーケティングキャンペーンにおいて誰をターゲットとすべきかについての意思決定に役立つでしょう。 ネットワーク(グラフ) ネットワークとはモノ(ノード)と、それらモノとモノとを接続するリンクの集合によって構成されます。リンクによって様々な関係性を表現できます。この定義は非常に一般的ですが、我々はありとあらゆるところで、このネットワークを見出すことができます。 数学的には、ネットワークはグラフと呼ばれています(データビジュアライゼーションで使われるグラフとは異なる意味なので注意してください)。相互に接続されたモノは数学的には頂点といい、頂点と頂点を結ぶリンクは、エッジ(辺)といいます。グラフの性質は数学、工学さらには社会科学といった領域でグラフ理論という研究対象となっています。 一方で、ネットワーク・ビジュアライゼーションはこのグラフをビジュアルに表示するためのものです。もっとも一般的な形は、リンクノードダイアグラムで、頂点を表す点または円があり、それらが辺を表す直線や曲線でつながっているものです。頂点の属性は、大きさや色、形にマップされ、辺の属性はリンクの幅や色にマップすることができます。 辺の属性として重要なのが「方向」です。ほとんどの関係性(リンク)は方向性がない、対称なものです。例えば、Facebookにおける友人などがそれにあたります。しかし「方向」があり非対称なネットワークもあります。Twitterにおける"フォロー"がそうです。このような場合には、ビジュアライゼーションは矢印などのような線で関係性の方向を表現することができます。 ソーシャルネットワーク 複雑系の一つの特徴的な側面であり、またそれが全体を予測することを困難にしている理由の一つでもあるものに、それを構成する構造と各構成要素の振る舞いとの間の相互作用があげられます。 その相互作用は、ソーシャルネットワークにおいて特に顕著にみられます。あなたを知っている人があなたの行動に影響を与えたり、またその逆であったりするでしょう。この後紹介するように、ネットワークは「アクター」(人間のことが多いですが、時には自動化されたコンピュータ・エージェントであったり、組織であったりします)によって構成され、それぞれの間の関係性や行動(フォロー、いいね!やリツイート)によって関連付けられます。「アクター」の行動による影響は、関連付けられている別のアクターに対して広範囲に作用します。つまり、全体の中で重要な位置にいるアクターは、グループ全体に対して大きな影響を与えることができるのです。 では、我々はどのようにソーシャルネットワークを理解すればよいのでしょうか?基本的な問いから始めてみます。 ネットワークの基本的な構造はどうなっているか?ひとつの団結したグループなのか?それとも緩くつながった強固なコミュニティなのか? インフルエンサー(影響力のある人)は誰なのか? これらの問いを総合するとネットワークの影響がお互いにどのように作用しているのかをマクロな視点とミクロな視点で明らかにすることができます。 データ準備 今回は、ソーシャルネットワークの分析を紹介するためにツイッターデータを使用します。SAS Visual Analyticsでは、ツイッターデータを取り込むことが可能ですが、非常に大きなデータをインポートするとデータが非常に膨大になります。そのような場合にネットワークをよりよく理解するために、ネットワーク分析のためのツールであるSASのOPTGRAPHプロシジャを使用します。将来のバージョンでは同様のことをSAS Visual Analytics上だけでテキスト解析やフォーキャスティングと共に利用できることになる予定です。 この例では、#SASUSERS, #SASSGF14といったハッシュタグで抽出したツイッターデータを使用します。このデータは以下のような構造をしています。   前述したように、このネットワークは、これらのツイートをしているユーザーたちと(テキストそのものは今回は関係ありません)、それぞれのユーザー間の関係性(AがBをフォロー)によって表現されます。その情報に基づいて、二つの列、FROM_IDとTO_ID(このIDはツイッターのユーザーIDです)を使用したデータ構造を作成します。RELATIONSHIP列は、このリンクの意味を表現しています。 このテーブルをSAS Visual Analyticsにロードしてみるだけでも、以下のような興味深いネットワーク構造を見ることができます。 フォローワーの数などを人の属性に設定することにより、このネットワークに含まれている人あるいは組織についての最初の洞察を得ることができます。 もちろん、このように考える方もいるでしょう。フォローワーの数が多いからといっても必ずしもその人物がネットワーク上の重要な人物とは限らないだろう、と。では、より深く理解するためにコミュニティとキーとなるアクターを特定する方法を見てみましょう。 コミュニティの検出 コミュニティの検出、あるいはクラスタリングとは、つながりの強いノード同士をグループ化してネットワークをいくつかのサブ・ネットワークに分解していくプロセスです。 SASではこのようなグラフ分析のためのツールOPTGRAPHプロシジャを提供します。OPTGRAPHが提供する様々な機能はまたの機会にご紹介します。今回は、このコミュニティ検出に使用したいと思います。以下の例では、指定した分解解像度に基づいて、一度に二種類のコミュニティグループの計算をしています。解像度を大きくするとより多くのコミュニティを生成することができます。 proc optgraph loglevel = moderate data_links = data.tweet_edges out_nodes = work.tweet_groups graph_internal_format = thin; data_links_var from =

Analytics
小林 泉 0
SAS Global Forum 2015 - ユーティリティ業界のアナリティクス事例多数

SAS Global Forum では、毎年SASの全てのキーマンが集結します。もちろん2015も例外ではありませんでした。2014年にスマートメーター活用セミナーの講師として来日もした、グローバルセールス&開発マネージメント ビジネスディレクターのTim Fairchildおよび、エネルギーソリューション担当プロダクトマーケティングマネージャーのAlyssa Farrellと短い朝食ミーティングで意見交換をしてきました。日本では電力小売り自由化もありアナリティクスの活用が進んでいますが、世界的に見てもエネルギー業界にアナリティクスの大きな潮流がやってきています。 それを表すかのように、SAS Global Forum 2015において非常に多くのユーティリティ業界に関するプレゼンテーションがありました。それをご紹介します。 生存時間分析を使用した変圧器の寿命予測とSAS Enterprise Minerを使用した過負荷状態で変圧器を使用している際のリスクモデリング(Predicting transformer lifetime using survival analysis and modeling risk associated with overloaded transformers Using SAS® Enterprise MinerTM 12.1) 「いつ変圧器が故障するのか?」 これが米国のユーティリティ企業が毎日頭を悩ませている問題である。ユーティリティ企業のインフラで最も重要なものの一つが変圧器である。コストを削減し計画的にメンテナンスし、故障による損失を低減するためには、この変圧器の寿命を把握することが重要である。そしてもう一つ重要なことは、過負荷による突発的なパフォーマンスダウンを避けるために高リスクな変圧器を事前に特定しメンテナンスすることである。この論文の目的は、SASを使用して変圧器の寿命を予測し、それらの故障に繋がる様々な要因を特定し、メンテナンスを効率的に行うために変圧器を、負荷状態に基づいて、高リスク、中リスクそして小リスクといったカテゴリに分類するモデルを作成することである。この研究で使用したデータは、米国のユーティリティ企業のものであり、2006年から2013年までのデータである。このデータに対して生存時間分析を行った。Cox回帰分析(比例ハザードモデル)を使用して、変圧器の故障の要因を特定した。また負荷に応じたリスクカテゴリを作成するために、いくつかのリスクベースモデルを使用した。(続きはこちら) 顧客クラスタリングにおけるイノベーティブな方法(An Innovative Method of Customer Clustering) この論文は、SASを使用して顧客セグメントを作成する新しい方法について紹介する。著者はある巨大なユーティリティ企業が提供している9つのプログラムに登録している顧客を調査した。これらにプログラムとは、請求の平準化、支払方法、再生可能エネルギー、効率化、機器の保護、使用量レポートなどである。640,788の家庭のうち、374,441のデータが利用可能であった。これら約半数(49.8%)の分析対象顧客はいくつかのタイプのプログラムに属しており、顧客の特徴を通してこれらプログラムの間の共通性を見出すためには、多くの場合、クラスター分析と相関マトリックスが利用される。しかし、所属しているか否かという二値という性質により、これらの手法の価値はかなり限定的になる。それだけでなく、各プログラムは相互に排他的であることもその一因となる。これらの制限を乗り越えるために、各顧客がどのプログラムに属するかの予測スコアを算出するために、PROC LOGISTICを使用した。(続きはこちら) ブラジルの電力部門における電力損失の査察のためのターゲット選定の改善のためのモデリング-CEMIGの事例(Modeling to improve the customer unit target selection for inspections of

Analytics
小林 泉 0
SAS Visual Analyticsによるパス分析

はじめに 顧客の行動を理解することは、優良な収益源を継続的に確保する上で重要な取り組みであり、マーケティング・キャンペーンを企画する際に考慮すべき重要事項でもあります。SAS Visual Analytics 7.1を使うと、ユーザーの行動や、クリックパス、その他のイベントベースのシナリオを分析、探索、視覚化することができます。組織内のすべてのタッチポイントを視覚化し、いわゆる「カスタマー・ジャーニー」をモニタリングすれば、現状と顧客の期待とのギャップを特定し、総合的なカスタマー・エクスペリエンスを改善できます。フロー・ビジュアライゼーション機能で閲覧行動の流れを視覚化することにより、 人気のスポットを把握したり、全般的な傾向を浮かび上がらせたり、 個々のユーザーやパス(経路)の集積結果に関する洞察を得たり、 成約や解約に至る顧客接点の経緯に関する洞察を得たり することが可能になります。 通常、パス分析が使われるのは、一定の時間枠内に順番に発生するイベント群(イベント・シーケンス)について、そのパターンや順序、頻度、全体的な傾向などを調べたい場合です。例えば、どのようなパスをたどった見込み顧客が、新たな顧客となる確率が高いかを知るには、既存の顧客が最も頻繁に利用したパスに注目することになります。パス分析は、顧客ライフサイクル(1. 見込み顧客、2. 試供品の申し込み、3. 顧客、4. 製品のアップグレードなど)のような直線的なイベント・ストリームの解析に最適ですが、Webサイトの利用状況分析にも広く使われています。あなたがデータ・サイエンティストであれば、顧客が実際にたどったパスを比較し、最適なパスを探し出したいと思うでしょう。そしてそれが、収益性の改善につながる興味深い洞察や機会をもたらすことも少なくありません。 また、昨今ではいわゆるアソシエーション分析をより活用するための、ビジュアライゼーションとしての活用が広まっています。多くの場合アソシエーションの結果は非常に多くの集計結果を確率的な情報と共にランキング形式で表として出力されます。しかしある組み合わせや経路に着目する場合に、そのレコードのみから判断するだけではなく、その組み合わせや経路に含まる商品やイベントに関する他の組み合わせ情報も確認する必要があり、そのためには、パス分析のようなビジュアライゼーションが不可欠になってきます。この二つの武器を組み合わせて活用しているお客様の使い方の多くは、 パス分析機能で全体の流れを俯瞰、探索をしたのちに、 アソシエーション分析でより定量的に分析、注目する組み合わせやパスを抽出 ビジネス課題によっては、その後単純なスコアリングを実施したり、あるいはさらに高度なアルゴリズムを使用したレコメンデーションを実行し、アクションにつなげる といった流れでアナリティクス業務に適用されています。 課題 パス分析は決して簡単ではなく、特にWeb利用状況分析に使う場合は困難が伴います。顧客がWebサイト内を巡り歩く方法は多岐にわたるため、あるシナリオについて最適なパスを特定したとしても、実際にその最適なパスをたどるユーザーはごく少数にとどまる可能性が大いにあります。ですから、正しい洞察を得るためには、パス分析の結果に特別な注意を払う必要があります。例えば、使われる頻度が最も少ないパスと最も多いパスを、シーケンス数や離脱数(例:注文を完了させずにセッションを離れてしまう顧客の数)の観点から比較したいとします。 この場合は、パス分析にセグメンテーションを適用するのが効果的です(詳細は後述します)。なぜなら、これによって1つのパスに含まれるステップ数が大幅に減るため、顧客がたどったパスをより高度なレベルで集約し、状況を俯瞰できるようになるからです。ほとんどの場合、皆さんが目標にしているのは、最適なパスをたどって最終目的(商品の購入など)を達成してくれる顧客の数を増やすことでしょう。よく使われるパスに関する理解が深まれば、Webページのデザインの改良、適切なマーケティング・キャンペーンの開発など、顧客行動に影響を及ぼす取り組みを効果的に行えるようになります。 SAS Visual Analyticsにおけるパス分析の実際 では、パス分析の基本的なステップを見ていくことにしましょう。最初はごく簡単な例から始めます。次のようなシンプルなデータセットがあるとします。 この表は、顧客(John、Jane、Bob)が各セッション(transId列)中に閲覧したWebページ (item列)を示しています。ご覧のように、JohnはこのWebサイトを2回、異なる時間帯に訪れています。なお、この例では「sequence」列にイベントの発生順が入っていますが、通常は日付とタイムスタンプが入ります。 このデータは非常にシンプルですから、それぞれの顧客がたどったパスは簡単に分かります。 John: ABC、ADE Jane: BDEED Bob: AFD SAS Visual Analyticsでこの例を視覚化すると、次のようなサンキーダイアグラムが得られます。 ダイアグラムはパスごとに色分けされており、離脱(赤色のパス2)を含む5つの異なるパスがあることが分かります。この時点ですでに、パスの一部が共通しているなど、興味深い洞察が得られます。例えば、緑(John)と青緑(Jane)ではDとEのイベントが共通しているほか、3つのパスの開始イベントが同じです(A)。 SAS Visual Analyticsのパス分析では、リンクの集約(アグリゲーション)方法と色分けを変更することもできます。集約方法を切り替えてイベント別にリンクを色分けすると、次のようになります。 先ほど指摘した「部分的に共通するパス」が、ここでは黄色で強調されています。このダイアグラムのデフォルト設定では、リンクの幅にはシーケンス数(つまりユーザーが通過した頻度)が反映されます。しかし、購入数や売上額といった指標にもとづいてパスの重み付けを行い、パスのもつ影響力を表示に反映させたい場合もあるでしょう。次の例では、パスの重みとして通貨指標を割り当てています。 次は、分析対象となるイベントを増やした、もう少し複雑なデータセットの例を見てみましょう。このデータセットは、現存するWebサイトのアクセスログ・ファイルのごく一部を取り出したものです。以下で見るように、可能なパスの数は指数関数的に増えます。このような場合は、ランキングやセグメンテーションなどの手法が重要な役割を演じます。 ここでも、最初の例と同様、一定の期間内にWebサイトにアクセスした顧客について、それぞれがたどったパスを調べます。閲覧可能なページやイベントの数が増えているため、顧客がたどるパスの種類も増えることになります。このデータソースを最初の手法で視覚化すると、こうなります。 驚くことではありませんが、多くの顧客は「Welcome」ページ経由で他のページにアクセスしています。これはおそらく、ユーザーは検索エンジンで見つかった最初のリンクをクリックすることが多く、サブカテゴリーはあまりクリックしない傾向があるからでしょう。ご覧のように、パスが非常に長いため、ダイアグラムもかなり横長になりますが、次の図のように、概要パネルやパス選択などのツールでダイアグラム内をナビゲートできます。 パス分析のためのセグメンテーション 全体のイベントの数を減らす方法の1つは、イベントをグループ化することです。SAS Visual Analyticsでは、独自のカテゴリーを作成することができます。この例では、数多くのイベントを購入(Buy)、検索(Search)、製品(Product)というグループに分けることにします。

1 52 53 54