Files
CapacityReport/docs/sector_inference_research.md

9.4 KiB
Raw Permalink Blame History

cellinfo → sector 逆推调研笔记

目标:用 celldata.cellinfo(自动处理、有数据源)逆推出 celldata.sector(人工据 cellinfo 整理)。 现有 sector 作为基准/参考。逆推时不清空 sector:仅补充缺失 CGI,已有的保留(避免人工纠正被自动运行冲掉)。 脚本与特征库写入 CellData.sql。本文件记录字段映射、规则、每轮测试的优化点与准确率。

一、两表结构(celldata)

cellinfo(数据源,66778 行):CGI, eNodeBID, CellID, PLMN, 基站名称, 小区名称, 频点, 带宽, 制式, 功率, 网络 sector(目标,66969 行):CGI, 扇区, 物理站, 制式, 频段, 带宽, 站型, 网络(原 区域 列已删除:全项目无引用,最终不使用)

连接键:CGI。sector 比 cellinfo 多 ~191 行(历史/其他来源),逆推以 cellinfo 为准。

二、字段来源结论

sector 字段 来源 说明
CGI 复制 cellinfo.CGI 连接键
网络 复制 cellinfo.网络 4G / 5G
带宽 复制 cellinfo.带宽 cellinfo 已规范化为如 20M
区域 已删除该列 全项目无引用,已 ALTER TABLE sector DROP COLUMN 区域
制式 + 频段 频点 + PLMN 推导(特征表) 见三
站型 名称关键字 + 设备码推导 见四
物理站 小区名称解析 见五
扇区 物理站 + 扇区号 扇区号见五

三、频点 → 制式 / 频段(特征库核心)

cellinfo.制式 已给出粗类(FDD/TDD/700M/2.6G),频段再按频点细分;个别需 PLMN 区分:

网络 频点范围 PLMN 制式 频段 实测样本
5G ≥4000 任意 4.9G 4.9G 4827.36、4919.52
5G 700–800 460-00 700M 700M 763.25(移动)9808
5G 700–800 460-15 广电 广电 763.25(广电)9802
5G 2000–3000 任意 2.6G 2.6G 2524.95 等
4G 900–1000 任意 FDD FDD900 939.0
4G 1000–1880 任意 FDD FDD1800 1810–1827
4G 1880–1920 任意 TDD F频 1895.0、1909.4
4G 1920–2110 任意 TDD A频 2017.5
4G 2300–2400 任意 TDD E频 2330、2349.8、2364.6
4G 2400–2700 任意 TDD D频 2624.6 等

关键歧义

  1. 700M vs 广电:同频点 763.25,由 PLMN 区分(460-00=移动 700M,460-15=中国广电)。✅ 可完美区分。
  2. D频 vs 3DMM:cellinfo 完全没有 3DMM 标注——cellinfo.制式 仅 4 值 700M/TDD/FDD/2.6G;sector 中标 3DMM 的 1400 个小区在 cellinfo 里全部是 TDD(4G)。3DMM 是 3D-MIMO 天线属性,人工额外打在 sector 上,源表不可还原。
    • 分类策略(已采纳用户规则):3DMM 按频点对应的"非 3DMM 实际制式"分类——这些频点(2624.6 等 2.6GHz)的非 3DMM 小区都是 TDD/D频,而 FDD 仅在 900/1800,频点不重叠。故脚本对这 1400 个判 TDD/D频 即正确(与"3DMM 用 TDD 制式规则"一致)。
    • 因此"制式 97.88%"是对照 sector 人工 3DMM 标签的数字,按制式规则 TDD 才是正确分类,制式实际正确率≈100%。现有 sector 的 3DMM 因「不覆盖已有行」保留不变。

四、站型规则(实测覆盖度)

站型 规则 命中 总数 备注
室分 小区名设备码尾 Z[A-Z]W(如 ZLW/ZRW/ZFW,末字母 W) 10146 10168 99.8%
微站 小区名含「微小」(如 (微小M)/(微小I)) 1086 1086 100%
宏站 其余(设备码尾 H,如 Z5H/ZLH/ZFH,且无微小) — 54747 仅 18 行宏站名含微小(误差≈0.03%)

判定顺序:室分(W 码) → 微站(微小) → 宏站。W 码与微小在数据中互斥。

五、物理站 / 扇区解析

预处理(仅为解析可靠):全角 ()【】→半角 ()[]、去空格。

设备码(位于小区名尾部):<频率前缀>-Z<x><尾字母>-<扇区号>,正则 [A-Z0-9]+-Z[A-Z0-9]{2}-[0-9]+$。

  • 频率前缀:U / E / D / F / DC / RD / RDC 等;尾字母 H=室外(宏/微)、W=室分。
  • 例:U-Z5H-0711、E-ZLW-8、D-ZRH-103、F-ZLH-3、RDC-ZFH-2。

扇区号(取小区名尾部数字串):

  • 700M/广电(Z5H 码):取末位数字。0711→1、0712→2、0713→3、30712→2。
  • 其余:取数字串 % 100。-3→3、-103→3、-113→13、-203→3、-16→16。

物理站:

  • 非 700M:= 小区名去设备码后,删除所有括号/方括号内容,但保留 (微小X)。
    • 例 江门台山河东家禽(从…搬迁)(微小M)(共…F-ZLH)F-ZLH-2 → 江门台山河东家禽(微小M)。
    • 例 江门鹤山坚美园52至53栋(共…E-ZLW)E-ZLW-8 → 江门鹤山坚美园52至53栋。
  • 700M/广电:名称结构 CBN-<枢纽>(<真实站址>)<码> 或 CBN-<站址><码>,枢纽与站址同地市前缀。
    • 通用做法(不写死江门):取外层名(去 CBN-、首个括号前)的前 2 个字作为地市前缀,匹配 base 中以该前缀开头的括号内容为物理站;无匹配则取外层(去 CBN-)。
      • 前 2 字:2 字地市(江门/广州…)直接命中;3 字地市(石家庄…)取「石家」仍能与同地市站址括号匹配。
      • 共建((共…))/从…拉远 等注记括号不以地市开头,自然落外层 → 等价「共建取外层」;共和 等地名因括号以地市开头仍取内层。
    • 例 CBN-江门台山田头接入间(江门台山狮山)(BBU搬迁)U-Z5H-0713 → 前缀「江门」→ 江门台山狮山。
    • 例 CBN-江门台山通济公园U-Z5H-0713(无括号)→ 外层 江门台山通济公园。
    • 例 CBN-江门鹤山铸德(江门鹤山共和鸿江工业区)U-Z5H-0712 → 江门鹤山共和鸿江工业区。
    • 实测:对现有(全江门)数据,通用前缀写法与原写死「江门」结果 100% 一致(19726/19726)。

扇区 = 物理站 + 扇区号(如 江门新会五和农村二 + 1 = 江门新会五和农村二1)。

括号宽度:现有 sector 的 (微小X) 用全角 ()。逆推统一转半角输出;对比准确率时两侧都做括号归一化,衡量语义正确性而非宽度。

六、测试与准确率(逐轮更新)

测试方法:在 celldata 建 sector_band_ref 特征表 + _sector_infer 暂存表逐字段推导, JOIN 现有 sector(重叠 CGI n=66001)逐字段比对;物理站/扇区比对时两侧做括号+空白归一化。

Round 1(基础规则)

字段 准确率
网络 100%(66001)
带宽 99.75%(65838)
制式 97.88%(64601)
频段 97.60%(64417)
站型 99.94%(65963)
物理站 99.12%(65419)
扇区 98.72%(65159)

失配定位:

  • 制式失配 100% 是 TDD↔3DMM(1400)——同频/同 PLMN/同带宽/功率重叠,不可还原。
  • 频段失配 = 3DMM(1400) + F频↔A频(162,1895/1909 同频人工分档) + E频↔D频(22)。
  • 带宽失配主要 cellinfo=20M 而人工=15M(155,源数据人工修正)。
  • 站型失配 38:20 个室分码为 Z[A-Z]R(如 E-ZLR,高铁 SM 站)未被 W 规则覆盖;18 个宏站名含"微小"被误判微站。
  • 物理站/扇区失配:700M 多括号/不闭合、非 700M 共建/拉远不闭合括号。

Round 2(物理站 v2/v3:按关键字保留限定括号)——失败回退

尝试只删"共/从/拉远/搬迁…"备注括号、保留 (龙山路)(红线内)(1),物理站反降到 ~98.2%。 原因:① 末尾 [)]+$ 误删了 (微小M) 等合法括号的右括号;② 大量无备注关键字的别名括号本应删除却被保留,净损失。结论:"删全部括号+回贴微小"才是最优主策略。

Round 3(v4:删全部括号 + 悬空清理 + 700M 取"(江门"内容)——定稿

  • 非 700M:去码 → 删全部成对括号(3 轮) → 删悬空开括号 \([^()]*$ → 删孤立 ) → 回贴 (微小X)。
  • 700M/广电:取 (江门… 括号内容;无则取外层去 CBN-("共"开头自然落外层)。
  • 扇区号:700M 末位;其余 %100。
字段 准确率 说明
网络 100% 复制
制式 97.88%(排除 3DMM 即 100%) 仅差不可还原的 3DMM
频段 97.60% 差额=3DMM+同频 F/A、E/D 人工分档
带宽 99.75% 差额为人工把 20M 改 15M
站型 99.94%
物理站 99.59%(65728)
扇区 99.20%(65470)

剩余残差为不可还原的人工差异,不再继续拟合(避免过拟合):

  • 室分多载波编号不一致:E-ZLW-12→2、-111→1、-115→5(末位)与 -16→16(%100)并存;脚本按用户既定 %100。
  • 700M 个别人工编号:0713→1、0712→4、0712→空,与名义 071N→N 规则冲突。
  • 物理站个别含区域前缀(柏怡酒店↔江海柏怡酒店)、保留 (龙山路)/(1) 等;真实数据存在尾随制表符。
  • 因"不覆盖已有行",上述人工值在自动运行中均被保留,不受影响。

落库策略

仅 INSERT sector 中缺失的 CGI(本次快照 921 条),已有 CGI 一律保留。区域留空。

复现实测命令(celldata)

按 CellData.sql 顺序执行即可;准确率核验 SQL: SELECT 物理站/扇区 归一化后 = sector 对应值 的占比 FROM _sector_infer JOIN sector USING(CGI)。