<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts | Zach Eisenstein</title><link>https://zscore.netlify.app/post/</link><atom:link href="https://zscore.netlify.app/post/index.xml" rel="self" type="application/rss+xml"/><description>Posts</description><generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><image><url>https://zscore.netlify.app/media/icon_hud9c82945b88ad05fb983663079bab794_4614_512x512_fill_lanczos_center_3.png</url><title>Posts</title><link>https://zscore.netlify.app/post/</link></image><item><title>When Diversification Increases Risk</title><link>https://zscore.netlify.app/post/when-diversification-increases-risk/</link><pubDate>Sat, 03 Sep 2022 00:00:00 +0000</pubDate><guid>https://zscore.netlify.app/post/when-diversification-increases-risk/</guid><description>&lt;link href="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/tabwid/tabwid.css" rel="stylesheet" />
&lt;link href="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/tabwid/scrool.css" rel="stylesheet" />
&lt;link href="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/tabwid/tabwid.css" rel="stylesheet" />
&lt;link href="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/tabwid/scrool.css" rel="stylesheet" />
&lt;h2 id="intro">Intro&lt;/h2>
&lt;p>Harry Markowitz of &lt;a href="https://en.wikipedia.org/wiki/Modern_portfolio_theory" target="_blank" rel="noopener">Modern Portfolio Theory&lt;/a> fame said that “Diversification is the only free lunch in investing” as it allows investors to reduce volatility without eroding returns. Diversification, through pooling of independent insured exposures, is also fundamental to risk management in insurance. &lt;strong>But what if risk pooling actually &lt;em>increased&lt;/em> risk?&lt;/strong>&lt;/p>
&lt;p>The great Paul Embrechts and co-authors recently published an article entitled &lt;a href="https://arxiv.org/pdf/2208.08471.pdf" target="_blank" rel="noopener">An unexpected stochastic dominance: Pareto distributions catastrophes, and risk exchange&lt;/a>. In this brief post I will explore the paper’s unintuitive findings using simulation.&lt;/p>
&lt;h2 id="a-brief-review-of-the-pareto-distribution">A brief review of the pareto distribution&lt;/h2>
&lt;p>The &lt;a href="https://en.wikipedia.org/wiki/Pareto_distribution" target="_blank" rel="noopener">pareto distribution&lt;/a> is a power-law distribution that was originally used to measure wealth inequality and underlies the familiar &lt;a href="https://en.wikipedia.org/wiki/Pareto_principle" target="_blank" rel="noopener">80-20 rule&lt;/a>. In its most basic form, it contains two variables, a shape variable $\alpha$, and a scale $\theta$ (minimum value, typically known) with probability density $f(x) = \frac{\alpha \theta^\alpha}{(x)^{\alpha + 1}}$, CDF $F(x) = 1 - (\frac{\theta}{x})^{\alpha}$ and mean $E[X] = \theta \frac{\alpha}{\alpha - 1}$.&lt;/p>
&lt;p>The shape $\alpha$, (“tail exponent”) controls the degree to which rare, extreme events disproportionately control the shape of the distribution (e.g.the mean).&lt;/p>
&lt;p>Below you can see the effect of $\alpha$ on the tail of the distribution.&lt;/p>
&lt;img src="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/figure-html/unnamed-chunk-1-1.png" width="672" />
&lt;h2 id="the-unexpected-stochastic-dominance">The unexpected stochastic dominance&lt;/h2>
&lt;p>Let’s first introduce the concept of stochastic dominance.&lt;/p>
&lt;blockquote>
&lt;p>For two random variable X and Y representing random losses, we say X is smaller than Y in first-order stochastic dominance, denoted by $X \le_{st} Y$, if $P(X \le x) \ge P(Y \le x) for x \in \mathbb{R}$&lt;/p>
&lt;/blockquote>
&lt;p>This implies that X is the preferred risk for decision makers as globally, for a given loss amount x, it has a lower probability of exceeding x than Y.&lt;/p>
&lt;p>The key result in the paper is Theorem 1.&lt;/p>
&lt;blockquote>
&lt;p>For iid random variables $X_1, &amp;hellip;, X_n$ following a Pareto distribution with infinite mean and weights $\theta_1, &amp;hellip;, \theta_n$ with $\sum_{i = 1}^{n} \theta_i = 1$, our main finding in Theorem 1 is the stochastic dominance relation $$X_1 \le_{st} \theta_1 X_1 + &amp;hellip; + \theta_n X_n$$&lt;/p>
&lt;/blockquote>
&lt;p>In plain english, for a pareto distributed variable with infinite mean (i.e.$\alpha &amp;lt; 1$), the quantiles (or Value at Risk–VaR) of a single random variable will be &lt;strong>less than or equal to&lt;/strong> that of a “diversified” portfolio of identical risks!&lt;/p>
&lt;img src="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/figure-html/unnamed-chunk-2-1.png" width="672" />
&lt;p>While VaR has been known to fail sub-additivity, that has been confined to some contrived cases and for select percentiles. The amazing result here is that this holds across the full distribution. You’re better off putting all your eggs in one basket!&lt;/p>
&lt;h2 id="a-simulation-approach">A simulation approach&lt;/h2>
&lt;p>I’ll explore the finding above using simulation and visualization. I’ll utilize the &lt;code>*pareto&lt;/code> functions from the &lt;code>EnvStats&lt;/code> package.&lt;/p>
&lt;h3 id="finite-mean">Finite Mean&lt;/h3>
&lt;p>First lets look at the case of finite mean, where diversification works. We’ll simulate 10 iid parteo random variables with $\alpha = 3$ and compare the distributions of a standalone portfolio of X1 to a portfolio with 10 equal shares of X1:X10 $\frac{1}{n}\sum_{i = 1}^{n} X_i$.&lt;/p>
&lt;p>To simulate I’ll write a function &lt;code>rpareto_n&lt;/code> that, in addition to the tail factor, takes the number of risks &lt;code>n&lt;/code> as an input and returns the average for each trial.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-r" data-lang="r">&lt;span style="display:flex;">&lt;span>rpareto_n &lt;span style="color:#f92672">&amp;lt;-&lt;/span> &lt;span style="color:#a6e22e">function&lt;/span>(n &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>, alpha &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">3&lt;/span>, scale &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>, trials &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">10e3&lt;/span>){
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># Simulate n iid pareto variables&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> sim &lt;span style="color:#f92672">&amp;lt;-&lt;/span> &lt;span style="color:#a6e22e">matrix&lt;/span>(&lt;span style="color:#a6e22e">rpareto&lt;/span>(n &lt;span style="color:#f92672">*&lt;/span> trials, shape &lt;span style="color:#f92672">=&lt;/span> alpha, location &lt;span style="color:#f92672">=&lt;/span> scale),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> nrow &lt;span style="color:#f92672">=&lt;/span> trials)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># equal proportions&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> b &lt;span style="color:#f92672">&amp;lt;-&lt;/span> &lt;span style="color:#a6e22e">rowSums&lt;/span>(sim &lt;span style="color:#f92672">/&lt;/span> n)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">return&lt;/span>(b)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>…and simulate.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-r" data-lang="r">&lt;span style="display:flex;">&lt;span>sim_n1 &lt;span style="color:#f92672">&amp;lt;-&lt;/span> &lt;span style="color:#a6e22e">rpareto_n&lt;/span>(&lt;span style="color:#ae81ff">1&lt;/span>, &lt;span style="color:#ae81ff">3&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>sim_n10 &lt;span style="color:#f92672">&amp;lt;-&lt;/span> &lt;span style="color:#a6e22e">rpareto_n&lt;/span>(&lt;span style="color:#ae81ff">10&lt;/span>, &lt;span style="color:#ae81ff">3&lt;/span>)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Both distributions have the same mean (except for simulation error). But the diversified risk is the preferred one for the tail region (upper quartile). This is consistent with our intuition of the benefits of diversification.&lt;/p>
&lt;p>&lt;template id="36f47a3c-133a-4f68-8860-8ed1bab5ba89">&lt;style>
.tabwid table{
border-spacing:0px !important;
border-collapse:collapse;
line-height:1;
margin-left:auto;
margin-right:auto;
border-width: 0;
display: table;
margin-top: 1.275em;
margin-bottom: 1.275em;
border-color: transparent;
}
.tabwid_left table{
margin-left:0;
}
.tabwid_right table{
margin-right:0;
}
.tabwid td {
padding: 0;
}
.tabwid a {
text-decoration: none;
}
.tabwid thead {
background-color: transparent;
}
.tabwid tfoot {
background-color: transparent;
}
.tabwid table tr {
background-color: transparent;
}
&lt;/style>&lt;div class="tabwid">&lt;style>.cl-becb2bf0{}.cl-beb21b10{font-family:&amp;lsquo;Arial&amp;rsquo;;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-beb23596{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-beb235a0{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-beb28618{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28622{width:51.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28623{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb2862c{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb2862d{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28636{width:51.4pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28637{width:51.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28638{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28639{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28640{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28641{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28642{width:51.4pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb28643{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb2864a{width:54.2pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-beb2864b{width:51.4pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}&lt;/style>&lt;table class='cl-becb2bf0'>&lt;/p>
&lt;caption class="Table Caption">
&lt;p>(#tab:tab1)Alpha = 3&lt;/p>
&lt;/caption>
&lt;thead>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28643">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">Metric&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb2864a">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">n = 1&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb2864b">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">n = 10&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;/thead>&lt;tbody>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28623">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">Mean&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28618">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.500&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28622">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.498&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28638">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">SD&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28639">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">0.866&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28637">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">0.270&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28640">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">0.5&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28641">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.260&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28642">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.443&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28623">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">0.75&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28618">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.587&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28622">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.602&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28623">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">0.8&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28618">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.710&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28622">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.648&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28640">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">0.9&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28641">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">2.154&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28642">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.793&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28623">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">0.95&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28618">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">2.714&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28622">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">1.945&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28640">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">0.99&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28641">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">4.642&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28642">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">2.397&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb28623">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">0.995&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28618">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">5.848&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28622">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">2.644&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-beb2862c">&lt;p class="cl-beb23596">&lt;span class="cl-beb21b10">0.999&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb2862d">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">10.000&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-beb28636">&lt;p class="cl-beb235a0">&lt;span class="cl-beb21b10">3.336&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;/tbody>&lt;/table>&lt;/div>&lt;/template>
&lt;div class="flextable-shadow-host" id="1ac3873d-fc4f-4129-8443-e46a6f7b4de9">&lt;/div>
&lt;script>
var dest = document.getElementById("1ac3873d-fc4f-4129-8443-e46a6f7b4de9");
var template = document.getElementById("36f47a3c-133a-4f68-8860-8ed1bab5ba89");
var caption = template.content.querySelector("caption");
if(caption) {
caption.style.cssText = "display:block;text-align:center;";
var newcapt = document.createElement("p");
newcapt.appendChild(caption)
dest.parentNode.insertBefore(newcapt, dest.previousSibling);
}
var fantome = dest.attachShadow({mode: 'open'});
var templateContent = template.content;
fantome.appendChild(templateContent);
&lt;/script>
&lt;img src="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/figure-html/unnamed-chunk-7-1.png" width="672" />
&lt;h3 id="infinite-mean">Infinite Mean&lt;/h3>
&lt;p>Now lets look at the same metrics using an infinite mean pareto, with $\alpha = 0.5$&lt;/p>
&lt;p>&lt;strong>The standalone risk now outperforms across the whole distribution!&lt;/strong>&lt;/p>
&lt;p>&lt;template id="b02ecbcd-6ad4-4ccb-980f-265e11d95fe0">&lt;style>
.tabwid table{
border-spacing:0px !important;
border-collapse:collapse;
line-height:1;
margin-left:auto;
margin-right:auto;
border-width: 0;
display: table;
margin-top: 1.275em;
margin-bottom: 1.275em;
border-color: transparent;
}
.tabwid_left table{
margin-left:0;
}
.tabwid_right table{
margin-right:0;
}
.tabwid td {
padding: 0;
}
.tabwid a {
text-decoration: none;
}
.tabwid thead {
background-color: transparent;
}
.tabwid tfoot {
background-color: transparent;
}
.tabwid table tr {
background-color: transparent;
}
&lt;/style>&lt;div class="tabwid">&lt;style>.cl-bfcb8cfc{}.cl-bfc11646{font-family:&amp;lsquo;Arial&amp;rsquo;;font-size:11pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;}.cl-bfc11650{font-family:&amp;lsquo;Arial&amp;rsquo;;font-size:6.6pt;font-weight:normal;font-style:normal;text-decoration:none;color:rgba(0, 0, 0, 1.00);background-color:transparent;position: relative;bottom:3.3pt;}.cl-bfc131a8{margin:0;text-align:left;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-bfc131a9{margin:0;text-align:right;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);padding-bottom:5pt;padding-top:5pt;padding-left:5pt;padding-right:5pt;line-height: 1;background-color:transparent;}.cl-bfc1717c{width:75.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc17186{width:69.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc17190{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc17191{width:75.6pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171ae{width:69.5pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171b8{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171b9{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171ba{width:69.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171c2{width:75.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171c3{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171cc{width:69.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171cd{width:75.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(0, 0, 0, 1.00);border-top: 0 solid rgba(0, 0, 0, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171ce{width:75.6pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(255, 255, 255, 0.00);border-top: 0 solid rgba(255, 255, 255, 0.00);border-left: 0 solid rgba(255, 255, 255, 0.00);border-right: 0 solid rgba(255, 255, 255, 0.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171d6{width:69.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(255, 255, 255, 0.00);border-top: 0 solid rgba(255, 255, 255, 0.00);border-left: 0 solid rgba(255, 255, 255, 0.00);border-right: 0 solid rgba(255, 255, 255, 0.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171d7{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 0 solid rgba(255, 255, 255, 0.00);border-top: 0 solid rgba(255, 255, 255, 0.00);border-left: 0 solid rgba(255, 255, 255, 0.00);border-right: 0 solid rgba(255, 255, 255, 0.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171d8{width:50.5pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171e0{width:69.5pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}.cl-bfc171e1{width:75.6pt;background-color:transparent;vertical-align: middle;border-bottom: 2pt solid rgba(102, 102, 102, 1.00);border-top: 2pt solid rgba(102, 102, 102, 1.00);border-left: 0 solid rgba(0, 0, 0, 1.00);border-right: 0 solid rgba(0, 0, 0, 1.00);margin-bottom:0;margin-top:0;margin-left:0;margin-right:0;}&lt;/style>&lt;table class='cl-bfcb8cfc'>&lt;/p>
&lt;caption class="Table Caption">
&lt;p>(#tab:tab2)Alpha = 0.5&lt;/p>
&lt;/caption>
&lt;thead>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc171d8">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">Metric&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171e0">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">n = 1&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171e1">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">n = 10&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;/thead>&lt;tbody>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc17190">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">Mean&lt;/span>&lt;span class="cl-bfc11650">*&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc17186">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">Inf&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc1717c">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">163,549&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc17190">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">SD&lt;/span>&lt;span class="cl-bfc11650">*&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc17186">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">Inf&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc1717c">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">11,464,535&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc171b9">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">0.5&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171ba">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">4&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171c2">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">36&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc171c3">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">0.75&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171cc">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">16&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171cd">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">167&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc171c3">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">0.8&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171cc">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">25&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171cd">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">269&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc17190">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">0.9&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc17186">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">100&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc1717c">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">1,083&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc17190">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">0.95&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc17186">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">400&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc1717c">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">4,485&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc17190">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">0.99&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc17186">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">10,000&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc1717c">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">85,971&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc17190">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">0.995&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc17186">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">40,000&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc1717c">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">424,116&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;tr style="overflow-wrap:break-word;">&lt;td class="cl-bfc171b8">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11646">0.999&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc171ae">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">1,000,000&lt;/span>&lt;/p>&lt;/td>&lt;td class="cl-bfc17191">&lt;p class="cl-bfc131a9">&lt;span class="cl-bfc11646">8,810,384&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;/tbody>&lt;tfoot>&lt;tr style="overflow-wrap:break-word;">&lt;td colspan="3"class="cl-bfc171d7">&lt;p class="cl-bfc131a8">&lt;span class="cl-bfc11650">*&lt;/span>&lt;span class="cl-bfc11646">Mean and SD are infinite, results are simply artifacts of a finite sample&lt;/span>&lt;/p>&lt;/td>&lt;/tr>&lt;/tfoot>&lt;/table>&lt;/div>&lt;/template>
&lt;div class="flextable-shadow-host" id="4b63eea2-f145-4f7d-930b-87157b3dac1b">&lt;/div>
&lt;script>
var dest = document.getElementById("4b63eea2-f145-4f7d-930b-87157b3dac1b");
var template = document.getElementById("b02ecbcd-6ad4-4ccb-980f-265e11d95fe0");
var caption = template.content.querySelector("caption");
if(caption) {
caption.style.cssText = "display:block;text-align:center;";
var newcapt = document.createElement("p");
newcapt.appendChild(caption)
dest.parentNode.insertBefore(newcapt, dest.previousSibling);
}
var fantome = dest.attachShadow({mode: 'open'});
var templateContent = template.content;
fantome.appendChild(templateContent);
&lt;/script>
&lt;img src="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/figure-html/unnamed-chunk-9-1.png" width="672" />
&lt;h3 id="impact-of-changing-n">Impact of Changing n&lt;/h3>
&lt;p>So we’ve seen that in an infinite mean regime, diversification failed with n=10 was worse than n=1. But what about n = 2, 3…?&lt;/p>
&lt;p>Below I’ve repeated the simulation for additional number of risks.&lt;/p>
&lt;p>&lt;strong>When dealing with infinte mean random variables, the more “diversified” the exposure, the greater the risk!&lt;/strong>&lt;/p>
&lt;img src="https://zscore.netlify.app/post/when-diversification-increases-risk/index_files/figure-html/unnamed-chunk-10-1.png" width="672" />
&lt;h2 id="conclusion">Conclusion&lt;/h2>
&lt;p>While the result is amazing, we must consider that it’s limited to infinite mean distributions. The authors described some real world risks that had approximates tail factors of less than 1 (marine, wildfire losses). Certainly in the world of insurance where policy limits are the norm, we’d expect losses, no matter how extreme, to be bounded. That said, it’s a fascinating result with consequences for the future of risk management.&lt;/p>
&lt;p>Note: Most code has been omitted for brevity. Source code &lt;a href="https://github.com/zscore314/starter-hugo-academic/blob/main/content/post/2022-09-03-when-diversification-increases-risk/index.Rmarkdown" target="_blank" rel="noopener">here&lt;/a>&lt;/p></description></item><item><title>Football, Pythagoras and Bad Statistical Communication</title><link>https://zscore.netlify.app/post/nfl-pythagoras-part1/</link><pubDate>Wed, 31 Aug 2022 00:00:00 +0000</pubDate><guid>https://zscore.netlify.app/post/nfl-pythagoras-part1/</guid><description>&lt;p>I recently picked up the book &lt;a href="https://www.amazon.com/Mathletics-Gamblers-Managers-Mathematics-Sports-dp-0691177627/dp/0691177627/" target="_blank" rel="noopener">Mathletics&lt;/a> &amp;ldquo;How gamblers, managers, and fans use mathematics in sports.&amp;rdquo; by Wayne Winston after hearing a recommendation in an online R meetup.&lt;/p>
&lt;p>The first chapter &amp;ldquo;Baseball&amp;rsquo;s Pythagorean Theorem&amp;rdquo; describes a mathematical relationship attributed to Bill James. The idea is to estimate the percentage of games won in baseball based solely on the offensive and defensive production (runs scored, and runs allowed respectively).&lt;/p>
&lt;blockquote>
&lt;p>Bill James studied many years of Major League Baseball standing and found the percentage of games won by a baseball team can be well approximated by the formula&lt;/p>
&lt;/blockquote>
$$
\text{% games won} = \frac{\text{runs scored}^2} {\text{runs scored}^2 + \text{runs allowed }^2}
$$
&lt;p>My first thought was this doesn&amp;rsquo;t look very &amp;ldquo;pythagorean&amp;rdquo; at all but I continued. Later, the right hand side of the equation was divided through by $\text{runs scored}^2$ and by letting $R = \frac{\text{runs scored}} {\text{runs allowed}}$ you get the new expression:&lt;/p>
$$
\text{% games won} = \frac{R^2} {R^2 + 1}
$$
&lt;p>Now this &lt;strong>really&lt;/strong> isn&amp;rsquo;t looking pythagorean!&lt;/p>
&lt;p>The chapter continues touting the accuracy of the formula:&lt;/p>
&lt;blockquote>
&lt;p>For example, the 2016 LA Dodgers scored 725 runs and gave up 638 runs. Their scoring ratio was 1.136, with a predicted win percentage of .5636 and they actually won .5618.&lt;/p>
&lt;/blockquote>
&lt;p>To the authors&amp;rsquo; credit, they attempted to replicate Bill James expression using data from the 2005-2016 seasons (and excel&amp;rsquo;s data table). What they did was generalize the equation above to allow the exponent to vary ie $\text{% games won} = \frac{R^e} {R^e + 1}$. Ultimately excel found that an exponent of 1.8 minimized the error and that was relatively close to &lt;strong>the original&lt;/strong> pythagorean theorem.&lt;/p>
&lt;p>To this point, I was not too bothered (except for the use of excel). I was only mildly concerned about the lack of communication of uncertainty in the estimate. But where things started to not sit right with me was in the estimation of e for other sports.&lt;/p>
&lt;blockquote>
&lt;p>Daryl Morey, currently the GM for the Houston Rockets NBA team, has shown that for the NFL, e = 2.37 gives the most accurate prediction while for the NBA e = 13.91.&lt;/p>
&lt;/blockquote>
&lt;p>While it&amp;rsquo;s not entirely clear, the estimate of 2.37 appears to have been generated from a &lt;em>single&lt;/em> NFL season, 2015.
This is where I started to have issues:&lt;/p>
&lt;p>In no particular order:&lt;/p>
&lt;ul>
&lt;li>How uncertain is the estimate of this magic exponent?&lt;/li>
&lt;li>Why is it we&amp;rsquo;re assuming this particular functional form? Is there something special about the non-linear equation?&lt;/li>
&lt;li>Could you perhaps get better predictions using points for and points against separately?&lt;/li>
&lt;li>How good are predictions based on random chance alone? In the NFL, there are only 16 games (now 17) in a season.&lt;/li>
&lt;li>Rather than the focus being on the correct estimate, perhaps we should instead quantify the reduction in uncertainty based on the prediction?&lt;/li>
&lt;li>Predicting wins based on points scored seems a bit like predicting foot length by shoe size. It&amp;rsquo;s less a predictor and more intimately tied to the outcome itself.&lt;/li>
&lt;li>Why is the basketball GM opining on football analytics (half kidding)&lt;/li>
&lt;/ul>
&lt;p>I set off to investigate some of the above.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-r" data-lang="r">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">library&lt;/span>(tidyverse)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">library&lt;/span>(nflverse)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">library&lt;/span>(broom)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">library&lt;/span>(patchwork)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">theme_set&lt;/span>(&lt;span style="color:#a6e22e">theme_light&lt;/span>())
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Lets start by looking at the shape of this &amp;ldquo;pythagorean theorem&amp;rdquo;&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-r" data-lang="r">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">tibble&lt;/span>(R &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">seq&lt;/span>(&lt;span style="color:#ae81ff">0.5&lt;/span>, &lt;span style="color:#ae81ff">1.5&lt;/span>, &lt;span style="color:#ae81ff">0.1&lt;/span>)) &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">crossing&lt;/span>(&lt;span style="color:#a6e22e">tibble&lt;/span>(e &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>(&lt;span style="color:#ae81ff">2&lt;/span>, &lt;span style="color:#ae81ff">1.8&lt;/span>, &lt;span style="color:#ae81ff">2.37&lt;/span>, &lt;span style="color:#ae81ff">13.91&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> label &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>(&lt;span style="color:#e6db74">&amp;#39;MLB (2)&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;MLB (1.8)&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;NFL (2.37)&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;NBA (13.91)&amp;#39;&lt;/span>))) &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">mutate&lt;/span>(pred_win &lt;span style="color:#f92672">=&lt;/span> R^e &lt;span style="color:#f92672">/&lt;/span> (R^e &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#ae81ff">1&lt;/span>)) &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">ggplot&lt;/span>(&lt;span style="color:#a6e22e">aes&lt;/span>(R, pred_win, color &lt;span style="color:#f92672">=&lt;/span> label)) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">geom_line&lt;/span>()
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;img src="https://zscore.netlify.app/post/nfl-pythagoras-part1/index_files/figure-html/unnamed-chunk-1-1.png" width="672" />
It seems scoring ratio is strongly associated with win probability in the NBA, not so much in the other sports. My guess is this relates to the relative margin of victory in the NBA (and that there are more points scored in general). Also, as the exponent gets larger it looks very sigmoidal (logistic curve).
&lt;p>Now I&amp;rsquo;ll use NFL data gathered from the &lt;code>load_schedules&lt;/code> function from &lt;code>nflreadrr&lt;/code> to explore further.&lt;/p>
&lt;p>Start by getting wins and losses by team.&lt;/p>
&lt;pre tabindex="0">&lt;code>## # A tibble: 6 × 11
## season team w l t total_games win_pct pf pa pd r
## &amp;lt;int&amp;gt; &amp;lt;chr&amp;gt; &amp;lt;int&amp;gt; &amp;lt;int&amp;gt; &amp;lt;int&amp;gt; &amp;lt;int&amp;gt; &amp;lt;dbl&amp;gt; &amp;lt;int&amp;gt; &amp;lt;int&amp;gt; &amp;lt;int&amp;gt; &amp;lt;dbl&amp;gt;
## 1 1999 ARI 6 10 0 16 0.375 245 382 -137 0.641
## 2 1999 ATL 5 11 0 16 0.312 285 380 -95 0.75
## 3 1999 BAL 8 8 0 16 0.5 324 277 47 1.17
## 4 1999 BUF 11 5 0 16 0.688 320 229 91 1.40
## 5 1999 CAR 8 8 0 16 0.5 421 381 40 1.10
## 6 1999 CHI 6 10 0 16 0.375 272 341 -69 0.798
&lt;/code>&lt;/pre>&lt;p>The results table contains all team results from the 1999 through 2021 seasons&lt;/p>
&lt;p>Let&amp;rsquo;s take a look at the results of the 2015 season&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-r" data-lang="r">&lt;span style="display:flex;">&lt;span>nfl_results &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">filter&lt;/span>(season &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;2015&amp;#34;&lt;/span>) &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">ggplot&lt;/span>(&lt;span style="color:#a6e22e">aes&lt;/span>(r, win_pct)) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">geom_nfl_logos&lt;/span>(&lt;span style="color:#a6e22e">aes&lt;/span>(team_abbr &lt;span style="color:#f92672">=&lt;/span> team), width &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.075&lt;/span>, alpha &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0.6&lt;/span>) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">scale_y_continuous&lt;/span>(labels &lt;span style="color:#f92672">=&lt;/span> scales&lt;span style="color:#f92672">::&lt;/span>&lt;span style="color:#a6e22e">percent_format&lt;/span>()) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">labs&lt;/span>(x &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Scoring Ratio, R&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> y &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Win Percentage&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> title &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;2015 NFL Season&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;img src="https://zscore.netlify.app/post/nfl-pythagoras-part1/index_files/figure-html/unnamed-chunk-3-1.png" width="672" />
There's certainly a nice upward trend!
&lt;p>Now let&amp;rsquo;s fit a non-linear model for the 2015 season as described in the book using &lt;code>nls&lt;/code> and extract the results using the &lt;code>augment&lt;/code> and &lt;code>tidy&lt;/code> functions from the &lt;code>broom&lt;/code> package.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-r" data-lang="r">&lt;span style="display:flex;">&lt;span>fit_nls_2015 &lt;span style="color:#f92672">&amp;lt;-&lt;/span> &lt;span style="color:#a6e22e">nls&lt;/span>(win_pct &lt;span style="color:#f92672">~&lt;/span> r^e &lt;span style="color:#f92672">/&lt;/span> (&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">+&lt;/span> r^e),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> data &lt;span style="color:#f92672">=&lt;/span> nfl_results &lt;span style="color:#f92672">%&amp;gt;%&lt;/span> &lt;span style="color:#a6e22e">filter&lt;/span>(season &lt;span style="color:#f92672">==&lt;/span> &lt;span style="color:#e6db74">&amp;#34;2015&amp;#34;&lt;/span>),
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> start &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">list&lt;/span>(e &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">2&lt;/span>))
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Extract coefficients&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>nls_coef_2015 &lt;span style="color:#f92672">&amp;lt;-&lt;/span> fit_nls_2015 &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tidy&lt;/span>(conf.int &lt;span style="color:#f92672">=&lt;/span> T)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>p1 &lt;span style="color:#f92672">&amp;lt;-&lt;/span> nls_coef_2015 &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">ggplot&lt;/span>(&lt;span style="color:#a6e22e">aes&lt;/span>(estimate, term, xmin &lt;span style="color:#f92672">=&lt;/span> conf.low, xmax &lt;span style="color:#f92672">=&lt;/span> conf.high, height &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>)) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">geom_point&lt;/span>() &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">geom_vline&lt;/span>(xintercept &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">2.37&lt;/span>, lty &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">4&lt;/span>) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">geom_errorbarh&lt;/span>() &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">theme&lt;/span>(plot.caption &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">element_text&lt;/span>(hjust &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>)) &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#75715e"># set the left align here&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">labs&lt;/span>(title &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Estimate of exponent &amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> caption &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Dashed line represents Daryl Morey&amp;#39;s 2.37 figure&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>p2 &lt;span style="color:#f92672">&amp;lt;-&lt;/span> &lt;span style="color:#a6e22e">augment&lt;/span>(fit_nls_2015) &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">mutate&lt;/span>(.fitted_low &lt;span style="color:#f92672">=&lt;/span> r^nls_coef_2015&lt;span style="color:#f92672">$&lt;/span>conf.low &lt;span style="color:#f92672">/&lt;/span> (&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">+&lt;/span> r^nls_coef_2015&lt;span style="color:#f92672">$&lt;/span>conf.low)) &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">mutate&lt;/span>(.fitted_high &lt;span style="color:#f92672">=&lt;/span> r^nls_coef_2015&lt;span style="color:#f92672">$&lt;/span>conf.high &lt;span style="color:#f92672">/&lt;/span> (&lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#f92672">+&lt;/span> r^nls_coef_2015&lt;span style="color:#f92672">$&lt;/span>conf.high)) &lt;span style="color:#f92672">%&amp;gt;%&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">ggplot&lt;/span>(&lt;span style="color:#a6e22e">aes&lt;/span>(r, win_pct)) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">geom_point&lt;/span>() &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">geom_line&lt;/span>(&lt;span style="color:#a6e22e">aes&lt;/span>(r, .fitted)) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">geom_ribbon&lt;/span>(&lt;span style="color:#a6e22e">aes&lt;/span>(ymin &lt;span style="color:#f92672">=&lt;/span> .fitted_low, ymax &lt;span style="color:#f92672">=&lt;/span> .fitted_high), alpha&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#ae81ff">0.2&lt;/span>) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">scale_y_continuous&lt;/span>(labels &lt;span style="color:#f92672">=&lt;/span> scales&lt;span style="color:#f92672">::&lt;/span>&lt;span style="color:#a6e22e">percent_format&lt;/span>(), limits &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">c&lt;/span>(&lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#ae81ff">1&lt;/span>)) &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">theme&lt;/span>(plot.caption &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#a6e22e">element_text&lt;/span>(hjust &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#ae81ff">0&lt;/span>)) &lt;span style="color:#f92672">+&lt;/span> &lt;span style="color:#75715e"># set the left align here&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">labs&lt;/span>(x &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Scoring Ratio, R&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> y &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Win Percentage&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> title &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Team Win % vs R&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> caption &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Shaded region represents 95% conf. int.&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>patchwork &lt;span style="color:#f92672">&amp;lt;-&lt;/span> p1 &lt;span style="color:#f92672">|&lt;/span> p2
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>patchwork &lt;span style="color:#f92672">+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">plot_annotation&lt;/span>(
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> title &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#39;Estimating NFL wins using Scoring Ratio R&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> subtitle &lt;span style="color:#f92672">=&lt;/span> &lt;span style="color:#e6db74">&amp;#34;Based on 2015 NFL Season&amp;#34;&lt;/span>)
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;img src="https://zscore.netlify.app/post/nfl-pythagoras-part1/index_files/figure-html/unnamed-chunk-4-1.png" width="672" />
&lt;p>The estimated exponent is 2.87 +/- .235. The Rockets GM estimate of 2.37 falls outside the range. Maybe because he used different data, maybe because he was minimizing MAE and not RMSE? Who knows, but that&amp;rsquo;s exactly the point.&lt;/p>
&lt;p>In upcoming posts I&amp;rsquo;d like to explore logistic regression, multilevel and bayesian models&lt;/p></description></item></channel></rss>