Tài liệu dành cho nhà phát triển
Mô tả Sản phẩm
Thông tin chi tiết về động lực học dân số (PDI) là một tập dữ liệu nhúng, chắt lọc dữ liệu về hành vi của con người và hoạt động tương tác của chúng ta với môi trường thành các thành phần nhúng ngắn gọn, sẵn sàng phân tích (hoặc "dấu vân tay kỹ thuật số") tại các vị trí cụ thể.
Các vectơ nhúng này ghi lại các mẫu trong dữ liệu tổng hợp, chẳng hạn như xu hướng tìm kiếm, xu hướng về mức độ đông đúc và điều kiện môi trường (bản đồ, chất lượng không khí, thời tiết), cung cấp thông tin tổng quan phong phú, theo vị trí cụ thể về cách người dân tương tác với môi trường xung quanh. Được tổng hợp theo không gian và thời gian, các vectơ nhúng này đảm bảo quyền riêng tư, đồng thời cho phép phân tích và dự đoán không gian tinh tế cho các ứng dụng, từ y tế công cộng đến mô hình hoá kinh tế xã hội.
Tổng quan về sản phẩm
Các vectơ nhúng về động lực học dân số được tạo bằng mô hình học máy chuyên dụng, được huấn luyện dựa trên một bộ tính năng phong phú và được chuyển đổi thành một biểu diễn vectơ cô đọng. Các vectơ nhúng này được huấn luyện và tạo ra từ:
- Xu hướng tìm kiếm tổng hợp: Mối quan tâm và lo ngại theo khu vực được phản ánh trong dữ liệu tìm kiếm.
- Dữ liệu tổng hợp trên Maps (bao gồm cả mức độ đông đúc): Tiện nghi, dịch vụ và doanh nghiệp trong khu vực, cùng với xu hướng ghé thăm địa phương.
- Thời tiết và chất lượng không khí tổng hợp: Các chỉ số liên quan đến khí hậu, bao gồm cả nhiệt độ và chất lượng không khí.
Các tính năng này được tổng hợp ở cấp mã bưu chính để tạo ra các mục nhúng phù hợp với bối cảnh, được bản địa hoá và bảo đảm quyền riêng tư. PDI là một tập dữ liệu chuỗi thời gian liên tục, với các lát dữ liệu mới được xử lý và phân vùng hằng tháng. Dữ liệu được làm mới và thêm vào bảng dữ liệu muộn nhất vào ngày cuối cùng của tháng dương lịch tiếp theo (ví dụ: dữ liệu tháng 2 được xuất bản muộn nhất vào ngày 31 tháng 3).
Điều kiện tiên quyết
Bạn phải được cấp quyền truy cập để sử dụng các thành phần nhúng về Động lực học dân số. Nếu bạn không có quyền truy cập, hãy liên hệ với người đại diện bán hàng hoặc kỹ sư hỗ trợ khách hàng của bạn.
- Bật Analytics Hub API trong Cloud Console.
- Bật BigQuery API trong Cloud Console.
- Có kiến thức cơ bản về sản phẩm BigQuery.
- Đảm bảo rằng tài khoản của bạn có vai trò Chủ sở hữu gói thuê bao Analytics Hub (
roles/analyticshub.subscriptionOwner) để thực hiện các tác vụ liên quan đến người dùng thuê bao. - Đảm bảo rằng tài khoản của bạn có vai trò Người dùng BigQuery (
roles/bigquery.user) để tạo tập dữ liệu.
Khoá đào tạo được đề xuất
Nếu mới bắt đầu làm việc với các mục nhúng hoặc BigQuery Machine Learning, bạn nên hoàn thành các tài liệu đào tạo sau đây trước khi bắt đầu phân tích:
- Khoá học cấp tốc về học máy: Nhúng: Tổng quan cơ bản và nhanh chóng về cách các mô hình học máy sử dụng tính năng nhúng để dịch dữ liệu nhiều chiều thành không gian ít chiều hơn trong khi vẫn giữ được mối quan hệ ngữ nghĩa.
- Bắt đầu sử dụng tính năng Tìm kiếm vectơ và Nhúng: Một phòng thí nghiệm thực hành trên Google Cloud Skills Boost giới thiệu về tính năng nhúng vectơ, mức độ tương đồng ngữ nghĩa và cách sử dụng tính năng nhúng trong hệ sinh thái Google Cloud rộng lớn hơn.
- Hướng dẫn về học máy BigQuery (BQML): Vì tập dữ liệu PDI được lưu trữ trong BigQuery, nên bạn có thể huấn luyện và thực thi các mô hình học máy trực tiếp trên các mục nhúng bằng cách sử dụng SQL tiêu chuẩn mà không cần xuất dữ liệu.
Sử dụng tính năng Nhúng
Tìm hiểu dữ liệu
Trước khi bắt đầu phân tích, hãy dành chút thời gian để xem xét cấu trúc giản đồ.
Tổ chức tập dữ liệu
Các vectơ nhúng được sắp xếp thành các bảng BigQuery riêng biệt cho từng quốc gia hoặc khu vực thử nghiệm.
Phân tích chi tiết vectơ nhúng
Cột features là một vectơ 330 chiều (được lưu trữ dưới dạng một mảng REPEATED FLOAT trong BigQuery). Mỗi phần của mảng tương ứng với một tín hiệu dữ liệu cụ thể do mô hình Động lực học dân số trích xuất.
Việc hiểu rõ cấu trúc này cho phép loại bỏ tính năng (ví dụ: xác định mức độ mà hành vi Tìm kiếm dự đoán doanh số so với Thời tiết).
| Vạch theo vectơ | Nguồn dữ liệu | Mô tả |
|---|---|---|
| 0 – 127 | Xu hướng tìm kiếm tổng hợp | Ghi nhận mối quan tâm và lo ngại theo khu vực (ví dụ: lượt tìm kiếm về "phòng tập thể dục", "triệu chứng cúm", "hàng hoá xa xỉ"). |
| 128 – 255 | Bản đồ và mức độ đông đúc | Ghi lại môi trường xây dựng (các địa điểm yêu thích như bệnh viện, công viên, trường học) và lượt ghé thăm của con người để cho thấy những địa điểm được quan tâm. |
| 256 – 329 | Thời tiết và chất lượng không khí | Ghi lại bối cảnh môi trường (Nhiệt độ, Lượng mưa, Chất lượng không khí). |
Các cột chính và siêu dữ liệu
Bảng nhúng chứa siêu dữ liệu không gian và thời gian, cho phép phân tích không gian địa lý, lọc và khả năng tương tác với các dịch vụ khác.
Vì một mã bưu chính đôi khi có thể nằm ngoài ranh giới hành chính (chẳng hạn như ranh giới quận), nên các trường khu vực hành chính được cung cấp dưới dạng mảng.
geo_id: Mã địa điểm duy nhất được liên kết với mã bưu chính này.geo_name: Chuỗi mã bưu chính của khu vực (ví dụ:'90210').administrative_area_level_1_names: Một danh sách (ARRAY<STRING>) gồm các tên dễ đọc cho ranh giới cấp cao nhất (ví dụ:['California']).administrative_area_level_1_ids: Một danh sách (ARRAY<STRING>) gồm các Place ID duy nhất cho các ranh giới hành chính cấp cao nhất mà mã bưu chính này giao nhau (ví dụ: Bang hoặc Tỉnh).administrative_area_level_2_names: Danh sách (ARRAY<STRING>) gồm các tên mà con người có thể đọc được cho các ranh giới phụ (ví dụ:['Los Angeles County']).administrative_area_level_2_ids: Danh sách (ARRAY<STRING>) gồm các mã địa điểm duy nhất cho ranh giới hành chính phụ mà mã bưu chính này giao nhau (ví dụ: Quận hoặc Huyện).features: Vectơ nhúng cốt lõi 330 chiều, được lưu trữ nguyên bản dưới dạngARRAY<FLOAT64>. Việc tải dữ liệu này vào Pandas bằng Python đòi hỏi phải làm phẳng hoặc chuyển đổi thành ma trận NumPy.snapshot_date:DATEđược định dạng làYYYY-MM-DD, được chuẩn hoá để chỉ sử dụng ngày đầu tiên của tháng. Biểu thị lát cắt thời gian cụ thể theo tháng mà từ đó các đặc điểm đầu vào được tổng hợp để tạo dữ liệu nhúng. Ví dụ: dữ liệu từ tháng 4 năm 2026 sẽ được định dạng là2026-04-01.
Chuẩn bị dữ liệu thực tế
Để sử dụng các thành phần nhúng Động lực học dân số, dữ liệu thực tế của bạn phải được tổng hợp thành một ranh giới địa lý được hỗ trợ (mã bưu chính).
Cách 1: Kết hợp các vectơ nhúng vào một mô hình hiện có
- Chuẩn bị cơ sở thực tế dựa trên mô hình hiện có: Sử dụng các vectơ nhúng làm biến số phụ không gian địa lý để cải thiện mô hình hiện có.
- Huấn luyện Mô hình sửa lỗi: Cải thiện mô hình hiện có bằng cách tích hợp các vectơ nhúng vào một mô hình lấy đầu ra mô hình ban đầu, giá trị dự kiến hoặc đầu ra thực sự và các vectơ nhúng để tìm hiểu một mô hình sửa lỗi mới.
Cách 2: Điều chỉnh cho các trường hợp sử dụng cụ thể
- Chọn một loại mô hình dự đoán: Bạn có thể sử dụng bất kỳ mô hình nào, chẳng hạn như GBDT, MLP hoặc tuyến tính, để dự đoán.
- Sử dụng vectơ nhúng để dự đoán: Sử dụng vectơ nhúng Động lực học dân số làm các đặc điểm đầu vào, cùng với các dữ liệu theo bối cảnh khác, để cải thiện độ chính xác của dự đoán.
Đoạn mã hướng dẫn nhanh
Hãy sử dụng các đoạn mã này để xác minh quyền truy cập và tìm hiểu định dạng dữ liệu.
1. SQL: Tìm nạp các vectơ nhúng cho một tháng cụ thể
Vì PDI là một tập dữ liệu chuỗi thời gian, nên bạn thường phải lọc theo snapshot_date để không trả về mã bưu chính trùng lặp trong nhiều tháng. Ngày phải luôn được đặt thành -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: Lọc theo Khu vực hành chính (Huỷ lồng mảng)
Vì mã bưu chính có thể trải dài trên nhiều ranh giới hành chính, nên các trường administrative_area_* được lưu trữ dưới dạng mảng. Để lọc tất cả mã bưu chính trong một tiểu bang cụ thể (ví dụ: "California"), bạn phải sử dụng hàm UNNEST() của 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: Tìm địa điểm tương tự
Truy vấn này xác định những vị trí có hành vi tương tự mà không cần dữ liệu bên ngoài. Thư viện này dùng hàm ML.DISTANCE để tính toán Mức độ tương đồng về cosin, trả về các kết quả trùng khớp hàng đầu cho một mã bưu chính mục tiêu.
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: Kết hợp dữ liệu khách hàng
Ví dụ này minh hoạ cách làm phong phú dữ liệu nội bộ của riêng bạn (ví dụ: bảng Hiệu suất của cửa hàng) bằng các vectơ nhúng hành vi bằng cách kết hợp trên mã bưu chính.
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: Tải dữ liệu để học máy
Các vectơ nhúng được lưu trữ dưới dạng Mảng BigQuery. Để sử dụng các cột này trong thư viện ML, bạn phải chuyển đổi cột thành ma trận 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)
Câu hỏi thường gặp
Tôi có thể truy cập vào dữ liệu đầu vào thô (ví dụ: cụm từ tìm kiếm cụ thể hoặc dấu vết di động) không?
Không. Các mục nhúng Động lực học dân số được tạo từ các tín hiệu tổng hợp, bảo đảm quyền riêng tư. Để đảm bảo quyền riêng tư của người dùng, chúng tôi không cung cấp dấu vết cụ thể của người dùng, nhật ký tìm kiếm riêng lẻ hoặc mẫu chuyển động thô. Các vectơ nhúng cung cấp một biểu thị tiềm ẩn về những hành vi này, được tối ưu hoá cho việc mô hình hoá và dự đoán, thay vì phân tích thô.
Bạn chọn cụm từ tìm kiếm nào để tạo các vectơ nhúng?
Chúng tôi sử dụng các thực thể trong Sơ đồ tri thức (KG) thay vì các cụm từ tìm kiếm thô. Ví dụ: các cụm từ tìm kiếm như "taylor swift boyfriend" (bạn trai của taylor swift) và "kc tight end" (tiền vệ cánh của kc) sẽ cùng liên kết đến một thực thể cơ bản trong KG ("Travis Kelce"). Phương pháp này không phụ thuộc vào ngôn ngữ, nắm bắt các danh mục ngữ nghĩa rộng hơn và tăng cường đáng kể quyền riêng tư.
Có thể diễn giải các phương diện vectơ không (ví dụ: Phương diện 5 có phải là "Cà phê" không?)
Không, các vectơ là biểu diễn tiềm ẩn. Vì các tính năng được mô hình học máy học được, nên không có ánh xạ ngữ nghĩa đơn giản hoặc bản dịch một-một từ chỉ mục vectơ cuối cùng sang một đầu vào nguồn cụ thể. Mặc dù chúng tôi biết những khối chỉ mục nào bắt nguồn từ những tập dữ liệu nào (ví dụ: chỉ mục 0–127 đại diện cho Xu hướng tìm kiếm), nhưng một chỉ mục cụ thể như Chỉ mục 5 không liên kết với một từ khoá duy nhất. Thay vào đó, nó biểu thị một đặc điểm phức tạp, trừu tượng mà mô hình đã học được.
Tập dữ liệu có bao gồm ranh giới đa giác (Shapefile) không?
Không. Tập dữ liệu này cung cấp mã bưu chính (geo_name) và Place ID (geo_id) được liên kết, nhưng không bao gồm các hình học đa giác thô (chẳng hạn như WKT).
Tuỳ thuộc vào trường hợp sử dụng của bạn, bạn nên áp dụng các phương pháp sau:
- Để trực quan hoá trên Google Maps: Bạn có thể sử dụng Mã địa điểm được cung cấp trong geo_id để định kiểu và hiển thị ranh giới ngay trên bản đồ bằng cách sử dụng tính năng Định kiểu dựa trên dữ liệu. Mặc dù những ranh giới này rất phù hợp để hiển thị trực quan, nhưng bạn không thể xuất chúng dưới dạng tệp hình học thô.
- Đối với Phân tích và kết hợp không gian: Nếu cần đa giác không gian thô, bạn nên kết hợp tập dữ liệu này với các tập dữ liệu ranh giới công khai (chẳng hạn như các tập dữ liệu có trong tập dữ liệu công khai của BigQuery) bằng mã bưu chính geo_name.
Khoảng thời gian của tập dữ liệu vectơ nhúng là bao nhiêu?
Các vectơ nhúng PDI được cập nhật hằng tháng, mỗi tháng mới sẽ được thêm vào tập dữ liệu. Dữ liệu được biểu thị bằng cột snapshot_date (được định dạng là YYYY-MM-DD), cung cấp một đường cơ sở ổn định phản ánh dấu vân tay hành vi và dấu vân tay vật lý của một vị trí trong tháng đó.