データを理解する
エンベディングは複数の国で利用できますが、スキーマはすべてのデータセットで一貫しています。エンベディングは、国ごとに個別の BigQuery リスティングに整理されています。
エンベディング ベクトルの構造
features 列は 330 次元のベクトルです(BigQuery に REPEATED FLOAT 配列として保存されます)。配列の各セクションは、人口動態モデルによって抽出された特定のデータシグナルに対応しています。
この構造を理解することで、特徴の削除(たとえば、検索行動が売上を予測する程度を天候と比較して判断する)が可能になります。
| ベクトル インデックス | データソース | 説明 |
|---|---|---|
| 0 ~ 127 | 集計された検索トレンド | 地域ごとの関心事や懸念事項(「ジム」、「インフルエンザの症状」、「高級品」などの検索)を把握します。 |
| 128 ~ 255 | マップと混雑状況 | 病院、公園、学校などの建造物(POI)と人の活動密度を把握します。 |
| 256 ~ 329 | 天気と大気質 | 環境コンテキスト(気温、降水量、AQI、風)を把握します。 |
重要な列とメタデータ
エンベディング テーブルには、地理空間分析、フィルタリング、他の Google Maps Platform サービスとの相互運用を可能にする空間メタデータが含まれています。
geo_id: リージョンのプライマリ識別子。S2 セルデータセットの場合、 これは 16 進文字列(たとえば、'80ead45')で表される S2 セルトークンです。これをプライマリ結合キーとして使用します。geo_name: 人が読める形式のリージョン名。注: S2 グリッド データセットの場合、数学的なセルには標準名がないため、この列にはgeo_idとまったく同じトークンが含まれます。これは、すべての人口動態サービスで一貫した列構造を維持するための設計です。administrative_area_level_1_id: 最上位の行政境界(州や県など)の一意の Google マップ プレイス ID。administrative_area_level_1_name: 最上位の境界の人間の読める形式の名前('California'など)。administrative_area_level_2_id: 2 番目の行政境界(郡や区など)の一意の Google Maps Place ID。administrative_area_level_2_name: 2 番目の境界の人間の読める形式の名前('Tulare County'など)。features: コアとなる 330 次元のエンベディング ベクトル。ネイティブにARRAY<FLOAT64>として保存されます。これを Pandas Python ライブラリに読み込むには、平坦化するか NumPy 行列に変換する必要があります。
よくある質問(FAQ)
元の入力データ(特定の検索クエリや移動履歴など)にアクセスできますか?
いいえ。人口動態インサイトのエンベディングは、集計されたプライバシー保護シグナルから生成されます。ユーザーのプライバシーを保護するため、特定のユーザーの履歴、個々の検索履歴、未加工の移動パターンは提供していません。エンベディングは、未加工の分析ではなく、モデリングと予測に最適化されたこれらの行動の潜在的な表現を提供します。
ベクトル次元は解釈可能ですか(たとえば、次元 5 は「コーヒー」ですか)?
ベクトルは潜在的な表現です。つまり、特定の人間が読めるラベルではなく、抽象的なパターンを捉えます。インデックス 0 ~ 127 が検索トレンドから派生していることはわかっていますが、特定のインデックス(インデックス 5 など)は「コーヒー」のような単一のキーワードに 1 対 1 でマッピングされません。 代わりに、モデルによって学習された検索行動の複雑な特徴を表します。
データセットにポリゴン境界(シェープファイル)は含まれていますか?
データセットには、地理識別子(行政区 1、行政区 2 など)の S2 セルトークン(geo_id)と Place ID が用意されていますが、S2 セル領域の未加工のポリゴン ジオメトリ(WKT/シェープファイル)は含まれていません。未加工のジオメトリを省略することで、ストレージの肥大化を防ぎ、特徴ベクトルのみを必要とする ML パイプラインの BigQuery スキャン費用を削減できます。さらに、S2 文字列トークンでの結合は、空間ポリゴンの交差を実行するよりもはるかに高速で、計算効率も優れています。
- ポイント座標の場合: ポイントデータ(POI の位置や
店舗の中心など)を人口動態インサイトと結合するには、緯度/経度座標を S2
レベル 12 セルトークンに変換します。これには
S2_CELLIDFROMPOINTとST_GEOGPOINTを組み合わせます(ポイント座標を S2 レベル 12 の 16 進 トークンに変換するをご覧ください)。 - エリア境界の場合: カスタム境界を
人口動態インサイトと交差させる必要がある場合は、カスタム ポリゴンを
S2 レベル 12 セルトークンに変換することをおすすめします(
S2_COVERINGCELLIDSを使用)。 ポリゴンの S2 レベル 12 セルトークンを生成する をご覧ください)。または、このデータセットを BigQuery 一般公開データで利用できる一般公開境界データセットと結合します。 - 可視化とジオメトリ変換の場合: BigQuery の組み込み地理関数は一方向変換(ジオメトリ → S2 セル ID)を行います。S2 セルトークンをマッピングまたは GIS ツール用のポリゴン ジオメトリに変換するには、Python の
s2sphereなどのクライアントサイド ライブラリを使用します。コードサンプルと手順については、S2 レベル 12 の 16 進トークンから S2 セルのジオメトリを取得するをご覧ください。