Dokumentasi Developer
Deskripsi Produk
Population Dynamics Insights (PDI) adalah set data embedding yang menyaring data tentang perilaku manusia dan interaksi kita dengan lingkungan menjadi embedding yang ringkas dan siap dianalisis (atau "sidik jari digital") di lokasi tertentu.
Embedding ini menangkap pola dalam data gabungan seperti tren penelusuran, tren kesibukan, dan kondisi lingkungan (peta, kualitas udara, cuaca), sehingga memberikan snapshot yang kaya dan spesifik lokasi tentang cara populasi berinteraksi dengan lingkungan sekitarnya. Digabungkan berdasarkan ruang dan waktu, embedding ini memastikan privasi sekaligus memungkinkan analisis dan prediksi spasial yang mendetail untuk aplikasi mulai dari kesehatan masyarakat hingga pemodelan sosial ekonomi.
Ringkasan Produk
Embedding dinamika populasi dihasilkan menggunakan model machine learning khusus, yang dilatih pada serangkaian fitur yang kaya dan dikonversi menjadi representasi vektor yang ringkas. Embedding ini dilatih dan dihasilkan dari:
- Tren Penelusuran Gabungan: Minat dan kekhawatiran regional yang tercermin dalam data penelusuran.
- Data Maps Gabungan (termasuk tingkat kesibukan): Fasilitas, layanan, dan bisnis di wilayah tersebut beserta tren kunjungan lokal.
- Cuaca dan Kualitas Udara Gabungan: Metrik terkait iklim, termasuk suhu dan kualitas udara.
Fitur ini digabungkan di tingkat kode pos untuk menghasilkan embedding yang dilokalkan dan sadar konteks yang menjaga privasi. PDI adalah set data deret waktu yang berkelanjutan, dengan potongan data baru yang diproses dan dipartisi setiap bulan. Data diperbarui dan ditambahkan ke tabel data pada hari terakhir bulan kalender berikutnya (misalnya, data Februari dipublikasikan paling lambat 31 Maret).
Prasyarat
Untuk mengakses embedding Dinamika Populasi, Anda harus diberi akses. Jika tidak memiliki akses, hubungi perwakilan penjualan atau teknisi pelanggan Anda.
- Aktifkan Analytics Hub API di Cloud Console.
- Aktifkan BigQuery API di Cloud Console.
- Memiliki pengetahuan praktis tentang produk BigQuery.
- Pastikan akun Anda memiliki peran Pemilik Langganan Analytics Hub (
roles/analyticshub.subscriptionOwner) untuk melakukan tugas pelanggan. - Pastikan akun Anda memiliki peran Pengguna BigQuery (
roles/bigquery.user) untuk membuat set data.
Pelatihan yang Direkomendasikan
Jika Anda baru menggunakan embedding atau BigQuery Machine Learning, sebaiknya selesaikan materi pelatihan berikut sebelum memulai analisis:
- Kursus Singkat Machine Learning: Embeddings: Ringkasan dasar, cepat tentang cara model machine learning menggunakan embeddings untuk menerjemahkan data berdimensi tinggi ke ruang berdimensi lebih rendah sambil mempertahankan hubungan semantik.
- **Getting Started with Vector Search and Embeddings**: Lab Google Cloud Skills Boost praktis yang memperkenalkan embedding vektor, kesamaan semantik, dan cara memanfaatkan embedding dalam ekosistem Google Cloud yang lebih luas.
- Tutorial BigQuery Machine Learning (BQML): Karena set data PDI dihosting di BigQuery, Anda dapat melatih dan menjalankan model machine learning langsung pada embedding menggunakan SQL standar, tanpa perlu mengekspor data.
Menggunakan Embedding
Memahami Data
Sebelum memulai analisis, luangkan waktu sejenak untuk meninjau struktur skema.
Organisasi Set Data
Embedding diatur ke dalam tabel BigQuery terpisah untuk setiap negara atau wilayah pengujian.
Anatomi Vektor Embedding
Kolom features adalah vektor 330 dimensi (disimpan sebagai array REPEATED FLOAT di BigQuery). Setiap bagian array sesuai dengan sinyal data tertentu yang diekstrak oleh model Dinamika Populasi.
Memahami struktur ini memungkinkan penghapusan fitur (misalnya, menentukan seberapa besar perilaku Penelusuran memprediksi penjualan dibandingkan dengan Cuaca).
| Indeks Vektor | Sumber Data | Deskripsi |
|---|---|---|
| 0 – 127 | Tren Penelusuran Gabungan | Menangkap minat dan kekhawatiran regional (misalnya, penelusuran untuk "gym", "gejala flu", "barang mewah"). |
| 128 – 255 | Peta &Tingkat Kesibukan | Menangkap lingkungan buatan (POI seperti rumah sakit, taman, sekolah) dan kunjungan manusia untuk menampilkan tempat menarik. |
| 256 – 329 | Cuaca &Kualitas Udara | Menangkap konteks lingkungan (Suhu, Curah Hujan, Kualitas Udara). |
Kolom &Metadata Utama
Tabel embedding berisi metadata spasial dan temporal yang memungkinkan analisis geospasial, pemfilteran, dan interoperabilitas dengan layanan lain.
Karena satu kode pos terkadang dapat melintasi batas administratif (seperti batas wilayah), kolom area administratif disediakan sebagai array.
geo_id: ID Tempat unik yang terkait dengan kode pos ini.geo_name: String kode pos untuk wilayah tersebut (misalnya,'90210').administrative_area_level_1_names: Daftar (ARRAY<STRING>) nama yang mudah dibaca untuk batas tingkat atas (misalnya,['California']).administrative_area_level_1_ids: Daftar (ARRAY<STRING>) ID Tempat unik untuk batas administratif tingkat atas yang dilintasi kode pos ini (misalnya, Negara Bagian atau Provinsi).administrative_area_level_2_names: Daftar (ARRAY<STRING>) nama yang mudah dibaca untuk batas sekunder (misalnya,['Los Angeles County']).administrative_area_level_2_ids: Daftar (ARRAY<STRING>) ID Tempat unik untuk batas administratif sekunder yang dilintasi kode pos ini (misalnya, Kabupaten atau Distrik).features: Vektor embedding 330 dimensi inti, yang disimpan secara native sebagaiARRAY<FLOAT64>. Memuatnya ke Pandas menggunakan Python memerlukan perataan atau konversi ke matriks NumPy.snapshot_date:DATEyang diformat sebagaiYYYY-MM-DD, distandardisasi untuk hanya menggunakan hari pertama dalam sebulan. Mewakili potongan waktu bulanan tertentu yang digunakan untuk menggabungkan fitur input guna menghasilkan data embedding. Misalnya, data dari April 2026 akan diformat sebagai2026-04-01.
Menyiapkan Data Kebenaran Dasar
Untuk menggunakan embedding Dinamika Populasi, data kebenaran dasar Anda harus digabungkan ke batas geografis yang didukung (kode pos).
Opsi 1: Menggabungkan Embedding ke dalam Model yang Ada
- Menyiapkan Kebenaran Dasar Berbasis Model yang Ada: Gunakan embedding sebagai kovariat geospasial untuk meningkatkan model yang ada.
- Melatih Model Koreksi Error: Tingkatkan model yang ada dengan mengintegrasikan embedding ke dalam model yang menggunakan output model asli, nilai yang diharapkan atau kebenaran dasar, dan embedding untuk mempelajari model koreksi error baru.
Opsi 2: Menyesuaikan untuk Kasus Penggunaan Tertentu
- Memilih Jenis Model Prediksi: Model apa pun, seperti GBDT, MLP, atau linear, dapat digunakan untuk prediksi.
- Menggunakan Embedding untuk Prediksi: Gunakan embedding Dinamika Populasi sebagai fitur input, bersama dengan data kontekstual lainnya, untuk meningkatkan akurasi prediksi.
Cuplikan Kode Panduan Memulai
Gunakan cuplikan ini untuk memverifikasi akses Anda dan memahami format data.
1. SQL: Mengambil Embedding untuk Bulan Tertentu
Karena PDI adalah set data deret waktu, Anda biasanya harus memfilter berdasarkan snapshot_date agar tidak menampilkan kode pos duplikat di beberapa bulan. Hari harus selalu ditetapkan ke -01.
SELECT
snapshot_date,
geo_name AS postal_code,
geo_id AS place_id,
features -- The 330-dim vector
FROM
`your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table`
WHERE
snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
LIMIT 10;
2. SQL: Memfilter menurut Area Administratif (Membatalkan Array)
Karena kode pos dapat mencakup beberapa batas administratif, kolom administrative_area_* disimpan sebagai array. Untuk memfilter semua kode pos dalam negara bagian tertentu (misalnya, 'California'), Anda harus menggunakan fungsi UNNEST() BigQuery.
SELECT
snapshot_date,
geo_name AS postal_code,
admin1_name
FROM
your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table,
UNNEST(administrative_area_level_1_names) AS admin1_name
WHERE
-- On or after October 2025
snapshot_date >= '2025-10-01' -- You must use the first of the month ('-01')
AND admin1_name = 'California'
LIMIT 10;
3. SQL: Menemukan Lokasi Serupa
Kueri ini mengidentifikasi lokasi yang serupa secara perilaku tanpa memerlukan data eksternal. Kueri ini menggunakan fungsi ML.DISTANCE untuk menghitung Kesamaan Kosinus, yang menampilkan kecocokan teratas untuk kode pos target.
WITH TargetLocation AS (
SELECT features AS target_vector
FROM `your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table`
WHERE snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
AND geo_name = '90210' -- Replace with your target postal code
LIMIT 1
)
SELECT
t.geo_name AS postal_code,
-- Calculate Similarity (1.0 is identical, 0.0 is dissimilar)
(1 - ML.DISTANCE(t.features, p.target_vector, 'COSINE')) AS similarity_score
FROM
`your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table` t,
TargetLocation p
WHERE
t.snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
AND t.geo_name != '90210' -- Exclude the target itself
ORDER BY
similarity_score DESC
LIMIT 20;
4. SQL: Menggabungkan Data Pelanggan
Contoh ini menunjukkan cara memperkaya data internal Anda sendiri (misalnya, tabel Performa Toko) dengan embedding perilaku dengan menggabungkan kode pos.
SELECT
store.store_id,
store.postal_code,
store.total_revenue,
embeddings.features AS pdi_vector
FROM
`your-project.internal_data.store_performance` AS store
JOIN
`your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table` AS embeddings
ON
store.postal_code = embeddings.geo_name
WHERE
embeddings.snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
5. Python: Memuat Data untuk Machine Learning
Embedding disimpan sebagai Array BigQuery. Untuk menggunakannya di library ML, Anda harus mengonversi kolom menjadi matriks NumPy.
from google.cloud import bigquery
import numpy as np
import pandas as pd
client = bigquery.Client()
query = """
SELECT
geo_name,
features -- Returns as a list of floats
FROM
`your-project.population_dynamics___us___domestic.v1_postal_code.embeddings_table`
WHERE
snapshot_date = '2025-10-01' -- You must use the first of the month ('-01')
LIMIT 1000
"""
# 1. Load data into DataFrame
df = client.query(query).to_dataframe()
# 2. Convert the 'features' column (Series of Lists) into a Matrix (2D Array)
X_matrix = np.stack(df['features'].values)
print(f"Data Loaded. Matrix Shape: {X_matrix.shape}")
# Output: Data Loaded. Matrix Shape: (1000, 330)
Pertanyaan Umum (FAQ)
Dapatkah saya mengakses data input mentah (misalnya, kueri penelusuran tertentu atau data pergerakan)?
Tidak. Embedding Dinamika Populasi dihasilkan dari sinyal gabungan yang menjaga privasi. Untuk memastikan privasi pengguna, kami tidak memberikan data pergerakan pengguna tertentu, histori penelusuran individual, atau pola pergerakan mentah. Embedding memberikan representasi laten dari perilaku ini, yang dioptimalkan untuk pemodelan dan prediksi, bukan analisis mentah.
Bagaimana Anda memilih istilah penelusuran yang digunakan untuk menghasilkan embedding?
Kami menggunakan entity Pustaka Pengetahuan (KG), bukan kueri penelusuran mentah. Misalnya, kueri seperti "pacar taylor swift" dan "kc tight end" akan dipetakan ke entity KG yang sama ("Travis Kelce"). Pendekatan ini tidak bergantung pada bahasa, menangkap kategori semantik yang lebih luas, dan meningkatkan privasi secara signifikan.
Apakah dimensi vektor dapat diinterpretasikan (misalnya, Apakah Dimensi 5 "Kopi"?)?
Tidak, vektor adalah representasi laten. Karena fitur dipelajari oleh model machine learning, tidak ada pemetaan semantik sederhana atau terjemahan satu per satu dari indeks vektor akhir ke input sumber tertentu. Meskipun kita tahu blok indeks mana yang berasal dari set data mana (misalnya, indeks 0–127 mewakili Tren Penelusuran), indeks tertentu seperti Indeks 5 tidak dipetakan ke satu kata kunci. Sebagai gantinya, indeks tersebut mewakili fitur abstrak yang kompleks yang dipelajari oleh model.
Apakah set data menyertakan batas poligon (Shapefile)?
Tidak. Set data menyediakan kode pos (geo_name) dan ID
Tempat
terkait (geo_id), tetapi tidak menyertakan geometri poligon mentah (seperti WKT).
Bergantung pada kasus penggunaan Anda, sebaiknya gunakan pendekatan berikut:
- Untuk Visualisasi di Google Maps: Anda dapat menggunakan ID Tempat yang disediakan di geo_id untuk menata gaya dan merender batas langsung di peta menggunakan Gaya Visual Berbasis Data. Meskipun batas ini ideal untuk tampilan visual, batas ini tidak dapat diekspor sebagai file geometri mentah.
- Untuk Penggabungan &Analisis Spasial: Jika memerlukan poligon spasial mentah, sebaiknya gabungkan set data ini dengan set data batas publik (seperti yang tersedia di set data publik BigQuery) menggunakan kode pos geo_name.
Berapa jangka waktu set data embedding?
Embedding PDI diperbarui setiap bulan dengan setiap bulan baru ditambahkan ke set data. Data direpresentasikan menggunakan kolom snapshot_date (diformat sebagai YYYY-MM-DD), yang memberikan dasar yang stabil yang mencerminkan sidik jari perilaku dan fisik lokasi untuk bulan tersebut.