クロス集計分析
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>データ解析]]
*目次 [#i8777de4]
#contents
*概要 [#za015e13]
-最も基本的なデータ分析方法で[[ビジネス インテリジェンス...
-集まったデータを年齢、性別、地域、職業などのさまざまな属...
--[[クラスタ分析>統計解析#df844c06]]などで使用する属性の...
--[[相関関係を分析>統計解析#bad01586]]し、属性毎に大まか...
-更に、パターンから偏りを見分け推測する。
--[[協調フィルタリング>#t889221f]]
--[[コンテンツベース・フィルタリング>#i50d6fb6]]
--[[アソシエーション分析>#r05b1aed]]
-以下で利用される。
--アンケートの集計
--仕入れの計画
--販売予測
--世論調査
*詳細 [#k3b5d8fa]
**分析プロジェクト的に [#fb984d58]
***どう計画するか? [#v0344ad2]
-特徴:二変数間の関係
-意味合い:次の仮説
***どう読めばいいか? [#z2e215d6]
-特徴:比較結果(関係)
-意味合い:次の仮説
***EXCELでどう作るか? [#fbbc4e89]
[[ピボット・テーブル>#fa88f62f]]を作成する。
**分析に関する用語 [#s7ade4be]
***属性、変数、カテゴリ [#o5aaabf6]
-複数の属性、変数の組み合わせたカテゴリに対して、
--該当するデータを集計して
--or 該当するデータの個数・比率を
>表にしたもの。
-カテゴリの元となる属性、変数
|分類|特徴|変数の例|h
|デモグラフィック変数|・人口統計分布に基づく変数。&br;・...
|地理的変数|・地理的に分割される変数。&br;・消費者向けの...
|心理的変数|・価値観やライフスタイル、好み等を表す変数。&...
|行動変数|・行動を表す変数。&br;・IT化の進展によって集計...
***縦横カテゴリ軸と設定 [#m78ea52c]
-縦カテゴリと横カテゴリを設定し、~
このカテゴリ間の関連を調査可能する。
-縦横カテゴリ軸
--縦(集計のグループ)
--横(集計結果の射影)
-[[仮説を立てて、軸を選択する。>データ解析#mdebc5a6]]
--横軸:今月は売上が下がったので、先月、今月の月。
--縦軸
---夏休みが終わったので、客層が変わった?→客層(単身、フ...
---雨の日が多かったので、天候のせいではないか?→天候
***クロス・テーブル [#n75d384e]
-トランザクション・テーブル → クロス集計 → クロス・テーブル
-トランザクション・テーブルをクロス集計するとクロス・テー...
***ルックアップ・テーブル [#d72c84dd]
-SQLで言えばJOINに該当する表計算ソフトの機能。
-≒トランザクション・テーブル(データ分析の元となるテーブ...
***ピボット・テーブル、ピボット・グラフ [#fa88f62f]
表計算ソフトや、分析ライブラリに実装されている機能。
-トランザクション・テーブルや[[ルックアップ・テーブル>#d7...
から[[クロス・テーブル(とグラフ)>#n75d384e]]を生成する。
-さらに、ココから、以下のような操作が可能。
--縦持ち・横持ちの相互変換
---[[ピボット>#a1552e80]]
---[[アン・ピボット>#r7f3968b]]
--データの分析
---[[ドリルダウン>#bfae8037]] / [[ドリルアップ>#e096d32b]...
集計結果の概略化 ⇔ 詳細化
---[[ダイス>#q24f114d]] / [[スライス>#ud773163]]~
集計軸の変更 / 集計対象への条件追加
**可視化の方法 [#lcdbdf15]
***100%積上棒グラフ [#m64211a1]
***複数系列の棒グラフ [#i06482a6]
**ビジネス上での事例 [#mfbeff94]
***アンケート [#jf026de3]
結果のまとめ
***マーケティング [#t4d01e29]
商品の売上高を顧客属性(年齢層や性別)毎に集計
***レコメンド応用(協調フィルタリング [#t889221f]
-パターンの類似性から偏りを見分け推測する。
-レコメンドシステム(推薦システム)に用いられる。
-考え方はシンプルで、
--対象ユーザは買っていないが、
--似ているユーザは買ってる。
>ものを推薦する。
-[[コールド・スタート>機械学習(machine learning)#d9c393...
***レコメンド応用2(コンテンツベース・フィルタリング [#i...
-ユーザーではなく商品側に何かしらの特徴量を付与し、特徴が...
-対象ユーザーのデータがあれば推薦できるので、
--[[コールド・スタート>機械学習(machine learning)#d9c39...
--だだし、他のユーザー情報を使用しないので~
コチラのほうが優れている、と言う訳ではない。
***レコメンド応用2([[アソシエーション分析>データ解析#we...
パターンの共起性から偏りを見分け推測する。
***[[QC(クオリティコントロール>PMP:品質マネジメント#jb4...
-[[管理図のような時系列分析>データ分析#j2bf684e]]で問題を...
-[[クロス集計>クロス集計分析#k3b5d8fa]]で、どこで問題が起...
-[[特性要因図(ロジックツリー)>PMP:計画 - リスク#yb4e76...
-最後に調査で確認する。
*SQLの例 [#ta6e0082]
-SQLを使用したクロス集計分析の例。
-GROUP BYを使用する場合、SELECTには、~
GROUP BYで指定した列と集計関数のみを指定できる。
**元データ [#pa81e392]
***トランザクション・テーブル [#u13606c9]
-表名:Xテーブル
-項目名
--名称
--属性A
--属性B
--属性C
--分類A
--分類B
--分類C
--数値
***クロス・テーブル [#v2d3a894]
クロス集計したビュー
SELECT
名称,
属性A,
属性B,
属性C,
分類A,
分類B,
分類C,
SUM(数値) as 合計
From Xテーブル
GROUP BY
名称,
属性A,
属性B,
属性C,
分類A,
分類B,
分類C,
**ピボット / アン・ピボット [#m6add619]
***ピボット [#a1552e80]
縦持ち → 横持ち
SELECT
名称,
max(CASE WHEN 属性A = 'XXXX' THEN 属性B END) AS XXXX,
max(CASE WHEN 属性A = 'YYYY' THEN 属性C END) AS YYYY,
分類A,
分類B,
分類C
FROM クロス・テーブル
GROUP BY
名称,
属性A,
属性B,
属性C,
分類A,
分類B,
分類C
※ 1 : 1 の Key-Valueを縦持ちにする場合、~
THEN 属性X else null END の様にelse nullを追加する。
※ SQLだと、RDBMSによってはPIVOT句が用意されている。
***アン・ピボット [#r7f3968b]
横持ち → 縦持ち
SELECT 名称, 'XXXX' as 属性A, XXXX as 属性B, 分類A, 分類...
UNION ALL
SELECT 名称, 'YYYY' as 属性A, YYYY as 属性C, 分類A, 分類...
;
※ SQLだと、RDBMSによってはUNPIVOT句が用意されている。
**分析例 [#oe66323b]
***基礎となる分析結果 [#bd957e2b]
[[クロス・テーブル>#v2d3a894]]を分類A, 属性Aで集計。
SELECT
分類A,
属性A,
SUM(合計)
From クロス・テーブル
GROUP BY
分類A,
属性A
※ [[ピボット / アン・ピボット>#m6add619]]したテーブルを対...
***ドリルダウン [#bfae8037]
[[基礎分析結果>#bd957e2b]]の、分類Aを固定し、分類Bで集計
SELECT
分類B,
属性A,
SUM(合計)
From クロス・テーブル
Where 分類A = 'XXXX'
GROUP BY 分類B, 属性A
***ドリルアップ [#e096d32b]
[[ドリルダウン>#bfae8037]]したものを元の[[基礎分析結果>#b...
***ダイス [#q24f114d]
[[基礎分析結果>#bd957e2b]]の、分類ではなく、属性を変える...
SELECT
分類A,
属性B,
SUM(合計)
From クロス・テーブル
GROUP BY
分類A,
属性B
※ 分類A → 分類Bは詳細化。属性A → 属性Bは回転(軸の変更)。
***スライス [#ud773163]
[[基礎分析結果>#bd957e2b]]の、非表示の属性項目を固定する。
SELECT
分類A,
属性A,
SUM(合計)
From クロス・テーブル
Where 属性B = 'XXXX'
GROUP BY 分類A, 属性A
※ 次元(軸)を減らし、3次元 → 2次元データへ。
***ドリルスルー [#q88f8aa8]
例えば、[[ピボット・テーブル>#a1552e80]]に対して、元デー...
SELECT *
FROM Xテーブル
WHERE
名称 = '集計条件に指定した列の値'
AND 属性A = 'XXXX or YYYY : 縦持ちにした値の列名'
*参考 [#q600451f]
-SQLと「ドリルダウン(及びドリルアップ)」,~
「ダイス」,「スライス」の関係 - ウィリアムのいたずらの開...
https://blog.goo.ne.jp/xmldtp/e/c5be25e2caf4e3cf3fa02dcde...
-3-5 ドリルダウンやドリルスルーによる分析~
https://manual.wingarc-support.com/ja/manual/drsum/dtl51e...
--3-5-1 階層を下げて詳細データを表示する(ドリルダウン)
--3-5-2 階層を上げて要約データを表示する(ドリルアップ)
--3-5-3 集計データから内訳を表示する(ドリルスルー)
--3-5-4 階層を下げた詳細データの表示について(ドリルダウ...
**縦横変換 [#ece3ccdc]
-SQL で縦横変換まとめ(pivot と unpivot) - Qiita~
https://qiita.com/k24d/items/79bc4828c918dfeeac34
-[SQL]データの縦持ち、横持ちを入れ替える | Developers.IO~
https://dev.classmethod.jp/etc/sql-data-horizontal-vertic...
**[[多次元データベースのオンライン分析処理(OLAP)>ビジネ...
-上記のピボットと同じクロス集計を行うことが出来る。
-ファクト・テーブルからクロス・テーブル(とグラフ)を生成
-ファクト・テーブルは、スタース・キーマの構成要素。
-スター・スキーマは、
--1つ以上のファクト・テーブルと、
--外部キーを通じて関連付けられた1つ以上のディメンション・...
>で構成される。
**[[Excel ピボット・テーブル、ピボット・グラフ>https://te...
終了行:
「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfras...
-[[戻る>データ解析]]
*目次 [#i8777de4]
#contents
*概要 [#za015e13]
-最も基本的なデータ分析方法で[[ビジネス インテリジェンス...
-集まったデータを年齢、性別、地域、職業などのさまざまな属...
--[[クラスタ分析>統計解析#df844c06]]などで使用する属性の...
--[[相関関係を分析>統計解析#bad01586]]し、属性毎に大まか...
-更に、パターンから偏りを見分け推測する。
--[[協調フィルタリング>#t889221f]]
--[[コンテンツベース・フィルタリング>#i50d6fb6]]
--[[アソシエーション分析>#r05b1aed]]
-以下で利用される。
--アンケートの集計
--仕入れの計画
--販売予測
--世論調査
*詳細 [#k3b5d8fa]
**分析プロジェクト的に [#fb984d58]
***どう計画するか? [#v0344ad2]
-特徴:二変数間の関係
-意味合い:次の仮説
***どう読めばいいか? [#z2e215d6]
-特徴:比較結果(関係)
-意味合い:次の仮説
***EXCELでどう作るか? [#fbbc4e89]
[[ピボット・テーブル>#fa88f62f]]を作成する。
**分析に関する用語 [#s7ade4be]
***属性、変数、カテゴリ [#o5aaabf6]
-複数の属性、変数の組み合わせたカテゴリに対して、
--該当するデータを集計して
--or 該当するデータの個数・比率を
>表にしたもの。
-カテゴリの元となる属性、変数
|分類|特徴|変数の例|h
|デモグラフィック変数|・人口統計分布に基づく変数。&br;・...
|地理的変数|・地理的に分割される変数。&br;・消費者向けの...
|心理的変数|・価値観やライフスタイル、好み等を表す変数。&...
|行動変数|・行動を表す変数。&br;・IT化の進展によって集計...
***縦横カテゴリ軸と設定 [#m78ea52c]
-縦カテゴリと横カテゴリを設定し、~
このカテゴリ間の関連を調査可能する。
-縦横カテゴリ軸
--縦(集計のグループ)
--横(集計結果の射影)
-[[仮説を立てて、軸を選択する。>データ解析#mdebc5a6]]
--横軸:今月は売上が下がったので、先月、今月の月。
--縦軸
---夏休みが終わったので、客層が変わった?→客層(単身、フ...
---雨の日が多かったので、天候のせいではないか?→天候
***クロス・テーブル [#n75d384e]
-トランザクション・テーブル → クロス集計 → クロス・テーブル
-トランザクション・テーブルをクロス集計するとクロス・テー...
***ルックアップ・テーブル [#d72c84dd]
-SQLで言えばJOINに該当する表計算ソフトの機能。
-≒トランザクション・テーブル(データ分析の元となるテーブ...
***ピボット・テーブル、ピボット・グラフ [#fa88f62f]
表計算ソフトや、分析ライブラリに実装されている機能。
-トランザクション・テーブルや[[ルックアップ・テーブル>#d7...
から[[クロス・テーブル(とグラフ)>#n75d384e]]を生成する。
-さらに、ココから、以下のような操作が可能。
--縦持ち・横持ちの相互変換
---[[ピボット>#a1552e80]]
---[[アン・ピボット>#r7f3968b]]
--データの分析
---[[ドリルダウン>#bfae8037]] / [[ドリルアップ>#e096d32b]...
集計結果の概略化 ⇔ 詳細化
---[[ダイス>#q24f114d]] / [[スライス>#ud773163]]~
集計軸の変更 / 集計対象への条件追加
**可視化の方法 [#lcdbdf15]
***100%積上棒グラフ [#m64211a1]
***複数系列の棒グラフ [#i06482a6]
**ビジネス上での事例 [#mfbeff94]
***アンケート [#jf026de3]
結果のまとめ
***マーケティング [#t4d01e29]
商品の売上高を顧客属性(年齢層や性別)毎に集計
***レコメンド応用(協調フィルタリング [#t889221f]
-パターンの類似性から偏りを見分け推測する。
-レコメンドシステム(推薦システム)に用いられる。
-考え方はシンプルで、
--対象ユーザは買っていないが、
--似ているユーザは買ってる。
>ものを推薦する。
-[[コールド・スタート>機械学習(machine learning)#d9c393...
***レコメンド応用2(コンテンツベース・フィルタリング [#i...
-ユーザーではなく商品側に何かしらの特徴量を付与し、特徴が...
-対象ユーザーのデータがあれば推薦できるので、
--[[コールド・スタート>機械学習(machine learning)#d9c39...
--だだし、他のユーザー情報を使用しないので~
コチラのほうが優れている、と言う訳ではない。
***レコメンド応用2([[アソシエーション分析>データ解析#we...
パターンの共起性から偏りを見分け推測する。
***[[QC(クオリティコントロール>PMP:品質マネジメント#jb4...
-[[管理図のような時系列分析>データ分析#j2bf684e]]で問題を...
-[[クロス集計>クロス集計分析#k3b5d8fa]]で、どこで問題が起...
-[[特性要因図(ロジックツリー)>PMP:計画 - リスク#yb4e76...
-最後に調査で確認する。
*SQLの例 [#ta6e0082]
-SQLを使用したクロス集計分析の例。
-GROUP BYを使用する場合、SELECTには、~
GROUP BYで指定した列と集計関数のみを指定できる。
**元データ [#pa81e392]
***トランザクション・テーブル [#u13606c9]
-表名:Xテーブル
-項目名
--名称
--属性A
--属性B
--属性C
--分類A
--分類B
--分類C
--数値
***クロス・テーブル [#v2d3a894]
クロス集計したビュー
SELECT
名称,
属性A,
属性B,
属性C,
分類A,
分類B,
分類C,
SUM(数値) as 合計
From Xテーブル
GROUP BY
名称,
属性A,
属性B,
属性C,
分類A,
分類B,
分類C,
**ピボット / アン・ピボット [#m6add619]
***ピボット [#a1552e80]
縦持ち → 横持ち
SELECT
名称,
max(CASE WHEN 属性A = 'XXXX' THEN 属性B END) AS XXXX,
max(CASE WHEN 属性A = 'YYYY' THEN 属性C END) AS YYYY,
分類A,
分類B,
分類C
FROM クロス・テーブル
GROUP BY
名称,
属性A,
属性B,
属性C,
分類A,
分類B,
分類C
※ 1 : 1 の Key-Valueを縦持ちにする場合、~
THEN 属性X else null END の様にelse nullを追加する。
※ SQLだと、RDBMSによってはPIVOT句が用意されている。
***アン・ピボット [#r7f3968b]
横持ち → 縦持ち
SELECT 名称, 'XXXX' as 属性A, XXXX as 属性B, 分類A, 分類...
UNION ALL
SELECT 名称, 'YYYY' as 属性A, YYYY as 属性C, 分類A, 分類...
;
※ SQLだと、RDBMSによってはUNPIVOT句が用意されている。
**分析例 [#oe66323b]
***基礎となる分析結果 [#bd957e2b]
[[クロス・テーブル>#v2d3a894]]を分類A, 属性Aで集計。
SELECT
分類A,
属性A,
SUM(合計)
From クロス・テーブル
GROUP BY
分類A,
属性A
※ [[ピボット / アン・ピボット>#m6add619]]したテーブルを対...
***ドリルダウン [#bfae8037]
[[基礎分析結果>#bd957e2b]]の、分類Aを固定し、分類Bで集計
SELECT
分類B,
属性A,
SUM(合計)
From クロス・テーブル
Where 分類A = 'XXXX'
GROUP BY 分類B, 属性A
***ドリルアップ [#e096d32b]
[[ドリルダウン>#bfae8037]]したものを元の[[基礎分析結果>#b...
***ダイス [#q24f114d]
[[基礎分析結果>#bd957e2b]]の、分類ではなく、属性を変える...
SELECT
分類A,
属性B,
SUM(合計)
From クロス・テーブル
GROUP BY
分類A,
属性B
※ 分類A → 分類Bは詳細化。属性A → 属性Bは回転(軸の変更)。
***スライス [#ud773163]
[[基礎分析結果>#bd957e2b]]の、非表示の属性項目を固定する。
SELECT
分類A,
属性A,
SUM(合計)
From クロス・テーブル
Where 属性B = 'XXXX'
GROUP BY 分類A, 属性A
※ 次元(軸)を減らし、3次元 → 2次元データへ。
***ドリルスルー [#q88f8aa8]
例えば、[[ピボット・テーブル>#a1552e80]]に対して、元デー...
SELECT *
FROM Xテーブル
WHERE
名称 = '集計条件に指定した列の値'
AND 属性A = 'XXXX or YYYY : 縦持ちにした値の列名'
*参考 [#q600451f]
-SQLと「ドリルダウン(及びドリルアップ)」,~
「ダイス」,「スライス」の関係 - ウィリアムのいたずらの開...
https://blog.goo.ne.jp/xmldtp/e/c5be25e2caf4e3cf3fa02dcde...
-3-5 ドリルダウンやドリルスルーによる分析~
https://manual.wingarc-support.com/ja/manual/drsum/dtl51e...
--3-5-1 階層を下げて詳細データを表示する(ドリルダウン)
--3-5-2 階層を上げて要約データを表示する(ドリルアップ)
--3-5-3 集計データから内訳を表示する(ドリルスルー)
--3-5-4 階層を下げた詳細データの表示について(ドリルダウ...
**縦横変換 [#ece3ccdc]
-SQL で縦横変換まとめ(pivot と unpivot) - Qiita~
https://qiita.com/k24d/items/79bc4828c918dfeeac34
-[SQL]データの縦持ち、横持ちを入れ替える | Developers.IO~
https://dev.classmethod.jp/etc/sql-data-horizontal-vertic...
**[[多次元データベースのオンライン分析処理(OLAP)>ビジネ...
-上記のピボットと同じクロス集計を行うことが出来る。
-ファクト・テーブルからクロス・テーブル(とグラフ)を生成
-ファクト・テーブルは、スタース・キーマの構成要素。
-スター・スキーマは、
--1つ以上のファクト・テーブルと、
--外部キーを通じて関連付けられた1つ以上のディメンション・...
>で構成される。
**[[Excel ピボット・テーブル、ピボット・グラフ>https://te...
ページ名: