指标:收益率曲线往往会在经济衰退前 24 个月发出信号;NFCI 指标的准备时间往往较短(参见 Kelley,2019 年)。
下表在很大程度上证实了这种体验:它显示了 1-24 个月跨度的二进制衰退变量和四个领先指标之间的互信息(参见第 6 章,机器学习过程):
融合曲线
按提前期划分的指标与衰退之间的互信息
41
34
34
36
49
67
68
92
11.1
115
118
11.4
110
11.4
12.2
111
110
10.2
100
11.4
97
87
1.2
61
财务状况
14.3
13.4
118
99
87
64
50
61
60
74
5.4
52
64
48
44
4.1
4.2
53
18
35
35
12
17
30
杠杆作用
15.1
15.3
14.0
11.6
87
68
4.9
50
41
5.4
58
53
55
44
55
51
52
4.6
58
50
59
66
58
$1
系列
68
60
46
4.7
56
35
35
24
0.1
27
00
11
11
08
15
1.4
03
09
26
22
3.4
39
33
31
i
2
3
4
5
6
7
8
;
20
11
12 交货时间(月)
13
14
15
16
17
13
19
20
21
21
―
21
_
21 _ \underline{21}
23
24
Meld Curve Mutual Information between Indicators and Recession by Lead Time
41 34 34 36 49 67 68 92 11.1 115 118 11.4 110 11.4 12.2 111 110 10.2 100 11.4 97 87 1.2 61
financial Conditions 14.3 13.4 118 99 87 64 50 61 60 74 5.4 52 64 48 44 4.1 4.2 53 18 35 35 12 17 30
Leverage 15.1 15.3 14.0 11.6 87 68 4.9 50 41 5.4 58 53 55 44 55 51 52 4.6 58 50 59 66 58 $1
Semtiment 68 60 46 4.7 56 35 35 24 0.1 27 00 11 11 08 15 1.4 03 09 26 22 3.4 39 33 31
i 2 3 4 5 6 7 8 ; 20 11 12 Lead Time (Months) 13 14 15 16 17 13 19 20 21 21 _ 23 24 | Meld Curve | Mutual Information between Indicators and Recession by Lead Time | | | | | | | | | | | | | | | | | | | | | | | |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| | 41 | 34 | 34 | 36 | 49 | 67 | 68 | 92 | 11.1 | 115 | 118 | 11.4 | 110 | 11.4 | 12.2 | 111 | 110 | 10.2 | 100 | 11.4 | 97 | 87 | 1.2 | 61 |
| financial Conditions | 14.3 | 13.4 | 118 | 99 | 87 | 64 | 50 | 61 | 60 | 74 | 5.4 | 52 | 64 | 48 | 44 | 4.1 | 4.2 | 53 | 18 | 35 | 35 | 12 | 17 | 30 |
| Leverage | 15.1 | 15.3 | 14.0 | 11.6 | 87 | 68 | 4.9 | 50 | 41 | 5.4 | 58 | 53 | 55 | 44 | 55 | 51 | 52 | 4.6 | 58 | 50 | 59 | 66 | 58 | $1 |
| Semtiment | 68 | 60 | 46 | 4.7 | 56 | 35 | 35 | 24 | 0.1 | 27 | 00 | 11 | 11 | 08 | 15 | 1.4 | 03 | 09 | 26 | 22 | 3.4 | 39 | 33 | 31 |
| | i | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ; | 20 | 11 | 12 Lead Time (Months) | 13 | 14 | 15 | 16 | 17 | 13 | 19 | 20 | 21 | $\underline{21}$ | 23 | 24 |
图 10.3:经济衰退与 1-24 个月视野的领先指标之间的互信息
为了在 NFCI 指标的较短期限和收益率曲线之间取得平衡,我们将选择 12 个月作为我们的预测期限。下图是每个指标的分布,按衰退状态细分:
图 10.4: 按衰退状态划分的领先指标分布 这表明,当短期利率高于长期利率时,经济衰退往往与美国国债收益率曲线的长期负利差有关,也称为倒挂收益率曲线。NFCI 指标的行为符合我们的预期;情绪指标的关联性似乎最弱。
模型定义 - 贝叶斯 Logistic 回归
如第 6 章 机器学习过程 中所述,逻辑回归估计一组特征与二进制结果之间的线性关系,由 sigmoid 函数介导,以确保模型产生概率。频率主义方法导致参数的点估计,这些参数衡量每个特征对数据点属于正类的概率的影响,置信区间基于有关参数分布的假设。
相比之下,Bayes logistic 回归估计参数本身的后验分布。后验允许对每个参数的贝叶斯可信区间进行更稳健的估计,其好处是模型的不确定性更加透明。
概率程序由观察到的和未观察到的随机变量 (RV) 组成。如前所述,我们通过似然分布定义观察到的 RV,通过先验分布定义未观察到的 RV。为此,PyMC3 包含许多概率分布。
PyMC3 库使对逻辑回归执行近似贝叶斯推理变得非常简单。Logistic 回归根据
k
k
k k 特征对经济在每月
i
i
i i 12 个月后陷入衰退的概率进行建模,如下图所示:
Logistic 回归
p
(
y
i
=
1
∣
β
)
=
σ
(
β
0
+
β
1
x
i
1
+
…
+
β
k
x
i
k
)
p
y
i
=
1
∣
β
=
σ
β
0
+
β
1
x
i
1
+
…
+
β
k
x
i
k
p(y_(i)=1∣beta)=sigma(beta_(0)+beta_(1)x_(i1)+dots+beta_(k)x_(ik)) p\left(y_{i}=1 \mid \boldsymbol{\beta}\right)=\sigma\left(\beta_{0}+\beta_{1} x_{i 1}+\ldots+\beta_{k} x_{i k}\right) 其中
σ
σ
sigma \sigma 是 Logistic 函数
σ
(
t
)
=
1
1
+
e
−
t
σ
(
t
)
=
1
1
+
e
−
t
sigma(t)=(1)/(1+e^(-t)) \sigma(t)=\frac{1}{1+e^{-t}}
图 10.5: Bayesian logistic 回归 我们将使用上下文管理器来定义一个 manual_logistic_model,我们稍后可以将其称为概率模型:
截距和两个特征的未观察到参数的 RV 使用无信息先验表示,这些假设平均值为 0 且标准差为 100 的正态分布。
似然根据 Logistic 回归的规范将参数与数据组合在一起。
结果建模为伯努利 RV,成功概率由可能性给出:
with pm.Model() as manual_logistic_model:
# coefficients as rvs with uninformative priors
intercept = pm.Normal('intercept', 0, sd=100)
beta_1 = pm.Normal('beta_1', 0, sd=100)
beta_2 = pm.Normal('beta_2', 0, sd=100)
# Likelihood transforms rvs into probabilities p(y=1)
# according to logistic regression model.
likelihood = pm.invlogit(intercept +
beta_1 * data.yield_curve +
beta_2 * data.leverage)
# Outcome as Bernoulli rv with success probability
# given by sigmoid function conditioned on actual data
pm.Bernoulli(name='logit',
p=likelihood,
observed=data.recession)
模型可视化和板块符号
命令 pm.model_to_graphviz(manual_logistic_model) 生成图 10.5 中右侧显示的板符号。它将未观察到的参数显示为浅椭圆,将观察到的元素显示为深椭圆。矩形表示模型定义中包含的数据隐含的观察到的模型元素的重复次数。
广义线性模型模块