Python 编程、AI 原理,与 Agent 实证研究

海报之外的详细 Syllabus

4 天暑期班:大学课程式完整大纲

这部分是独立于海报的单栏网页 syllabus,按大学短学期课程的密度展开。每一天都有讲授主题、课堂练习、关键问题、作业和阶段产出,重点补足大语言模型原理、CNN/LSTM/GRU/seq2seq/注意力机制/Transformer 架构,以及它们在实证研究中的使用边界。

课程信息

课程性质
4 天密集训练营
面向希望系统掌握 Python、AI、因果推断和 Agent 实证研究的学习者。
课程结构
讲授 + 代码 + 实证案例 + 项目产出
每天围绕一个可交付研究产出推进。
核心工具
Python / pandas / sklearn / PyTorch / Stata / R / StatsPAI / Codex
强调工具之间的互验,而不是只使用单一软件。
课程材料
示例数据、代码模板、任务 briefing、复现清单
所有材料服务于最后的可复现研究包。
适合人群
经管社科本科高年级、研究生、青年教师与实证研究者
尤其适合已有研究问题但缺少自动化工具链的人。

学习目标

  • 建立一个可复用的 Python 实证研究项目模板,能组织数据、代码、表格、图形、日志和说明文档。
  • 掌握机器学习基本流程:问题定义、特征构造、训练/验证/测试切分、评价指标、过拟合诊断和模型解释。
  • 理解 CNN、RNN、LSTM、GRU、seq2seq、注意力机制、Transformer 和大语言模型的核心结构,而不是只记模型名称。
  • 知道 LLM 的 pretraining、instruction tuning、alignment、RAG、function calling、MCP 和工具调用如何进入科研工作流。
  • 区分预测任务和因果识别任务,掌握 RCT、DID、PSM、IV、RD、合成控制、DML 和因果森林的基本适用场景。
  • 能够把一个自然语言研究任务拆成 Agent 可执行计划,并要求它留下可审计的文件、日志和结果。
  • 形成一套发表级研究习惯:变量字典、样本限制、稳健性检验、结果解释、复现包和人工审阅节点。

先修要求

  • 建议至少学过一门统计学、计量经济学或实证研究方法课程。
  • 不要求熟练 Python,但需要能跟着安装环境、运行 notebook 和阅读基础代码。
  • 建议提前准备一个研究问题、一个数据集或一篇想复现的论文。
  • 如果已有 Stata 或 R 经验,可以带着现有 do-file / R script 来比较 Python 工作流。
  • 需要接受一个基本原则:AI 可以加速研究流程,但不能替代研究者对识别策略、数据质量和结论边界的判断。

模块安排

四天课程按“数据工作流 -> AI 建模 -> 因果识别 -> Agent 自动化”的顺序推进。每一天都产出一个可保存、可复跑、可继续扩展的研究组件。

Day 1

Python 编程、数据工程与可复现项目结构

第 1 天

第一天把研究从手工操作迁移到脚本化流程。重点不是语法速成,而是建立一个以后可以反复复用的研究项目骨架。

讲授主题
  • Python 环境:conda/venv、pip、requirements、Jupyter、VSCode、命令行和 Git。
  • 核心语法:变量、列表、字典、函数、模块、异常处理、路径和文件读写。
  • 数据获取:CSV/Excel、API、requests、BeautifulSoup、网页结构和反爬限制。
  • pandas:缺失值、重复值、类型转换、merge、concat、groupby、pivot、reshape、时间变量。
  • 可视化与输出:matplotlib、seaborn、描述性统计表、图形导出和日志记录。
  • 可复现结构:raw data 不改动、processed data 可生成、scripts 可复跑、outputs 可追踪。
课堂练习
  • 从一个原始数据文件开始,完成清洗、变量构造、描述性统计和第一张图。
  • 把 notebook 中探索成功的代码整理成脚本,并用 README 说明如何复跑。
  • 用 Git 保存一次“从原始数据到输出表格”的完整变化。
关键问题
  • 什么叫可复现?复现失败通常是数据、路径、依赖、随机种子还是人工步骤的问题?
  • 为什么 Agent 要求文件结构清晰、变量字典明确、输出格式稳定?
  • 何时应该继续用 Stata/R,何时应该把流程迁移到 Python?

课后任务

整理一个自己的研究项目目录,写出数据来源、变量说明、运行顺序、输出文件和待解决问题。

阶段产出

一个可复跑的数据清洗与描述性分析 pipeline。

Day 2

机器学习、深度学习与大语言模型原理

第 2 天

第二天系统解释 AI 模型如何从数据中学习。课程从 sklearn 的传统机器学习出发,逐步进入神经网络、CNN、LSTM、GRU、seq2seq、注意力机制、Transformer 和 LLM。

讲授主题
  • 机器学习任务:监督学习、无监督学习、分类、回归、聚类、降维和异常检测。
  • 建模流程:特征工程、训练/验证/测试集、交叉验证、损失函数、优化器、正则化和评价指标。
  • 神经网络基础:线性层、激活函数、反向传播、梯度下降、batch、epoch、learning rate。
  • CNN:卷积核、padding、stride、pooling、feature map、感受野和参数共享。
  • RNN/LSTM/GRU:隐藏状态、门控机制、长程依赖、梯度消失和序列预测。
  • seq2seq:Encoder-Decoder、teacher forcing、beam search 和输入输出序列生成。
  • 注意力机制:Q/K/V、scaled dot-product attention、cross-attention 和可审计性边界。
  • Transformer:tokenization、embedding、位置编码、多头自注意力、FFN、残差连接、LayerNorm 和 stacked blocks。
  • 大语言模型:next-token pretraining、instruction tuning、alignment、RAG、function calling、tool calling 和多模态扩展。
课堂练习
  • 用同一份文本或表格任务分别训练一个 sklearn baseline、一个简单神经网络和一个 LLM prompt/RAG 方案。
  • 画出 CNN、LSTM/GRU、seq2seq 和 Transformer 的信息流,并标出输入、参数共享、记忆机制和输出。
  • 让 LLM 解释一个变量、生成一段代码,再用运行结果检查它是否可靠。
关键问题
  • 模型复杂度提高时,样本量、算力、解释性和验证成本如何变化?
  • Transformer 为什么能取代很多循环结构?它又为什么仍然会幻觉?
  • 科研中使用 LLM 时,哪些信息必须来自外部证据而不是模型记忆?

课后任务

完成一份模型选择 memo:为一个研究任务比较传统 ML、深度学习和 LLM 方案,说明数据需求、验证方法、风险和推荐方案。

阶段产出

一个可解释的 ML/LLM 小实验和一份模型选择说明。

Day 3

因果推断、计量经济学与机器学习结合

第 3 天

第三天把模型预测能力放回因果识别框架中。课程强调:机器学习可以帮助处理高维变量和异质性,但可信结论仍依赖清晰的反事实和识别假设。

讲授主题
  • 因果推断基础:潜在结果、ATE/ATT、反事实、选择偏误、共同支持和 SUTVA。
  • 实验与准实验:RCT、DID、事件研究、PSM、IV、RD、合成控制、SDID 和 GSC。
  • 机器学习因果推断:DML、causal forest、heterogeneous treatment effects、nuisance functions。
  • 模型实操:固定效应、聚类标准误、样本限制、winsorize、平衡性检验和平行趋势。
  • 稳健性:替代变量、替代样本、安慰剂检验、敏感性分析、机制检验和异质性分析。
  • 结果表达:如何读回归表、解释经济意义、避免过度因果表述。
课堂练习
  • 用一个政策评估数据完成 DID 或事件研究设定,并生成可发表格式的结果表。
  • 用 Python/Stata/R 互验一个核心结果,检查样本数、系数、标准误和固定效应是否一致。
  • 把 DML 或 causal forest 用作高维控制/异质性探索,并讨论它不能替代识别策略的原因。
关键问题
  • 一个研究问题的因果识别来自数据、制度背景、模型设定还是机器学习算法?
  • 如何判断 DID、IV、RD、PSM 或合成控制哪一个更适合?
  • 什么样的稳健性检验是真正有信息量的,什么只是机械堆表?

课后任务

为自己的研究问题写一份 identification memo:处理变量、结果变量、样本、反事实、识别假设、主模型和三项稳健性检验。

阶段产出

一份完整实证案例的模型设定、结果表和稳健性计划。

Day 4

Agent 实证研究、MCP 与论文自动化工作流

第 4 天

第四天把前三天的工具接入 Agent 工作流。目标不是让 AI 代替研究者,而是让它像可审计助研一样完成文件读取、代码执行、结果检查、报告草稿和复现包整理。

讲授主题
  • Agent 架构:任务规划、工具选择、上下文管理、记忆、反馈循环和错误恢复。
  • 工具调用:function calling、MCP、文件系统、Python、Stata、R、数据库、浏览器和 StatsPAI。
  • 科研任务拆解:数据审计、变量构造、描述性统计、模型估计、图表生成、报告写作。
  • 可审计自动化:provenance、日志、运行命令、随机种子、中间文件、版本控制和人工确认节点。
  • 论文工作流:文献摘要、研究设计讨论、结果解释、limitations、appendix、replication package。
  • 失败模式:幻觉、错误引用、数据泄漏、过拟合、路径错误、隐性样本变化和不可复现输出。
课堂练习
  • 把一句自然语言任务改写成 Agent briefing:目标、数据、变量、约束、输出和验证步骤。
  • 让 Agent 运行一段数据分析代码,要求它保存日志、输出表格、错误信息和解释草稿。
  • 对 Agent 产出的结果做人工审阅:检查样本数、变量定义、模型设定、统计显著性和语言表述。
关键问题
  • 怎样让 Agent 调用工具而不是凭空回答?
  • 怎样设计可暂停、可恢复、可回滚的自动化研究流程?
  • 哪些论文写作步骤可以自动化,哪些必须保留研究者判断?

课后任务

完成一个 Agent 辅助研究包:任务说明、代码、运行日志、结果表、图形、报告草稿和人工审阅清单。

阶段产出

一个从数据到初版报告的可审计 Agent 研究工作流。

模型架构专题

这一部分把大语言模型放回深度学习发展脉络中讲清楚:从局部特征提取、序列记忆、输入输出生成,到注意力与 Transformer,再到可调用工具的 LLM Agent。

CNN 卷积神经网络

CNN 解决的是“如何在局部结构中识别稳定模式”的问题。它不是把所有输入直接连到一起,而是在局部窗口内共享卷积核,让模型在图像、空间网格或文本 n-gram 中捕捉重复出现的局部特征。

结构拆解
  • 卷积层:用 kernel 在输入上滑动,学习边缘、形状、局部词组或空间邻近关系。
  • padding 与 stride:控制边界保留、特征图尺寸和信息压缩速度。
  • pooling:通过 max / average pooling 压缩局部信息,提升平移不变性。
  • feature map 与 receptive field:解释模型看到的是局部窗口还是更大范围的组合特征。

科研场景

在经管社科中可用于遥感图像、夜间灯光、街景、地理栅格、票据图像、合同版式或文本局部特征抽取。

边界与风险

CNN 对长距离依赖和复杂语义关系不够自然,通常需要与序列模型、注意力机制或预训练模型结合。

练习连接

用一个小型分类任务比较手工特征、CNN 特征和预训练嵌入的差异,重点看过拟合、可解释性和样本量要求。

RNN / LSTM / GRU 序列模型

RNN 家族解决的是“如何让模型带着记忆读序列”的问题。LSTM 和 GRU 通过门控机制缓解普通 RNN 在长序列中遗忘过快、梯度消失和长期依赖困难的问题。

结构拆解
  • RNN hidden state:把前一时刻信息传给下一时刻,适合按时间展开的数据。
  • LSTM 输入门、遗忘门、输出门:决定写入、保留和输出哪些记忆。
  • GRU 更新门、重置门:用更轻量的结构控制短期与长期信息。
  • 双向序列建模:同时利用前文和后文信息,适合文本标注和序列分类。

科研场景

适合企业经营轨迹、金融时间序列、用户行为序列、政策文本演化和事件历史数据。

边界与风险

序列模型训练较慢,长文本并行效率较低;当文本非常长或依赖关系复杂时,Transformer 通常更合适。

练习连接

用面板或文本序列构造一个预测任务,比较滞后变量、LSTM 与 GRU 在样本外表现和解释成本上的差异。

seq2seq 与 Encoder-Decoder

seq2seq 把一个输入序列映射成一个输出序列,是翻译、摘要、问答、代码生成和研究报告生成的早期核心框架。

结构拆解
  • Encoder:把输入文本、代码或变量说明转化为上下文表示。
  • Decoder:按步骤生成输出,每一步依赖已生成内容和上下文表示。
  • teacher forcing:训练时用真实前序 token 帮助模型学习稳定生成。
  • greedy search / beam search:推理时在速度、质量和多样性之间权衡。

科研场景

能解释“把自然语言研究任务转成代码”“把回归表转成文字说明”“把文献段落转成摘要”的基本机制。

边界与风险

早期 seq2seq 容易把全部信息压到一个瓶颈表示中,长文本效果受限,因此需要注意力机制改进。

练习连接

把一段变量定义或实证任务说明转成结构化 JSON / Python 伪代码,观察生成错误如何出现以及如何验证。

注意力机制

注意力机制解决的是“当前生成或判断时,应该看输入中的哪一部分”的问题。它通过 query、key、value 计算相关性权重,使模型能动态选择信息来源。

结构拆解
  • Q/K/V:query 提出当前问题,key 描述可检索位置,value 承载实际信息。
  • scaled dot-product attention:用向量相似度计算关注权重并加权求和。
  • cross-attention:让输出端在生成时读取输入端信息。
  • attention weights:可帮助检查模型是否关注了合理位置,但不能直接等同于因果解释。

科研场景

适合长政策文本、论文段落、变量说明、访谈材料和多来源证据之间的关联建模。

边界与风险

注意力不是可靠的因果解释;长上下文会带来成本、噪音和检索错误,仍需要审计与引用。

练习连接

用一段政策文本定位与处理变量、时间窗口和样本限制相关的句子,训练如何把注意力结果转成可检查证据。

Transformer 模型架构

Transformer 用自注意力替代传统循环结构,使模型可以并行处理序列,并通过多头注意力同时捕捉不同关系类型。现代大语言模型基本都建立在这一架构之上。

结构拆解
  • tokenization 与 embedding:把文本、代码或符号变成向量表示。
  • positional encoding:补充顺序信息,让模型知道 token 的位置。
  • multi-head self-attention:在多个表示子空间中学习依赖关系。
  • feed-forward network、residual connection、LayerNorm:提升非线性表达、稳定训练和深层堆叠能力。

科研场景

用于论文阅读、政策文本编码、摘要生成、代码生成、表格解释、检索增强问答和 Agent 任务规划。

边界与风险

Transformer 学到的是统计关联和任务模式,不自动保证事实正确、因果识别正确或代码可运行。

练习连接

拆解一次 LLM 回答:输入如何被 token 化,模型如何生成,哪些部分需要 RAG、代码执行和人工确认。

大语言模型 LLM 与 Agent

LLM 先通过大规模 next-token pretraining 学会语言、代码和知识模式,再通过 instruction tuning、偏好对齐、RAG、function calling 和工具调用进入真实任务。

结构拆解
  • pretraining:用海量文本学习语言分布、常识关联和代码模式。
  • instruction tuning 与 alignment:让模型更会遵循任务、解释步骤并降低有害输出。
  • RAG:先检索外部资料,再把证据送入模型生成回答。
  • tool calling / MCP:让模型调用 Python、Stata、R、数据库、浏览器或 StatsPAI,而不是只生成自然语言。

科研场景

可辅助选题、读文献、写代码、查错、解释表格、生成报告草稿、组装复现包和协调多工具研究流程。

边界与风险

LLM 可能幻觉、误读数据、遗漏识别假设或生成不可复现结论;必须用日志、代码执行、引用、单元测试和人工审阅约束。

练习连接

把“完成一个实证分析”的自然语言任务拆成 Agent 计划,要求每一步留下文件、日志、结果和人工确认点。

作业与评估

代码与数据工作流

25%

检查项目目录、数据清洗脚本、输出文件、README 和复跑说明是否完整。

AI 架构理解与模型选择

25%

提交 CNN/LSTM/GRU/seq2seq/attention/Transformer/LLM 架构说明和一个模型选择 memo。

因果识别 memo

25%

提交研究问题、识别假设、主模型、稳健性计划和结果解释草稿。

Agent 研究包

25%

提交任务 briefing、代码执行记录、结果输出、报告草稿和人工审阅清单。

结课成果

  • 一个可复用 Python 实证研究项目模板。
  • 一份 AI 模型架构地图,覆盖 CNN、LSTM、GRU、seq2seq、注意力机制、Transformer 和大语言模型。
  • 一个因果推断实证案例草稿,包含主模型、稳健性计划和结果解释。
  • 一个 Agent 辅助研究工作流,包含自然语言任务、工具调用、代码执行、结果验证和人工审阅节点。

学习规范

  • 课程鼓励使用 AI,但所有 AI 生成的代码、文字和结论必须通过运行、引用、数据检查或人工审阅验证。
  • 课堂项目以可复现为第一标准:任何结果都应能从原始数据和脚本重新生成。
  • 不鼓励无解释地堆模型。每个模型选择都需要说明数据结构、识别目标、验证指标和失败风险。
  • 结课成果可以继续发展成论文复现包、课程项目、研究助理工作流或正式实证论文的技术附录。