Skip to content

Commit

Permalink
Update inequality.md (#104)
Browse files Browse the repository at this point in the history
  • Loading branch information
longye-tian authored Oct 24, 2024
1 parent 8fcac6a commit 7cc187e
Showing 1 changed file with 24 additions and 25 deletions.
49 changes: 24 additions & 25 deletions lectures/inequality.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ kernelspec:
## 概览

在{doc}`long_run_growth` 中,我们研究了某些国家和地区的人均国内生产总值是如何变化的。
的变化。

人均 GDP 很重要,因为它能让我们了解某个国家的家庭平均收入。

Expand All @@ -28,7 +27,7 @@ kernelspec:
例如,假设有两个社会,每个社会都有 100 万人,其中
* 在第一个社会中,一个人的年收入是 $100,000,000,其他人的年收入为零。
其他人的收入为零
* 在第二个社会中,每个人的年收入都是 100 美元
这些国家的人均收入相同(平均收入为 100 美元),但人民的生活却大不相同(例如,在第一个社会中,几乎每个人都在挨饿,尽管有一个人非常富有)。
Expand All @@ -53,9 +52,9 @@ kernelspec:

最终,罗马共和国让位于一系列独裁政权 -- 从公元前 27 年的[屋大维](https://en.wikipedia.org/wiki/Augustus)(奥古斯都)开始。

这段历史告诉我们,不平等很重要,因为它可以推动世界重大事件的发生。
这段历史告诉我们,不平等很关键,因为它可以推动世界重大事件的发生。

不平等之所以重要,还有其他原因,比如它如何影响人类福祉。
不平等之所以关键,还有其他原因,比如它如何影响人类福祉。

有了这些动机,让我们开始思考什么是不平等,以及如何量化和分析不平等。

Expand Down Expand Up @@ -129,10 +128,9 @@ $$

如果我们使用 `matplotlib` 中的线形图,它将自动帮我们完成插值。

语句 $y = L(x)$ 的含义是,最低的 $(100 \times x$ \% 的人拥有$(100 \times y)$\% 的财富。
洛伦兹曲线 $y = L(x)$ 的含义是,最低的 $(100 \times x$ \% 的人拥有$(100 \times y)$\% 的财富。

* 如果 $x=0.5$,$y=0.1$,那么最底层的 50%人口拥有 10%的财富。
拥有 10%的财富。

在上面的讨论中,我们重点讨论了财富,但同样的观点也适用于收入、消费等。

Expand All @@ -141,9 +139,9 @@ $$

让我们来看一些例子,并尝试构建理解。

首先,让我们构建一个可以在下面的模拟中使用的 `lorenz_curve` 函数。
首先,让我们构建一个可以在下面模拟中使用的 `lorenz_curve` 函数。

构造一个函数,它能将收入或财富数据的数组转换为个人(或家庭)的累积份额和收入(或财富)的累积份额。
构造这样一个函数,它能将收入或财富数据的数组转换为个人(或家庭)的累积份额和收入(或财富)的累积份额。

```{code-cell} ipython3
def lorenz_curve(y):
Expand Down Expand Up @@ -192,7 +190,7 @@ def lorenz_curve(y):

在下图中,我们从对数正态分布中生成了 $n=2000$ 个样本,并将这些样本视为我们的总体。

直的 45 度线($x=L(x)$ 对于所有 $x$)对应于完全平等的情况。
其中45 度线($x=L(x)$ 对于所有 $x$)对应于完全平等的情况。

对数正态分布的样本产生了一个不那么平等的分布。

Expand Down Expand Up @@ -229,7 +227,7 @@ plt.show()
接下来让我们查看美国的收入和财富数据。

(data:survey-consumer-finance)=
下面的代码块导入了2016年的`SCF_plus`数据集的一个子集,
下面的代码导入了2016年的`SCF_plus`数据集的一个子集,
该数据集来源于[消费者财务调查](https://en.wikipedia.org/wiki/Survey_of_Consumer_Finances)(SCF)。

```{code-cell} ipython3
Expand All @@ -242,7 +240,7 @@ df_income_wealth = df.dropna()
df_income_wealth.head(n=5)
```

下一个代码块使用存储在数据框 `df_income_wealth` 中的数据来生成洛伦兹曲线。
接下来的代码使用存储在数据框 `df_income_wealth` 中的数据来生成洛伦兹曲线。

(代码稍微复杂一些,因为我们需要根据 SCF 提供的人口权重来调整数据。)

Expand Down Expand Up @@ -404,16 +402,16 @@ plt.show()

### 模拟数据的基尼系数

让我们通过一些模拟来研究基尼系数
让我们通过模拟数据来研究基尼系数

下面的代码从样本中计算基尼系数
下面的代码将从样本中计算基尼系数

(code:gini-coefficient)=

```{code-cell} ipython3
def gini_coefficient(y):
r"""
实现基尼不平等指数
实现的基尼不平等指数
参数
----------
Expand Down Expand Up @@ -535,6 +533,7 @@ plt.show()
```

我们可以在 {numref}`gini_histogram` 中看到,根据50年的数据和所有国家的数据,该指标在20到65之间变化。

现在,我们来看看美国在过去几十年的基尼系数变化。

```{code-cell} ipython3
Expand All @@ -544,7 +543,7 @@ data.head(n=5)
data.columns = data.columns.map(lambda x: int(x.replace('YR','')))
```

此包通常会返回包含年份信息的列。这在使用 pandas 简单绘图时并不总是方便,因此在绘图之前将结果转置可能会有帮助。)
这个数据包通常会返回包含年份信息的列。这在使用 pandas 简单绘图时并不总是方便,因此在绘图之前将结果转置可能会有帮助。)

```{code-cell} ipython3
data = data.T # 将年份作为行
Expand Down Expand Up @@ -573,7 +572,7 @@ plt.show()
(compare-income-wealth-usa-over-time)=
### 财富的基尼系数

在上一节中,我们研究了收入的基尼系数,重点是使用美国的数据
在上一节中,我们重点使用美国的数据研究了收入的基尼系数

现在让我们来看一下财富分布的基尼系数。

Expand Down Expand Up @@ -609,7 +608,7 @@ plt.show()

财富基尼系数的时间序列呈现出 U 形走势,在20世纪80年代初之前下降,然后迅速上升。

一个可能的原因是这种变化主要由技术驱动的
一个可能的原因是这种变化是主要由技术驱动的

然而,我们将在下文中看到,并非所有发达经济体都经历了类似的不平等增长。

Expand All @@ -624,7 +623,7 @@ data = gini_all.unstack()
data.columns
```

此数据集中包含167个国家的数据
此数据包中涵盖了167个国家的数据

让我们比较三个发达经济体:美国、英国和挪威。

Expand All @@ -643,15 +642,15 @@ ax.legend(labels=["美国", "英国", "挪威"], title="")
plt.show()
```

我们看到挪威的数据时间序列较短
我们发现挪威的数据时间序列较短

让我们仔细查看底层数据,看看是否可以修正这个问题。

```{code-cell} ipython3
data[['NOR']].dropna().head(n=5)
```

此数据集中挪威的数据可以追溯到1979年,但时间序列中存在空缺,matplotlib 没有显示这些数据点。
此数据包中挪威的数据可以追溯到1979年,但时间序列中存在空缺,所以matplotlib 没有显示这些数据点。

我们可以使用 `.ffill()` 方法来复制并前移序列中的最后已知值,以填补这些空缺。

Expand All @@ -671,13 +670,13 @@ ax.legend(labels=["美国", "英国", "挪威"], title="")
plt.show()
```

从该图中我们可以观察到,与英国和挪威相比,美国的基尼系数更高(即收入不平等程度更高)。
从这个图中我们可以观察到,与英国和挪威相比,美国的基尼系数更高(即收入不平等程度更高)。

挪威在这三个经济体中基尼系数最低,而且基尼系数没有上升的趋势。

### 基尼系数与人均GDP(随时间变化)

我们还可以查看基尼系数与人均GDP的比较(随时间变化)
我们还可以查看(随时间变化的)基尼系数与人均GDP的比较

让我们再次关注美国、挪威和英国。

Expand Down Expand Up @@ -846,11 +845,11 @@ plt.show()
```{exercise}
:label: inequality_ex1
使用模拟计算系列对数正态分布的前10%份额,这些对数正态分布与随机变量 $w_\sigma = \exp(\mu + \sigma Z)$ 相关联,其中 $Z \sim N(0, 1)$ 且 $\sigma$ 在一个从 $0.2$ 到 $4$ 的有限网格上变化。
使用模拟数据来计算对数正态分布的前10%份额,这些对数正态分布与随机变量 $w_\sigma = \exp(\mu + \sigma Z)$ 相关联,其中 $Z \sim N(0, 1)$ 且 $\sigma$ 在一个从 $0.2$ 到 $4$ 的有限网格上变化。
随着 $\sigma$ 的增加,$w_\sigma$ 的方差也在增加。
为了关注波动性,在每一步调整 $\mu$ 以保持等式 $\mu = -\sigma^2 / 2$ 为真
为了关注波动性,在每一步调整 $\mu$ 以保持等式 $\mu = -\sigma^2 / 2$ 成立
对于每个 $\sigma$,生成2000个 $w_\sigma$ 的独立抽样,并计算洛伦兹曲线和基尼系数。
Expand All @@ -872,7 +871,7 @@ def calculate_top_share(s, p=0.1):
return s[index:].sum() / s.sum()
```

继续使用上面定义的 `calculate_top_share` 函数和之前定义的 `lorenz_curve` 以及 `gini_coefficient` 函数,我们可以为各个 σ 值生成统计数据,并绘制变化趋势。
继续使用上面定义的 `calculate_top_share` 函数和之前定义的 `lorenz_curve` 以及 `gini_coefficient` 函数,我们可以为各个 $\sigma$ 值生成统计数据,并绘制变化趋势。

```{code-cell} ipython3
k = 5
Expand Down

0 comments on commit 7cc187e

Please sign in to comment.