了解数据
虽然嵌入适用于多个国家/地区,但架构在所有数据集中保持一致。嵌入会整理到每个国家/地区单独的 BigQuery 商品详情中。
嵌入向量的结构
features 列是一个 330 维向量(在 BigQuery 中存储为 REPEATED FLOAT 数组)。数组的每个部分都对应于人口动态模型提取的特定数据信号。
了解这种结构有助于进行特征消融(例如,确定搜索行为与天气相比,对销售额的预测程度)。
| 向量索引 | 数据源 | 说明 |
|---|---|---|
| 0 - 127 | 汇总搜索趋势 | 反映区域性兴趣和关注点(例如,对“健身房”“流感症状”“奢侈品”的搜索)。 |
| 128 - 255 | 地图和繁忙程度 | 捕获建成环境(医院、公园、学校等 POI)和人类活动密度。 |
| 256 - 329 | 天气和空气质量 | 捕获环境上下文(温度、降水、空气质量指数、风)。 |
关键列和元数据
嵌入表包含空间元数据,可实现地理空间分析、过滤,并与其他 Google Maps Platform 服务实现互操作性。
geo_id:相应区域的主要标识符。对于 S2 单元格数据集,这是以十六进制字符串(例如'80ead45')表示的 S2 单元格令牌。请将其用作主要联接键。geo_name:相应区域的直观易懂的名称。注意:对于 S2 网格数据集,数学单元格没有标准名称,因此此列将包含与geo_id完全相同的令牌。这是有意为之,旨在确保所有人口动态产品都具有一致的列结构。administrative_area_level_1_id:顶级行政边界(例如州或省)的唯一 Google 地图地点 ID。administrative_area_level_1_name:顶级边界的人类可读名称(例如'California')。administrative_area_level_2_id:次级行政边界(例如,县或区)的唯一 Google 地图地点 ID。administrative_area_level_2_name:次要边界的人类可读名称(例如'Tulare County')。features:核心的 330 维嵌入向量,以原生方式存储为ARRAY<FLOAT64>。将此数据加载到 Pandas Python 库中需要将其扁平化或转换为 NumPy 矩阵。
常见问题解答 (FAQ)
我可以访问原始输入数据(例如,特定搜索查询或移动轨迹)吗?
不会。人口动态分析洞见嵌入内容是根据汇总的、可保护隐私的信号生成的。为确保用户隐私,我们不会提供具体的用户轨迹、个人搜索记录或原始移动模式。这些嵌入内容提供了这些行为的潜在表示,经过优化,可用于建模和预测,而不是原始分析。
向量维度是否可解释(例如,维度 5 是否为“咖啡”)?
这些向量是潜在表示,这意味着它们捕获的是抽象模式,而不是具体且直观易懂的标签。虽然我们知道指数 0-127 源自 Google 搜索趋势,但特定指数(例如指数 5)并非与单个关键字(例如“咖啡”)一一对应。相反,它表示模型学习到的搜索行为的复杂特征。
数据集是否包含多边形边界(Shapefile)?
该数据集提供地理标识符(例如行政区域 1 和行政区域 2)的 S2 单元格令牌 (geo_id) 和地点 ID,但不包含 S2 单元格区域的原始多边形几何图形(WKT/Shapefile)。省略原始几何图形可防止存储空间膨胀,并降低仅需要特征向量的机器学习流水线的 BigQuery 扫描费用。此外,基于 S2 字符串令牌的联接比执行空间多边形相交快得多,计算效率也更高。
- 对于点坐标:如需将点数据(例如 POI 位置或商店形心)与“人口动态洞见”联接,请使用
S2_CELLIDFROMPOINT结合ST_GEOGPOINT将经纬度坐标转换为 S2 Level 12 单元格令牌(请参阅将点坐标转换为 S2 Level 12 十六进制令牌)。 - 对于区域边界:如果您需要将自定义边界与人口动态数据洞见相交,建议您使用
S2_COVERINGCELLIDS将自定义多边形转换为覆盖 S2 级别 12 的单元格令牌(请参阅为多边形生成覆盖 S2 级别 12 的单元格令牌),或者将此数据集与 BigQuery 公共数据中提供的公共边界数据集联接。 - 对于可视化和几何图形转换:BigQuery 的内置地理位置函数执行单向转换(几何图形 → S2 单元格 ID)。如需将 S2 单元格令牌转换为多边形几何图形以用于地图或 GIS 工具,您可以使用客户端库,例如 Python 的
s2sphere。如需查看代码示例和说明,请参阅从 S2 Level 12 十六进制令牌获取 S2 单元格几何图形。