纽约出租车 2019
我对 2019 年纽约全部黄色出租车行程的个人分析项目,如今复活成交互网站:用同一套清洗规则重新处理 8,400 多万条记录,关联天气、获批活动和交通事故数据,配有出租车分区地图和路线视图,还能在浏览器里用 2021 年的回归模型估算行程时间。
- 我的角色
- 个人项目。原始 PySpark notebook 和 2026 年的复活版都由我完成。
亮点
- ·把 2021 年的清洗规则改写成 DuckDB SQL,在 TLC 现行的 2019 年数据上重跑。除了 TLC 后来重新发布的原始文件,其余每一步的行数都与 notebook 相差不到 0.003%,并与原数字并排记录。
- ·2021 年的回归模型在浏览器里运行,每个预测背后的各项都能看到;2026 年新增的评估包括时间留出集、稳健标准误、残差诊断和共形区间,结果发现一张简单的查找表反而更准。
- ·全部 263 个出租车分区的地图、最繁忙路线,以及逐日的天气、活动和事故数据,都来自一个 15 MB 的只读 SQLite 文件;网站只提供汇总数据,不含单条行程记录。
- ·可选的 BYOK“问数据”页面把自然语言问题转成 SQL,访客审阅后才会执行,每次调用都有标注和记录。
- 原版
- Python · PySpark · Spark MLlib · pandas · Folium · Jupyter
- 2026 复活版
- 通用技术栈 + DuckDB · SQLite · MapLibre GL · Recharts · Vitest · zod · Anthropic SDK
技能
- 分轮次、有文档记录地清洗 8,400 万行数据
- 关联天气、活动与交通事故数据
- 手写 10 折交叉验证的弹性网回归
- 时间留出集与残差诊断
- 稳健标准误与共形预测区间
- 逐步记录行数的 DuckDB 数据管线
- 用 MapLibre GL 做分区地图与路线视图
- BYOK 自然语言提问,SQL 先审后跑
信号源分离实验室
应用数据科学课的个人作业:从一组模拟的 fMRI 式时空数据中还原隐藏的信号源。现在做成交互式实验室,可以自己生成数据,再用最小二乘、岭回归、Lasso 和主成分回归还原时间序列与空间图,所有计算都在浏览器里重新跑一遍。
- 我的角色
- 个人作业。原始分析、notebook 和报告都由我完成,2026 年的复活版也由我搭建。
亮点
- ·逐位移植 NumPy 旧版随机数生成器,重现 2021 年的噪声,报告里的每个数字都能在浏览器里原样算出来。
- ·在 50 组带种子的配对数据上,以事先固定的对照值重新审视 Lasso 惩罚的选择:当年选的 ρ = 0.625 比 ρ = 0.60 的 MSE 高约 10%,50 组数据全部更差。
- ·新增偏差-方差分解、各信号源恢复度的区间估计,以及对 2021 年结论的配对复检;决策记录如实写明当年推理站不住脚的地方。
- ·可选的“解释这张图”功能用访客自己的 API key 调用,逐一核对回答中的数字是否出自图表摘要,每次调用都记在本地日志里。
- 原版
- Python · Jupyter · NumPy · pandas · scikit-learn · matplotlib · seaborn · R
- 2026 复活版
- 通用技术栈 + KaTeX · Web Workers · Vitest · zod
技能
- 合成时空数据模拟
- 最小二乘、岭回归与 Lasso 回归
- 基于 SVD 的主成分回归
- 用蒙特卡洛方法调整 Lasso 惩罚
- 偏差-方差分解
- 使用公共随机数的配对比较
- Bootstrap 与 Student-t 区间
- 移植 NumPy 的 MT19937 RandomState
- 带数字核查的 BYOK LLM 图表解释
HPLC 质控实验室
我们在 MAST30034 与 CSL 合作的行业毕业项目,研究 HPLC 实验室数据,如今重建成浏览器里的实验室,只用合成数据。可以用规则级联解析杂乱的实验结果表,用判异规则读控制图,再用 PCA、t-SNE、UMAP、K-Means 和 DBSCAN 找出异常批次。不使用任何 CSL 的数据、代码或文件。
- 我的角色
- 与 Yuchen (Cynthia) Cai、Rongshun Li、Zhiliang (Tommy) Tang、Quzihan (Martin) Wu 组成 Group 07(Team 4399)。实验结果解析器、控制图函数和聚类 notebook 由五人共同完成,我担任团队的 Scrum Master。2026 年的复活版由我搭建。
- 团队
- Yuchen (Cynthia) Cai、Rongshun Li、Zhiliang (Tommy) Tang 和 Quzihan (Martin) Wu
亮点
- ·2021 年我们为每条工艺流程写了一组有序的模式规则,把约 99.7% 的实验结果记录整理成批次、工序和样品字段。复活版把每一条剩下的记录连同原因放进“其他”表,不会有记录悄悄丢失。
- ·团队的解析器、控制图函数和聚类步骤都移植成 TypeScript,并在同一批合成输入上对照 2021 年原版 Python 测试,覆盖全部 43 种检测、对照品和测量组合的控制图。
- ·每项蒙特卡洛研究都给出 95% 区间并固定随机种子,用来说明这些方法有多可靠。判异规则加得越多,误报越多。用全部数据点定控制限,可能掩盖持续的偏移。DBSCAN 找出的离群点与控制图信号几乎不重合,所以聚类只作为人工复核的辅助。
- ·每张表、每张图和每个聚类都来自一个带种子的生成器,它模仿 HPLC 导出数据的结构,并故意埋入故障。可选的 BYOK“解读这张图”只能看到图上的数字,输出会核查有无编造的数字,每次调用都记录在本地审计日志里。
- 原版
- Python 3.8 · pandas · scikit-learn · umap-learn · Matplotlib · Jupyter
- 2026 复活版
- 通用技术栈 + umap-js · Web Workers · IndexedDB · Vitest · zod
技能
- 用有序的模式规则解析自由文本的实验结果
- 按 FAIR 原则整理成整洁、可关联的记录
- 带 3σ 控制限及 Western Electric、Nelson 判异规则的控制图
- PCA、t-SNE 与 UMAP 降维投影
- 按轮廓系数调参的 K-Means 与 DBSCAN
- 与 2021 年原版 Python 的一致性测试
- 带 95% 区间的蒙特卡洛研究
- 用带种子的合成数据生成器代替合作方数据
- BYOK 图表解读,并核查有无编造的数字
4399 CRM 个人关系管理
COMP30022 IT 项目里我们做的移动优先个人 CRM:管理联系人,记录带地点的见面,在地图和日历上查看,还能扫二维码互加联系人。现已重建为单个 Next.js 应用,点“访客试用”就能直接体验,另有 Insights 统计页和可选的 AI 助手。
- 我的角色
- 4399 团队(第 49 组)的 Scrum Master,负责前端的联系人、见面记录和地图部分;2026 年由我重建。
- 团队
- Bin Liang、Hongji (Harrison) Huang、Wei Zhao 和 Yixiao Tian
亮点
- ·移植了原有的搜索、排序、校验和联系人同步逻辑,对照测试直接从课程代码目录加载 2021 年的函数来比对结果。
- ·移植时补上了发现的安全漏洞:查询只限登录用户自己的数据,重置密码接口不再接受固定的验证标记,会话改用 httpOnly cookie。
- ·可选的 BYOK 会议笔记助手在发出请求前,先在浏览器里去掉姓名、邮箱、电话和地址;另有 32 条笔记的评测集,把它给出的跟进建议与基于规则的基线逐条比较(配对 bootstrap、精确符号检验)。
- ·替换了 2021 年依赖的服务:地图从 Google Maps 换成 MapLibre 配 OpenFreeMap 和 Photon 地理编码;邮件改为页面内的演示收件箱,不再走 Gmail;数据库从 MongoDB Atlas 换成共享的 Turso。
- ·“访客试用”会生成一个 24 小时有效的私有沙盒,内含 25 位联系人和 40 条见面记录;Insights 页面按周统计见面次数,并给出带随机种子的 bootstrap 区间;每个账户都可以导出或删除与自己相关的全部数据。
- 原版
- React 16 · Material UI · Express · MongoDB · Mongoose · Passport (JWT) · Google Maps API · Jest · Heroku
- 2026 复活版
- 通用技术栈 + SQLite (libSQL) · Turso · Drizzle ORM · MapLibre GL · jose · Vitest · zod · Vercel
技能
- Scrum 交付
- 移动优先界面设计
- 基于 httpOnly cookie 的会话认证
- 二维码交换联系人
- 地理编码与交互地图
- 与原有函数的一致性测试
- 按所有者隔离查询的安全加固
- 带随机种子的 bootstrap 区间
- 配对 bootstrap 与精确符号检验
- LLM 与规则基线的对比评测
- 浏览器内先脱敏的 BYOK AI
技能