01_基礎

セクション4 基礎:分析のためのデータ準備と使用 📘

このファイルは 📘 基礎レベル。BI/可視化・ML準備・データ共有の「概念」と「サービスの役割」を理解することがゴールです。 設計判断やトレードオフは 02_応用.md で扱います。


4.1 可視化のためのデータ準備

整えたデータをダッシュボードやレポートで「見える化」する工程です。速く・安く・安全に見せることが目的。「BIツールへの接続」「事前計算による高速化」「アクセス制御」が三本柱です。

① BIツール:Looker と Looker Studio

GCPの可視化ツールは大きく2つ。用途と規模で使い分けます(試験頻出の対比)。

観点 Looker Looker Studio(旧 Data Studio)
位置づけ エンタープライズBIプラットフォーム 軽量なダッシュボード/レポートツール
料金 有償(ライセンス) 基本無料(Studio Pro は有償)
データモデル LookML で一元的にモデル定義(セマンティックレイヤー) レポート単位で個別に接続・定義
指標の一貫性 全社で共通定義(信頼できる単一の真実) レポートごとにばらつきやすい
ガバナンス 強い(バージョン管理・権限・監査) 弱め(手軽さ優先)
典型用途 全社共通のメトリクス・組込み分析・データアプリ アドホックな可視化・小規模レポート・共有
全社で指標を統一・ガバナンス重視 ──► Looker(LookMLでモデル化)
手軽に無料でダッシュボードを作る ──► Looker Studio

覚え方:Looker は「モデル化された信頼できる指標を全社で」。Looker Studio は「手軽に無料で可視化」。

② BI Engine:BigQuery のインメモリ高速化

BI Engine は BigQuery 専用のインメモリ分析アクセラレータ。よく使うデータをメモリにキャッシュし、ダッシュボードのクエリをサブ秒で返します。

[BIツール] → クエリ → [BigQuery]
                          │
                  BI Engine が対象データを
                  インメモリにキャッシュ → サブ秒応答

③ マテリアライズドビュー(Materialized View)

集計・結合の結果を事前計算して保存しておくビュー。クエリのたびに再計算しないので速く・安くなります。

種類 実体 特徴
通常のビュー 保存しない(クエリの別名) 毎回もとのテーブルを全計算。最新だが遅い/高い
マテリアライズドビュー 結果を保存(自動更新) 事前計算済みで高速・低コスト。差分のみ自動更新

④ フィールドの事前計算

レポート表示のたびに重い計算をすると遅くなります。あらかじめ計算して持っておくのが基本。

⑤ 可視化のためのセキュリティ

「誰に・どのデータを見せるか」を制御します。BigQuery は段階的な粒度でアクセス制御できます。

レベル 仕組み
データセット/テーブル IAM ロール このデータセットを閲覧できるのは誰か
列レベル ポリシータグ(Dataplex のタクソノミー) 機密列(給与・SSN)を特定の人にだけ見せる
行レベル 行レベルセキュリティ(Row-level security) 営業担当者は自分の地域の行だけ見える
値のマスキング 動的データマスキング 列は見えるが中身は *** やハッシュで隠す

4.2 AI・ML のためのデータ準備

データを「分析」だけでなく「予測」にも使います。GCPではSQLだけでMLできる BigQuery ML と、本格的なMLOpsの Vertex AI の2つが軸です。

① 特徴量エンジニアリング・学習・サービング

MLは「特徴量を作る → 学習する → 予測を提供(サービング)する」の流れ。それぞれの準備を BigQuery で完結できます。

工程 内容 BigQuery での手段
特徴量エンジニアリング 生データを予測に効く形へ加工(正規化・エンコード・集約) SQL変換、TRANSFORM 句、ML.FEATURE_* 関数
学習(Training) モデルを作る CREATE MODEL
評価(Evaluation) 精度を測る ML.EVALUATE
サービング(Serving / 推論) 予測する ML.PREDICT(バッチ)、Vertex AI でオンライン推論

② BigQuery ML(BQML):SQLだけで機械学習

SQLの CREATE MODEL 文だけでモデルを作成・予測できる仕組み。データをBigQueryの外に出さずに済みます。主要なモデル種別:

モデル種別 タスク 典型用途
線形回帰(Linear regression) 回帰(数値予測) 売上・需要などの連続値予測
ロジスティック回帰(Logistic regression) 分類 解約予測・スパム判定(2値/多値分類)
k-means クラスタリング(教師なし) 顧客セグメンテーション
行列分解(Matrix factorization) レコメンド 商品・コンテンツの推薦
時系列 ARIMA_PLUS 時系列予測 売上・在庫の将来予測(季節性・休日対応)
Boosted tree(XGBoost) 分類/回帰 表形式データで高精度が欲しいとき
Random forest 分類/回帰 表形式データ・頑健な予測
DNN(ディープニューラルネット) 分類/回帰 非線形で複雑なパターン
AutoML Tables 分類/回帰 モデル選定を自動化したいとき
インポート/リモートモデル 推論 TensorFlow等の既存モデルや Vertex AI のモデルを呼ぶ
数値を予測 ─────────────► 線形回帰
Yes/No・カテゴリを分類 ──► ロジスティック回帰 / Boosted tree
グループに分ける ────────► k-means
時系列の将来を予測 ──────► ARIMA_PLUS
おすすめを出す ──────────► 行列分解(Matrix factorization)

覚え方:「連続値=線形回帰」「分類=ロジスティック回帰/表形式で高精度なら Boosted tree」「教師なしのグループ化=k-means」「時系列=ARIMA_PLUS」「推薦=行列分解」。

③ BigQuery ML と Vertex AI の役割

観点 BigQuery ML Vertex AI
操作 SQL Python/SDK・コンソール・パイプライン
対象者 データアナリスト/SQLユーザー MLエンジニア/データサイエンティスト
データ移動 不要(BQ内で完結) 必要に応じてエクスポート
得意領域 表形式データの素早いモデル化 本格的なMLOps・カスタム学習・大規模サービング
MLOps 限定的 パイプライン・モデル管理・モニタリング・Feature Store
SQLで手早く・BQ内で完結 ──────────► BigQuery ML
本格MLOps・カスタムモデル・運用 ──► Vertex AI

④ 非構造化データの埋め込み(Embeddings)と RAG 準備

2024年の改訂で追加された新トピック。テキスト・画像などの**非構造化データを「意味のベクトル」に変換(埋め込み=embedding)**し、類似検索やLLMの回答補強に使います。

RAG の準備フロー(BigQuery で完結できる):
  ① 非構造化データ(ドキュメント等)を BigQuery / GCS に取り込む
  ② ML.GENERATE_EMBEDDING で埋め込みベクトルを生成
       (Vertex AI の埋め込みモデルをリモートモデルとして呼ぶ)
  ③ ベクトルを保存し、必要ならベクトルインデックスを作成
  ④ 質問を埋め込み → VECTOR_SEARCH で近いドキュメントを検索
  ⑤ 取り出した文脈を LLM(ML.GENERATE_TEXT)に渡して回答生成

4.3 データの共有

作ったデータや分析結果を、社内の別チームや社外パートナーと安全に共有する工程です。「コピーして配る」のではなく「アクセスを許可する」のが現代的。

① 共有ルールの定義

何を・誰に・どこまで共有するかを最初に決めます。

② 承認済みビュー(Authorized View)

もとのテーブルへのアクセス権を与えずに、ビューの結果だけを共有できる仕組み。

[元テーブル(機密)]  ← 利用者は直接アクセス不可
       │
   承認済みビュー(必要な列・行・集計だけ)
       │
   [利用者]  ← ビューだけ見える

③ Analytics Hub:BigQuery のデータ共有

組織の内外でデータをコピーせずに共有するための仕組み。データ提供者(Publisher)がリスティングを公開し、利用者(Subscriber)がリンクされたデータセットとして自分のプロジェクトから参照します。

[提供者] データ交換(Exchange)に
          リスティングを公開(元データはコピーされない)
              │  サブスクライブ
              ▼
[利用者] 自プロジェクトに「リンクされたデータセット」が出現
          → 自分のクエリから普通に参照(課金は利用者側のクエリに)

④ レポート・可視化の共有


📌 このセクションの基礎まとめ

次は 02_応用.md で設計判断とトレードオフを学びます。