143 lines
9.4 KiB
Markdown
143 lines
9.4 KiB
Markdown
# 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)`。
|