{ "cells": [ { "cell_type": "markdown", "id": "5f56580c-551c-46a7-858a-25d9cb281850", "metadata": {}, "source": [ "# Pythagorean Means \n", "\n", "Suppose we have data points $x_1, x_2, \\dots, x_n$. The aritmetic mean, $M_A$, which is the mean we are most familiar with is defined as follows,\n", "\n", "$$\n", " M_A = \\frac{x_1 + x_2 + \\dots + x_n}{n}\n", "$$\n", "\n", "There are two other pythagorean means: the harmonic mean and the geometric mean. We will call these $M_H$ and $M_G$ respectively. They are defined as follows,\n", "\n", "$$\n", "\\begin{align}\n", " M_G &= \\sqrt[n]{x_1 \\cdot x_2 \\dots x_n}, \\\\\n", " M_H &= \\frac{n}{\\frac{1}{x_1} + \\frac{1}{x_2} + \\dots + \\frac{1}{x_n}}\n", "\\end{align}\n", "$$\n", "\n", "# When should the geometric mean be used?\n", "\n", "The geometric mean should be used when your data can be naturally multiplied together. For example when working out the average return from compounding interest.\n", "\n", "Let us suppose we invest £100 and get 10% return for 50 years (unrealistic I know). Calculate the aritmetic and geometric mean for this data." ] }, { "cell_type": "code", "execution_count": null, "id": "0a030a66-0dba-46ab-9cb7-5d5e57d77337", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 25, "id": "a180f047-d669-4d6a-8cf3-b3576be0148a", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "n = 50\n", "x = np.array([100 * 1.10 ** i for i in range(n)])\n", "am = x.sum() / n\n", "gm = x.prod() ** (1 / n)\n", "hm = n / (1 / x).sum()\n", "\n", "fig, ax = plt.subplots()\n", "ax.plot(x)\n", "\n", "mean_types = [\"Arithmetic Mean\", \"Geometric Mean\", \"Harmonic Mean\"]\n", "colors = [\"tab:orange\", \"tab:green\", \"tab:purple\"]\n", "for mean, mean_type, color in zip([am, gm, hm], mean_types, colors):\n", " ax.hlines(mean, 0, n, label=mean_type, linestyle=\"--\", color=color)\n", " ax.legend()" ] }, { "cell_type": "code", "execution_count": null, "id": "c3eab8c9-c259-4be5-81e2-4d0bdfd28183", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }