BrainPad VizTactに搭載される拡張分析のためのテクノロジー

意思決定支援、複雑なデータからの要因発見のテクノとロジーとして拡張分析（Augmented Analytics）の浸透が現在の企業には必要とされている。そのような中、BrainPad VizTactは拡張分析のソリューションとして、クイックな分析と、高度なビジュアル、さらに機械学習と自然言語による結果の説明など多くの機能を搭載しています。

拡張分析だけでなく、BIシステムにおいても分析を支援するための機能が豊富にそろっているが拡張分析ツールとモダンBIでは少しその機能が異なっている。「データのインポートとビジュアル化」「データ内のパターン検出」「結果のアウトプット」といった視点で BrainPad VizTact の機能を見ていきたいです。

##データのインポートとビジュアル化
BrainPad VizTactではExcelやCSV形式のファイルをドラッグアンドドロップによりクラウド環境にアップロードをすることが可能である。この際に、「難読化処理」をオンにすると独自の処理によりクラウドへのデータのアップロード時にデータの内容にスクランブルをかけ、読み取ってもほぼランダムな記号の並びにすることができる。よってクラウド上のDBには解読が困難な状態のデータに変換されるため、元のデータとは全く異なるデータがアップロードされていることになっています。

これを復元するには、実際に難読化されたPCのメモリ上に変換ファイルが保存されている必要があり、もしアカウントが盗まれた場合でも、難読化処理を行ったブラウザのメモリに残っているマッピングテーブルを持っている場合にしか復元ができない。このようにして、Webアクセスログのように莫大なデータではなく、財務、人事、顧客などの企業の機微な情報に直結するデータを使う場合においても、セキュリティを考慮した構造となっています。
![normal.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/a4466d18-eef8-3254-6226-3fff0e123b82.jpeg)
取り込まれたデータに対し、そのデータの分布や型から自動的に判定しメタデータの管理を行うとともに、 全項目の基礎統計量、ヒストグラムによる分布を表示します。これによりデータがどれほど偏っているか、一目で把握が可能です。
![normal (11).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/5a7b1d94-11e0-035f-95aa-2da2665afc62.jpeg)
また連続値の値などはそのままの値ではなく、自動的に５分位などでグルーピングを行う機能があります。これは、連続値のままで線形分析では見つけにくい傾向を、グルーピングすることにより非線形になり差が見つけやすくするためです。 
![normal (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/b6f38c4d-90fe-e1f0-ba63-80b593dd3a99.jpeg)
このような処理はExcelなどで行うと手間ですが、データ分析を行う上では重要なテクノロジーともいえます。例えば以下のように保険の請求金額、BMI値の関係性をプロットで表示しています。一見すると、BMI値が増えると請求金額が増えている傾向は見えていますが、相関係数は0.2とそれほど高くありません。
![normal (2).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/2a76697a-6ddd-7ce1-4954-ddea721567f4.jpeg)
以下では「BMI_percentile」という自動的に件数ベースで5分位に区切ったカテゴリの変数に変換されています。こちらをX軸に置き、中央値とその信頼区間の表示を見ると明らかにBMIの上昇とともに請求金額の中央値が変化していることが分かります。これは、一部のデータで請求金額がアップしていることで中央値が引き上げられていることが分かります。
![normal (3).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/dc6bbb9e-b1f5-0cc6-4552-38082e518661.jpeg)
さらにプロットの色をBMI値から喫煙有無に切り替えてみます。青いプロットが喫煙者、オレンジのプロットが非喫煙者となります。これを見ると、明らかに「喫煙者でかつBMIが高い人」は、何かしら健康を害し保険の請求金額がアップしていることに気が付きます。
![normal (4).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/49b196d4-f672-6461-d440-f7d6017b2011.jpeg)
さらにカラーラベルをワンクリックして、データを喫煙者のみに絞り込むと、よりはっきり喫煙とBMI値が高いことによるリスクが分かります。
![normal (5).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/272f4589-abb2-88c3-097c-1173f77b0a9f.jpeg)
このようなビジュアルアナリティクスの機能が入っており、スモールデータの分析をブラウザで動作させ、クイックに結果を出し、対話形式で様々なルールを見出すことが可能となります。

しかしながら、上記の流れには重要な点が明示されていません。それは、なぜ分析の際に「BMI」と「喫煙有無」を選んだのでしょうか？これは、業務知識や健康と関係性のある要因の知見を経験上持っていたからにすぎません。初めて見るデータと対面した際に、このようなルールを見つけ、重要な項目に行きつくためには、一般的なBIなどでは試行錯誤が必要となります。

重要な項目や、ある事象（この場合は請求額）にインパクトを与えている要因をデータから自動的に発見する機械学習・AIが搭載されていることが、拡張分析（Augmented Analytics）の特徴となります。

##データ内のパターン自動検出
上述した通り、拡張分析（Augmented Analytics）の大きな特徴として、ルールの自動発見の重要性が挙げられます。BrainPad VizTact においては、 「ドリルダウン」「要因分析」「要因説明」「比較分析」「セグメンテーション」の機械学習を搭載した機能に基づき 、「請求金額」「請求有無」などに強く影響をしている項目を見つけることができます。

例えば、ドリルダウン機能を利用すると、下記の通り請求金額に影響を及ぼしている2つの要因は「喫煙有無」と「BMI値_percentile」と自動的に発見をして提示してくれました。2番目には「喫煙有無」と「年齢_percentile」といった組み合わせが聞いています。いずれにせよ「喫煙有無」が強く影響していますが、このようなルールを試行錯誤で探る前にツールから提示をしてくれるため、初めから調査する観点を絞り込むことができます。
![normal (6).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/1e4c916c-d1d6-e5b7-bf7c-df01dc8e1907.jpeg)
またセグメンテーションでは分類のアルゴリズムを活用し、発見したルールやパターンを決定木（ディシジョンツリー）として表示を行います。
![normal12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/b9cd655f-cbc4-42ef-4982-517bb818c2f5.jpeg)
その他にも回帰分析のアルゴリズムを搭載した「要因分析」を活用することにより、金額を決定づける要因の分析とその結果を表示します。効いている項目、その統計的な係数やその結果をビジュアルで分かりやすく結果を表示しています。
![normal (8).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/89158d8c-48cf-1b00-25fa-a2606e43e42a.jpeg)
このように、統計や機械学習などの専門的なナレッジを持っていなくても、手元にあるExcelやCSVデータをアップロードし、簡単な操作を行うだけでデータの中の要因、ルール、パターンの発見まで行ってくれます。これにより試行錯誤の時間を大きく削減し、正しい意思決定までの道のりを短縮してくれます。



##結果のアウトプット
結果のアウトプットはここまで見てきた通り、機械学習で見つけたルールをビジュアルで表示し、統計的な知識が無いユーザーでも簡単に要因分析することができました。また、拡張分析（Augmented Analytics）には重要な機能として、NLG（Natural Language Generation）という自然言語生成の機能があります。これは分析の結果をグラフなどではなく、自然言語で説明してくれる機能です。

グラフの印象やインパクトは見る人によって異なりますが、文章で明確に表現することにより、解釈のズレを予防し、誰でも同じような結果にたどり着く事を目標としています。

ナレーション機能では、発見した要因を一つ一つ、コメントとグラフを組み合わせて、表示をしていきます。また自分で見つけたルールやパターンに関して、ストーリーを生成していく機能があります。
![normal (9).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/8ca7bf6c-e0b1-c595-41ad-f759123be932.jpeg)
その他、要因説明機能では、見つけたルールや要因の中で、目的としているターゲット（今回は請求金額）が最も大きくなるパターンと小さくなるパターンを自然言語で表示し、示唆を与えてくれます。この機能を応用すれば、どのようなルールやパターンが、広告のコンバージョン、キャンペーンの反応、支店の売上、商品の利益率といった重要な指標に影響を及ぼしているかを探し出すことが可能です。
![normal (10).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1295824/0cbdacdd-7269-9d00-c9d6-192548e88de4.jpeg)
このようにして、BrainPad VizTact は、ビジュアル分析＋機械学習・AI + 自然言語処理により、多くのインフォメーションアナリストだけでなく、素早くデータ分析を実施することを求められているデータサイエンティストやシチズンデータサイエンティストにとっても有効なツールとなる事が分かります。

BIだけでは複雑な要因が見つけられず、機械学習システムはそのコストやスキル面で人財育成が追い付いていないといった場合には、拡張分析（Augmented Analytics）の仕組みを持った、BrainPad VizTactの技術をぜひご参考ください。