『SQLではじめるデータ分析』
https://gyazo.com/8c2ffed8f49383bc1b9281fc18ba79f2
2023/1/26
はじめに
1.1 データ分析とは
1.2 なぜSQLなのか
1.2.1 SQLとは
1.2.2 SQLの利点
1.2.3 SQL vs. R/Python
1.2.4 データ分析ワークフローの一部としてのSQL
1.3 データベースの種類とその扱い方
1.3.1 行ストアデータベース
1.3.2 列ストアデータベース
1.3.3 他の種類のデータインフラストラクチャ
1.4 まとめ
2章 分析用のデータの前処理を行う
2.1 データの種類
2.1.1 データベースのデータ型
2.1.2 構造化と非構造化
2.1.3 量的データと質的データ
2.1.4 ファーストパーティデータ、セカンドパーティデータ、サードパーティデータ
2.1.5 疎なデータ
2.2 SQLクエリ構造
2.3 プロファイリング:分布
2.4 プロファイリング:データ品質
2.4.1 重複の検出
2.4.2 GROUP BYとDISTINCTを使った重複排除
2.5 準備:データクリーニング
2.5.1 CASE式を使ったデータのクリーニング
2.5.2 型変換とキャスト
2.5.3 nullの扱い:coalesce、nullif、nvl関数
2.5.4 欠損データ
2.6 準備:データの整形
2.6.1 出力の目的:BI、可視化、統計学、ML
2.6.2 CASE式を使ったピボット
2.6.3 UNION文を使ったアンピボット
2.6.4 ピボット関数とアンピボット関数
2.7 まとめ
3.1 日付、日時、時間の操作
3.1.1 タイムゾーン変換
3.1.2 日付とタイムスタンプのフォーマット変換
3.1.3 日付計算
3.1.4 時間計算
3.1.5 異なるソースからデータを結合する
3.2 小売売上高データセット
3.3 データのトレンドを探る
3.3.1 単純なトレンド
3.3.2 構成要素の比較
3.3.3 全体に占める割合の計算
3.3.4 時間経過に伴う割合変化を把握するための指標化
3.4 移動窓
3.4.2 疎なデータにおける移動窓
3.4.3 累積値の計算
3.5 季節性の分析
3.5.1 期間比較:YoYとMoM
3.5.2 期間比較:前年同月比
3.5.3 過去の複数の期間との比較
3.6 まとめ
4.1 コホート:便利な分析フレームワーク
4.2 議員データセット
4.3.1 基本的なリテンション曲線のためのSQL
4.3.2 時系列を調整してリテンションの正確性を高める
4.3.3 時系列自体から導かれたコホート
4.3.4 別のテーブルによるコホートの定義
4.3.5 疎なコホートへの対応
4.3.6 最初の日付以外の日付からのコホートの定義
4.4.1 サバイバーシップ
4.4.2 リターンシップ(リピート購買行動)
4.4.3 累積計算
4.5 コホート視点でのクロスセクション分析
4.6 まとめ
5章 テキスト分析
5.1 SQLでテキスト分析を行う理由
5.1.1 テキスト分析とは
5.1.2 テキスト分析にSQLが適している理由
5.1.3 SQLが適していない場合
5.2 UFO目撃データセット
5.3 テキストの特徴
5.4 テキストのパース
5.5 テキストの変換
5.6 さらに大きなテキストブロック内の要素を探す
5.6.1 ワイルドカードマッチ:LIKE、ILIKE
5.6.2 完全一致:IN、NOT IN
5.6.3 正規表現
5.7 テキストの作成と形状変更
5.7.1 連結
5.7.2 テキストの形状変更
5.8 まとめ
6.1 異常検知に対するSQLの機能と限界
6.2 データセット
6.3.1 ソートを使って異常を探す
6.3.2 パーセンタイルと標準偏差を求めて異常を探す
6.3.3 グラフにして視覚的に異常を探す
6.4 異常の種類
6.4.1 異常値
6.4.2 異常な回数や頻度
6.4.3 データの不在による異常
6.5 異常への対応
6.5.1 調査
6.5.2 除去
6.5.3 代替値での置換
6.5.4 リスケーリング
6.6 まとめ
7章 実験分析
7.1 SQLを使った実験分析の強みと限界
7.2 データセット
7.3 実験の種類
7.4 実験の課題と欠陥のある実験を修復する方法
7.4.1 バリアント割り当て
7.4.2 外れ値
7.4.3 タイムボックス
7.4.4 反復暴露実験
7.5 対照実験が不可能な場合:代替分析
7.5.1 事前/事後分析
7.5.2 自然実験分析
7.5.3 閾値付近の母集団の分析
7.6 まとめ
8章 分析用に複雑なデータセットを作成する
8.1 複雑なデータセットにSQLを使う場合
8.1.1 SQLを使うメリット
8.1.2 代わりにELTに組み込むべき場合
8.1.3 他のツールにロジックを入れるべき場合
8.2 コードの整理
8.2.1 コメント
8.2.2 大文字化、インデント、丸括弧、その他の書式上の秘訣
8.2.3 コードの保存
8.3 計算の整理
8.3.1 SQL句の評価順序を理解する
8.3.2 サブクエリ
8.3.3 一時テーブル
8.3.4 共通テーブル式
8.3.5 grouping sets
8.4 データセットのサイズとプライバシーに関する懸念の管理
8.4.1 %やmodを使ったサンプリング
8.4.2 次元削減
8.4.3 PIIとデータプライバシー
8.5 まとめ
9章 まとめ
9.4 参考資料
9.4.1 書籍とブログ
9.4.2 データセット
9.5 最後に
索引