diff --git a/.translate/state/inventory_dynamics.md.yml b/.translate/state/inventory_dynamics.md.yml new file mode 100644 index 00000000..3c63233d --- /dev/null +++ b/.translate/state/inventory_dynamics.md.yml @@ -0,0 +1,6 @@ +source-sha: dba5555ac22c4127d46bb9fcd209fc6f449d2662 +synced-at: "2026-07-18" +model: claude-sonnet-5 +mode: RESYNC +section-count: 4 +tool-version: 0.17.0 diff --git a/lectures/inventory_dynamics.md b/lectures/inventory_dynamics.md index a9a0dffb..26d53318 100644 --- a/lectures/inventory_dynamics.md +++ b/lectures/inventory_dynamics.md @@ -9,6 +9,13 @@ kernelspec: display_name: Python 3 (ipykernel) language: python name: python3 +translation: + title: 库存动态 + headings: + Overview: 概述 + Sample Paths: 样本路径 + Marginal Distributions: 边际分布 + Exercises: 练习 --- ```{raw} jupyter @@ -21,6 +28,9 @@ kernelspec: # 库存动态 +```{index} single: Markov process, inventory +``` + ```{contents} 目录 :depth: 2 ``` @@ -85,7 +95,7 @@ $$ 下面是一个类,它用于存储参数并生成库存的时间路径。 -```{code-cell} ipython3 +```{code-cell} python3 firm_data = [ ('s', float64), # 触发补货水平 ('S', float64), # 库存总容量 @@ -149,7 +159,7 @@ ax.legend(**legend_args) plt.show() ``` -现在让我们模拟多条路径,这样可以更好地了解库存动态的整体行为和可能的库存分布: +现在让我们模拟多条路径,从而更全面地了解不同结果的概率: ```{code-cell} ipython3 sim_length=200 @@ -243,7 +253,7 @@ plt.show() * 大多数公司已经补了两次货,但也有少部分公司只补货一次(见上图路径)。 * 第二种公司的库存较少。 -我们还可以使用[核密度估计](https://baike.baidu.com/item/核密度估计/10349033)来近似这个分布。 +我们还可以使用[核密度估计](https://en.wikipedia.org/wiki/Kernel_density_estimation)来近似这个分布。 核密度估计可以被理解为平滑的直方图。 @@ -291,7 +301,7 @@ plt.show() 你应该能看到收敛性,体现在两个连续分布之间的差异越来越小。 -尝试使用不同的初始条件来验证,无论从哪个初始状态开始,长期分布都会收敛到相同的平稳分布。 +尝试使用不同的初始条件来验证,从长期来看,分布在不同初始条件下是不变的。 ``` ```{solution-start} id_ex1 @@ -300,9 +310,9 @@ plt.show() 以下是其中一种解法: -由于这个计算需要大量的计算资源,我们需要编写更高效的代码。 +由于这个计算需要大量的CPU运算,我们尝试编写更高效的代码。 -为此,我们将创建一个专门的函数来替代之前使用的类,以提高计算效率。 +为此,我们编写了一个专门的函数来替代之前使用的类。 ```{code-cell} ipython3 s, S, mu, sigma = firm.s, firm.S, firm.mu, firm.sigma @@ -351,13 +361,13 @@ ax.legend() plt.show() ``` -从图中可以看出,随着时间的推移,分布逐渐收敛到一个稳定状态。 +注意到,到 $t=500$ 或 $t=750$ 时,密度几乎不再变化。 -在 t=500 和 t=750 时的分布几乎完全重合,表明我们已经得到了平稳密度的良好近似。 +我们已经得到了平稳密度的一个合理近似。 -你可以通过测试多个不同的初始条件,来确定初始条件确实不重要。 +你可以通过测试几个不同的初始条件,来确认初始条件确实不重要。 -例如,你可以尝试将所有公司的初始库存设置为 $X_0 = 20$ 或 $X_0 = 80$,然后重新运行上面的代码,观察分布最终是否收敛到相同的稳态分布。 +例如,你可以尝试将所有公司的初始库存设置为 $X_0 = 20$ 或 $X_0 = 80$,然后重新运行上面的代码。 ```{solution-end} ``` @@ -365,9 +375,9 @@ plt.show() ```{exercise} :label: id_ex2 -使用模拟的方法,估计一家初始库存为 $X_0 = 70$ 的公司在前50个时期内至少需要补充库存两次的概率。 +使用模拟的方法,计算初始库存为 $X_0 = 70$ 的公司在前50个时期内需要补货两次或以上的概率。 -为了获得统计上可靠的结果,请确保使用足够大的样本量。 +你需要较大的样本量才能得到准确的结果。 ``` ```{solution-start} id_ex2 @@ -378,7 +388,7 @@ plt.show() 同样地,由于计算量相对较大,我们编写了一个专门的函数而不是使用上面的类。 -我们将利用并行计算来同时处理多家公司的模拟,以提高计算效率。 +我们还将利用公司之间的并行计算。 ```{code-cell} ipython3 @jit(parallel=True) @@ -413,11 +423,11 @@ freq = compute_freq() print(f"至少发生两次缺货的频率 = {freq}") ``` -尝试将上面`@jit`[装饰器](https://zhuanlan.zhihu.com/p/53666925)中的`parallel`参数改为`False`。 +尝试将上面`@jit`装饰器中的`parallel`参数改为`False`。 根据你的系统配置,运行速度的差异可能会很大。 -(在我们的系统上运行速度提升了5倍!) +(在我们的系统上运行速度提升了5倍。) ```{solution-end} ```