AI在金融中的应用Courseware

第一章

贝叶斯方法

概率决策、先验信息与动态更新

本章围绕贝叶斯思想、贝叶斯定理、朴素贝叶斯、贝叶斯线性回归和层次贝叶斯模型展开,强调在小样本和信息不完全金融场景中的决策价值。

本课件中的数学公式已在本地构建阶段预渲染为静态 HTML/MathML,并使用随站点发布的本地字体与 CSS;页面不加载浏览器端公式渲染脚本。

01

贝叶斯思想的精髓

贝叶斯方法可以先不要从公式开始,而是从“人怎样不断修正判断”开始理解。我们每天都在做贝叶斯更新:医生看病、挑餐馆、判断一个店铺靠不靠谱,背后都是先有一个初步判断,再根据新证据不断调整。

例子一:医生看病就是一个贝叶斯过程

你走进诊室,医生还没有做任何检查,但他已经有一个初步判断。比如看到你脸色不好、精神差、年龄和季节背景,他可能会先猜:感冒、肠胃炎、过敏、流感,或者别的问题。这不是乱猜,而是根据经验形成的初始概率,这就是先验概率。

接下来医生开始问症状:有没有发烧?有没有咳嗽?有没有腹痛?最近有没有吃不干净的东西?每一个症状都不是孤立信息,而是和某些疾病更相关。比如高烧和流感的关联更强,腹痛和肠胃炎的关联更强。这种“如果是某种病,出现这些症状的可能性有多大”,就是似然函数。

医生把先验判断和症状证据结合起来,就会得到新的判断:某些疾病的可能性下降,某些疾病的可能性上升。这个更新后的判断就是后验概率。后验概率最高的病,通常会成为医生优先检查或治疗的方向。

先验

医生进门时根据经验形成的初步疾病判断

似然

在某种疾病下,观察到发烧、咳嗽、腹痛等症状的可能性

后验

综合初步判断和症状之后,对不同疾病可能性的重新排序

例子二:选择餐馆也可以看成贝叶斯更新

假设你面前有五家餐馆,一开始你完全不了解它们。最自然的先验就是每家都一样好,每家被选中的概率都是五分之一。

然后你开始观察证据:哪家装修更干净?哪家排队的人更多?美团评分高不高?评论里有没有反复提到服务差或菜品不新鲜?这些证据会改变你对每家餐馆的判断。

如果一家店评分高、顾客多、评论稳定,而且环境不错,那么这些证据在“这家店值得吃”这个假设下出现的概率更高。于是它的后验概率会上升。最后你并不是凭感觉随便选,而是在用新信息更新每家店“值得选择”的概率。

先验

五家餐馆一开始都不了解,每家概率都是 1/5

证据

装修、人气、评分、评论、距离、价格

后验

综合证据后,每家餐馆“值得去”的概率不再相同

p(θ∣y)=p(y∣θ)p(θ)p(y)∝p(y∣θ)p(θ)p(\theta \mid y)=\frac{p(y\mid \theta)p(\theta)}{p(y)} \propto p(y\mid \theta)p(\theta)
  • 其中 θ\theta 表示未知参数或状态,yy 表示观测到的数据。先验 p(θ)p(\theta) 记录数据到来前的判断,似然 p(y∣θ)p(y\mid\theta) 描述某个参数下观察到数据的可能性,后验 p(θ∣y)p(\theta\mid y) 是更新后的认知。
  • 如果把医生看病放进这个公式,疾病就是未知状态,症状就是观察到的数据。医生最初的经验判断是先验,症状与疾病之间的匹配程度是似然,问诊之后重新排序的疾病可能性就是后验。
  • 如果把选餐馆放进这个公式,餐馆是否值得去就是未知状态,评分、人气、装修和评论就是观察到的数据。你最初平均分配概率,后来根据证据重新排序,这也是贝叶斯更新。
  • 在农村信贷、小微企业融资和早期风险识别中,道理完全一样:客户是否可靠是未知状态,流水、还款记录、经营年限、地区产业情况是证据。贝叶斯框架允许把经验判断和新增数据合在一起。
怎么理解

先验不是偏见,而是“在没有看到新证据之前的合理起点”;似然不是结论,而是“这个证据更像是哪种情况会出现”;后验才是把两者合在一起之后的新判断。

普惠金融例子

信贷经理面对一个没有完整征信记录的农户,也会先有初步判断:当地作物收成、合作社口碑、过往小额借款表现。随后再看流水、订单、还款行为这些证据,最后形成新的授信判断。

课堂追问

在小样本普惠金融中,怎样区分“合理先验”和“经验偏见”?

02

贝叶斯定理与全概率公式

贝叶斯公式真正想表达的是一个简单逻辑:不要只看证据本身,还要看这个证据更支持哪一种解释。同样是“发烧”,它可能支持感冒,也可能支持流感;同样是“店里人多”,可能说明好吃,也可能只是因为位置好或排队慢。

p(y)=∑k=1Kp(y∣θk)p(θk)p(y)=\sum_{k=1}^{K}p(y\mid \theta_k)p(\theta_k)
  • 全概率公式告诉我们:同一个观测结果可能由多个潜在状态产生。医生不能看到发烧就只判断一种病,风控人员也不能看到逾期就只判断客户恶意违约。
  • 概率 p(θ∣y)p(\theta\mid y) 是在观测数据后对状态的判断;似然 p(y∣θ)p(y\mid\theta) 是在给定状态下数据出现的可能性。二者不能混用。
  • 基准概率谬误是金融应用中的常见错误:只关注一个证据很显眼,却忽略事件本身的基础发生率。例如欺诈比例很低时,即使模型精度较高,也可能产生大量误报。
  • 回到餐馆例子:一家店排队很长是一个证据,但你还要问,排队长在“好吃”这个假设下常见吗?在“出餐慢”这个假设下是不是也常见?贝叶斯思维要求我们比较不同解释,而不是被单一证据带走。
怎么理解

分母不是数学装饰,它提醒我们同一个现象可能有多种解释。金融风控中,不能看到一个逾期就直接推断客户恶意违约。

普惠金融例子

农户短期逾期可能是销售回款延迟、自然灾害、家庭支出冲击,也可能是长期偿债能力下降。贝叶斯分析要求把这些可能性都放进同一个概率框架。

课堂追问

如果某地区突然出现集中逾期,应该先怀疑客户质量,还是先检查外部冲击?

03

朴素贝叶斯分类器

朴素贝叶斯是贝叶斯方法中最常用、最容易上手的一类分类器。它特别适合课堂教学,因为每一步都能用表格算出来:先数每一类有多少,再数每个特征在每一类中出现多少,最后把这些概率乘起来比较。

先弄清楚:什么是“朴素”,什么是“贝叶斯”

“贝叶斯”指的是它用贝叶斯公式做分类:对每一个可能类别都计算一个后验概率,然后选择后验概率最大的类别。比如客户可能是“低风险”或“高风险”,模型会分别算这两个类别的相对可能性。

“朴素”指的是一个简化假设:在给定类别之后,各个特征之间暂时当作互相独立。比如在判断客户风险时,我们把账户余额、信用历史、储蓄水平、就业年限分别看成独立证据,然后把它们的条件概率相乘。

现实中这些特征当然不可能完全独立。账户余额和储蓄水平可能相关,就业年限和收入稳定性也可能相关。所以“朴素”并不是说模型幼稚,而是说它用一个强假设换来透明、快速、可解释,适合做基准模型和第一轮筛查。

贝叶斯

比较不同类别的后验概率

朴素

给定类别后,暂时把各特征当成独立证据

分类

哪个类别的后验相对更高,就预测为哪个类别

p(Ck∣x1,…,xd)∝p(Ck)∏j=1dp(xj∣Ck)p(C_k\mid x_1,\ldots,x_d) \propto p(C_k)\prod_{j=1}^{d}p(x_j\mid C_k)
  • 公式中的 CkC_k 是候选类别,例如“好信用/坏信用”或“通过/复核”。x1,…,xdx_1,\ldots,x_d 是观察到的特征,例如账户状态、信用历史、储蓄水平、就业年限。
  • 在信用审批中,特征可以包括还款记录、交易频率、收入稳定性、经营年限和地区产业结构。模型给出的每一项条件概率都可以解释为一个证据贡献。
  • 当某个特征组合在训练样本中没有出现时,需要使用拉普拉斯平滑:p^(xj=v∣Ck)=nv,k+αnk+αm\hat p(x_j=v\mid C_k)=\frac{n_{v,k}+\alpha}{n_k+\alpha m}。这可以避免某个概率为零导致整体后验归零。
  • 朴素贝叶斯特别适合作为基准模型。复杂模型若无法显著超过这个透明基准,说明数据、标签或特征工程可能存在问题。

案例 A:天气与是否打球的 14 条教学数据

这是机器学习课程中常见的 Play Tennis / Play Golf 小数据。它不是金融数据,但很适合第一次手算朴素贝叶斯,因为变量都是分类变量。

编号天气温度湿度风是否打球
1SunnyHotHighWeakNo
2SunnyHotHighStrongNo
3OvercastHotHighWeakYes
4RainMildHighWeakYes
5RainCoolNormalWeakYes
6RainCoolNormalStrongNo
7OvercastCoolNormalStrongYes
8SunnyMildHighWeakNo
9SunnyCoolNormalWeakYes
10RainMildNormalWeakYes
11SunnyMildNormalStrongYes
12OvercastMildHighStrongYes
13OvercastHotNormalWeakYes
14RainMildHighStrongNo

案例 A 的频数表:先数类别,再数条件概率

现在预测一个新样本:Sunny、Cool、High、Strong。我们分别计算它属于 Yes 和 No 的相对后验分数。

概率项Yes 中的频数No 中的频数条件概率
类别先验Yes = 9No = 5p(Yes)=9/14,  p(No)=5/14p(\mathrm{Yes})=9/14,\;p(\mathrm{No})=5/14
天气 = Sunny2 / 93 / 5p(Sunny∣Yes)=2/9,  p(Sunny∣No)=3/5p(\mathrm{Sunny}\mid \mathrm{Yes})=2/9,\;p(\mathrm{Sunny}\mid \mathrm{No})=3/5
温度 = Cool3 / 91 / 5p(Cool∣Yes)=3/9,  p(Cool∣No)=1/5p(\mathrm{Cool}\mid \mathrm{Yes})=3/9,\;p(\mathrm{Cool}\mid \mathrm{No})=1/5
湿度 = High3 / 94 / 5p(High∣Yes)=3/9,  p(High∣No)=4/5p(\mathrm{High}\mid \mathrm{Yes})=3/9,\;p(\mathrm{High}\mid \mathrm{No})=4/5
风 = Strong3 / 93 / 5p(Strong∣Yes)=3/9,  p(Strong∣No)=3/5p(\mathrm{Strong}\mid \mathrm{Yes})=3/9,\;p(\mathrm{Strong}\mid \mathrm{No})=3/5

案例 B:UCI German Credit 真实信用风险数据的课堂版频数表

UCI German Credit 数据有 1000 条样本、20 个特征,目标是把客户标记为 Good 或 Bad credit risk。这里抽取 4 个容易解释的分类变量做手算示范。

特征取值Good 频数 / 700Bad 频数 / 300课堂解释
A11:支票账户余额 < 0 DM139135账户状态偏紧张
A32:既有贷款目前都按时还361169普通信用历史
A61:储蓄 < 100 DM386217储蓄缓冲较低
A72:当前就业 < 1 年10270就业稳定性较弱

案例 A 手算:Sunny、Cool、High、Strong 时是否打球?

  1. 第一步,先验概率:p(Yes)=9/14p(\mathrm{Yes})=9/14,p(No)=5/14p(\mathrm{No})=5/14。这表示在没有看天气之前,14 天里有 9 天打球、5 天不打球。
  2. 第二步,计算 Yes 的相对后验分数:Score⁡(Yes)=914×29×39×39×39≈0.00529\operatorname{Score}(\mathrm{Yes})=\frac{9}{14}\times\frac{2}{9}\times\frac{3}{9}\times\frac{3}{9}\times\frac{3}{9}\approx0.00529
  3. 第三步,计算 No 的相对后验分数:Score⁡(No)=514×35×15×45×35≈0.03429\operatorname{Score}(\mathrm{No})=\frac{5}{14}\times\frac{3}{5}\times\frac{1}{5}\times\frac{4}{5}\times\frac{3}{5}\approx0.03429
  4. 第四步,比较两个分数。因为 Score⁡(No)>Score⁡(Yes)\operatorname{Score}(\mathrm{No})>\operatorname{Score}(\mathrm{Yes}),所以模型预测“不打球”。
  5. 这里的“朴素”体现在:天气、温度、湿度、风四个证据被分别计算,然后直接相乘。现实里它们可能相关,但课堂上这样算最透明。

案例 B 手算:把朴素贝叶斯迁移到信用风险

  1. 现在看一个真实信用数据中的课堂版客户画像:支票账户余额 < 0 DM;既有贷款目前都按时还;储蓄 < 100 DM;当前就业 < 1 年。
  2. 第一步,类别先验来自 1000 条真实样本:p(Good)=700/1000=0.7p(\mathrm{Good})=700/1000=0.7,p(Bad)=300/1000=0.3p(\mathrm{Bad})=300/1000=0.3。
  3. 第二步,计算 Good 的相对后验分数:Score⁡(Good)=0.7×139700×361700×386700×102700≈0.00576\operatorname{Score}(\mathrm{Good})=0.7\times\frac{139}{700}\times\frac{361}{700}\times\frac{386}{700}\times\frac{102}{700}\approx0.00576
  4. 第三步,计算 Bad 的相对后验分数:Score⁡(Bad)=0.3×135300×169300×217300×70300≈0.01284\operatorname{Score}(\mathrm{Bad})=0.3\times\frac{135}{300}\times\frac{169}{300}\times\frac{217}{300}\times\frac{70}{300}\approx0.01284
  5. 第四步,把两个分数归一化,得到课堂版解释:p(Good∣x)≈31.0%p(\mathrm{Good}\mid x)\approx31.0\%,p(Bad∣x)≈69.0%p(\mathrm{Bad}\mid x)\approx69.0\%。因此模型会把这个客户放入较高风险或需要复核的队列。
  6. 注意:这里的 Bad 是数据集标签,不是道德判断;在普惠金融中更不能直接等同于拒贷。更合理的做法是进入人工复核、补充材料、调整额度或设计担保机制。
金融应用提示

普惠金融中的农村信贷模型可以先用朴素贝叶斯建立“低成本可解释筛查器”,再对边界样本交由更复杂模型或人工复核。

怎么理解

“朴素”不是“低级”,而是用一个强假设换取透明、快速和小样本可用。它适合做第一道风险筛查。

普惠金融例子

例如对新申请的小微商户,可以把经营年限、月均流水、历史还款、行业景气度分别作为证据,快速估算高风险概率,再把边界样本交给人工复核。

课堂追问

如果两个特征高度相关,例如月流水和收款笔数,朴素贝叶斯的独立性假设会带来什么问题?

04

贝叶斯线性回归

传统线性回归给出一个点估计;贝叶斯线性回归给出参数分布。后者更适合需要风险区间和不确定性表达的金融决策。

y=Xβ+ε,ε∼N(0,σ2I),β∼N(β0,V0)y=X\beta+\varepsilon,\quad \varepsilon\sim \mathcal N(0,\sigma^2I),\quad \beta\sim \mathcal N(\beta_0,V_0)
  • 后验均值可以理解为“数据估计”和“先验判断”的加权平均。当样本量增加时,数据的权重上升;当样本稀缺时,先验能提供稳定性。
  • 在存款利率敏感性、贷款需求预测或县域金融指标建模中,贝叶斯回归可以同时报告预测均值和可信区间,便于制定风险缓冲。
  • 常见后验形式为 p(β∣y,X)∝p(y∣X,β)p(β)p(\beta\mid y,X)\propto p(y\mid X,\beta)p(\beta)。该表达式直接说明参数估计来自似然与先验的共同作用。
怎么理解

贝叶斯回归的优势是它会告诉你“不确定到什么程度”,而不是只给一个看似精确的数字。

普惠金融例子

预测县域贷款需求时,如果样本期很短,传统回归可能给出一个点估计;贝叶斯回归可以给出可信区间,帮助银行决定是否需要更保守的额度安排。

课堂追问

在政策调整或经济下行阶段,为什么预测区间比单一预测值更重要?

05

层次贝叶斯模型

层次贝叶斯适合“多地区、多网点、多客群”的金融数据结构。它既允许群体差异,又能在样本少的群体之间共享信息。

yij∼N(xij⊤βj,σ2),βj∼N(μβ,Σβ)y_{ij}\sim \mathcal N(x_{ij}^{\top}\beta_j,\sigma^2),\quad \beta_j\sim \mathcal N(\mu_{\beta},\Sigma_{\beta})
  • 下标 jj 可以表示县域、支行、行业或客户群体。每个群体有自己的参数 βj\beta_j,但这些参数又来自共同的总体分布。
  • 这种“部分池化”机制可以避免两个极端:完全合并会掩盖地区差异,完全分开会让小样本地区估计不稳定。
  • 在县域普惠金融评价中,层次模型可以把省级、县级和个体层面的信息同时纳入分析。
怎么理解

层次模型的直觉是“相似地区可以互相借力,但不能假装完全一样”。这非常适合县域和支行层面的金融数据。

普惠金融例子

一个偏远县样本很少,单独建模不稳定;完全合并到全省模型又会忽视本地产业结构。层次贝叶斯可以在两者之间取得平衡。

课堂追问

哪些变量应该在所有地区共享?哪些变量应该允许每个地区有自己的参数?

06

本章练习

  • 解释为什么“高模型准确率”并不必然意味着“高欺诈识别价值”。请结合基准概率说明。
  • 构造一个农村信贷申请人的朴素贝叶斯分类例子,列出至少四个特征和两个类别。
  • 比较普通最小二乘回归和贝叶斯线性回归在风险预测报告中的表达差异。
怎么理解

练习题建议用真实业务语言回答,不要只写公式。先说明业务场景,再说明变量、假设和可能的失败点。

普惠金融例子

例如“欺诈识别”的回答可以从低欺诈率、误报成本、人工审核资源和客户体验四个角度展开。

课堂追问

如果你的模型把很多正常客户误判为高风险,对普惠金融目标有什么影响?