از جاسازی‌های Population Dynamics Insights استفاده کنید

آماده‌سازی داده‌های واقعیت زمینی

برای استفاده از جاسازی‌های Population Dynamics، داده‌های واقعیت زمینی شما باید در یک مرز جغرافیایی پشتیبانی‌شده تجمیع شوند. از آنجا که انواع مرزهای اداری در سطح جهانی متفاوت است، می‌توانید داده‌های خود را با استفاده از سیستم‌های شبکه ریاضی جهانی (مانند سلول‌های S2) یا مناطق اداری محلی (مانند شهرستان‌ها یا بخش‌ها، بسته به مجموعه داده‌های خاص کشور) تراز کنید.

گزینه ۱: گنجاندن جاسازی‌ها در یک مدل موجود

  • آماده‌سازی داده‌های پایه مبتنی بر مدل موجود: از جاسازی‌ها به عنوان متغیرهای کمکی مکانی برای بهبود مدل موجود استفاده کنید.
  • آموزش یک مدل تصحیح خطا: بهبود یک مدل موجود با ادغام جاسازی‌ها در مدلی که خروجی مدل اصلی، مقدار مورد انتظار یا حقیقت زمینه‌ای و جاسازی‌ها را برای یادگیری یک مدل تصحیح خطای جدید می‌گیرد.

گزینه ۲: تنظیم برای موارد استفاده خاص

  • یک مدل پیش‌بینی انتخاب کنید: هر مدلی، مانند GBDT، MLP یا خطی، می‌تواند برای پیش‌بینی‌ها استفاده شود.
  • استفاده از جاسازی‌ها برای پیش‌بینی: از جاسازی‌های دینامیک جمعیت به عنوان ویژگی‌های ورودی، در کنار سایر داده‌های زمینه‌ای، برای بهبود دقت پیش‌بینی استفاده کنید.

نمونه‌های پرس‌وجو

your-project.your_dataset.embeddings_table را با نام واقعی پروژه، مجموعه داده و جدول هدف خود جایگزین کنید.

SQL: جاسازی‌های واکشی

این پرس‌وجو بردار جاسازی و فراداده‌های مدیریتی را برای سلول‌های S2 در مجموعه داده‌ی تأمین‌شده‌ی شما بازیابی می‌کند.

SELECT
  geo_id,
  administrative_area_level_1_name AS state,
  administrative_area_level_2_name AS county,
  features -- The 330-dim vector
FROM
  `your-project.your_dataset.embeddings_table`
LIMIT 10;

SQL: یافتن مکان‌های مشابه

این پرس‌وجو مکان‌های مشابه از نظر رفتاری را بدون نیاز به داده‌های خارجی شناسایی می‌کند.

این روش از تابع ML.DISTANCE برای محاسبه شباهت کسینوسی استفاده می‌کند و تطابق‌های برتر را برای یک سلول هدف S2 برمی‌گرداند. این رویکرد از سناریوهای برنامه‌ریزی توسعه، مانند تعیین محل افتتاح یک فروشگاه جدید بر اساس مشخصات یک مکان موجود موفق، پشتیبانی می‌کند.

WITH TargetLocation AS (
  SELECT features AS target_vector
  FROM `your-project.your_dataset.embeddings_table`
  -- Replace with your target S2 hex token (e.g., '80ead45')
  WHERE geo_id = 'YOUR_TARGET_S2_TOKEN'
)

SELECT
  t.geo_id,
  t.administrative_area_level_1_name AS state,
  t.administrative_area_level_2_name AS county,
  -- 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.your_dataset.embeddings_table` t,
  TargetLocation p
WHERE
  t.geo_id != `YOUR_TARGET_S2_TOKEN` -- Exclude the target itself
ORDER BY
  similarity_score DESC
LIMIT 20;

SQL: اتصال داده‌های مشتری

این مثال نشان می‌دهد که چگونه داده‌های داخلی خود (مثلاً جدول عملکرد فروشگاه) را با تعبیه‌های رفتاری غنی کنید. مطمئن شوید که داده‌های داخلی شما شامل توکن‌های سلول S2 (رشته‌های هگز) منطبق هستند.

SELECT
  store.store_id,
  store.s2_token,
  store.total_revenue,
  embeddings.features AS pdfm_vector
FROM
  `your-project.internal_data.store_performance` AS store
JOIN
  `your-project.your_dataset.embeddings_table` AS embeddings
ON
  -- Join based on the S2 hex token string
  store.s2_token = embeddings.geo_id

پایتون: بارگذاری داده‌ها برای یادگیری ماشین

جاسازی‌ها به صورت آرایه‌های BigQuery ذخیره می‌شوند. برای استفاده از آنها در کتابخانه‌های ML، باید ستون را به یک ماتریس NumPy تبدیل کنید.

from google.cloud import bigquery
import numpy as np
import pandas as pd

client = bigquery.Client()

query = """
    SELECT
        geo_id,
        features -- Returns as a list of floats
    FROM
        `your-project.your_dataset.embeddings_table`
    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)