Tomme
目录

Tomme

我用数据理解问题,也把判断做成可以检查的作品。

我主要关注经营分析、商业分析和AI协作。数字可以说明发生了什么;业务理解需要继续追问需求属于谁、为什么会变化、企业能够采取什么行动,以及行动以后怎样确认结果。

当前显示总体介绍。每个项目的完整内容仍然保留在独立页面。

Tomme个人头像
模型被质疑让结论可审查从总览向下钻把城市连成网络让异构数据有秩序

五个项目解决的事情并不相同,
但我总会反复确认:
现在解决的,还是原来的问题吗?

很多项目开始时,我只有一个大概的想法。

我会先整理已经知道的信息,再与AI讨论需求、现有方案、工具、风险和验收标准。目标有时已经明确,有时会在实施过程中继续变化。这个网站同时记录完成的结果、问题怎样被重新定义、方案为什么修改,以及当前仍然缺少什么。

五个项目分别记录了什么

五个项目覆盖数据获取、清洗、整合、建模、经营分析、网络分析、AI数据产品和可视化。每个独立页面会继续说明项目如何开始、参考了哪些资料、AI怎样参与、我负责哪些判断、结果怎样被验证,以及哪些工作留在当前版本之后。

1

端到端数据科学 × 可信复核

CitiBike 需求预测与动态定价

工作台复核改变了我对旧版高分的理解,也促使项目增加了一条更接近未来预测场景的验证分支。

项目完整经历了官方数据整理、分层存储、站点—小时聚合、特征工程、借还车需求预测、动态定价策略、FastAPI接口和可视化展示。后续复核增加了时间切分与安全特征版本,并保留旧版与修复版的用途差异。

问题是怎样展开的:项目从2026年1—5月约1,453万条骑行记录开始。我先把单次骑行整理成站点—小时供需数据,再加入时间、天气、站点容量和历史行为特征,分别预测借车量与还车量。预测结果随后进入动态定价策略、FastAPI接口和可视化看板,形成了从数据到产品演示的完整过程。工作台复核时,我重新检查了模型在预测时刻究竟能够知道哪些信息。三个比例字段使用了当前小时已经发生的借还车结果,随机切分又把不同日期和季节的记录混合分配到训练集与测试集,因此旧版R²需要结合实验设计重新解释。

项目中的关键判断:我保留了原课程版,因为原课程版记录了数据获取、建模、策略、API和看板怎样连接起来。随后增加修复分支:移除三个在预测开始时无法获得的字段,按时间先后划分训练、验证和测试数据,并在2.4万行样本上完成三组最小验证。修复分支的指标低于旧版,当前结果用于确认新流程可以运行,以及旧版高分确实受到特征和切分方式影响。千万级数据的完整重训、旧API和旧看板的同步更新没有继续执行,因为当前目标已经收缩为证明工作台能够帮助发现问题并推动一次可验证的修改。

CitiBike旧版可视化看板
1,453万原始骑行记录438万站点—小时聚合记录
2

SQL × Power BI × 经营诊断

AdventureWorks 经营分析

总收入和订单量说明了规模,不能单独回答经营是否健康。

以Microsoft AdventureWorks虚构样例为数据源,使用SQL统一口径、Power BI建立星型模型和经营看板,再用工作台形成可追溯报告。分析从经营总览继续下钻到渠道、品类、SKU和区域,用更细的数据解释规模与估算毛利之间的差异。

问题是怎样展开的:总览页显示约1.10亿美元收入和11.43%的估算毛利率,这些数字本身没有告诉我好或坏,因为没有目标,也没有合适的对照。继续按渠道拆分以后,Reseller贡献了大部分收入,估算毛利贡献却很低;问题这才从“整体表现如何”缩小到渠道、品类和SKU。

项目中的关键判断:折扣与低毛利同时出现,只能说明两者存在关联,现有数据还不能证明折扣造成亏损;地区毛利率不同,也需要继续检查渠道和产品结构。项目将已经确认的事实、待验证原因和当前无法证明的部分分开,使三页Power BI分别承担经营总览、盈利诊断和区域分析的任务。

AdventureWorks经营总览
12.1万统一销售明细$1.10亿样例销售收入
3

数据产品 × Agent 工作流

可信 AI 数据分析工作台

工作台记录数据、口径、证据、限制和发布决定,让分析结果能够被重新检查。

一个面向分析就绪数据的本地工作台:把模糊需求整理成Spec(任务说明书),根据风险选择探索、标准或治理模式,并按质量检查、分析、审查、AI解释和报告发布留下证据。

问题是怎样展开的:我在阅读一篇讨论Data Agent风险的文章时,对其中一个问题产生了共鸣:企业把AI直接接到数据库以后,仍然需要回答数据口径是否一致、结论依据在哪里、谁批准结果发布。早期方案曾经计划把爬取、数据工程、分析、审核和报告全部交给一条Agent流程。继续调研以后,我把产品范围收缩到分析就绪数据进入BI之前的检查与报告过程,让现有分析工具继续完成擅长的工作。

项目中的关键判断:CitiBike成为工作台第一次完整的项目复核。初版界面输出了112条重复拒绝,专业词汇也让我很难快速判断问题的实际影响。这个使用过程直接推动新版修改:重复问题合并成总览;普通视图按“发生了什么、影响是什么、下一步怎么办”解释;系统规则、AI解释、人工确认和最终批准分别标明;绿色、黄色和红色状态说明当前结果能否使用。工作台保留专业证据,但普通用户不必先读完整技术报告才能知道下一步。

可信分析工作台首页
3档探索/标准/治理模式5阶段质量到报告流程
4

API采集 × 图网络分析

青岛公交线路与换乘网络分析

一条公交线路只是一条记录;站点之间建立关系以后,才出现网络。

通过高德地图API采集公交线路和站点,完成缓存、重试、去重与结构化处理,再用NetworkX构建换乘网络,并输出交互地图与综合分析页面。

问题是怎样展开的:高德地图API返回线路名称、站点、坐标和轨迹,但它不会直接告诉我哪些站点承担更多换乘,也不会给出整座城市的网络结构。我先解决请求缓存、失败重试和重复记录,再把共同站点变成线路之间的连接,5,616个站点才进入同一张图。

项目中的关键判断:地图展示空间位置,NetworkX处理节点与边,两者回答的问题不同。我把单条线路、全市分布、换乘网络和关键节点放进不同页面,避免一张“很密的地图”同时假装回答所有问题。现在它能展示结构,仍然不能代替包含班次、拥堵和步行时间的真实出行分析。

青岛公交线路地图
874有效公交线路5,616唯一站点
5

多源数据清洗 × 匹配验证

上市公司研发投入与专利数据整合

每份文件都只差一点,恰好是这些差异让批量整合最费时间。

针对多文件、多表头和命名不统一问题,自动识别表头与字段,按证券代码和年份完成匹配,并对重复、缺失和匹配率进行验证。公开仓库使用合成样例,保护原数据授权。

问题是怎样展开的:研发投入、上市公司和专利数据来自不同文件,表头可能出现在不同位置,年份和公司名称也不完全统一。手工修一份表并不难,麻烦在于下一年、下一批文件还会出现新的“只差一点”。如果规则只对当前文件有效,合并完成也不能算真正完成。

项目中的关键判断:我把表头位置、字段别名和匹配键整理成可识别规则,优先使用证券代码与年份连接,同时把重复键、缺失值、匹配率和未匹配记录单独输出。这样做以后,结果不再只有一张合并表,还能看见哪些数据没有进入分析,以及损失发生在哪里。

公司 × 年份把数据损失也留下记录
4.85万专利记录2.16万匹配研发记录

项目中的选择也记录了我的思考方式

允许作品被修正、区分事实与原因、连接分散数据,以及为继续完善设置条件,都能够在具体项目中找到对应行动。右侧选择一种思考方式后,页面会显示相关项目。

上一版可以错,但不能装作没错

CitiBike复核后,模型分数没有原来漂亮。我保留了旧版,也留下了为什么要改、改了什么,以及新版暂时只能说明到哪里。

经营分析从需求开始,并用证据推动决策

我会先判断需求属于谁、发生在什么场景、用户为什么愿意改变选择,以及企业能否以合理成本触达和交付。进入数据分析以后,再按“结—证—因—策—界”整理答案,让事实、原因、建议和限制保持清楚。

查看需求思维与“结—证—因—策—界” →
  1. 发生了什么
  2. 凭什么这样说
  3. 原因是否验证
  4. 下一步怎样做
  5. 现在不能证明什么

我怎样使用AI,也怎样检查AI产生的结果

我长期使用ChatGPT、Codex、Claude Code、DeepSeek Pro与Trae,也会根据任务调用和定制Skill。项目通常经历参考项目调研、上下文组织、方案选择、阶段实施、测试审查和人工确认。

完整信息决定AI输出的下限,完整审视决定AI能力能够到达的位置,执行边界决定哪些结果可以采用。

查看完整AI协作方法

工作当然要完成任务,但我希望自己最后留下的不只是“完成”。

我想知道自己的判断
究竟改变了什么。

可能是让一个经营问题更清楚,让一份报告少说一句没有证据的话,也可能只是让下一版项目减少已经识别的问题。影响不一定很大,但应该能够被看见。