From e9e606ed692e67b6dfc10bdeecec1f1468a80dd1 Mon Sep 17 00:00:00 2001 From: John Stachurski Date: Tue, 26 Nov 2019 08:24:44 +1100 Subject: [PATCH 1/4] getting started --- .../heavy_tails/light_heavy_fig1.png | Bin 0 -> 31968 bytes source/rst/heavy_tails.rst | 214 ++++++++++++++++++ source/rst/index_tools_and_techniques.rst | 1 + 3 files changed, 215 insertions(+) create mode 100644 source/_static/lecture_specific/heavy_tails/light_heavy_fig1.png create mode 100644 source/rst/heavy_tails.rst diff --git a/source/_static/lecture_specific/heavy_tails/light_heavy_fig1.png b/source/_static/lecture_specific/heavy_tails/light_heavy_fig1.png new file mode 100644 index 0000000000000000000000000000000000000000..2035bd18189d463a33285c28aea6fc798d88bec7 GIT binary patch literal 31968 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, which is heavy-tailed. + + +.. _light_heavy_fig1: + +.. figure:: + /_static/lecture_specific/heavy_tails/light_heavy_fig1.png + +In the top subfigure, the standard deviation of the normal distribution is 2, +and the draws are clustered around the mean. + +In the middle subfigure, the standard deviation is increased to 12 and, as expected, the amount of dispersion rises. + +The bottom subfigure, with the Cauchy draws, shows a +different pattern: tight clustering around the mean for the great majority of +observations, combined with a few sudden large deviations from the mean. + +This is typical of a heavy-tailed distribution. + + + +Heavy Tails in Asset Returns +---------------------------- + +Next let's look at some financial data. + +Our aim is to plot the daily change in the price of Amazon (AMZN) stock for +the period 1st January 2015 to 1st November 2019, + +This equates to daily returns if we set dividends aside. + +The code below produces the desired plot using Yahoo financial data via the ``yfinance`` library. + +.. code-block:: python3 + + import yfinance as yf + import pandas as pd + + s = yf.download('AMZN', '2015-1-1', '2019-11-1')['Adj Close'] + + r = s.pct_change() + + fig, ax = plt.subplots() + + ax.plot(r, linestyle='', marker='o', alpha=0.5, ms=4) + ax.vlines(r.index, 0, r.values, lw=0.2) + + ax.set_ylabel('returns', fontsize=12) + ax.set_xlabel('date', fontsize=12) + + plt.show() + + +Five of the 1217 observations are more than 5 standard +deviations from the mean. + +Overall, the figure is suggestive of heavy tails, +although not to the same degree as the Cauchy distribution the +figure above. + +If, however, one takes tick-by-tick data rather +daily data, the heavy-tailedness of the distribution increases further. + +.. See, e.g., https://www.researchgate.net/figure/Financial-returns-of-high-frequency-trading-observations-per-minute-from-Bank-of_fig1_330700816 + +.. Ideally, get AMZN tick-by-tick data + + + +Exercises +========= + + +Exercise 1 +---------- + +Replicate :ref:`this figure ` . Use ``np.random.seed(11)`` +to set the seed. + + +Solutions +========= + + +Exercise 1 +---------- + +.. code-block:: python3 + + + n = 120 + np.random.seed(11) + + fig, axes = plt.subplots(3, 1, figsize=(6, 12)) + + for ax in axes: + ax.set_ylim((-120, 120)) + + s_vals = 2, 12 + + for ax, s in zip(axes[:2], s_vals): + data = np.random.randn(n) * s + ax.plot(list(range(n)), data, linestyle='', marker='o', alpha=0.5, ms=4) + ax.vlines(list(range(n)), 0, data, lw=0.2) + ax.set_title(f"draws from $N(0, \sigma^2)$ with $\sigma = {s}$", fontsize=11) + + ax = axes[2] + distribution = cauchy() + data = distribution.rvs(n) + ax.plot(list(range(n)), data, linestyle='', marker='o', alpha=0.5, ms=4) + ax.vlines(list(range(n)), 0, data, lw=0.2) + ax.set_title(f"draws from the Cauchy distribution", fontsize=11) + + plt.subplots_adjust(hspace=0.25) + + plt.show() + diff --git a/source/rst/index_tools_and_techniques.rst b/source/rst/index_tools_and_techniques.rst index 13d2fe81..83500c84 100644 --- a/source/rst/index_tools_and_techniques.rst +++ b/source/rst/index_tools_and_techniques.rst @@ -24,3 +24,4 @@ tools and techniques complex_and_trig orth_proj lln_clt + heavy_tails From 3db28d7fd10c9943148085de167d12650654bc1f Mon Sep 17 00:00:00 2001 From: John Stachurski Date: Tue, 26 Nov 2019 08:27:57 +1100 Subject: [PATCH 2/4] updated bib --- source/_static/quant-econ.bib | 115 ++++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/source/_static/quant-econ.bib b/source/_static/quant-econ.bib index 45b96801..7ad39ae6 100644 --- a/source/_static/quant-econ.bib +++ b/source/_static/quant-econ.bib @@ -3,6 +3,121 @@ Note: Extended Information (like abstracts, doi, url's etc.) can be found in quant-econ-extendedinfo.bib file in _static/ ### + +@article{ahn2018inequality, + author = {Ahn, SeHyoun and Kaplan, Greg and Moll, Benjamin and Winberry, Thomas and Wolf, Christian}, + title = {When Inequality Matters for Macro and Macro Matters for Inequality}, + journal = {NBER Macroeconomics Annual}, + year = {2018}, + volume = {32}, + number = {1}, + pages = {1--75}, + publisher = {University of Chicago Press}, +} + +@techreport{bhandari2018inequality, + title={Inequality, Business Cycles, and Monetary-Fiscal Policy}, + author={Bhandari, Anmol and Evans, David and Golosov, Mikhail and Sargent, Thomas J}, + year={2018}, + institution={National Bureau of Economic Research} +} + +@Article{glaeser2003injustice, + author = {Glaeser, Edward and Scheinkman, Jose and Shleifer, Andrei}, + title = {The Injustice of Inequality}, + journal = {Journal of Monetary Economics}, + year = {2003}, + volume = {50}, + number = {1}, + pages = {199--222}, + publisher = {Elsevier}, +} + +@article{acemoglu2002political, + author = {Acemoglu, Daron and Robinson, James A.}, + title = {The Political Economy of the {K}uznets curve}, + journal = {Review of Development Economics}, + year = {2002}, + volume = {6}, + number = {2}, + pages = {183--203}, + publisher = {Wiley Online Library}, +} + + +@article{rozenfeld2011area, + title={The area and population of cities: New insights from a different + perspective on cities}, + author={Rozenfeld, Hern{\'a}n D and Rybski, Diego and Gabaix, Xavier and + Makse, Hern{\'a}n A}, + journal={American Economic Review}, + volume={101}, + number={5}, + pages={2205--25}, + year={2011} +} + +@book{rachev2003handbook, + title={Handbook of heavy tailed distributions in finance: Handbooks in + finance}, + author={Rachev, Svetlozar Todorov}, + volume={1}, + year={2003}, + publisher={Elsevier} +} + +@article{mandelbrot1963variation, + title={The variation of certain speculative prices}, + author={Mandelbrot, Benoit}, + journal={The Journal of Business}, + volume={36}, + number={4}, + pages={394--419}, + year={1963} +} + +@article{gabaix2016power, + title={Power laws in economics: An introduction}, + author={Gabaix, Xavier}, + journal={Journal of Economic Perspectives}, + volume={30}, + number={1}, + pages={185--206}, + year={2016} +} + + +@article{axtell2001zipf, + title={Zipf distribution of US firm sizes}, + author={Axtell, Robert L}, + journal={science}, + volume={293}, + number={5536}, + pages={1818--1820}, + year={2001}, + publisher={American Association for the Advancement of + Science} +} + +@article{benhabib2018skewed, + title={Skewed wealth distributions: Theory and empirics}, + author={Benhabib, Jess and Bisin, Alberto}, + journal={Journal of Economic Literature}, + volume={56}, + number={4}, + pages={1261--91}, + year={2018} +} + +@article{pareto1896cours, + title={Cours d’{\'e}conomie politique}, + author={Vilfredo, Pareto}, + journal={Rouge, Lausanne}, + volume={2}, + year={1896} +} + + @article{attanasio2011risk, title={Risk sharing in private information models with asset accumulation: Explaining the excess smoothness of consumption}, author={Attanasio, Orazio P and Pavoni, Nicola}, From b31537f1c1e97189bb78eb1d3bf1a14623d250d1 Mon Sep 17 00:00:00 2001 From: John Stachurski Date: Tue, 26 Nov 2019 10:39:33 +1100 Subject: [PATCH 3/4] added stuff --- .../heavy_tails/rank_size_fig1.png | Bin 0 -> 25222 bytes source/_static/quant-econ.bib | 9 + source/rst/heavy_tails.rst | 319 +++++++++++++++++- source/rst/lln_clt.rst | 106 ------ 4 files changed, 326 insertions(+), 108 deletions(-) create mode 100644 source/_static/lecture_specific/heavy_tails/rank_size_fig1.png diff --git a/source/_static/lecture_specific/heavy_tails/rank_size_fig1.png b/source/_static/lecture_specific/heavy_tails/rank_size_fig1.png new file mode 100644 index 0000000000000000000000000000000000000000..81d0c35a8ed4c07c93086777f97523cd4dab0502 GIT binary patch literal 25222 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 R;eSRT20EsMr+C-Me*uaG8w3CV literal 0 HcmV?d00001 diff --git a/source/_static/quant-econ.bib b/source/_static/quant-econ.bib index 7ad39ae6..22b09b19 100644 --- a/source/_static/quant-econ.bib +++ b/source/_static/quant-econ.bib @@ -3,6 +3,15 @@ Note: Extended Information (like abstracts, doi, url's etc.) can be found in quant-econ-extendedinfo.bib file in _static/ ### +@inproceedings{nishiyama2004estimation, + title={Estimation and testing for rank size rule regression under pareto + distribution}, + author={Nishiyama, Y and Osada, S and Morimune, K}, + booktitle={Proceedings of the International Environmental Modelling + and Software Society iEMSs 2004 International Conference}, + year={2004}, + organization={Citeseer} +} @article{ahn2018inequality, author = {Ahn, SeHyoun and Kaplan, Greg and Moll, Benjamin and Winberry, Thomas and Wolf, Christian}, diff --git a/source/rst/heavy_tails.rst b/source/rst/heavy_tails.rst index 3004cc4f..dc0c9e98 100644 --- a/source/rst/heavy_tails.rst +++ b/source/rst/heavy_tails.rst @@ -164,6 +164,210 @@ daily data, the heavy-tailedness of the distribution increases further. +Failure of the LLN +================== + +One impact of heavy tails is that sample averages can be poor estimators of +the underlying mean of the distribution. + +To understand this point better, recall :doc:`our earlier discussion +` of the Law of Large Numbers, which considered iid :math:`X_1, +\ldots, X_n` with common distribution :math:`F` + +If :math:`\mathbb E |X_i|` is finite, then +the sample mean :math:`\bar X_n := \frac{1}{n} \sum_{i=1}^n X_i` satisfies + +.. math:: + :label: lln_as2 + + \mathbb P \left\{ \bar X_n \to \mu \text{ as } n \to \infty \right\} = 1 + +where :math:`\mu := \mathbb E X_i = \int x F(x)` is the common mean of the sample. + +The condition :math:`\mathbb E | X_i | = \int |x| F(x) < \infty` holds +in most cases but can fail if the distribution :math:`F` is very heavy tailed. + +For example, it fails for the Cauchy distribution + +Let's have a look at the behavior of the sample mean in this case, and see +whether or not the LLN is still valid. + + +.. code-block:: python3 + + n = 1000 + np.random.seed(1234) + + distribution = cauchy() + + fig, ax = plt.subplots(figsize=(10, 6)) + data = distribution.rvs(n) + + # Compute sample mean at each n + sample_mean = np.empty(n) + + for i in range(1, n): + sample_mean[i] = np.mean(data[:i]) + + # Plot + ax.plot(list(range(n)), sample_mean, 'r-', lw=3, alpha=0.6, + label='$\\bar X_n$') + ax.plot(list(range(n)), [0] * n, 'k--', lw=0.5) + ax.legend() + + plt.show() + + +The sequence shows no sign of converging. + +Will convergence occur if we take :math:`n` even larger? + +The answer is no. + +To see this, recall that the `characteristic function `_ of the Cauchy distribution is + +.. math:: + :label: lln_cch + + \phi(t) = \mathbb E e^{itX} = \int e^{i t x} f(x) dx = e^{-|t|} + + +Using independence, the characteristic function of the sample mean becomes + +.. math:: + + \begin{aligned} + \mathbb E e^{i t \bar X_n } + & = \mathbb E \exp \left\{ i \frac{t}{n} \sum_{j=1}^n X_j \right\} + \\ + & = \mathbb E \prod_{j=1}^n \exp \left\{ i \frac{t}{n} X_j \right\} + \\ + & = \prod_{j=1}^n \mathbb E \exp \left\{ i \frac{t}{n} X_j \right\} + = [\phi(t/n)]^n + \end{aligned} + + +In view of :eq:`lln_cch`, this is just :math:`e^{-|t|}`. + +Thus, in the case of the Cauchy distribution, the sample mean itself has the very same Cauchy distribution, regardless of :math:`n`! + +In particular, the sequence :math:`\bar X_n` does not converge to any point. + + +.. _cltail: + +Classifying Tail Properties +=========================== + +To keep our discussion precise, we need some definitions concerning tail +properties. + +We will focus our attention on the right hand tails of +nonnegative random variables and their distributions. + +The definitions for +left hand tails are very similar and we omit them to simplify the exposition. + +A distribution :math:`F` on :math:`\mathbb R_+` is called **heavy-tailed** if + +.. math:: + :label: defht + + \int_0^\infty \me^{tx} F(\diff x) = \infty \; \text{ for all } t > 0. + +We say that a nonnegative random variable :math:`X` is **heavy-tailed** if its distribution :math:`F(x) := \mathbb P\{X \leq x\}` is heavy-tailed. + +This is equivalent to stating that +its **moment generating function** +:math:`m(t) := \mathbb E \exp(t X)` is infinite for all :math:`t > 0`. + +* For example, the lognormal distribution is heavy-tailed because its + moment generating function is infinite everywhere on :math:`(0, \infty)`. + +A distribution :math:`F` on :math:`\RR_+` is called **light-tailed** if it is not heavy-tailed. + +A nonnegative random variable :math:`X` is **light-tailed** if +its distribution :math:`F` is light-tailed. + +* Example: Every random variable with bounded support is light-tailed. (Why?) + +* Example: If :math:`X` has the exponential distribution, with cdf :math:`F(x) = 1 - \exp(-\lambda x)` for some :math:`\lambda > 0`, then its moment generating function is finite whenever :math:`t < \lambda`. Hence :math:`X` is light-tailed. + +One can show that if :math:`X` is light-tailed, then all of its moments are finite. + +The contrapositive is that if some moment is infinite, then :math:`X` is heavy-tailed. + +The latter condition is not necessary, however. + +* Example: the lognormal distribution is heavy-tailed but every moment is finite. + +One specific class of heavy-tailed distributions has been found repeatedly in +economic and social phenomena: the class of power laws. + +Specifically, given :math:`\alpha > 0`, a nonnegative random variable :math:`X` is said to have a **Pareto tail** with **tail index** :math:`\alpha` if + +.. math:: + :label: plrt + + \lim_{x \to \infty} x^\alpha \, \mathbb P\{X > x\} = c. + +Evidently :eq:`plrl` implies the existence of positive constants :math:`b` and :math:`\bar x` such that :math:`\mathbb P\{X > x\} \geq b x^{- \alpha}` whenever :math:`x \geq \bar x`. + +The implication is that :math:`\mathbb P\{X > x\}` converges to zero no faster than :math:`x^{-\alpha}`. + +In some sources, a random variable obeying :eq:`plrl` is said to have a **power law tail**. + +The primary example is the **Pareto distribution**, which has distribution + +.. math:: + :label: pareto + + F(x) = + \begin{cases} + 1 - \left( \bar x/x \right)^{\alpha} + & \text{ if } x \geq \bar x + \\ + 0 + & \text{ if } x < \bar x + \end{cases} + +for some positive constants :math:`\bar x` and :math:`\alpha`. + +It is easy to see that if :math:`X \sim F`, then :math:`\mathbb P\{X > x\}` satisfies :eq:`plrt`. + +Thus, in line with the terminology, a Pareto distributed random variables have a Pareto tail. + + +Rank-Size Plots +--------------- + + +A graphical technique for investigating Pareto tails and power laws is the so-called **rank-size plot**. + +This kind of figure plots +log size against log rank of the population (i.e., location in the population +when sorted from smallest to largest). + +Often just the largest 5 or 10\% of observations are plotted. + +For a sufficiently large number of draws from a Pareto distribution, the plot generates a straight line. For distributions with thinner tails, the data points are concave. + +A discussion of why this occurs can be found in :cite:`nishiyama2004estimation`. + +The figure below provides one example, using simulated data. + +The rank-size plots shows draws from three different distributions: folded normal, chi squared with 1 degree of freedom and Pareto. + +In each case, the largest 5\% of 1,000 draws are shown. + +The Pareto sample produces a straight line, while the line produced by the other samples is concave. + +.. _rank_size_fig1: + +.. figure:: + /_static/lecture_specific/heavy_tails/rank_size_fig1.png + + Exercises ========= @@ -171,8 +375,37 @@ Exercises Exercise 1 ---------- -Replicate :ref:`this figure ` . Use ``np.random.seed(11)`` -to set the seed. +Replicate :ref:`the figure presented above ` that compares normal and Cauchy draws. + +Use ``np.random.seed(11)`` to set the seed. + +Exercise 2 +---------- + +Prove: If :math:`X` has a Pareto tail with tail index :math:`\alpha`, then +:math:`\mathbb E[X^r] = \infty` for all :math:`r \geq \alpha`. + + +Exercise 3 +---------- + +Repeat exercise 1, but replacing the three distributions (two normal, one +Cauchy) with three Pareto distributions using different choices of +:math:`\alpha`. + +For :math:`\alpha`, try 1.15, 1.5 and 1.75. + +Use ``np.random.seed(12)`` to set the seed. + + + +Exercise 4 +---------- + +Replicate the rank-size plot figure :ref:`presented above `. + +Use ``np.random.seed(11)`` to set the seed. + Solutions @@ -212,3 +445,85 @@ Exercise 1 plt.show() +Exercise 2 +---------- + +Let :math:`X` have a Pareto tail with tail index :math:`\alpha` and let :math:`F` be its cdf. + +Fix :math:`r \geq \alpha`. + +As discussed after :eq:`plrt`, we can take positive constants :math:`b` and :math:`\bar x` such that + +.. math:: + + \mathbb P\{X > x\} \geq b x^{- \alpha} \text{ whenever } x \geq \bar x + +But then + +.. math:: + \mathbb E X^r = r \int_0^\infty x^{r-1} \mathbb P\{ X > x \} x + \geq + r \int_0^{\bar x} x^{r-1} \mathbb P\{ X > x \} x + + r \int_{\bar x}^\infty x^{r-1} b x^{-\alpha} x. + +We know that :math:`\int_{\bar x}^\infty x^{r-\alpha-1} x = \infty` whenever :math:`r - \alpha - 1 \geq -1`. + +Since :math:`r \geq \alpha`, we have :math:`\mathbb E X^r = \infty`. + + +Exercise 3 +---------- + + + +Exercise 4 +---------- + +First we will create a function and then generate the plot + +.. code:: ipython3 + + def rank_size_data(data, c=0.95): + """ + Generate rank-size data corresponding to distribution data. + + * data is array like + * c is a float indicating the top (c x 100)% of the + distribution + """ + w = - np.sort(- data) # Reverse sort + w = w[:int(len(w) * c)] # extract top c% + rank_data = np.log(np.arange(len(w)) + 1) + size_data = np.log(w) + return rank_data, size_data + + fig, axes = plt.subplots(3, 1, figsize=(6, 8)) + axes = axes.flatten() + + sample_size = 1000 + z = np.random.randn(sample_size) + + data_1 = np.abs(z) + data_2 = np.exp(z) + data_3 = np.exp(np.random.exponential(scale=1.0, size=sample_size)) + + data_list = [data_1, data_2, data_3] + labels = ['$|z|$', '$\exp(z)$', 'Pareto with tail index $1.0$'] + + + for data, label, ax in zip(data_list, labels, axes): + rank_data, size_data = rank_size_data(data) + ax.plot(rank_data, size_data, 'o', markersize=3.0, alpha=0.5, label=label) + + ax.set_xlabel("log rank") + ax.set_ylabel("log size") + ax.legend() + + + + fig.subplots_adjust(hspace=0.4) + + plt.savefig("rank_size_fig1.png") + plt.show() + + diff --git a/source/rst/lln_clt.rst b/source/rst/lln_clt.rst index a3ad719f..4734b2d4 100644 --- a/source/rst/lln_clt.rst +++ b/source/rst/lln_clt.rst @@ -283,112 +283,6 @@ The three distributions are chosen at random from a selection stored in the dict -Infinite Mean -------------- - -What happens if the condition :math:`\mathbb E | X | < \infty` in the statement of the LLN is not satisfied? - -This might be the case if the underlying distribution is heavy-tailed --- the best- -known example is the Cauchy distribution, which has density - -.. math:: - - f(x) = \frac{1}{\pi (1 + x^2)} \qquad (x \in \mathbb R) - - -The next figure shows 100 independent draws from this distribution - - - -.. code-block:: python3 - - n = 100 - distribution = cauchy() - - fig, ax = plt.subplots(figsize=(10, 6)) - data = distribution.rvs(n) - - ax.plot(list(range(n)), data, linestyle='', marker='o', alpha=0.5) - ax.vlines(list(range(n)), 0, data, lw=0.2) - ax.set_title(f"{n} observations from the Cauchy distribution") - - plt.show() - - - - - -Notice how extreme observations are far more prevalent here than the previous figure. - -Let's now have a look at the behavior of the sample mean - - - -.. code-block:: python3 - - n = 1000 - distribution = cauchy() - - fig, ax = plt.subplots(figsize=(10, 6)) - data = distribution.rvs(n) - - # Compute sample mean at each n - sample_mean = np.empty(n) - - for i in range(1, n): - sample_mean[i] = np.mean(data[:i]) - - # Plot - ax.plot(list(range(n)), sample_mean, 'r-', lw=3, alpha=0.6, - label='$\\bar X_n$') - ax.plot(list(range(n)), [0] * n, 'k--', lw=0.5) - ax.legend() - - plt.show() - - - - - - -Here we've increased :math:`n` to 1000, but the sequence still shows no sign -of converging. - -Will convergence become visible if we take :math:`n` even larger? - -The answer is no. - -To see this, recall that the `characteristic function `_ of the Cauchy distribution is - -.. math:: - :label: lln_cch - - \phi(t) = \mathbb E e^{itX} = \int e^{i t x} f(x) dx = e^{-|t|} - - -Using independence, the characteristic function of the sample mean becomes - -.. math:: - - \begin{aligned} - \mathbb E e^{i t \bar X_n } - & = \mathbb E \exp \left\{ i \frac{t}{n} \sum_{j=1}^n X_j \right\} - \\ - & = \mathbb E \prod_{j=1}^n \exp \left\{ i \frac{t}{n} X_j \right\} - \\ - & = \prod_{j=1}^n \mathbb E \exp \left\{ i \frac{t}{n} X_j \right\} - = [\phi(t/n)]^n - \end{aligned} - - -In view of :eq:`lln_cch`, this is just :math:`e^{-|t|}`. - -Thus, in the case of the Cauchy distribution, the sample mean itself has the very same Cauchy distribution, regardless of :math:`n`. - -In particular, the sequence :math:`\bar X_n` does not converge to a point. - - - From 2dde41e7611656c20a3df867c059b52f6c063372 Mon Sep 17 00:00:00 2001 From: John Stachurski Date: Tue, 26 Nov 2019 12:41:21 +1100 Subject: [PATCH 4/4] misc --- .../heavy_tails/rank_size_fig1.png | Bin 25222 -> 25360 bytes source/rst/heavy_tails.rst | 59 +++++++++++++----- source/rst/smoothing_tax.rst | 2 +- 3 files changed, 45 insertions(+), 16 deletions(-) diff --git a/source/_static/lecture_specific/heavy_tails/rank_size_fig1.png b/source/_static/lecture_specific/heavy_tails/rank_size_fig1.png index 81d0c35a8ed4c07c93086777f97523cd4dab0502..872dc6144996524f82b58a201de686f9967e0387 100644 GIT binary patch literal 25360 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 literal 25222 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 R;eSRT20EsMr+C-Me*uaG8w3CV diff --git a/source/rst/heavy_tails.rst b/source/rst/heavy_tails.rst index dc0c9e98..cfd79a01 100644 --- a/source/rst/heavy_tails.rst +++ b/source/rst/heavy_tails.rst @@ -91,7 +91,8 @@ to plot independent draws and compare them side-by-side. A Simulation ------------- -The figure below shows a simulation. +The figure below shows a simulation. (You will be asked to replicate it in +the exercises.) The top two subfigures each show 120 independent draws from the normal distribution, which is light-tailed. @@ -268,26 +269,27 @@ nonnegative random variables and their distributions. The definitions for left hand tails are very similar and we omit them to simplify the exposition. +Light and Heavy Tails +--------------------- + A distribution :math:`F` on :math:`\mathbb R_+` is called **heavy-tailed** if .. math:: :label: defht - \int_0^\infty \me^{tx} F(\diff x) = \infty \; \text{ for all } t > 0. + \int_0^\infty \exp(tx) F(x) = \infty \; \text{ for all } t > 0. We say that a nonnegative random variable :math:`X` is **heavy-tailed** if its distribution :math:`F(x) := \mathbb P\{X \leq x\}` is heavy-tailed. -This is equivalent to stating that -its **moment generating function** +This is equivalent to stating that its **moment generating function** :math:`m(t) := \mathbb E \exp(t X)` is infinite for all :math:`t > 0`. * For example, the lognormal distribution is heavy-tailed because its moment generating function is infinite everywhere on :math:`(0, \infty)`. -A distribution :math:`F` on :math:`\RR_+` is called **light-tailed** if it is not heavy-tailed. +A distribution :math:`F` on :math:`\mathbb R_+` is called **light-tailed** if it is not heavy-tailed. -A nonnegative random variable :math:`X` is **light-tailed** if -its distribution :math:`F` is light-tailed. +A nonnegative random variable :math:`X` is **light-tailed** if its distribution :math:`F` is light-tailed. * Example: Every random variable with bounded support is light-tailed. (Why?) @@ -301,8 +303,12 @@ The latter condition is not necessary, however. * Example: the lognormal distribution is heavy-tailed but every moment is finite. + +Pareto Tails +------------ + One specific class of heavy-tailed distributions has been found repeatedly in -economic and social phenomena: the class of power laws. +economic and social phenomena: the class of so-called power laws. Specifically, given :math:`\alpha > 0`, a nonnegative random variable :math:`X` is said to have a **Pareto tail** with **tail index** :math:`\alpha` if @@ -311,11 +317,11 @@ Specifically, given :math:`\alpha > 0`, a nonnegative random variable :math:`X` \lim_{x \to \infty} x^\alpha \, \mathbb P\{X > x\} = c. -Evidently :eq:`plrl` implies the existence of positive constants :math:`b` and :math:`\bar x` such that :math:`\mathbb P\{X > x\} \geq b x^{- \alpha}` whenever :math:`x \geq \bar x`. +Evidently :eq:`plrt` implies the existence of positive constants :math:`b` and :math:`\bar x` such that :math:`\mathbb P\{X > x\} \geq b x^{- \alpha}` whenever :math:`x \geq \bar x`. The implication is that :math:`\mathbb P\{X > x\}` converges to zero no faster than :math:`x^{-\alpha}`. -In some sources, a random variable obeying :eq:`plrl` is said to have a **power law tail**. +In some sources, a random variable obeying :eq:`plrt` is said to have a **power law tail**. The primary example is the **Pareto distribution**, which has distribution @@ -342,7 +348,7 @@ Rank-Size Plots --------------- -A graphical technique for investigating Pareto tails and power laws is the so-called **rank-size plot**. +One graphical technique for investigating Pareto tails and power laws is the so-called **rank-size plot**. This kind of figure plots log size against log rank of the population (i.e., location in the population @@ -395,7 +401,7 @@ Cauchy) with three Pareto distributions using different choices of For :math:`\alpha`, try 1.15, 1.5 and 1.75. -Use ``np.random.seed(12)`` to set the seed. +Use ``np.random.seed(11)`` to set the seed. @@ -404,7 +410,7 @@ Exercise 4 Replicate the rank-size plot figure :ref:`presented above `. -Use ``np.random.seed(11)`` to set the seed. +Use ``np.random.seed(13)`` to set the seed. @@ -475,6 +481,29 @@ Exercise 3 ---------- +.. code:: ipython3 + + from scipy.stats import pareto + + np.random.seed(11) + + n = 120 + alphas = [1.15, 1.50, 1.75] + + fig, axes = plt.subplots(3, 1, figsize=(6, 8)) + + for (a, ax) in zip(alphas, axes): + ax.set_ylim((-5, 50)) + data = pareto.rvs(size=n, scale=1, b=a) + ax.plot(list(range(n)), data, linestyle='', marker='o', alpha=0.5, ms=4) + ax.vlines(list(range(n)), 0, data, lw=0.2) + ax.set_title(f"Pareto draws with $\\alpha = {a}$", fontsize=11) + + plt.subplots_adjust(hspace=0.4) + + plt.show() + + Exercise 4 ---------- @@ -499,8 +528,9 @@ First we will create a function and then generate the plot fig, axes = plt.subplots(3, 1, figsize=(6, 8)) axes = axes.flatten() - + sample_size = 1000 + np.random.seed(13) z = np.random.randn(sample_size) data_1 = np.abs(z) @@ -523,7 +553,6 @@ First we will create a function and then generate the plot fig.subplots_adjust(hspace=0.4) - plt.savefig("rank_size_fig1.png") plt.show() diff --git a/source/rst/smoothing_tax.rst b/source/rst/smoothing_tax.rst index 8271be1b..f4d3d931 100644 --- a/source/rst/smoothing_tax.rst +++ b/source/rst/smoothing_tax.rst @@ -60,7 +60,7 @@ interpretation. Isomorphism between Consumption and Tax Smoothing ---------------------------------------------- +------------------------------------------------- It is convenient that for each version of a consumption-smoothing model, a tax-smoothing counterpart can be obtained simply by