
简介这是一份面向公安刑侦、金融合规与数据分析初学者的 i2 Analysts Notebook 8 中文培训教材围绕话单、银行交易等复杂数据的可视化分析展开帮助读者掌握从数据导入、节点与边建模到关系网络和时间线绘制的完整思路。资源包为1个doc文档体积约25.9MB按章节组织包含入门、基本概念、数据接口、基本绘图与基础功能等模块并以功能演练串联话单关系分析、案件串并、人员物品动态关系、银行账户交易分析、话单ABC分析、手机串号分析、旅业分析、爆炸案话单分析、人员活动轨迹、银行账户五级分析、通讯簿分析及活动轨迹跟踪绘图等场景。该教材已有1593人学习适合希望按培训体系系统练习软件操作、理解案件数据关联逻辑并积累分析套路的读者参考。1. 用五份话单找共同联系人其实不是画图的问题把五份话单放进 Excel 做透视表找出共同联系人并不难难的是把“为什么是他”这条推理链完整摆到桌面上。i2 Analysts Notebook 8 培训教材处理的是后半段它没有停留在教人画图而是把话单关系分析、银行账户交易分析、案件串并、活动轨迹还原这些演练专题按“概念—操作—演练—集成”串成一条能交付的分析流程。它适合两类人正在做数据分析类毕设或课设、需要一套现成结构照着走的同学以及手里攥着几万行流水、要向别人解释清楚结论怎么来的从业者。图表只是载体真正决定成败的是建模时对实体、链接和唯一标识的那点判断。2. 需求拆解与教材结构四类分析场景对应 13 个演练专题2.1 先把“要分析什么”定下来四类场景的边界i2 Analysts Notebook 8 覆盖四类分析关联关系分析、时间序列分析、活动轨迹分析、综合分析。这四类不是并列的四个功能按钮而是四种结论形态。关联关系分析回答“谁和谁有关系、谁是中心节点”输出是一张网络图时间序列分析回答“先后顺序、间隔长短、频次随时间怎么变”输出是一条带时间轴的主题行序列活动轨迹分析回答“某个对象在什么时间出现在什么位置”输出是时空落点的连线综合分析则是把前三种放进同一个工作图表、同一批数据里混排。选错场景的代价很直接。把带时间的话单硬做成纯关系图时间维就丢了只能看到“打过电话”看不到“先打给谁、隔了多久打给谁”而后者往往才是判断谁是组织者的关键。反过来把关系型数据硬塞进时间线布局几十个号码会在一行里挤成一团连标签都叠在一起看不清。判断标准很简单结论要用“关系远近”表达的走关联要用“顺序和节奏”表达的走时序,要用“位置变化”表达的走轨迹;三者都要,就把它们放在同一张图表里,分别用不同的表现方式区分。分析场景典型问题主用表现方式主用布局类型关联关系分析五个号码的共同联系人是谁图标关系型布局时间序列分析案发前后两小时的通话节奏主题行时间序列型布局活动轨迹分析某人一天的落点顺序主题行或事件框架时间序列型布局综合分析串并案件时人物、资金、位置同框图标与事件框架混用关系型为主局部时序2.2 三层递进的内容骨架概念层、操作层、演练层整份教材的组织顺序是有讲究的。第 1 章入门讲的是概念层图表文件、调色板、实体类型、链接类型、属性类别、表现方式、数据接口。这几个词如果在脑子里是糊的后面配导入规范时会直接卡死导入规范里有一列叫“实体类型”你连实体类型是什么都说不清那一列就只能瞎填。第 2、3 章是操作层讲基本绘图和基础功能选择定位、缩放、显示与隐藏三态、复制粘贴、12 种布局、合并实体、搜索查找。第 4 章是演练层13 个专题从话单关系分析一路排到活动轨迹跟踪绘图每个专题都给业务场景、学习目标、基础数据文件位置、学习步骤。第 5 章讲数据接口核心是与 iBase 的集成。第 6 章问题答疑收录了 8 个高频疑问第 7 章附录给快捷键和按钮功能对照。这个结构的合理之处在于操作层的内容量最大但最枯燥所以被拆成了“先讲基础操作、再立刻用演练消化”的两段而答疑和附录放在最后是当成工具书用的不是让人从头读。我一般建议初次接触的人按 1 → 3 → 4第 2 节→ 6 的顺序走一遍把第 2 章基本绘图和第 5 章 iBase 集成放到有实际需求时再回查。基本绘图那一章在原文里只有一句指向《快速入门指南》的引用指望它讲清画线细节会失望绘图的手感只能在演练里练。2.3 13 个演练专题的取舍哪些必须做哪些可以当变体第 4 章第 2 节到第 14 节共 13 个专题逐个做完不现实也没必要因为其中大部分是同一套方法在不同数据形态上的重复。话单关系分析第 2 节是地基它把“建两个导入规范、编组集合、用过滤器筛选”这一整套动作跑通后面所有话单类专题都是它的变体。银行账户交易分析第 6 节是第二个必做项因为它引入了“链接带金额、方向指向收款方”这个新维度和话单的“主被叫方向 时长”是两种不同的建模思路。人员活动轨迹第 11 节是第三个必做项它从关系图切换到时间线逼着人理解表现方式和布局必须匹配。剩下的可以按需选。话单 ABC 分析第 7 节和银行账户五级分析第 12 节本质上是分层展开适合数据量大的场景手机串号分析第 8 节和通讯录分析第 13 节是话单数据的另一侧一个处理 IMEI 与号码的对应一个处理号码与人的对应案件串并第 4 节和人员物品动态关系第 5 节偏综合适合当结课作业旅业住宿分析第 9 节和活动轨迹跟踪绘图第 14 节是轨迹类的两个变体前者练数据源替换后者练绘图细化。专题数据形态练到的核心功能建议投入话单关系分析多人通话清单 XLS导入规范、集合编组、过滤器必做半天银行账户交易分析交易流水链接方向、金额属性、加总必做半天人员活动轨迹带时间地点的记录主题行、时序布局必做三小时案件串并分析多案数据混合多图表合并、可视化搜索选做结课用手机串号 / 通讯录IMEI、号码簿唯一标识复用、合并实体选做两小时ABC / 五级账户分层话单、多层账户分层展开、路径查找选做两小时2.4 环境与交付物清单别到答辩那天才发现文件打不开环境上有三样东西要提前备好。一是 i2 Analysts Notebook 8 本体从开始菜单进入二是 i2 Chart Reader 8这是官方提供的免费阅读器用来把成品图表交给没有装主程序的人看三是示例数据文件教材里明确给了位置比如话单关系分析用的个人话单 XLS五个人的清单里有一个人的格式和其他四个不一致这个不一致是刻意留的用来练第二个导入规范。交付物按四件套准备比较稳ANB 图表文件分析过程与成果的载体、导出的图片贴进报告用、导出的 Excel 结果给不做这行的人看数字、一页纸的分析说明数据来源、建模口径、结论、局限。第三项在答疑里就有现成做法教材明确提到可以把分析结果生成到 Excel 文件里。把这四件备齐汇报时不用现场翻软件翻车概率会低很多。3. 图表建模实体、链接与唯一标识怎么定3.1 图表文件与调色板先把分类体系搭起来i2 图表是以 *.ANB 为扩展名的文件作用相当于 Word 里的 .docx既是操作对象也是成果载体。新建的快捷方式是 CTRLN。它可以用主程序打开也可以用 Chart Reader 打开后者只读适合分发。这一点在协作场景里很实用你出图别人看不需要给对方装一套完整环境。调色板是实体类型、链接类型和属性类别的分类集合安装后默认提供 19 种。它相当于业务里常说的要素分类但粒度细得多。真正值得动手的是自建调色板点【新建】把“新建用户调色板”改成自己的业务名比如“话单分析”点【确定】。此时这个调色板是空的实体类型、链接类型、属性类别、属性项目四项都显示为“否”需要往里面逐项添加。自建的好处是导入规范可以直接挂在这套分类上13 个演练专题来回切换时不用每次重配字段。提示调色板不是越多越好。一个人维护三套以上调色板最后一定记不清哪个字段挂在哪套上。按数据源类型分话单一套、资金一套、轨迹一套比按案件分更耐用。3.2 实体类型与唯一标识为什么号码不能随手填实体类型是分析目标的抽象分类。一个具体号码实体类型是“手机”这个号码的机主实体类型是“人员”。机主、号码这些显示出来的文字在软件里叫标签。标签是给人看的可以重复可以改唯一标识是给程序看的在工作图表范围内不能重复而且默认不显示。这个区分是整套建模的地基。分析人员通常拿身份证号、车牌号、手机号、银行账号这类天然唯一的项做唯一标识。举个反例如果两个不同的人都用“某机主”这个标签但唯一标识一个填了身份证号、一个空着程序就会认为是两个不同实体后续合并、找共同关系时结果全错。反过来如果同一个人的两条记录唯一标识都填了同一个身份证号即使标签写法不同程序也会认成同一个实体。所以导入规范里那一列“唯一标识映射到哪个源字段”是整份配置里最不能拍脑袋的一列。我在带人做这类建模时有个硬性习惯先把数据里所有可能作为唯一标识的字段列出来逐个检查空值率和重复率只有空值率接近零、重复率符合业务预期的字段才能当唯一标识。号码字段经常带空格、带横杠、带国家码直接当唯一标识会出现“同一个号码两个实体”的玄学现象看着像软件的 bug实际是数据没洗。3.3 链接类型与方向主被叫和转账方向怎么表达链接类型表达两个实体之间关系的性质比如“通话”“转账”“同住”。一条具体的链接就是一次明确的关系实例。链接可以设方向两部手机之间的主被叫箭头从主叫指向被叫两个账户之间的资金流动箭头从付款方指向收款方。方向这件事在关系图里极其容易被忽略因为它不影响图的形状只影响你读图时的判断。同样是两个号码之间有 50 次通话方向不同意味着谁是主动方完全不同。当图上节点变多、连线交叉时人眼很难逐条辨认箭头通常的做法是配合链接属性一起用把通话次数、总时长、转账金额写进链接的属性里再在图上把关键数值显示出来让粗细或标签直接体现强度。链接属性还有一个隐藏用法在合并实体时会用到。当多个实体被合并成一个时被合并实体原有的关系会统计合并到保留的实体上但前提是要打开加总开关右键点击图表空白位置进入图标属性选择操作惯例勾选“加总链接标签数值”。没勾这个合并之后链接上显示的次数还是单条记录的数值肉眼看不出问题结论却已经错了。3.4 七种表现方式的选型图标、主题行、事件框架同一个实体在图表里有七种表现方式图标、主题行、事件框架、方框、圆形、椭圆形、图片。常用的就前三种。图标用在关系分析里一个节点一个图形连线清楚主题行用在时间序列和活动轨迹里一个实体横向展开成一条带时间刻度的条带事件按时间落点排布事件框架用来描述一次事件的时空要素和内容本质上是把“什么时间、什么地点、发生了什么”装进一个框里做轨迹时也可以用。剩下四种用得更少但插入图片在某些场景里是刚需比如把证件照或现场照片挂到节点上汇报时的说服力完全不一样。表现方式和布局必须配套。软件一共支持 12 种布局其中关系型 8 种、时间序列型 4 种第一个按钮不是具体布局而是给这 12 种布局做参数配置的入口。用图标配时序布局节点会沿着时间轴排开但看不出趋势用主题行配关系布局条带会互相压住。切换分析类型时先换表现方式再换布局顺序反了要调两次。4. 数据接入把 XLS 话单变成可分析图表的落地流程4.1 五条导入路径与选择标准i2 图表里的实体和链接有五种来源手工绘制、通过导入规范导入、通过 iBase 查询创建、来自 iBridge、来自 iXv。前三种是重点后两种属于特定集成环境才用得上。手工绘制适合两种情况数据量个位数或者需要在图上补几个推演出来的假设节点。导入规范是批量处理的主力一次配置可以反复用13 个演练专题里绝大多数都靠它。iBase 查询适合已经有结构化库的场景第 5 章专门讲这个集成它的价值在于图表和数据源保持联动而不是一次性快照。选择标准可以简化成一句话数据是一次性的还是持续更新的一次性的走导入规范持续更新的走 iBase。导入规范本身是一份字段映射配置不是数据。它把源文件的列对应到 i2 的实体类型、链接类型、属性类别上。很多人第一次配的时候会把它当成“导入向导”的一次性设置配完就忘换个文件又重新配一遍这是后面会专门讲的坑。4.2 导入规范的字段映射一份可以直接照抄的对照表话单和银行流水是最常见的两类源数据字段映射的思路不同。话单是“号码—号码”两端实体类型相同银行是“账户—账户”两端也相同但方向语义更强。手机串号分析则是“IMEI—号码”两端实体类型不同这时候导入规范里源端和目标端要分别指定类型。源数据列i2 对象具体设置说明主叫号码实体类型手机唯一标识本列号码需先清洗成纯数字被叫号码实体类型手机唯一标识本列与主叫共用同一实体类型呼叫时间链接属性类型时间用于时序分析和路径查找通话时长链接属性类型数值合并时参与加总本方账号实体类型银行账户唯一标识本列账号去空格对方账号实体类型银行账户唯一标识本列同上交易金额链接属性类型数值方向指向收款方决定箭头方向IMEI实体类型手机串号与号码实体分开建配置时最容易出错的是“次数”这一列。很多话单明细是一行一次通话导入后每条记录生成一条链接如果想直接看到“两个号码之间通话 87 次”要么在源数据里先聚合要么导入后用合并实体配合加总开关。这两条路都行但要提前决定中途改口径会前功尽弃。4.3 导入前的数据清洗一段可复用的预处理脚本五个人的话单里有一个人的格式和其他四个人不一致这是演练里刻意留的差异用来练第二个导入规范。真实项目里这种差异只会更多。我通常会在导入前统一洗一遍把不同来源的表压成同一套列名避免为每份文件配一个规范。# -*- coding: utf-8 -*- import glob import pandas as pd # 1) 列名归一把各来源的列名映射到 4 个标准字段 COL_MAP { 主叫号码: src, 被叫号码: dst, 呼叫时间: start_time, 通话时长(秒): duration, } def normalize(path): # dtypestr 是关键不加的话号码会被读成浮点数尾数变 0唯一标识直接废掉 df pd.read_excel(path, dtypestr) df df.rename(columnsCOL_MAP)[[src, dst, start_time, duration]] # 去空格、去横杠、去国家码前缀保证同一号码只对应一个唯一标识 for col in (src, dst): df[col] df[col].str.replace(r[\s\-], , regexTrue).str.lstrip(86) df[start_time] pd.to_datetime(df[start_time], errorscoerce) df[duration] pd.to_numeric(df[duration], errorscoerce).fillna(0).astype(int) # 丢掉号码为空或时间解析失败的行并去重 df df.dropna(subset[src, dst, start_time]).drop_duplicates() return df frames [normalize(p) for p in glob.glob(话单/*.xls*)] pd.concat(frames).to_csv(clean_calls.csv, indexFalse, encodingutf-8-sig)这段脚本做了三件事每一件对应一个后面会翻车的点。dtypestr解决号码精度丢失Excel 里 11 位手机号被读成浮点后尾数会变成 0导入 i2 后所有号码的唯一标识撞在一起图上只剩一个节点。号码清洗那两行解决格式不统一带横杠和带国家码的号码在业务上是同一个但在程序眼里是三个不同实体。最后一行输出utf-8-sig编码的 CSV是为了让导入规范只需配一次剩下的交给同一份文件。参数上只需改三处COL_MAP按你手上的实际列名改glob的路径改成数据目录lstrip(86)里的前缀按数据实际情况决定要不要保留。跑完看两个数输出行数和原始行数差多少差得多说明去重吃掉了很多得回头看看是不是时间格式解析失败导致整行被 drop。4.4 导入后的三项校验导入完成不等于导入正确。我一般固定做三项校验。第一项是实体数量核对图上的手机实体数应该等于源数据里去重后的号码数多一个少一个都要查。第二项是链接数量核对链接数应该等于清洗后记录数如果用合并加总的方式则应该等于“号码对”的数量。第三项是抽样回溯从图上随便挑三条链接回原表找到对应的三条记录核对时间、时长、方向是否一致。三项里最容易被跳过的是第三项但它最能救命。图上看起来一切正常箭头方向反了、时间少了一位数都只有回溯才能发现。这一步花不了十分钟却能省掉答辩时被追问“这条线为什么是这个方向”的尴尬。5. 避坑与常见问题排查五个最容易翻车的点5.1 画布操作复制粘贴和显示状态现象一复制完对象粘贴出来是空的或者粘出来的是上一次的旧内容。原因在点击位置。在图表空白处右键复制时如果没有按住 CTRL 键被选中的对象会失去焦点选择集就没了此时执行复制拿到的是空选择。解决很直接在空白处点击右键前先按住 CTRL或者干脆在选中的对象上直接右键复制。同一个坑还有个变体复制和复制选取范围分不清。前者复制对象连同它们在画布上的位置关系后者只复制对象本身。演示时想保留排版就用复制想在新图表里重新布局就用复制选取范围。用反了的表现是粘贴后图层重叠在一起或者原本规整的星型布局变成一团乱麻。现象二筛选完做统计数字对不上图上明明少了节点但汇总没变。原因是把隐藏和变灰当成了同一件事。两者差别很大隐藏的项目不参与布局和分析变灰的项目只是视觉上变淡依然参与布局和分析。三个按钮要分清——隐藏选取项目、隐藏未选取项目、全部显示还有一个更高级的“显示及隐藏”用来在隐藏和灰色两种状态之间切换。做过滤分析时要“排除”就用隐藏要“弱化但保留”就用变灰否则统计口径一定会歪。5.2 数据接入导入规范与合并实体现象三换一台机器打开同一份数据导入规范要重新配一遍。原因是把导入规范当成了临时设置。规范的保存位置通常与当前图表或模板绑定不是全局共享的配置文件ANB 文件拷走了规范没跟着走自然要重配。稳妥的做法是把规范和图表放在同一目录一起归档或者干脆做成模板新图表从模板起。如果是要交付给别人复现的在说明文档里写清规范文件的位置比写十句“注意配好映射”有用。现象四合并多个实体后链接上的通话次数还是单次的值。合并本身没问题缺的是加总开关。正确顺序是先设置再合并右键图表空白位置进入图标属性选择操作惯例勾上“加总链接标签数值”然后再执行【工具】-【合并实体】。顺序反了就得撤销重来。这个设置不显眼但它决定了合并后的图能不能直接读出强度属于典型的“不知道就不会去找”的开关。5.3 分析判断菜单为什么会是灰的现象五想用某个分析功能菜单项是灰色点不动。常见原因有三种按出现频率排一是当前没有选中任何对象多数分析功能都要求有选择集尤其是只对选中对象生效的那类二是当前表现方式或布局与功能不匹配比如对象还是图标形态却想去执行只对主题行有意义的时间序列操作三是文件本身是只读打开状态用 Chart Reader 打开 ANB 只能看不能改此时几乎所有编辑类菜单都是灰的。排查顺序就是这三条从最容易验证的开始。先确认是否选中了对象切到鼠标选择状态那一个按钮再确认表现方式最后确认打开方式。灰色菜单是软件的保护机制不是故障真正的坑在于误判成软件坏了然后重装一遍环境浪费半天。注意合并实体、加总设置、导入规范这几项都属于“改完就生效、撤销成本高”的操作。批量处理前先在副本上跑一遍比事后后悔强。6. 验收与答辩用十分钟的演示链自证方案跑通验收不看你画了多少张图看你能不能把一条链走完。我通常按下面这张表逐项过每项都要求能当场演示不能只口头说。验收项合格标准检查方式数据接入五份话单经两个导入规范全部入图现场重导一份看是否报错建模口径每个实体有唯一标识无重复无空值打开实体属性抽查三条关系表达主被叫方向正确关键链接有次数或时长抽三条链接回溯原表时序与轨迹至少一个对象用主题行做过轨迹切换布局演示结论可复现换人按说明能重现同一结论交付四件套齐全集成与导出能导出图片与 Excel 结果现场导出一次十分钟的演示脚本我一般这样排第一分钟说清数据是什么、要回答什么问题第二到四分钟演示导入和建模重点讲唯一标识怎么选、为什么这么选第五到七分钟讲结论从图上直接指出共同联系人和它的判断依据第八到十分钟讲局限哪些结论是数据支撑的、哪些只是推测。这套节奏的关键是把“过程”当主角图只是过程中的一个画面。答辩时被问得最多的三个问题值得提前准备。一是“复制和复制选区范围有什么区别”标准答案是前者带位置关系、后者只带对象回答时最好顺手演示一次。二是“最早路径和最短路径有什么区别”前者按时间排序找最先可达的链路后者按跳数找经过节点最少的链路两者在图上可能完全不同答错等于暴露没真正用过路径分析。三是“五种数据导入方式分别适合什么场景”能说清手工、导入规范、iBase 三者的差异就够了重点落在“一次性数据用规范、持续更新用 iBase”。从那以后我每次交付类似的分析成果都强制走一遍“换人复现”把文件给一个没参与过的同学让他照说明独立跑一遍导入我坐在旁边不说话。他卡在哪一步说明里就少一句话。这个习惯救过我两次也让我彻底戒掉了“图上看着对就是对的”这种心态。希望帮到你。本文还有配套的精品资源点击获取