آمادهسازی دادههای واقعیت زمینی
برای استفاده از جاسازیهای Population Dynamics، دادههای واقعیت زمینی شما باید در یک مرز جغرافیایی پشتیبانیشده تجمیع شوند. از آنجا که انواع مرزهای اداری در سطح جهانی متفاوت است، میتوانید دادههای خود را با استفاده از سیستمهای شبکه ریاضی جهانی (مانند سلولهای S2) یا مناطق اداری محلی (مانند شهرستانها یا بخشها، بسته به مجموعه دادههای خاص کشور) تراز کنید.
گزینه ۱: گنجاندن جاسازیها در یک مدل موجود
- آمادهسازی دادههای پایه مبتنی بر مدل موجود: از جاسازیها به عنوان متغیرهای کمکی مکانی برای بهبود مدل موجود استفاده کنید.
- آموزش یک مدل تصحیح خطا: بهبود یک مدل موجود با ادغام جاسازیها در مدلی که خروجی مدل اصلی، مقدار مورد انتظار یا حقیقت زمینهای و جاسازیها را برای یادگیری یک مدل تصحیح خطای جدید میگیرد.
گزینه ۲: تنظیم برای موارد استفاده خاص
- یک مدل پیشبینی انتخاب کنید: هر مدلی، مانند GBDT، MLP یا خطی، میتواند برای پیشبینیها استفاده شود.
- استفاده از جاسازیها برای پیشبینی: از جاسازیهای دینامیک جمعیت به عنوان ویژگیهای ورودی، در کنار سایر دادههای زمینهای، برای بهبود دقت پیشبینی استفاده کنید.
تجمیع مرزهای سفارشی
اگر دادههای واقعیت زمینی شما از چندضلعیهای سفارشی، مانند کدهای پستی، ایزوکرونهای زمان رانندگی یا مناطق تجاری استفاده میکنند، میتوانید تجمیع مرزی را انجام دهید. این فرآیند چندین بردار سلولی S2 را در یک نمایش واحد برای چندضلعی هدف ترکیب میکند. انتخاب روش وزندهی مناسب تضمین میکند که جاسازی تجمیعشده به طور دقیق اهداف مدلسازی پاییندستی شما را منعکس میکند.
۱. میانگین وزنی جمعیت (پیشفرض توصیهشده برای PDI)
از تجمیع وزنی جمعیت برای موارد استفاده انسانمحور، مانند عملکرد فروشگاههای خردهفروشی یا مدلسازی رفتار مصرفکننده، استفاده کنید.
استفاده از تجمیع مکانی وزندهیشده بر اساس مساحت برای دادههای جمعیتشناختی میتواند ویژگیهای یادگیری ماشین شما را مختل کند. این اتفاق زمانی میافتد که مناطق خالی از سکنه، مانند پارکها، مناطق صنعتی یا پهنههای آبی، مشخصات ساکنان واقعی را تحریف میکنند.
برای حل این مشکل، میتوانید در 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)
در گوگل کولب اجرا کنید
مشاهده منبع در گیتهاب