<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>UX Modeling &#8211; uxmeetsdata.com</title>
	<atom:link href="https://uxmeetsdata.com/category/data/ux-modeling/feed/" rel="self" type="application/rss+xml" />
	<link>https://uxmeetsdata.com</link>
	<description>UXとデータによる価値創発メディア</description>
	<lastBuildDate>Mon, 03 Jun 2024 07:01:52 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<item>
		<title>UXモデリング入門 #04</title>
		<link>https://uxmeetsdata.com/ux-modeling-howto-04/</link>
				<pubDate>Sat, 31 Aug 2019 11:00:57 +0000</pubDate>
		<dc:creator><![CDATA[Atsushi Sugawa]]></dc:creator>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[UX Modeling]]></category>
		<category><![CDATA[Association Analysis]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[UX Modeling]]></category>

		<guid isPermaLink="false">https://uxmeetsdata.com/?p=13875</guid>
				<description><![CDATA[アソシエーションルールを可視化。 Cloud DatalabにてCSPADEアルゴリズムの拡張モジュールである...<p class="more-link"><a href="https://uxmeetsdata.com/ux-modeling-howto-04/" class="themebutton3">Read More</a></p>]]></description>
								<content:encoded><![CDATA[<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm-e1570601392622-1024x512.jpeg" alt="" class="wp-image-13638" width="480" height="240"/></figure></div>



<h2><strong>アソシエーションルールを可視化。</strong></h2>



<p>Cloud DatalabにてCSPADEアルゴリズムの拡張モジュールであるpycspadeを用いて作成したアソシエーションルールを、BigQueryに書き出し、Tableauで可視化しながら系列パターンの分析を行います。</p>



<p>まずは前回の続きで、以下のコードを入力エリアに記述し、実行してみましょう。なお「to_gbq」関数の引数には、アソシエーションルールを格納したデータフレーム、書き込み先のテーブル名、GCPのプロジェクトIDを指定します。</p>



<script src="https://gist.github.com/crosshack/7b4915bfb6c405d5fd4b6ee1629124da.js"></script>



<p>なお、BigQueryへの書き出しがうまく行かない場合は、以下のコードでCSVファイルに書き出し、GCS（Google Cloud Storage）経由でBigQueryに取り込みます。</p>



<script src="https://gist.github.com/crosshack/df742ab8d9af0405f3543b8b87ef1755.js"></script>



<p>以下のように、BigQueryのデータセット「XM」の中に「sum_rules_spm」というテーブルが作成されていることを確認します。</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4a-1024x546.png" alt="" class="wp-image-13889" width="480" height="256" srcset="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4a-1024x546.png 1024w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4a-300x160.png 300w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4a-768x409.png 768w" sizes="(max-width: 480px) 100vw, 480px" /></figure></div>



<p>続いて、テーブル「sum_rules_spm」をTableauに取り込んで分析します。Tableau Desktopであれば、スタート画面の［接続］にあるメニュー［Google BigQuery］から選択するだけでシームレスに連携できます。Tableau Publicであれば、GCS（Google Cloud Storage）経由でCSVファイルとしてエクスポートしてから取り込みます。</p>



<p>Tableauへの取り込みが完了したら、以下の手順でクロス集計表を作成し、アソシエーションルールを可視化します。</p>



<ol><li>フィールドの「Sequence」を［行］、「Confidence」を［列］シェルフにそれぞれドラッグ＆ドロップ。</li><li>フィールドの「Confidence」を［マーク］カードの［色］にドラッグ＆ドロップ。</li><li>右上に表示される「合計（Confidence）」カードの右上の▼のメニューで［色の編集…］を選択。</li><li>［色の編集］モーダルで［ステップド カラー］チェックをオン、［詳細］ボタン押下で表示される［中央］チェックをオンに設定。</li><li>フィールドの「Confidence」「Support」「Lift」を順に［マーク］カードの［テキスト］にドラッグ＆ドロップ。</li><li>フィールドの「Confidence」「Support」「Lift」のそれぞれについて、ピルの右端の▼のメニューで［フィルタを表示］を選択。</li></ol>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4b-1024x594.png" alt="" class="wp-image-13894" width="480" height="278" srcset="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4b-1024x594.png 1024w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4b-300x174.png 300w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4b-768x445.png 768w" sizes="(max-width: 480px) 100vw, 480px" /></figure></div>



<h2><strong>系列パターンを分析する。</strong></h2>



<p>では、この表をもとに系列パターンを分析してみましょう。「<a href="https://uxmeetsdata.com/association-howto-01/">アソシエーション分析入門 #01</a>」でも触れたとおり、アソシエーションルールの指標の中でも、<strong>信頼度（Confidence）</strong>は、<strong>商品Xを購買した顧客が商品Yも購買する確率</strong>のことで、事象間の相関性を分析する基本指標となります。</p>



<p>一方で、前回に述べたとおり、リフトは1を下回ると負の影響力を意味するため、予め除外するのが通例ですが、pycspadeでは閾値設定ができないため1未満の系列パターンも含まれてしまっています。そこでリフトを1以上としてフィルタをかけます。右側の「合計（Lift）」フィルタの左側の最小値設定を1.0に変更すると、以下のように表示が切り替わります。ただし、初期ビューで見えている系列パターンはすべてリフトが1以上であるため、初期ビューの表示自体は変わりません。</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4c-1024x594.png" alt="" class="wp-image-13898" width="480" height="279" srcset="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4c-1024x594.png 1024w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4c-300x174.png 300w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4c-768x445.png 768w" sizes="(max-width: 480px) 100vw, 480px" /></figure></div>



<p>信頼度の降順に見ていくと、まず最後に商品カテゴリIDが「9」すなわち「エレクトロニクス・コンピューター」を購買しているパターンが多いことが一目瞭然となります。さらに、その前に「4」すなわち「家庭・ガーデニング用品」を購買しているパターンが多いこともわかります。</p>



<p>これらの原因はわかりませんが、とにかくこのパターンで購買商品カテゴリが変化している購買行動パターンが多いという事実が可視化され、把握することが可能となるわけです。</p>



<h2><strong>対象ユーザーを抽出して観察。</strong></h2>



<p>最後に、獲得した行動パターンに基づいて、観察対象とする<strong>ユーザーを抽出し、行動を観察</strong>します。すなわち<strong>データエスノグラフィ（Data Ethnography）</strong><sup id="footnote_plugin_tooltip_1" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_1');">1)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_1"><a href="https://uxmeetsdata.com/data-ethnography/">データエスノグラフィって？</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_1").tooltip({		tip: "#footnote_plugin_tooltip_text_1",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>を行うわけです。UXモデリングにより獲得したモデルは、あくまで機械的に抽出された行動パターンに過ぎません。ユーザーの行動の因果関係を把握し、意思決定プロセスを理解するには、やはり一人ひとりの行動データをミクロ視点で観察し、時系列に追う必要があります。UXモデリングはそれを効率化する手法という位置付けです。</p>



<p>とはいえ、抽出したパターンに一対一で紐づく会員のリストを得ることができないため、系列パターンに含まれる商品カテゴリを購買履歴に含む会員を抽出し、その中からサンプリングしつつ観察するというアプローチをとることにします。</p>



<p>指定した商品カテゴリを購買履歴に含む会員を抽出しやすいようにデータを加工します。BigQueryのクエリエディタに以下のSQL文を入力し、青い［実行］ボタンをクリックしてみましょう。また、このクエリ結果をデータセット「XM」に「sum_orders_ptn」という名前で保存します。</p>



<script src="https://gist.github.com/crosshack/0f8f2e4782dc1b00202c6783d3ce8e86.js"></script>



<p>続いて、テーブル「sum_orders_ptn」をTableauに取り込んでデータエスノグラフィをします。ワークシート編集画面で「A00_member_id」を［行］、「C01_frequency」「C02_monetary」を［列］、「C00_rank」を［フィルター］と［色］に、それぞれドラッグ＆ドロップすると、データエスノグラフィ環境の構築は完了です。</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4d-1024x593.png" alt="" class="wp-image-13914" width="480" height="277" srcset="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4d-1024x593.png 1024w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4d-300x174.png 300w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4d-768x445.png 768w" sizes="(max-width: 480px) 100vw, 480px" /></figure></div>



<p>ここで、さきほどの系列パターン分析で注目した、商品カテゴリ「4」と「9」を含む会員IDを抽出して行動データを観察できるようにします。それには「D00_category_ptn」をフィルターに追加し、［フィルターの編集］から［フィルター］モーダルを立ち上げ、［条件］タブの［式設定］にて、以下のフィルター条件を指定します。なおこれは、「D00_category_ptn」カラムに「4」と「9」のどちらも含む会員IDに絞り込むことを意味します。</p>



<pre class="wp-block-preformatted">CONTAINS([D00_category_ptn],'4') 
AND CONTAINS([D00_category_ptn],'9')</pre>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4e-899x1024.png" alt="" class="wp-image-13915" width="320" height="363"/></figure></div>



<p>絞り込まれた会員IDから任意に選んで、実際の購買履歴データを見てみましょう。例えば会員ID「16360」の会員の購買履歴はこのようになっています。</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4f-1024x426.png" alt="" class="wp-image-13916" width="480" height="199" srcset="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4f-1024x426.png 1024w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4f-300x125.png 300w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_4f-768x320.png 768w" sizes="(max-width: 480px) 100vw, 480px" /></figure></div>



<p>確かに「家庭・ガーデニング用品」関連商品の購入から始まり、次の訪問時に「エレクトロニクス・コンピューター」関連商品の購入をしています。さらにサブカテゴリを見ると、「カー・エレクトロニクス」関連商品が共通項として見られます。またその二年後には「赤ちゃん向けおもちゃ」関連商品を購入しています。このあたりにライフステージの変化のヒントがあるように考えられます。</p>



<p>このようにUXモデリングは、大量のデータから、<strong>系列パターンというシンプルなユーザー行動モデルを機械的に抽出</strong>し、<strong>観察すべきユーザーの絞り込みを効率化する手法</strong>であることを理解してもらえたのではないかと思います。</p>
]]></content:encoded>
										</item>
	<item>
		<title>UXモデリング入門 #03</title>
		<link>https://uxmeetsdata.com/ux-modeling-howto-03/</link>
				<pubDate>Fri, 30 Aug 2019 11:00:39 +0000</pubDate>
		<dc:creator><![CDATA[Atsushi Sugawa]]></dc:creator>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[UX Modeling]]></category>
		<category><![CDATA[Association Analysis]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[UX Modeling]]></category>

		<guid isPermaLink="false">https://uxmeetsdata.com/?p=13808</guid>
				<description><![CDATA[モデリング用のデータを準備。 まずはBigQueryでモデリング用のテーブルを作成します。なお、ここでは系列パ...<p class="more-link"><a href="https://uxmeetsdata.com/ux-modeling-howto-03/" class="themebutton3">Read More</a></p>]]></description>
								<content:encoded><![CDATA[<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm-e1570601392622-1024x512.jpeg" alt="" class="wp-image-13638" width="480" height="240"/></figure></div>



<h2><strong>モデリング用のデータを準備。</strong></h2>



<p>まずはBigQueryでモデリング用のテーブルを作成します。なお、ここでは<strong>系列パターンマイニング（Sequential Pattern Mining：SPM）</strong>の代表的なアルゴリズムである<strong>CSPADE</strong>を使用しますが、それには<strong>会員IDと購買単位ごとの購買商品カテゴリIDの配列をもつテーブル</strong>が必要になります。購買単位とは一回の購買を意味し、通常は買い物かごを指しますが、今回のデータには買い物かごに相当するものが存在しないため、同じ日付の購買を一回の購買とみなすことにします。</p>



<p>また、今回の商品マスタには商品カテゴリIDに相当するものが存在しないため、以下のようにIDを定義して付与します。なお、IDは本来は整数で扱うべきですが、後ほど使用するPythonのデータ分析用拡張モジュールである「<strong>pandas</strong>」においてBigQueryデータの読み込みがうまく処理されないため、文字列で定義します。</p>



<table style="table-layout: fixed; width: 100%;">
<tr style="color: #fff; background-color: #000;">
<td style="width: 100px;">商品カテゴリID</td>
<td style="width: 200px;">商品カテゴリ名</td>
</tr>
<tr>
<td style="background-color: #eee;">1</td>
<td>ファッション・ジュエリー</td>
</tr>
<tr>
<td style="background-color: #eee;">2</td>
<td>おもちゃ・子供・赤ちゃん</td>
</tr>
<tr>
<td style="background-color: #eee;">3</td>
<td>スポーツ・アウトドア</td>
</tr>
<tr>
<td style="background-color: #eee;">4</td>
<td>家庭・ガーデニング用品</td>
</tr>
<tr>
<td style="background-color: #eee;">5</td>
<td>美容・健康・食料品</td>
</tr>
<tr>
<td style="background-color: #eee;">6</td>
<td>本・聞く本</td>
</tr>
<tr>
<td style="background-color: #eee;">7</td>
<td>自動車・工業</td>
</tr>
<tr>
<td style="background-color: #eee;">8</td>
<td>映画・音楽・ゲーム</td>
</tr>
<tr>
<td style="background-color: #eee;">9</td>
<td>エレクトロニクス・コンピューター</td>
</tr>
</table>



<p>BigQueryのクエリエディタに以下のSQL文を入力し、青い［実行］ボタンをクリックしてみましょう。</p>



<script src="https://gist.github.com/crosshack/ec305467b8af7ab09b57362dbd7c09f2.js"></script>



<p>なお、処理の効率化のために<strong>10%のサンプリング</strong>をしていますが［※1］、これは会員IDを10で割った剰余が0の場合に限定するという意味です。また、<strong>欠損</strong>を除外するために性別がNULLでない会員に限定し［※2］、年齢の<strong>異常値</strong>を除外するために10歳以上90歳未満の会員に限定しています［※3］。さらに、<strong>時系列データの開始と終了の問題</strong>を解決するために、初回購買日が2006年1月以後かつ最終購買日が2012年12月以前の会員に限定しています［※4］。</p>



<p>すると、以下のスキーマのテーブルが出力結果で表示されるので、それをデータセット「XM」に「sum_visits」という名前で保存します。</p>



<table style="table-layout: fixed; width: 100%;">
<tr style="color: #fff; background-color: #000;">
<td>フィールド名</td>
<td>概要</td>
<td>タイプ</td>
</tr>
<tr>
<td style="background-color: #eee;">member_id</td>
<td>会員ID</td>
<td>整数</td>
</tr>
<tr>
<td style="background-color: #eee;">visit_id</td>
<td>訪問ID</td>
<td>整数</td>
</tr>
<tr>
<td style="background-color: #eee;">category_id</td>
<td>商品カテゴリID</td>
<td>文字列の配列</td>
</tr>
</table>



<h2><strong>モデリング用の実行環境を準備。</strong></h2>



<p>続けて、Cloud DatalabでSPMによるアソシエーションルールを作成するための実行環境を準備します。とはいえCloud Datalabには、GCP（Google Cloud Platform）との連携や、メジャーなデータ分析・機械学習系の拡張モジュールがあらかじめインストールされているため、多くはインポートするだけです。</p>



<p>まずはデータ分析用の拡張モジュールである「<strong>pandas</strong>」をインポートします。これはBigQueryから取り込んだ分析用テーブルをデータブレームで操作するためですが、同時にBigQueryとの直接クエリによる連携も可能となります。</p>



<p>また、ここでは<strong>SPM</strong>の代表的なアルゴリズムである<strong>CSPADE</strong>のPython向け拡張モジュールである「<strong>pycspade</strong>」を使用しますが、Cloud Datalabにはインストールされていないため、追加インストールを行います。</p>



<p>ここまでの拡張モジュールの準備は、以下のコードで行うことが可能です。入力エリアに記述し、実行してみてください。</p>



<script src="https://gist.github.com/crosshack/35a7b3b19145aca9d620072bd724d3b2.js"></script>



<p>拡張モジュールの準備が完了したら、BigQueryで作成した分析用テーブルを取り込みます。それには「read_gbq」関数を使い、引数にBigQueryのクエリを実行するSQL文とGCPのプロジェクトIDを指定します。以下のコードを入力エリアに記述し、実行してみてください。</p>



<script src="https://gist.github.com/crosshack/43e96c47035b19946d1304a84f70ce55.js"></script>



<p>なお、商品カテゴリIDについては、先述の理由で文字列型で設定していましたが、ここで整数型に変換します。これでSPMによるアソシエーションルールを抽出するためのデータおよび環境が整いました。</p>



<h2><strong>アソシエーションルールを作成。</strong></h2>



<p>では、<strong>CSPADEアルゴリズム</strong>の拡張モジュールである<strong>pycspade</strong>を用いて、系列パターンのアソシエーションルールの作成を行います。プログラム内容の詳細な説明はここでは割愛しますが、以下のようなコードで実現できます。入力エリアに記述し、実行してみてください。</p>



<script src="https://gist.github.com/crosshack/c93aca6e68a82933db59fd010d23c335.js"></script>



<p>なお、<strong>アソシエーションルール（Association Rule）</strong>の詳細の説明は「<a href="https://uxmeetsdata.com/association-howto-01/">アソシエーション分析入門 #01</a>」に譲りますが、簡単に言えば「商品Xを購入した顧客は商品Yも購入している」といった規則性のことで、信頼度・支持度・リフトの三つの指標を使うのが一般的です。</p>



<p><strong>信頼度（Confidence）</strong>は、<strong>商品Xを購買した顧客が商品Yも購買する確率</strong>のことで、併売戦略やレコメンデーションにむけた分析の基本指標となります。</p>



<p><strong>支持度（Support）</strong>は、<strong>全体の購買の中で商品Xと商品Yのどちらも購買される確率</strong>のことで、補足指標となります。仮に、商品Xを購買した顧客が商品Yも購買する確率（信頼度）が80%だったとしても、商品Xと商品Yのいずれも購買した顧客が全体の1%にも満たない場合、統計的な信頼性が低いだけでなく、それをもとに併売戦略を立てたところでビジネス的に意味はありません。そこで補足指標として支持度を用います。</p>



<p><strong>リフト（Lift）</strong>は、<strong>全体の購買の中で商品Yが購買される確率</strong>に対する商品Xを購買した顧客が商品Yも購買する確率（<strong>信頼度</strong>）の割合のことで、こちらも補足指標となります。仮に、商品Xを購買した顧客が商品Yも購買する確率（信頼度）が80%だったとしても、そもそも商品Yが購買される確率が80%であれば、商品Xの購買が商品Yの購買に与える影響力を説明することはできません。そこで補足指標としてリフトを用います。</p>



<p>ところで、分析作業の効率化のために、リフトが閾値（1が一般的）を下回る組み合わせは、事前に分析対象から除外するのが慣例ですが、pycspadeではリフトの閾値設定ができません。一方で、支持度の閾値設定は可能であるため「0.05」を指定しています。</p>



<p>最後の行の「df_table」というデータフレーム型の変数に、作成したアソシエーションルールが格納されています。入力エリアに「df_table」と記述して実行してみましょう。すると以下のような表が出力されます。</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_3a.png" alt="" class="wp-image-13862" width="240" height="264" srcset="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_3a.png 632w, https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm_3a-272x300.png 272w" sizes="(max-width: 240px) 100vw, 240px" /></figure></div>



<p>上表の列「Sequence」は系列パターンすなわち購買商品カテゴリの時系列パターン、「Confidence」は信頼度、「Support」は支持度、「Lift」はリフトとなります。例えば、Sequenceが「(7)-(9)」とは、「自動車・工業」関連商品を購入後に、「エレクトロニクス・コンピューター」関連商品を購入した、という系列パターンであり、その信頼度・支持度・リフトは、それぞれ「0.38308」「0.090715」「0.976826」という意味になります。この状態でもアソシエーションルールの一部は見てとれますが、より分析をしやすくするためにTableauで可視化することにします。</p>



<p>次回は、作成したアソシエーションルールをBigQueryに書き出し、Tableauで可視化しながら、系列パターンの分析と、観察対象とする<strong>ユーザーの抽出と行動観察</strong>を行います。</p>
]]></content:encoded>
										</item>
	<item>
		<title>UXモデリング入門 #02</title>
		<link>https://uxmeetsdata.com/ux-modeling-howto-02/</link>
				<pubDate>Thu, 29 Aug 2019 11:00:17 +0000</pubDate>
		<dc:creator><![CDATA[Atsushi Sugawa]]></dc:creator>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[UX Modeling]]></category>
		<category><![CDATA[Association Analysis]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[UX Modeling]]></category>

		<guid isPermaLink="false">https://uxmeetsdata.com/?p=13746</guid>
				<description><![CDATA[SPMによるUXモデリング。 頻出する事象の組み合わせを抽出する手法を総称して頻出パターンマイニング（Freq...<p class="more-link"><a href="https://uxmeetsdata.com/ux-modeling-howto-02/" class="themebutton3">Read More</a></p>]]></description>
								<content:encoded><![CDATA[<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm-e1570601392622-1024x512.jpeg" alt="" class="wp-image-13638" width="480" height="240"/></figure></div>



<h2><strong>SPMによるUXモデリング。</strong></h2>



<p>頻出する事象の組み合わせを抽出する手法を総称して<strong>頻出パターンマイニング（Frequent pattern mining）</strong>といいます。その代表的な手法が<strong>アソシエーション分析（Association Analysis）</strong><sup id="footnote_plugin_tooltip_1" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_1');">1)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_1"><a href="https://uxmeetsdata.com/association-howto-01/">アソシエーション分析入門</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_1").tooltip({		tip: "#footnote_plugin_tooltip_text_1",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>であり、「商品Xを購買した顧客は商品Yも購買している」というような向きのある相関関係を得られることが特徴ですが、一方で時系列的な順序が考慮されないという欠点があります。</p>



<p>アソシエーション分析の一種である<strong>バスケット分析（Basket Analysis）</strong>は、文字通り同じ買物かごに含まれる商品の組み合わせのパターンを分析する手法ですが、このように&#8221;<strong>同時</strong>&#8220;に発生する事象については問題ないものの、複数回の買物で購買商品がどのように推移したかというような、時系列の概念を含むパターンを分析することには向かないわけです。</p>



<p>そこで、時系列を考慮した頻出パターンマイニングである<strong>系列パターンマイニング（Sequential Pattern Mining：SPM）</strong>が、1995年にIBM研究所のR.AgrawalとR.Srikantによって提唱されました。また、このSPMがUXモデリングの比較的簡単なアプローチのひとつとして適用可能であることは、前回の「<a href="http://ux-modeling-howto-01">UXモデリング入門 #01</a>」で説明した通りです。</p>



<p>そこで今回は、SPMを使ったUXモデリング実践の入門編をご紹介したいと思います。なお、分析ツールは<strong>Google BigQuery</strong>、<strong>Tableau Desktop</strong>、<strong>Google Cloud Datalab</strong>の三つを用いて進めます。それぞれについては「<a href="https://uxmeetsdata.com/bigquery-sql-01/">BigQueryではじめるSQL</a>」「<a href="https://uxmeetsdata.com/tableau-bi-01/">TableauではじめるBI</a>」「<a href="https://uxmeetsdata.com/association-howto-02/">アソシエーション分析入門 #02</a>」を参照してください。</p>



<h2><strong>UXモデリングの手順。</strong></h2>



<p>UXモデリングは以下の手順で進めます。</p>



<ol><li>分析の<strong>背景の整理</strong>と<strong>目的の明確化</strong></li><li><strong>データ準備</strong>と<strong>基礎分析</strong></li><li>行動パターンの<strong>モデリング</strong></li><li>対象ユーザーの<strong>抽出と観察</strong></li></ol>



<p>データ分析に限らず、何らかの課題解決をするには、まずその<strong>背景を整理し、目的を明確化する</strong>必要があります。当たり前の話ですが、失敗するデータ分析の多くは、ここをあいまいにしたまま、<strong>とにかく何らかの有用な知識を獲得したい</strong>という思いのみで行われており、時間とコストを浪費する結果となっています。</p>



<p>またデータは「存在する」状態と「分析できる」状態では全く異なります。そして多くのデータは分析することを目的に収集されておらず、そもそも<strong>構造化されていない</strong>、あるいは<strong>欠損・異常値・表記揺れ</strong>（同義だが異句の状態）を含むこともあります。それらを加工し「分析できる」状態にすることを<strong>データ準備（Data Preparation）</strong>といいます。</p>



<p>さらに、あまねく全てのデータを準備することはできないため、必然的に<strong>選択</strong>が行われ、<strong>偏り</strong>が必ず発生します。これを<strong>選択バイアス（Selection Bias）</strong>といいます。例えば、プリペイドカードの購買履歴には、カードの入金額の上限を超える高額商品の購買履歴がそもそも含まれていません。おそらくクレッジトカードなどの他の決済手段で購買しているのでしょう。このような偏りのあるデータで無邪気にRFM分析などを行うと、<strong>ミスリード（Misslead）</strong>を起こします。</p>



<p>選択バイアスを無くすことが理想ですが、現実には不可能であるため、データの全体像を俯瞰して<strong>分布と偏り</strong>を把握し、分析を進める上での前提条件として捉えておくことが重要です。その作業を<strong>基礎分析（Basic Analysis）</strong>といいます。</p>



<p>ここまで完了してようやくUXモデリングが実施可能となります。今回はUXモデリングの比較的簡単なアプローチとして<strong>系列パターンマイニング（Sequential Pattern Mining：SPM）</strong>を用い、時系列を考慮したユーザーの典型的な行動パターンをモデリングします。</p>



<p>最後に、獲得した行動パターンに基づいて、観察対象とする<strong>ユーザーを抽出し、行動を観察</strong>します。すなわち<strong>データエスノグラフィ（Data Ethnography）</strong><sup id="footnote_plugin_tooltip_2" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_2');">2)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_2"><a href="https://uxmeetsdata.com/data-ethnography/">データエスノグラフィって？</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_2").tooltip({		tip: "#footnote_plugin_tooltip_text_2",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>を行うわけです。UXモデリングにより獲得したモデルは、あくまで機械的に抽出された行動パターンに過ぎません。ユーザーの行動の因果関係を把握し、意思決定プロセスを理解するには、やはり一人ひとりの行動データをミクロ視点で観察し、時系列に追う必要があります。UXモデリングはそれを効率化する手法という位置付けです。</p>



<h2><strong>購買商品の時系列変化を捉える。</strong></h2>



<p>では、UXモデリングの実践を進めて行きましょう。まずは分析の<strong>背景の整理</strong>と<strong>目的の明確化</strong>を行います。</p>



<p>今回は「<a href="https://uxmeetsdata.com/data-ethnography-howto-01/">データエスノグラフィ入門</a>」と連動し、総合ECサイトの会員の<strong>購買商品の時系列変化のパターン</strong>を捉え、優良化のヒントを獲得するという設定で進めます。分析対象データは、とある総合ECサイトの会員の購買履歴データとし、概要は以下のとおりです。</p>



<ul><li>種類：総合ECサイトの会員の購買履歴</li><li>期間：2005年1月〜2013年12月（9年間）</li><li>会員数：639,777人</li><li>購買数：7,599,650件（平均11.9件/人）</li></ul>



<p>データソースは以下の３つを使用します。なお、こちらはすでにBigQueryに投入済みとします。また、データセット名とテーブル名は任意ですが、ここでは「データエスノグラフィ入門」と合わせるため、データセット名を「DE」、テーブル名はファイル名をそのまま設定します。</p>



<table style="table-layout: fixed; width: 100%;">
<tbody>
<tr style="color: #fff; background-color: #000;">
<td>データソース</td>
<td>変数</td>
<td>ダウンロード</td>
</tr>
<tr>
<td style="background-color: #eee;">会員マスタ<br>mst_members</td>
<td>会員ID, 年齢, 性別, 居住地など</td>
<td><a href="https://storage.googleapis.com/xmdcom-data/data-ethnography/mst_members.csv">［↓］105MB﻿</td>
</tr>
<tr>
<td style="background-color: #eee;">商品マスタ<br>mst_products</td>
<td>商品ID, 商品カテゴリなど</td>
<td><a href="https://storage.googleapis.com/xmdcom-data/data-ethnography/mst_products.csv">［↓］53MB</td>
</tr>
<tr>
<td style="background-color: #eee;">購買履歴<br>trx_orders</td>
<td>会員ID, 商品ID, 注文日, 価格</td>
<td><a href="https://storage.googleapis.com/xmdcom-data/data-ethnography/trx_orders.csv">［↓］698MB</td>
</tr>
</tbody>
</table>



<p>これらのデータを使用し、<strong>ユーザーの購買商品の時系列変化の典型的なパターン</strong>をモデリングして行きます。なお、データ準備と基礎分析のプロセスは「<a href="https://uxmeetsdata.com/data-ethnography-howto-02/">データエスノグラフィ入門 #02</a>」と同様であるためここでは割愛し、次回は行動データのモデリングの実践を行います。</p>
]]></content:encoded>
										</item>
	<item>
		<title>UXモデリング入門 #01</title>
		<link>https://uxmeetsdata.com/ux-modeling-howto-01/</link>
				<pubDate>Wed, 28 Aug 2019 11:00:56 +0000</pubDate>
		<dc:creator><![CDATA[Atsushi Sugawa]]></dc:creator>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[UX Modeling]]></category>
		<category><![CDATA[Association Analysis]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[UX Modeling]]></category>

		<guid isPermaLink="false">https://uxmeetsdata.com/?p=13639</guid>
				<description><![CDATA[行動パターンを発見する。 ユーザーの行動データから、購買の意思決定プロセスを把握したい、あるいは、思いもよらな...<p class="more-link"><a href="https://uxmeetsdata.com/ux-modeling-howto-01/" class="themebutton3">Read More</a></p>]]></description>
								<content:encoded><![CDATA[<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="https://uxmeetsdata.com/wp-content/uploads/2019/10/xmd_xm-e1570601392622-1024x512.jpeg" alt="" class="wp-image-13638" width="480" height="240"/></figure></div>



<h2><strong>行動パターンを発見する。</strong></h2>



<p>ユーザーの行動データから、購買の<strong>意思決定プロセス</strong>を把握したい、あるいは、<strong>思いもよらないニーズ</strong>を発見したい。多くのマーケターやビジネスパーソンにとって、それはデータ活用におけるもっとも重要な関心ごとのひとつでしょう。</p>



<p>あるコンテンツXの閲覧（事象X）と、ある商品Yの購買（事象Y）には、強い共起性があるから、事象Yの意思決定に事象Xがなんらか関与している可能性が高いのではないか。そのような分析はよく行われることと思います。</p>



<p>一方で、<strong>事象Xと事象Yの因果関係</strong>の説明は難しい問題です。事象Xによる気持ちの変化があったから事象Yにいたったのか、最初から事象Yが起こることは決まっていて、たまたま事象Xをしただけなのかが判別しづらいからです。</p>



<p>因果関係を説明するには、まず<strong>時間の関係</strong>を把握することが必要です。当たり前ですが、原因と結果の前後が入れ替わることはありません。また、事象Xと事象Yの間に大きな時間の隔たりがある場合は因果関係を説明しづらくなります。加えて、<strong>事象Xが事象Yの発生に影響を与えている</strong>ことも重要です。事象Xの有無に関わらず事象Yが起こるのであれば、因果関係は説明しづらくなります。</p>



<p>ユーザーの行動の因果関係を把握し、意思決定プロセスを理解するのに、一人ひとりの行動データをミクロ視点で観察し、時系列に追う<strong>データエスノグラフィ（Data Ethnography）</strong><sup id="footnote_plugin_tooltip_1" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_1');">1)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_1"><a href="https://uxmeetsdata.com/data-ethnography/">データエスノグラフィって？</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_1").tooltip({		tip: "#footnote_plugin_tooltip_text_1",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>という手法が有用であることは「<a href="https://uxmeetsdata.com/data-ethnography/">データエスノグラフィって？</a>」でも触れたとおりです。とはいえ、大量のデータから観察すべきユーザーを特定し、典型的な行動パターンを見つけることは容易ではありません。</p>



<h2><strong>シンプルな行動モデルを取り出す。</strong></h2>



<p>そこで、大量のデータから<strong>ユーザーの行動モデルを機械的に取り出す</strong>手法が有効となります。<a href="https://www.crosshack.jp">クロスハック</a>ではこれをUXモデリング（UX Modeling）<sup id="footnote_plugin_tooltip_2" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_2');">2)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_2"><a href="https://uxmeetsdata.com/ux-modeling/">UXモデリングって？</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_2").tooltip({		tip: "#footnote_plugin_tooltip_text_2",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>と呼んでいます。</p>



<p>大量データをモデリングする手法として真っ先に思いつくのは、<strong>機械学習（Machine Learning）</strong><sup id="footnote_plugin_tooltip_3" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_3');">3)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_3"><a href="https://uxmeetsdata.com/machine-learning/">いまさら聞けない機械学習</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_3").tooltip({		tip: "#footnote_plugin_tooltip_text_3",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>でしょう。とりわけ<strong>深層学習（Deep Learning）</strong><sup id="footnote_plugin_tooltip_4" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_4');">4)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_4"><a href="https://uxmeetsdata.com/deep-learning/">いまさら聞けない深層学習</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_4").tooltip({		tip: "#footnote_plugin_tooltip_text_4",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>は、特徴表現を自動的に行うため、大量データのモデリングには極めて有効です。</p>



<p>一方で、「<a href="https://uxmeetsdata.com/ux-modeling/">UXモデリングって？</a>」でも触れたとおり、深層学習には<strong>導出されたモデルが複雑化・ブラックボックス化する</strong>という欠点があります。複雑でブラックボックス化されたモデルは、解釈や説明ができません。解釈や説明ができないモデルは、ビジネスやデザインの意思決定に応用することができず、役に立ちません。UXモデリングでは、複雑なユーザー行動から<strong>解釈や説明をしやすいシンプルで汎用性のあるモデル</strong>を取り出すことが重要です。</p>



<h2><strong>時系列のアソシエーション分析。</strong></h2>



<p>ユーザーの行動データから行動パターンを取り出す手法の一つに、アソシエーション分析があります。<strong>アソシエーション分析（Association Analysis）</strong><sup id="footnote_plugin_tooltip_5" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_5');">5)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_5"><a href="https://uxmeetsdata.com/association-howto-01/">アソシエーション分析入門</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_5").tooltip({		tip: "#footnote_plugin_tooltip_text_5",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>は、事象Xと事象Yの事象間の相関性を分析する手法で、<strong>データマイニング（Data Mining）</strong><sup id="footnote_plugin_tooltip_6" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_6');">6)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_6"><a href="https://uxmeetsdata.com/data-mining/">再考するデータマイニング</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_6").tooltip({		tip: "#footnote_plugin_tooltip_text_6",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>の中核をなす分析手法のひとつです。</p>



<p>アソシエーション分析の詳細は「<a href="https://uxmeetsdata.com/association-howto-01/">アソシエーション分析入門</a>」に譲りますが、簡単に言うと、それにより得られるのは<strong>向きのある相関関係</strong>です。向きのある相関関係とは、例えば「商品Xを購買した顧客は商品Yも購買している」というようなものです。ただし、これはあくまで相関関係であり、因果関係を証明するものではありません。しかしながら、これをきっかけに<strong>因果推論（Causal Inference）</strong><sup id="footnote_plugin_tooltip_7" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_7');">7)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_7"><a href="https://uxmeetsdata.com/causal-inference/">いまさら聞けない因果推論</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_7").tooltip({		tip: "#footnote_plugin_tooltip_text_7",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>や<strong>ベイズ推定（Bayesian Inference）</strong><sup id="footnote_plugin_tooltip_8" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_8');">8)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_8"><a href="https://uxmeetsdata.com/bayesian-inference/">いまさら聞けないベイズ推定</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_8").tooltip({		tip: "#footnote_plugin_tooltip_text_8",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>などを行うことで因果関係を明らかにする可能性が高まります。</p>



<p>ところで、アソシエーション分析は事象間の相関性を分析する手法の総称であり、特定の分析手法をさすものではありません。共起性に基づく分析手法が一般的ですが、他にも<strong>ニューラルネットワーク（Neural Network）</strong>などを用いたアプローチもあります。また、共起性に基づく手法の中でも最もよく利用されるものに<strong>アプリオリ（Apriori）</strong>というアルゴリズムがあります。「<a href="https://uxmeetsdata.com/association-howto-01/">アソシエーション分析入門</a>」では、このアプリオリ・アルゴリズムを使った分析方法を解説しました。</p>



<p>一方で、アプリオリ・アルゴリズムを中心とした一般的なアソシエーション分析では、時間の関係が無視されます。例えば「商品Xを購買した顧客は商品Yも購買している」というのは、時系列的に商品Xと商品Yのどちらが先かは問われず、また商品Xと商品Yの購買の時間間隔も考慮されていません。</p>



<p>冒頭でも述べたとおり、因果関係の説明には時系列的順序や時間間隔といった時間の関係が極めて重要な要素となります。また、時間の関係がわからないと、次に発生するユーザー行動を予測することができません。そこで、時間の概念を考慮したアソシエーション分析が必要となります。それを<strong>系列パターンマイニング（Sequential Pattern Mining：SPM）</strong>といいます。</p>



<p>そこで、この「UXモデリング入門」では、UXモデリングの比較的簡単なアプローチのひとつとして、このSPMを用いた手法をご紹介します。次回以降で、その具体的なプロセスに触れて行きます。</p>
]]></content:encoded>
										</item>
	<item>
		<title>UXモデリングって？</title>
		<link>https://uxmeetsdata.com/ux-modeling/</link>
				<pubDate>Sun, 27 Jan 2019 06:39:31 +0000</pubDate>
		<dc:creator><![CDATA[Atsushi Sugawa]]></dc:creator>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[UX Modeling]]></category>
		<category><![CDATA[Data Ethnography]]></category>
		<category><![CDATA[Sparse Modeling]]></category>
		<category><![CDATA[UX Modeling]]></category>

		<guid isPermaLink="false">https://uxmeetsdata.com/?p=176</guid>
				<description><![CDATA[ビッグデータによる機械学習の欠点。 ユーザーの行動データから意思決定プロセスなどの行動特性をとりだして、似たよ...<p class="more-link"><a href="https://uxmeetsdata.com/ux-modeling/" class="themebutton3">Read More</a></p>]]></description>
								<content:encoded><![CDATA[<h2><strong>ビッグデータによる機械学習の欠点。</strong></h2>



<p>ユーザーの行動データから意思決定プロセスなどの行動特性をとりだして、似たようなユーザーの<strong>未来の行動を予測したい</strong>。あるいは<strong>こちらの意図した行動を再現したい</strong>。こういったニーズはビジネスシーンではよく起こります。</p>



<p>これに対し、ユーザーの行動データを<strong>観察</strong>することは有効なアプローチです。<a rel="noreferrer noopener" href="https://www.crosshack.jp/" target="_blank">クロスハック</a>では、<strong>データエスノグラフィ（Data Ethnography） </strong><sup id="footnote_plugin_tooltip_1" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_1');">1)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_1"><a href="https://uxmeetsdata.com/data-ethnography/">データエスノグラフィって？</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_1").tooltip({		tip: "#footnote_plugin_tooltip_text_1",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>という、一人ひとりの行動データをミクロ視点で観察し、時系列に追うことで、ユーザーの意思決定プロセスの理解や発見を行なう技術を研究開発しています。とはいえ、大量のデータから観察すべきユーザーを見つけることは容易ではなく、マクロ視点での分析も求められます。</p>



<p>真っ先に思いつく解決手段として、<strong>機械学習（Machine Learning）</strong><sup id="footnote_plugin_tooltip_2" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_2');">2)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_2"><a href="https://uxmeetsdata.com/machine-learning/">いまさら聞けない機械学習</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_2").tooltip({		tip: "#footnote_plugin_tooltip_text_2",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>があります。データを基にした予測・分類・回帰などの問題に対して、機械学習は有効な手段です。とりわけ<strong>深層学習（Deep Learning）</strong>に代表される<strong>ビッグデータ（Big Data）</strong><sup id="footnote_plugin_tooltip_3" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_3');">3)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_3"><a href="https://uxmeetsdata.com/big-data/">再考するビッグデータ</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_3").tooltip({		tip: "#footnote_plugin_tooltip_text_3",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>による機械学習は、コンピュータやネットワークの技術革新により、大量データの収集や分析が容易になったことで、その有用性が非常に注目されています。</p>



<p>一方で、ビッグデータによる機械学習には大きく二つの欠点があります。ひとつは、<strong>大量の学習データが必要なこと</strong>。もうひとつは、予測結果は出せるものの、<strong>導出された予測モデルのメカニズムがブラックボックス化して説明しづらくなること</strong>です。</p>



<p>前者は、<strong>データ蓄積が充分でない場合</strong>や、<strong>発生がまれでデータ量が確保できない場合</strong>に困ります。たとえば大地震の発生や株価の大暴落の予測を、ビッグデータによる機械学習で行うのは難しいでしょう。後者は、<strong>変数が多い場合に、機械学習によって作られる予測モデルが複雑化する</strong>ために起こる現象です。予測精度は悪くないものの、メカニズムを説明できないため、再現性への疑問が払拭できない、ということになるわけです。</p>



<p>では、ユーザーの行動を予測して再現したい場合はどうでしょう。かつてない新商品の購買行動を機械学習で予測することはできません。学習データが存在しないからです。一方で学習データが大量にある場合はどうでしょうか。人間は実にいろいろな要因に影響を受けて意思決定を行います。つまり<strong>考慮すべき変数が異常に多い</strong>わけです。はたして機械学習は有効な手段なのでしょうか。</p>



<h2><strong>複雑なユーザー行動をシンプルに。</strong></h2>



<p>意思決定プロセスなどの複雑なユーザー行動をデータから取り出してモデル化する場合には、<strong>解釈や説明をしやすいシンプルで汎用性のあるモデル</strong>にする必要があります。<a rel="noreferrer noopener" href="http://crosshack.jp/" target="_blank">クロスハック</a>ではこれを<strong>UXモデリング（UX Modeling）</strong>と呼んでいます。モデリングとは、事象を抽象化し、数学的に扱える形の<strong>数理モデル（Mathematical Model）</strong>にすること意味します。</p>



<div class="wp-block-image"><figure class="aligncenter is-resized"><img src="http://uxmeetsdata.com/wp-content/uploads/2019/03/xmd_model-e1553909776481.jpg" alt="" class="wp-image-3443" width="480" height="228"/></figure></div>



<p>ある瞬間の意思決定にフォーカスすれば、機械学習は有効かと思われます。たとえば<strong>ECサイトで商品をレコメンドした際の購買の予測</strong>などがそれです。意思決定の要因となる変数を、初めからかなり限定できるからです。年齢・性別などのデモグラフィック属性、過去の購買履歴から導出した嗜好性、レコメンドした商品の特徴などから、比較的シンプルなモデルを作成できるでしょう。</p>



<p>一方で、<strong>月や年単位におよぶ購買行動の変化</strong>や、<strong>自動車や住宅などの検討期間が長い商材の購買意思決定</strong>などはどうでしょう。意思決定の要因となる変数は、時間とともに雪だるま式に増えるため、とても複雑なものになりそうです。</p>



<h2><strong>変数を選択するための手法。</strong></h2>



<p>ここで問題となるのが、<strong>変数をどのように選択するのか</strong>ということです。これは<strong>次元圧縮（Dimensionality Reduction）</strong>ともいわれ、統計やデータサイエンスの根本課題でもあります。<strong>主成分分析</strong>や<strong>多次元尺度構成法</strong>なども次元圧縮の手法ですが、これは人間が視覚的に認識できるよう低次元（三次元以下）に落とすことを目的としています。ここでいう次元圧縮は、高次元なデータを<strong>数学的に説明可能な次元</strong>まで落として、シンプルな数理モデルにすることを意味します。連立方程式にできれば数学的に捉えることができる、といえば何となくイメージできるかと思います。</p>



<p>変数選択や次元圧縮の問題に対して、いま注目されている手法に<strong>スパースモデリング （Sparse Modeling）</strong><sup id="footnote_plugin_tooltip_4" class="footnote_plugin_tooltip_text" onclick="footnote_moveToAnchor('footnote_plugin_reference_4');">4)</sup><span class="footnote_tooltip" id="footnote_plugin_tooltip_text_4"><a href="https://uxmeetsdata.com/sparse-modeling/">スパースモデリング って？</a></span><script type="text/javascript">	jQuery("#footnote_plugin_tooltip_4").tooltip({		tip: "#footnote_plugin_tooltip_text_4",		tipClass: "footnote_tooltip",		effect: "fade",		fadeOutSpeed: 100,		predelay: 400,		position: "top right",		relative: true,		offset: [10, 10]	});</script>があります。スパースは「まばらな」を意味し、希薄なデータから目的の情報をとりだしたり、複雑なデータをスパースにすることで本質を浮かび上がらせる手法です。</p>



<p>この他にも、変数の多い複雑なデータをシンプルな数理モデルで捉えるための手法やアプローチはたくさんあります。さまざまな手法を試しながら、複雑なユーザー行動をシンプルなモデルにするUXモデリングの方法論を体系化して行きたいと思っています。</p>
]]></content:encoded>
										</item>
	</channel>
</rss>
