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

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

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

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

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

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

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

تجمیع مرزهای سفارشی

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

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

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

برای حل این مشکل، می‌توانید در BigQuery میانگین وزنی جمعیت را انجام دهید. این رویکرد از مجموعه داده‌های جمعیتی با وضوح بالا، مانند WorldPop در Earth Engine Data Catalog ، برای محاسبه چگالی دقیق هر بخش سلولی متقاطع S2 استفاده می‌کند.

برای دیدن یک مثال پیاده‌سازی کامل از گردش کار وزن‌دهی شده با جمعیت، دفترچه یادداشت تعاملی را اجرا کنید.

۲. میانگین وزنی ناحیه‌ای

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

در این سناریوها، مساحت فیزیکی زمین نسبت به تراکم جمعیت انسانی اهمیت بیشتری دارد. این امر تضمین می‌کند که هر کیلومتر مربع در مرز چندضلعی به طور مساوی در بردار تجمیع‌شده مشارکت داشته باشد.

تحت این روش، بردار تعبیه هر سلول S2 تشکیل‌دهنده توسط مساحت سطح جغرافیایی که در چندضلعی هدف پوشش می‌دهد، وزن‌دهی می‌شود.

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

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 برمی‌گرداند. این رویکرد از سناریوهای برنامه‌ریزی توسعه، مانند تعیین محل افتتاح یک فروشگاه جدید بر اساس مشخصات یک مکان موجود موفق، پشتیبانی می‌کند.

برای نمایش سلول‌های S2 روی نقشه، باید شناسه سلول S2 را به هندسه چندضلعی مربوطه تبدیل یا به هم متصل کنید، زیرا این مجموعه داده به جای نقاط طول و عرض جغرافیایی از توکن‌های سلول 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)