@@ -18,25 +18,26 @@ kernelspec:
1818
1919!pip install arviz pymc
2020```
21- 本讲座介绍了用于预测单变量自回归过程未来值函数的统计方法 。
21+ 本讲座介绍了用于预测一元自回归过程未来值函数的统计方法 。
2222
23- 这些方法旨在考虑这些统计数据的两个可能的不确定性来源 :
23+ 这些方法旨在考虑这些统计量的两个可能的不确定性来源 :
2424
2525- 影响转换规律的随机冲击
2626
2727- AR(1)过程参数值的不确定性
2828
2929我们考虑两类统计量:
3030
31- - 由AR(1)过程控制的随机过程{y_t}的预期值y _ {t+j}
31+ - 由AR(1)过程控制的随机过程 $ \ { y_t\} $的预期值 $y _ {t+j}$
3232
33- - 在时间t定义为未来值 {y_ {t+j}}_ {j ≥ 1}的非线性函数的样本路径特性
33+ - 在时间 $t$ 被定义为未来值 $ \ { y_ {t+j}\ }_ {j ≥ 1}$ 的非线性函数的样本路径特性
3434
3535** 样本路径特性** 是指诸如"到下一个转折点的时间"或"到下一次衰退的时间"之类的特征。
3636
3737为研究样本路径特性,我们将使用Wecker {cite}` wecker1979predicting ` 推荐的模拟程序。
3838
3939为了考虑参数的不确定性,我们将使用` pymc ` 构建未知参数的贝叶斯联合后验分布。
40+
4041让我们从一些导入开始。
4142
4243``` {code-cell} ipython3
@@ -45,14 +46,13 @@ import arviz as az
4546import pymc as pmc
4647import matplotlib.pyplot as plt
4748import matplotlib as mpl
48- FONTPATH = "fonts/SourceHanSerifSC-SemiBold.otf"
49- mpl.font_manager.fontManager.addfont(FONTPATH)
50- plt.rcParams['font.family'] = ['Source Han Serif SC']
51-
5249import seaborn as sns
5350
5451sns.set_style('white')
5552colors = sns.color_palette()
53+ FONTPATH = "fonts/SourceHanSerifSC-SemiBold.otf"
54+ mpl.font_manager.fontManager.addfont(FONTPATH)
55+ plt.rcParams['font.family'] = ['Source Han Serif SC']
5656
5757import logging
5858logging.basicConfig()
6767y_{t+1} = \rho y_t + \sigma \epsilon_{t+1}, \quad t \geq 0
6868$$ (ar1-tp-eq1)
6969
70- 其中标量$\rho$和 $\sigma$满足 $|\rho| < 1$和 $\sigma > 0$;
71- $\{\epsilon_{t+1}\}$是一个均值为$0$、方差为$1$的独立同分布正态随机变量序列。
70+ 其中标量 $\rho$ 和 $\sigma$ 满足 $|\rho| < 1$ 和 $\sigma > 0$;
71+ $\{\epsilon_{t+1}\}$ 是一个均值为 $0$、方差为 $1$ 的独立同分布正态随机变量序列。
7272
73- 初始条件$y_{0}$是一个已知数。
73+ 初始条件 $y_{0}$ 是一个已知数。
7474
75- 方程{eq}`ar1-tp-eq1`表明对于$t \geq 0$,$y_{t+1}$的条件密度为
75+ 方程{eq}`ar1-tp-eq1`表明对于 $t \geq 0$,$y_{t+1}$ 的条件密度为
7676
7777$$
7878f(y_ {t+1} | y_ {t}; \rho, \sigma) \sim {\mathcal N}(\rho y_ {t}, \sigma^2) \
7979$$ (ar1-tp-eq2)
8080
81- 此外,方程{eq}`ar1-tp-eq1`还表明对于$t \geq 0$,$y_{t+j}$(其中$j \geq 1$) 的条件密度为
81+ 此外,方程{eq}`ar1-tp-eq1`还表明对于$t \geq 0, j \geq 1 $,$y_{t+j}$ 的条件密度为
8282
8383$$
8484f(y_ {t+j} | y_ {t}; \rho, \sigma) \sim {\mathcal N}\left(\rho^j y_ {t}, \sigma^2 \frac{1 - \rho^{2j}}{1 - \rho^2} \right)
8585$$ (ar1-tp-eq3)
8686
87- 预测分布{eq}`ar1-tp-eq3`假设参数$\rho, \sigma$是已知的,我们表示
88- 通过对它们进行条件化。
87+ 预测分布{eq}`ar1-tp-eq3`假设参数 $\rho, \sigma$ 是已知的,我们通过以它们为条件来表达。
8988
90- 我们还想计算一个不对 $\rho,\sigma$进行条件化 ,而是考虑到它们的不确定性的预测分布。
89+ 我们还想计算一个不以 $\rho,\sigma$ 为条件 ,而是考虑到它们的不确定性的预测分布。
9190
92- 我们通过将{ eq}`ar1-tp-eq3`对联合后验分布 $\pi_t(\rho,\sigma | y^t)$进行积分来形成这个预测分布,该后验分布基于观测历史$y^t = \{y_s\}_{s=0}^t$ :
91+ 根据一个观测历史 $y^t = \{y_s\}_{s=0}^t$,我们有联合后验分布 $\pi_t(\rho,\sigma | y^t)$。我们通过对 { eq}`ar1-tp-eq3`关于 $\pi_t(\rho,\sigma | y^t)$ 进行积分来形成这个预测分布 :
9392
9493$$
9594f(y_ {t+j} | y^t) = \int f(y_ {t+j} | y_ {t}; \rho, \sigma) \pi_t(\rho,\sigma | y^t ) d \rho d \sigma
9695$$ (ar1-tp-eq4)
9796
98- 预测分布{eq}`ar1-tp-eq3`假设参数$(\rho,\sigma)$是已知的。
97+ 预测分布{eq}`ar1-tp-eq3`假设参数 $(\rho,\sigma)$ 是已知的。
9998
100- 预测分布{eq}`ar1-tp-eq4`假设参数$(\rho,\sigma)$是不确定的,但有已知的概率分布$\pi_t(\rho,\sigma | y^t )$。
99+ 预测分布{eq}`ar1-tp-eq4`假设参数 $(\rho,\sigma)$ 是不确定的,但有已知的概率分布 $\pi_t(\rho,\sigma | y^t)$。
101100
102101我们还想计算一些"样本路径统计量"的预测分布,这可能包括
103102
104103- 到下一次"衰退"的时间,
105- - 未来8个周期内Y的最小值 ,
104+ - 未来8个周期内 $Y$ 的最小值 ,
106105- "严重衰退",以及
107106- 到下一个转折点(正或负)的时间。
108107
109- 为了在我们不确定参数值的情况下实现这一点 ,我们将按以下方式扩展Wecker的{cite}`wecker1979predicting`方法。
108+ 为了在我们对参数值不确定的情况下实现这一目标 ,我们将按以下方式扩展Wecker的{cite}`wecker1979predicting`方法。
110109
111- - 首先模拟一个长度为 $T_0$的初始路径;
112- - 对于给定的先验分布,在观察初始路径后从参数$\left(\rho,\sigma\right)$的后验联合分布中抽取大小为$N$的样本;
113- - 对于每个抽样$n=0,1,...,N$,用参数$\left(\rho_n,\sigma_n\right)$模拟长度为$T_1$的"未来路径",并计算我们的三个"样本路径统计量";
114- - 最后,将$N$个样本的所需统计量绘制为经验分布。
110+ - 首先,模拟一个长度为 $T_0$的初始路径;
111+ - 对于给定的先验分布,在观察初始路径后从参数 $\left(\rho,\sigma\right)$ 的后验联合分布中抽取大小为 $N$ 的样本;
112+ - 对于每个抽样 $n=0,1,...,N$,用参数 $\left(\rho_n,\sigma_n\right)$ 模拟长度为 $T_1$ 的"未来路径",并计算我们的三个"样本路径统计量";
113+ - 最后,将 $N$ 个样本的所需统计量绘制为经验分布。
115114
116115## 实现
117116
118- 首先,我们将模拟一个样本路径,从这个路径开始进行预测 。
117+ 首先,我们将模拟一个样本路径,并以此为基础进行我们的预测 。
119118
120- 除了绘制样本路径外,在假设已知真实参数值的情况下,我们将使用条件分布绘制$.9$和$.95$的覆盖区间
121- 上述{eq}`ar1-tp-eq3`所描述的。
119+ 除了绘制样本路径外,在假设已知真实参数值的情况下,我们将使用上述{eq}`ar1-tp-eq3`所描述的条件分布绘制 $.9$ 和 $.95$ 的覆盖区间。
122120
123- 我们还将绘制一系列未来值序列的样本,并观察它们相对于覆盖区间的分布情况 。
121+ 我们还将绘制一系列未来值序列的样本,并观察它们相对于覆盖区间落在何处 。
124122
125123```{code-cell} ipython3
126124def AR1_simulate(rho, sigma, y0, T):
@@ -184,15 +182,15 @@ plot_initial_path(initial_path)
184182
185183## 路径属性的预测分布
186184
187- Wecker {cite}`wecker1979predicting` 提出使用模拟技术来表征某些统计量的预测分布, 这些统计量是 $y$ 的非线性函数。
185+ Wecker {cite}`wecker1979predicting` 提出使用模拟技术来表征某些统计量的预测分布, 这些统计量是 $y$ 的非线性函数。
188186
189- 他将这些函数称为"路径属性", 以区别于单个数据点的属性。
187+ 他将这些函数称为"路径属性", 以区别于单个数据点的属性。
190188
191- 他研究了给定序列 $\{y_t\}$ 的两个特殊的前瞻性路径属性 。
189+ 他研究了给定序列 $\{y_t\}$ 的两个特殊的未来路径属性 。
192190
193191第一个是**到下一个转折点的时间**。
194192
195- * 他将**"转折点"**定义为 $y$ 连续两次下降中的第二个时间点。
193+ * 他将 **"转折点"** 定义为 $y$ 连续两次下降中的第二个时间点。
196194
197195为了研究这个统计量,让 $Z$ 作为一个指示过程
198196
218216W_t(\omega):= \inf \{ k\geq 1 \mid Z_ {t+k}(\omega) = 1\}
219217$$
220218
221- Wecker {cite}`wecker1979predicting`还研究了**未来8个季度$Y$的最小值**, 可以定义为随机变量:
219+ Wecker {cite}`wecker1979predicting`还研究了**未来8个季度 $Y$ 的最小值**, 可以定义为随机变量:
222220
223221$$
224222M_t(\omega) := \min \{ Y_ {t+1}(\omega); Y_ {t+2}(\omega); \dots; Y_ {t+8}(\omega)\}
271269- "在一次或两次下降之后,$Y$ 将连续两个季度增长"
272270
273271根据{cite}`wecker1979predicting`,我们可以通过模拟来计算每个时期 $t$ 的 $P_t$ 和 $N_t$ 的概率。
274- ## 类韦克算法
272+
273+ ## 一个类似Wecker的算法
275274
276275该过程包含以下步骤:
277276
@@ -392,9 +391,9 @@ def next_turning_point(omega):
392391
393392 return up_turn, down_turn
394393```
395- ## 原始韦克方法
394+ ## 原始Wecker方法
396395
397- 现在我们通过模拟未来路径并计算预测分布来应用韦克的原始方法,这些预测分布以数据生成模型相关的真实参数为条件 。
396+ 现在我们应用Wecker的原始方法,以与数据生成模型相关的真实参数为条件,通过模拟未来路径并计算预测分布 。
398397
399398```{code-cell} ipython3
400399def plot_Wecker(initial_path, N, ax):
@@ -458,9 +457,9 @@ plt.show()
458457```
459458## 扩展 Wecker 方法
460459
461- 现在我们应用基于 {eq}`ar1-tp-eq4` 定义的 $y$ 的预测密度的"扩展" Wecker 方法,该方法考虑了参数 $\rho, \sigma$ 的后验不确定性。
460+ 现在,我们应用我们的的"扩展" Wecker 方法。该方法基于 {eq}`ar1-tp-eq4` 定义的 $y$ 的预测密度,考虑了参数 $\rho, \sigma$ 的后验不确定性。
462461
463- 为了近似 {eq}`ar1-tp-eq4` 右侧的积分,我们每次从联合后验分布中重复抽取参数,同时从模型 {eq}`ar1-tp-eq1` 中模拟未来值序列 。
462+ 为了近似 {eq}`ar1-tp-eq4` 右侧的积分,我们每次从模型 {eq}`ar1-tp-eq1` 中模拟未来值序列时,都重复地从联合后验分布中抽取参数 。
464463
465464```{code-cell} ipython3
466465def plot_extended_Wecker(post_samples, initial_path, N, ax):
0 commit comments