From 973b00d3ddcebb97d66e32fdb1e8d2434b708cf9 Mon Sep 17 00:00:00 2001 From: teddygroves <groves.teddy@gmail.com> Date: Tue, 23 May 2023 13:14:07 +0200 Subject: [PATCH 1/5] delete unused global variables in data preparation file --- .../examples/baseball/baseball/data_preparation.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/bibat/examples/baseball/baseball/data_preparation.py b/bibat/examples/baseball/baseball/data_preparation.py index 5b26c45..d427d57 100644 --- a/bibat/examples/baseball/baseball/data_preparation.py +++ b/bibat/examples/baseball/baseball/data_preparation.py @@ -9,23 +9,14 @@ import pandas as pd import pandera as pa -from baseball.util import CoordDict from pandera.typing import DataFrame, Series from pydantic.dataclasses import dataclass +from baseball.util import CoordDict + NAME_FILE = "name.txt" COORDS_FILE = "coords.json" -MEASUREMENTS_FILE = "measurements.csv" -NEW_COLNAMES = {"yButIThoughtIdAddSomeLetters": "y"} -DROPNA_COLS = ["y"] N_CV_FOLDS = 10 -DIMS = { - "b": ["covariate"], - "y": ["observation"], - "yrep": ["observation"], - "llik": ["observation"], -} - HERE = os.path.dirname(__file__) DATA_DIR = os.path.join(HERE, "..", "data") RAW_DIR = os.path.join(DATA_DIR, "raw") From 81ba05be4ea95cb2aabd06c6b9a0cc6a08624950 Mon Sep 17 00:00:00 2001 From: teddygroves <groves.teddy@gmail.com> Date: Tue, 23 May 2023 13:14:59 +0200 Subject: [PATCH 2/5] fix template conditional in makefile --- bibat/{{cookiecutter.repo_name}}/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bibat/{{cookiecutter.repo_name}}/Makefile b/bibat/{{cookiecutter.repo_name}}/Makefile index 9e73154..318dd37 100644 --- a/bibat/{{cookiecutter.repo_name}}/Makefile +++ b/bibat/{{cookiecutter.repo_name}}/Makefile @@ -35,7 +35,7 @@ $(ENV_MARKER): $(ACTIVATE_VENV) $(REQUIREMENTS_FILE) $(CMDSTAN) analysis: $(ENV_MARKER) . $(ACTIVATE_VENV) && (\ - {% if cookiecutter.create_tests_directory %}python -m pytest || exit 1; \{% endif %} + {% if cookiecutter.create_tests_directory == 'y' %}python -m pytest || exit 1; \{% endif %} python $(SRC)/prepare_data.py || exit 1; \ python $(SRC)/sample.py || exit 1; \ jupyter execute $(SRC)/investigate.ipynb || exit 1; \ From 915f2405d21501d7019c15ae82ee4da61176754c Mon Sep 17 00:00:00 2001 From: teddygroves <groves.teddy@gmail.com> Date: Tue, 23 May 2023 13:16:06 +0200 Subject: [PATCH 3/5] Update vignette --- bibat/examples/baseball/docs/report.html | 685 ++++++++++++----------- bibat/examples/baseball/docs/report.qmd | 60 +- docs/_static/report.html | 685 ++++++++++++----------- 3 files changed, 766 insertions(+), 664 deletions(-) diff --git a/bibat/examples/baseball/docs/report.html b/bibat/examples/baseball/docs/report.html index 5a2efc9..61c38e3 100644 --- a/bibat/examples/baseball/docs/report.html +++ b/bibat/examples/baseball/docs/report.html @@ -3095,7 +3095,7 @@ )) {"Symbol"in self&&"iterator"in Symbol&&"function"==typeof Array.prototype[Symbol.iterator]?CreateMethodProperty(Array.prototype,"values",Array.prototype[Symbol.iterator]):CreateMethodProperty(Array.prototype,"values",function r(){var r=ToObject(this);return new ArrayIterator(r,"value")});}if (!("Symbol"in self&&"iterator"in self.Symbol&&!!Array.prototype[self.Symbol.iterator] )) {CreateMethodProperty(Array.prototype,Symbol.iterator,Array.prototype.values);}var StringIterator=function(){var t=function(e){if(!(this instanceof t))return new t(e);e=String(e),Iterator.call(this,e),Object.defineProperty(this,"__length__",{value:e.length,configurable:!1,enumerable:!1,writable:!1})};return Object.setPrototypeOf&&Object.setPrototypeOf(t,Iterator),t.prototype=Object.create(Iterator.prototype,{constructor:{value:t,configurable:!0,enumerable:!1,writable:!0},_next:{value:function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()},configurable:!0,enumerable:!1,writable:!0},_resolve:{value:function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0),e>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r)},configurable:!0,enumerable:!1,writable:!0},toString:{value:function(){return"[object String Iterator]"},configurable:!0,enumerable:!1,writable:!0}}),t}();if (!("Symbol"in self&&"iterator"in self.Symbol&&!!String.prototype[self.Symbol.iterator] )) {CreateMethodProperty(String.prototype,Symbol.iterator,function(){var r=RequireObjectCoercible(this),t=ToString(r);return new StringIterator(t)});}})('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});</script> - + <script> (function () { var script = document.createElement("script"); @@ -3114,7 +3114,7 @@ <div id="quarto-margin-sidebar" class="sidebar margin-sidebar"> <nav id="TOC" role="doc-toc" class="toc-active"> <h2 id="toc-title">Table of contents</h2> - + <ul> <li><a href="#setup" id="toc-setup" class="nav-link active" data-scroll-target="#setup">Setup</a></li> <li><a href="#getting-raw-data" id="toc-getting-raw-data" class="nav-link" data-scroll-target="#getting-raw-data">Getting raw data</a></li> @@ -3125,6 +3125,7 @@ <h2 id="toc-title">Table of contents</h2> <li><a href="#investigating-the-inferences" id="toc-investigating-the-inferences" class="nav-link" data-scroll-target="#investigating-the-inferences">Investigating the inferences</a></li> <li><a href="#choosing-priors-using-push-forward-calibration" id="toc-choosing-priors-using-push-forward-calibration" class="nav-link" data-scroll-target="#choosing-priors-using-push-forward-calibration">Choosing priors using push-forward calibration</a></li> <li><a href="#extending-the-analysis-to-the-baseballdatabank-data" id="toc-extending-the-analysis-to-the-baseballdatabank-data" class="nav-link" data-scroll-target="#extending-the-analysis-to-the-baseballdatabank-data">Extending the analysis to the baseballdatabank data</a></li> + <li><a href="#documenting-the-analysis" id="toc-documenting-the-analysis" class="nav-link" data-scroll-target="#documenting-the-analysis">Documenting the analysis</a></li> </ul> </nav> </div> @@ -3146,11 +3147,11 @@ <h1 class="title">Modelling at-bats in baseball using the generalised Pareto dis <p>Teddy Groves </p> </div> </div> - - - + + + </div> - + </header> @@ -3278,7 +3279,7 @@ <h1>Getting raw data</h1> </section> <section id="preparing-the-data" class="level1 page-columns page-full"> <h1>Preparing the data</h1> -<p>The first step in preparing data is to decide what prepared data looks like for the purposes of our analysis. Bibat provides dataclasses called <code>PreparedData</code> and <code>MeasurementsDF</code> to help get started with this, which I found in the file <code>baseball/prepared_data.py</code>.</p> +<p>The first step in preparing data is to decide what prepared data looks like for the purposes of our analysis. Bibat provides dataclasses called <code>PreparedData</code> and <code>MeasurementsDF</code> to help get started with this, which I found in the file <code>baseball/data_preparation.py</code>.</p> <div class="page-columns page-full"><p>As it happens, prepared data looks very similar in this analysis and the example. All I had to do was change the <code>MeasurementsDF</code> definition a little<a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>:</p><div class="no-row-height column-margin column-container"><li id="fn1"><p><sup>1</sup> note that this class uses <a href="https://pandera.readthedocs.io">pandera</a>, a handy library for defining what a pandas dataframe should look like</p></li></div></div> <div class="sourceCode" id="cb8"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> MeasurementsDF(pa.SchemaModel):</span> <span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a> <span class="co">"""A PreparedData should have a measurements dataframe like this.</span></span> @@ -3291,94 +3292,117 @@ <h1>Preparing the data</h1> <span id="cb8-9"><a href="#cb8-9" aria-hidden="true" tabindex="-1"></a> n_attempt: Series[<span class="bu">int</span>] <span class="op">=</span> pa.Field(ge <span class="op">=</span> <span class="dv">1</span>)</span> <span id="cb8-10"><a href="#cb8-10" aria-hidden="true" tabindex="-1"></a> n_success: Series[<span class="bu">int</span>] <span class="op">=</span> pa.Field(ge <span class="op">=</span> <span class="dv">0</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>The next step is to write functions that return <code>PreparedData</code> objects. In this case I wrote a couple of data preparation functions: <code>prepare_data_2006</code> and <code>prepare_data_bdb</code>:</p> -<div class="sourceCode" id="cb9" data-startfrom="111"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 110;"><span id="cb9-111"><a href="#cb9-111" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data_2006(measurements_raw: pd.DataFrame) <span class="op">-></span> PreparedData:</span> -<span id="cb9-112"><a href="#cb9-112" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Prepare the 2006 data."""</span></span> -<span id="cb9-113"><a href="#cb9-113" aria-hidden="true" tabindex="-1"></a> measurements <span class="op">=</span> measurements_raw.rename(</span> -<span id="cb9-114"><a href="#cb9-114" aria-hidden="true" tabindex="-1"></a> columns<span class="op">=</span>{<span class="st">"K"</span>: <span class="st">"n_attempt"</span>, <span class="st">"y"</span>: <span class="st">"n_success"</span>}</span> -<span id="cb9-115"><a href="#cb9-115" aria-hidden="true" tabindex="-1"></a> ).assign(</span> -<span id="cb9-116"><a href="#cb9-116" aria-hidden="true" tabindex="-1"></a> season<span class="op">=</span><span class="st">"2006"</span>,</span> -<span id="cb9-117"><a href="#cb9-117" aria-hidden="true" tabindex="-1"></a> player_season<span class="op">=</span><span class="kw">lambda</span> df: [<span class="ss">f"2006-player-</span><span class="sc">{</span>i<span class="op">+</span><span class="dv">1</span><span class="sc">}</span><span class="ss">"</span> <span class="cf">for</span> i <span class="kw">in</span> <span class="bu">range</span>(<span class="bu">len</span>(df))],</span> -<span id="cb9-118"><a href="#cb9-118" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-119"><a href="#cb9-119" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> PreparedData(</span> -<span id="cb9-120"><a href="#cb9-120" aria-hidden="true" tabindex="-1"></a> name<span class="op">=</span><span class="st">"2006"</span>,</span> -<span id="cb9-121"><a href="#cb9-121" aria-hidden="true" tabindex="-1"></a> coords<span class="op">=</span>{</span> -<span id="cb9-122"><a href="#cb9-122" aria-hidden="true" tabindex="-1"></a> <span class="st">"player_season"</span>: measurements[<span class="st">"player_season"</span>].tolist(),</span> -<span id="cb9-123"><a href="#cb9-123" aria-hidden="true" tabindex="-1"></a> <span class="st">"season"</span>: measurements[<span class="st">"season"</span>].tolist(),</span> -<span id="cb9-124"><a href="#cb9-124" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb9-125"><a href="#cb9-125" aria-hidden="true" tabindex="-1"></a> measurements<span class="op">=</span>measurements,</span> -<span id="cb9-126"><a href="#cb9-126" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-127"><a href="#cb9-127" aria-hidden="true" tabindex="-1"></a></span> +<div class="sourceCode" id="cb9" data-startfrom="101"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 100;"><span id="cb9-101"><a href="#cb9-101" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-102"><a href="#cb9-102" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data_2006(measurements_raw: pd.DataFrame) <span class="op">-></span> PreparedData:</span> +<span id="cb9-103"><a href="#cb9-103" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Prepare the 2006 data."""</span></span> +<span id="cb9-104"><a href="#cb9-104" aria-hidden="true" tabindex="-1"></a> measurements <span class="op">=</span> measurements_raw.rename(</span> +<span id="cb9-105"><a href="#cb9-105" aria-hidden="true" tabindex="-1"></a> columns<span class="op">=</span>{<span class="st">"K"</span>: <span class="st">"n_attempt"</span>, <span class="st">"y"</span>: <span class="st">"n_success"</span>}</span> +<span id="cb9-106"><a href="#cb9-106" aria-hidden="true" tabindex="-1"></a> ).assign(</span> +<span id="cb9-107"><a href="#cb9-107" aria-hidden="true" tabindex="-1"></a> season<span class="op">=</span><span class="st">"2006"</span>,</span> +<span id="cb9-108"><a href="#cb9-108" aria-hidden="true" tabindex="-1"></a> player_season<span class="op">=</span><span class="kw">lambda</span> df: [<span class="ss">f"2006-player-</span><span class="sc">{</span>i<span class="op">+</span><span class="dv">1</span><span class="sc">}</span><span class="ss">"</span> <span class="cf">for</span> i <span class="kw">in</span> <span class="bu">range</span>(<span class="bu">len</span>(df))],</span> +<span id="cb9-109"><a href="#cb9-109" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-110"><a href="#cb9-110" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> PreparedData(</span> +<span id="cb9-111"><a href="#cb9-111" aria-hidden="true" tabindex="-1"></a> name<span class="op">=</span><span class="st">"2006"</span>,</span> +<span id="cb9-112"><a href="#cb9-112" aria-hidden="true" tabindex="-1"></a> coords<span class="op">=</span>{</span> +<span id="cb9-113"><a href="#cb9-113" aria-hidden="true" tabindex="-1"></a> <span class="st">"player_season"</span>: measurements[<span class="st">"player_season"</span>].tolist(),</span> +<span id="cb9-114"><a href="#cb9-114" aria-hidden="true" tabindex="-1"></a> <span class="st">"season"</span>: measurements[<span class="st">"season"</span>].tolist(),</span> +<span id="cb9-115"><a href="#cb9-115" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb9-116"><a href="#cb9-116" aria-hidden="true" tabindex="-1"></a> measurements<span class="op">=</span>measurements,</span> +<span id="cb9-117"><a href="#cb9-117" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-118"><a href="#cb9-118" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-119"><a href="#cb9-119" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-120"><a href="#cb9-120" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data_bdb(</span> +<span id="cb9-121"><a href="#cb9-121" aria-hidden="true" tabindex="-1"></a> measurements_main: pd.DataFrame,</span> +<span id="cb9-122"><a href="#cb9-122" aria-hidden="true" tabindex="-1"></a> measurements_post: pd.DataFrame,</span> +<span id="cb9-123"><a href="#cb9-123" aria-hidden="true" tabindex="-1"></a> appearances: pd.DataFrame,</span> +<span id="cb9-124"><a href="#cb9-124" aria-hidden="true" tabindex="-1"></a>) <span class="op">-></span> PreparedData:</span> +<span id="cb9-125"><a href="#cb9-125" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Prepare the baseballdatabank data.</span></span> +<span id="cb9-126"><a href="#cb9-126" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-127"><a href="#cb9-127" aria-hidden="true" tabindex="-1"></a><span class="co"> There are a few substantive data choices here.</span></span> <span id="cb9-128"><a href="#cb9-128" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-129"><a href="#cb9-129" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data_bdb(</span> -<span id="cb9-130"><a href="#cb9-130" aria-hidden="true" tabindex="-1"></a> measurements_main: pd.DataFrame,</span> -<span id="cb9-131"><a href="#cb9-131" aria-hidden="true" tabindex="-1"></a> measurements_post: pd.DataFrame,</span> -<span id="cb9-132"><a href="#cb9-132" aria-hidden="true" tabindex="-1"></a> appearances: pd.DataFrame,</span> -<span id="cb9-133"><a href="#cb9-133" aria-hidden="true" tabindex="-1"></a>) <span class="op">-></span> PreparedData:</span> -<span id="cb9-134"><a href="#cb9-134" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Prepare the baseballdatabank data.</span></span> -<span id="cb9-135"><a href="#cb9-135" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-136"><a href="#cb9-136" aria-hidden="true" tabindex="-1"></a><span class="co"> There are a few substantive data choices here.</span></span> -<span id="cb9-137"><a href="#cb9-137" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-138"><a href="#cb9-138" aria-hidden="true" tabindex="-1"></a><span class="co"> First, the function excludes players who have a '1' in their position as</span></span> -<span id="cb9-139"><a href="#cb9-139" aria-hidden="true" tabindex="-1"></a><span class="co"> these are likely pitchers, as well as players with fewer than 20 at bats.</span></span> -<span id="cb9-140"><a href="#cb9-140" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-141"><a href="#cb9-141" aria-hidden="true" tabindex="-1"></a><span class="co"> Second, the function defines a successes and attempts according to the</span></span> -<span id="cb9-142"><a href="#cb9-142" aria-hidden="true" tabindex="-1"></a><span class="co"> 'on-base percentage' metric, so a success is a time when a player got a hit,</span></span> -<span id="cb9-143"><a href="#cb9-143" aria-hidden="true" tabindex="-1"></a><span class="co"> a base on ball/walk or a hit-by-pitch and an attempt is an at-bat or a</span></span> -<span id="cb9-144"><a href="#cb9-144" aria-hidden="true" tabindex="-1"></a><span class="co"> base-on-ball/walk or a hit-by-pitch or a sacrifice fly. This could have</span></span> -<span id="cb9-145"><a href="#cb9-145" aria-hidden="true" tabindex="-1"></a><span class="co"> alternatively been calculated as just hits divided by at-bats, but my</span></span> -<span id="cb9-146"><a href="#cb9-146" aria-hidden="true" tabindex="-1"></a><span class="co"> understanding is that this method underrates players who are good at getting</span></span> -<span id="cb9-147"><a href="#cb9-147" aria-hidden="true" tabindex="-1"></a><span class="co"> walks.</span></span> -<span id="cb9-148"><a href="#cb9-148" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-149"><a href="#cb9-149" aria-hidden="true" tabindex="-1"></a><span class="co"> """</span></span> -<span id="cb9-150"><a href="#cb9-150" aria-hidden="true" tabindex="-1"></a> pitchers <span class="op">=</span> appearances.loc[</span> -<span id="cb9-151"><a href="#cb9-151" aria-hidden="true" tabindex="-1"></a> <span class="kw">lambda</span> df: df[<span class="st">"G_p"</span>] <span class="op">==</span> df[<span class="st">"G_all"</span>], <span class="st">"playerID"</span></span> -<span id="cb9-152"><a href="#cb9-152" aria-hidden="true" tabindex="-1"></a> ].unique()</span> -<span id="cb9-153"><a href="#cb9-153" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-154"><a href="#cb9-154" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> filter_batters(df: pd.DataFrame):</span> -<span id="cb9-155"><a href="#cb9-155" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> (</span> -<span id="cb9-156"><a href="#cb9-156" aria-hidden="true" tabindex="-1"></a> (df[<span class="st">"AB"</span>] <span class="op">>=</span> <span class="dv">20</span>)</span> -<span id="cb9-157"><a href="#cb9-157" aria-hidden="true" tabindex="-1"></a> <span class="op">&</span> (df[<span class="st">"season"</span>].ge(<span class="dv">2017</span>))</span> -<span id="cb9-158"><a href="#cb9-158" aria-hidden="true" tabindex="-1"></a> <span class="op">&</span> (<span class="op">~</span>df[<span class="st">"player"</span>].isin(pitchers))</span> -<span id="cb9-159"><a href="#cb9-159" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-160"><a href="#cb9-160" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-161"><a href="#cb9-161" aria-hidden="true" tabindex="-1"></a> measurements_main, measurements_post <span class="op">=</span> (</span> -<span id="cb9-162"><a href="#cb9-162" aria-hidden="true" tabindex="-1"></a> m.rename(columns<span class="op">=</span>{<span class="st">"yearID"</span>: <span class="st">"season"</span>, <span class="st">"playerID"</span>: <span class="st">"player"</span>})</span> -<span id="cb9-163"><a href="#cb9-163" aria-hidden="true" tabindex="-1"></a> .assign(</span> -<span id="cb9-164"><a href="#cb9-164" aria-hidden="true" tabindex="-1"></a> player_season<span class="op">=</span><span class="kw">lambda</span> df: df[<span class="st">"player"</span>].<span class="bu">str</span>.cat(</span> -<span id="cb9-165"><a href="#cb9-165" aria-hidden="true" tabindex="-1"></a> df[<span class="st">"season"</span>].astype(<span class="bu">str</span>)</span> -<span id="cb9-166"><a href="#cb9-166" aria-hidden="true" tabindex="-1"></a> ),</span> -<span id="cb9-167"><a href="#cb9-167" aria-hidden="true" tabindex="-1"></a> n_attempt<span class="op">=</span><span class="kw">lambda</span> df: df[[<span class="st">"AB"</span>, <span class="st">"BB"</span>, <span class="st">"HBP"</span>, <span class="st">"SF"</span>]]</span> -<span id="cb9-168"><a href="#cb9-168" aria-hidden="true" tabindex="-1"></a> .fillna(<span class="dv">0</span>)</span> -<span id="cb9-169"><a href="#cb9-169" aria-hidden="true" tabindex="-1"></a> .<span class="bu">sum</span>(axis<span class="op">=</span><span class="dv">1</span>)</span> -<span id="cb9-170"><a href="#cb9-170" aria-hidden="true" tabindex="-1"></a> .astype(<span class="bu">int</span>),</span> -<span id="cb9-171"><a href="#cb9-171" aria-hidden="true" tabindex="-1"></a> n_success<span class="op">=</span><span class="kw">lambda</span> df: (</span> -<span id="cb9-172"><a href="#cb9-172" aria-hidden="true" tabindex="-1"></a> df[[<span class="st">"H"</span>, <span class="st">"BB"</span>, <span class="st">"HBP"</span>]].fillna(<span class="dv">0</span>).<span class="bu">sum</span>(axis<span class="op">=</span><span class="dv">1</span>).astype(<span class="bu">int</span>)</span> -<span id="cb9-173"><a href="#cb9-173" aria-hidden="true" tabindex="-1"></a> ),</span> -<span id="cb9-174"><a href="#cb9-174" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-175"><a href="#cb9-175" aria-hidden="true" tabindex="-1"></a> .loc[</span> -<span id="cb9-176"><a href="#cb9-176" aria-hidden="true" tabindex="-1"></a> filter_batters,</span> -<span id="cb9-177"><a href="#cb9-177" aria-hidden="true" tabindex="-1"></a> [<span class="st">"player_season"</span>, <span class="st">"season"</span>, <span class="st">"n_attempt"</span>, <span class="st">"n_success"</span>],</span> -<span id="cb9-178"><a href="#cb9-178" aria-hidden="true" tabindex="-1"></a> ]</span> -<span id="cb9-179"><a href="#cb9-179" aria-hidden="true" tabindex="-1"></a> .copy()</span> -<span id="cb9-180"><a href="#cb9-180" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> m <span class="kw">in</span> [measurements_main, measurements_post]</span> -<span id="cb9-181"><a href="#cb9-181" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-182"><a href="#cb9-182" aria-hidden="true" tabindex="-1"></a> measurements <span class="op">=</span> (</span> -<span id="cb9-183"><a href="#cb9-183" aria-hidden="true" tabindex="-1"></a> pd.concat([measurements_main, measurements_post])</span> -<span id="cb9-184"><a href="#cb9-184" aria-hidden="true" tabindex="-1"></a> .groupby([<span class="st">"player_season"</span>, <span class="st">"season"</span>])</span> -<span id="cb9-185"><a href="#cb9-185" aria-hidden="true" tabindex="-1"></a> .<span class="bu">sum</span>()</span> -<span id="cb9-186"><a href="#cb9-186" aria-hidden="true" tabindex="-1"></a> .reset_index()</span> -<span id="cb9-187"><a href="#cb9-187" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-188"><a href="#cb9-188" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> PreparedData(</span> -<span id="cb9-189"><a href="#cb9-189" aria-hidden="true" tabindex="-1"></a> name<span class="op">=</span><span class="st">"bdb"</span>,</span> -<span id="cb9-190"><a href="#cb9-190" aria-hidden="true" tabindex="-1"></a> coords<span class="op">=</span>{</span> -<span id="cb9-191"><a href="#cb9-191" aria-hidden="true" tabindex="-1"></a> <span class="st">"player_season"</span>: measurements[<span class="st">"player_season"</span>].tolist(),</span> -<span id="cb9-192"><a href="#cb9-192" aria-hidden="true" tabindex="-1"></a> <span class="st">"season"</span>: measurements[<span class="st">"season"</span>].tolist(),</span> -<span id="cb9-193"><a href="#cb9-193" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb9-194"><a href="#cb9-194" aria-hidden="true" tabindex="-1"></a> measurements<span class="op">=</span>measurements,</span> -<span id="cb9-195"><a href="#cb9-195" aria-hidden="true" tabindex="-1"></a> )</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<span id="cb9-129"><a href="#cb9-129" aria-hidden="true" tabindex="-1"></a><span class="co"> First, the function excludes players who have a '1' in their position as</span></span> +<span id="cb9-130"><a href="#cb9-130" aria-hidden="true" tabindex="-1"></a><span class="co"> these are likely pitchers, as well as players with fewer than 20 at bats.</span></span> +<span id="cb9-131"><a href="#cb9-131" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-132"><a href="#cb9-132" aria-hidden="true" tabindex="-1"></a><span class="co"> Second, the function defines a successes and attempts according to the</span></span> +<span id="cb9-133"><a href="#cb9-133" aria-hidden="true" tabindex="-1"></a><span class="co"> 'on-base percentage' metric, so a success is a time when a player got a hit,</span></span> +<span id="cb9-134"><a href="#cb9-134" aria-hidden="true" tabindex="-1"></a><span class="co"> a base on ball/walk or a hit-by-pitch and an attempt is an at-bat or a</span></span> +<span id="cb9-135"><a href="#cb9-135" aria-hidden="true" tabindex="-1"></a><span class="co"> base-on-ball/walk or a hit-by-pitch or a sacrifice fly. This could have</span></span> +<span id="cb9-136"><a href="#cb9-136" aria-hidden="true" tabindex="-1"></a><span class="co"> alternatively been calculated as just hits divided by at-bats, but my</span></span> +<span id="cb9-137"><a href="#cb9-137" aria-hidden="true" tabindex="-1"></a><span class="co"> understanding is that this method underrates players who are good at getting</span></span> +<span id="cb9-138"><a href="#cb9-138" aria-hidden="true" tabindex="-1"></a><span class="co"> walks.</span></span> +<span id="cb9-139"><a href="#cb9-139" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-140"><a href="#cb9-140" aria-hidden="true" tabindex="-1"></a><span class="co"> """</span></span> +<span id="cb9-141"><a href="#cb9-141" aria-hidden="true" tabindex="-1"></a> pitchers <span class="op">=</span> appearances.loc[</span> +<span id="cb9-142"><a href="#cb9-142" aria-hidden="true" tabindex="-1"></a> <span class="kw">lambda</span> df: df[<span class="st">"G_p"</span>] <span class="op">==</span> df[<span class="st">"G_all"</span>], <span class="st">"playerID"</span></span> +<span id="cb9-143"><a href="#cb9-143" aria-hidden="true" tabindex="-1"></a> ].unique()</span> +<span id="cb9-144"><a href="#cb9-144" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-145"><a href="#cb9-145" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> filter_batters(df: pd.DataFrame):</span> +<span id="cb9-146"><a href="#cb9-146" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> (</span> +<span id="cb9-147"><a href="#cb9-147" aria-hidden="true" tabindex="-1"></a> (df[<span class="st">"AB"</span>] <span class="op">>=</span> <span class="dv">20</span>)</span> +<span id="cb9-148"><a href="#cb9-148" aria-hidden="true" tabindex="-1"></a> <span class="op">&</span> (df[<span class="st">"season"</span>].ge(<span class="dv">2017</span>))</span> +<span id="cb9-149"><a href="#cb9-149" aria-hidden="true" tabindex="-1"></a> <span class="op">&</span> (<span class="op">~</span>df[<span class="st">"player"</span>].isin(pitchers))</span> +<span id="cb9-150"><a href="#cb9-150" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-151"><a href="#cb9-151" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-152"><a href="#cb9-152" aria-hidden="true" tabindex="-1"></a> measurements_main, measurements_post <span class="op">=</span> (</span> +<span id="cb9-153"><a href="#cb9-153" aria-hidden="true" tabindex="-1"></a> m.rename(columns<span class="op">=</span>{<span class="st">"yearID"</span>: <span class="st">"season"</span>, <span class="st">"playerID"</span>: <span class="st">"player"</span>})</span> +<span id="cb9-154"><a href="#cb9-154" aria-hidden="true" tabindex="-1"></a> .assign(</span> +<span id="cb9-155"><a href="#cb9-155" aria-hidden="true" tabindex="-1"></a> player_season<span class="op">=</span><span class="kw">lambda</span> df: df[<span class="st">"player"</span>].<span class="bu">str</span>.cat(</span> +<span id="cb9-156"><a href="#cb9-156" aria-hidden="true" tabindex="-1"></a> df[<span class="st">"season"</span>].astype(<span class="bu">str</span>)</span> +<span id="cb9-157"><a href="#cb9-157" aria-hidden="true" tabindex="-1"></a> ),</span> +<span id="cb9-158"><a href="#cb9-158" aria-hidden="true" tabindex="-1"></a> n_attempt<span class="op">=</span><span class="kw">lambda</span> df: df[[<span class="st">"AB"</span>, <span class="st">"BB"</span>, <span class="st">"HBP"</span>, <span class="st">"SF"</span>]]</span> +<span id="cb9-159"><a href="#cb9-159" aria-hidden="true" tabindex="-1"></a> .fillna(<span class="dv">0</span>)</span> +<span id="cb9-160"><a href="#cb9-160" aria-hidden="true" tabindex="-1"></a> .<span class="bu">sum</span>(axis<span class="op">=</span><span class="dv">1</span>)</span> +<span id="cb9-161"><a href="#cb9-161" aria-hidden="true" tabindex="-1"></a> .astype(<span class="bu">int</span>),</span> +<span id="cb9-162"><a href="#cb9-162" aria-hidden="true" tabindex="-1"></a> n_success<span class="op">=</span><span class="kw">lambda</span> df: (</span> +<span id="cb9-163"><a href="#cb9-163" aria-hidden="true" tabindex="-1"></a> df[[<span class="st">"H"</span>, <span class="st">"BB"</span>, <span class="st">"HBP"</span>]].fillna(<span class="dv">0</span>).<span class="bu">sum</span>(axis<span class="op">=</span><span class="dv">1</span>).astype(<span class="bu">int</span>)</span> +<span id="cb9-164"><a href="#cb9-164" aria-hidden="true" tabindex="-1"></a> ),</span> +<span id="cb9-165"><a href="#cb9-165" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-166"><a href="#cb9-166" aria-hidden="true" tabindex="-1"></a> .loc[</span> +<span id="cb9-167"><a href="#cb9-167" aria-hidden="true" tabindex="-1"></a> filter_batters,</span> +<span id="cb9-168"><a href="#cb9-168" aria-hidden="true" tabindex="-1"></a> [<span class="st">"player_season"</span>, <span class="st">"season"</span>, <span class="st">"n_attempt"</span>, <span class="st">"n_success"</span>],</span> +<span id="cb9-169"><a href="#cb9-169" aria-hidden="true" tabindex="-1"></a> ]</span> +<span id="cb9-170"><a href="#cb9-170" aria-hidden="true" tabindex="-1"></a> .copy()</span> +<span id="cb9-171"><a href="#cb9-171" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> m <span class="kw">in</span> [measurements_main, measurements_post]</span> +<span id="cb9-172"><a href="#cb9-172" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-173"><a href="#cb9-173" aria-hidden="true" tabindex="-1"></a> measurements <span class="op">=</span> (</span> +<span id="cb9-174"><a href="#cb9-174" aria-hidden="true" tabindex="-1"></a> pd.concat([measurements_main, measurements_post])</span> +<span id="cb9-175"><a href="#cb9-175" aria-hidden="true" tabindex="-1"></a> .groupby([<span class="st">"player_season"</span>, <span class="st">"season"</span>])</span> +<span id="cb9-176"><a href="#cb9-176" aria-hidden="true" tabindex="-1"></a> .<span class="bu">sum</span>()</span> +<span id="cb9-177"><a href="#cb9-177" aria-hidden="true" tabindex="-1"></a> .reset_index()</span> +<span id="cb9-178"><a href="#cb9-178" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-179"><a href="#cb9-179" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> PreparedData(</span> +<span id="cb9-180"><a href="#cb9-180" aria-hidden="true" tabindex="-1"></a> name<span class="op">=</span><span class="st">"bdb"</span>,</span> +<span id="cb9-181"><a href="#cb9-181" aria-hidden="true" tabindex="-1"></a> coords<span class="op">=</span>{</span> +<span id="cb9-182"><a href="#cb9-182" aria-hidden="true" tabindex="-1"></a> <span class="st">"player_season"</span>: measurements[<span class="st">"player_season"</span>].tolist(),</span> +<span id="cb9-183"><a href="#cb9-183" aria-hidden="true" tabindex="-1"></a> <span class="st">"season"</span>: measurements[<span class="st">"season"</span>].tolist(),</span> +<span id="cb9-184"><a href="#cb9-184" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb9-185"><a href="#cb9-185" aria-hidden="true" tabindex="-1"></a> measurements<span class="op">=</span>measurements,</span> +<span id="cb9-186"><a href="#cb9-186" aria-hidden="true" tabindex="-1"></a> )</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>I had to update the <code>prepare_data</code> function to take into account the two raw data sources:</p> +<div class="sourceCode" id="cb10" data-startfrom="33"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 32;"><span id="cb10-33"><a href="#cb10-33" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb10-34"><a href="#cb10-34" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data():</span> +<span id="cb10-35"><a href="#cb10-35" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Run main function."""</span></span> +<span id="cb10-36"><a href="#cb10-36" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="st">"Reading raw data..."</span>)</span> +<span id="cb10-37"><a href="#cb10-37" aria-hidden="true" tabindex="-1"></a> raw_data <span class="op">=</span> {</span> +<span id="cb10-38"><a href="#cb10-38" aria-hidden="true" tabindex="-1"></a> k: [pd.read_csv(<span class="bu">file</span>, index_col<span class="op">=</span><span class="va">None</span>) <span class="cf">for</span> <span class="bu">file</span> <span class="kw">in</span> v]</span> +<span id="cb10-39"><a href="#cb10-39" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> k, v <span class="kw">in</span> RAW_DATA_FILES.items()</span> +<span id="cb10-40"><a href="#cb10-40" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb10-41"><a href="#cb10-41" aria-hidden="true" tabindex="-1"></a> data_preparation_functions_to_run <span class="op">=</span> {</span> +<span id="cb10-42"><a href="#cb10-42" aria-hidden="true" tabindex="-1"></a> <span class="st">"2006"</span>: prepare_data_2006,</span> +<span id="cb10-43"><a href="#cb10-43" aria-hidden="true" tabindex="-1"></a> <span class="st">"bdb"</span>: prepare_data_bdb,</span> +<span id="cb10-44"><a href="#cb10-44" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb10-45"><a href="#cb10-45" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="st">"Preparing data..."</span>)</span> +<span id="cb10-46"><a href="#cb10-46" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> name, dpf <span class="kw">in</span> data_preparation_functions_to_run.items():</span> +<span id="cb10-47"><a href="#cb10-47" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="ss">f"Running data preparation function </span><span class="sc">{</span>dpf<span class="sc">.</span><span class="va">__name__</span><span class="sc">}</span><span class="ss">..."</span>)</span> +<span id="cb10-48"><a href="#cb10-48" aria-hidden="true" tabindex="-1"></a> prepared_data <span class="op">=</span> dpf(<span class="op">*</span>raw_data[name])</span> +<span id="cb10-49"><a href="#cb10-49" aria-hidden="true" tabindex="-1"></a> output_dir <span class="op">=</span> os.path.join(PREPARED_DIR, prepared_data.name)</span> +<span id="cb10-50"><a href="#cb10-50" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="ss">f"</span><span class="ch">\t</span><span class="ss">writing files to </span><span class="sc">{</span>output_dir<span class="sc">}</span><span class="ss">"</span>)</span> +<span id="cb10-51"><a href="#cb10-51" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="kw">not</span> os.path.exists(PREPARED_DIR):</span> +<span id="cb10-52"><a href="#cb10-52" aria-hidden="true" tabindex="-1"></a> os.mkdir(PREPARED_DIR)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>To finish off I deleted the unused global variables <code>MEASUREMENTS_FILE</code>, <code>NEW_COLNAMES</code>, <code>DROPNA_COLS</code> and <code>DIMS</code>, then checked if the function <code>load_prepared_data</code> needed any changes: I was pretty sure it didn’t.</p> <div class="page-columns page-full"><p>To check that all this worked, I ran the data preparation script manually:<a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a></p><div class="no-row-height column-margin column-container"><li id="fn2"><p><sup>2</sup> I could also have just run <code>make analysis</code> again</p></li></div></div> -<div class="sourceCode" id="cb10"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="op">></span> source <span class="ex">.venv/bin/activate</span></span> -<span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a><span class="kw">(</span><span class="ex">baseball</span><span class="kw">)</span> <span class="op">></span> python <span class="ex">baseball/prepare_data.py</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb11"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="op">></span> source <span class="ex">.venv/bin/activate</span></span> +<span id="cb11-2"><a href="#cb11-2" aria-hidden="true" tabindex="-1"></a><span class="kw">(</span><span class="ex">baseball</span><span class="kw">)</span> <span class="op">></span> python <span class="ex">baseball/prepare_data.py</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>Now the folder <code>data/prepared/bdb</code> contained a file <code>data/prepared/bdb/measurements.csv</code> that looked like this:</p> <pre class="{csv}"><code>,player_season,season,n_attempt,n_success 0,abreujo02,2018,553,180 @@ -3406,213 +3430,191 @@ <h1>Specifying statistical models</h1> \end{align*}\]</span></p> <p>Again I would choose priors for the hyperparameters that put most of the alphas between 0.1 and 0.4.</p> <p>To implement these models using Stan I first added the following function to the file <code>custom_functions.stan</code>. This was simply copied from <a href="https://mc-stan.org/users/documentation/case-studies/gpareto_functions.html#conclusion-on-the-data-analysis">the relevant part of the geomagnetic storms case study</a>.</p> -<div class="sourceCode" id="cb12"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="dt">real</span> gpareto_lpdf(<span class="dt">vector</span> y, <span class="dt">real</span> ymin, <span class="dt">real</span> k, <span class="dt">real</span> sigma) {</span> -<span id="cb12-2"><a href="#cb12-2" aria-hidden="true" tabindex="-1"></a> <span class="co">// generalised Pareto log pdf </span></span> -<span id="cb12-3"><a href="#cb12-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> N = rows(y);</span> -<span id="cb12-4"><a href="#cb12-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> inv_k = inv(k);</span> -<span id="cb12-5"><a href="#cb12-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (k<<span class="dv">0</span> && max(y-ymin)/sigma > -inv_k)</span> -<span id="cb12-6"><a href="#cb12-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">reject</span>(<span class="st">"k<0 and max(y-ymin)/sigma > -1/k; found k, sigma ="</span>, k, <span class="st">", "</span>, sigma);</span> -<span id="cb12-7"><a href="#cb12-7" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (sigma<=<span class="dv">0</span>)</span> -<span id="cb12-8"><a href="#cb12-8" aria-hidden="true" tabindex="-1"></a> <span class="kw">reject</span>(<span class="st">"sigma<=0; found sigma ="</span>, sigma);</span> -<span id="cb12-9"><a href="#cb12-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (fabs(k) > <span class="fl">1e-15</span>)</span> -<span id="cb12-10"><a href="#cb12-10" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> -(<span class="dv">1</span>+inv_k)*sum(log1p((y-ymin) * (k/sigma))) -N*log(sigma);</span> -<span id="cb12-11"><a href="#cb12-11" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span></span> -<span id="cb12-12"><a href="#cb12-12" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> -sum(y-ymin)/sigma -N*log(sigma); <span class="co">// limit k->0</span></span> -<span id="cb12-13"><a href="#cb12-13" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb13"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="dt">real</span> gpareto_lpdf(<span class="dt">vector</span> y, <span class="dt">real</span> ymin, <span class="dt">real</span> k, <span class="dt">real</span> sigma) {</span> +<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a> <span class="co">// generalised Pareto log pdf </span></span> +<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> N = rows(y);</span> +<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> inv_k = inv(k);</span> +<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (k<<span class="dv">0</span> && max(y-ymin)/sigma > -inv_k)</span> +<span id="cb13-6"><a href="#cb13-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">reject</span>(<span class="st">"k<0 and max(y-ymin)/sigma > -1/k; found k, sigma ="</span>, k, <span class="st">", "</span>, sigma);</span> +<span id="cb13-7"><a href="#cb13-7" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (sigma<=<span class="dv">0</span>)</span> +<span id="cb13-8"><a href="#cb13-8" aria-hidden="true" tabindex="-1"></a> <span class="kw">reject</span>(<span class="st">"sigma<=0; found sigma ="</span>, sigma);</span> +<span id="cb13-9"><a href="#cb13-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (fabs(k) > <span class="fl">1e-15</span>)</span> +<span id="cb13-10"><a href="#cb13-10" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> -(<span class="dv">1</span>+inv_k)*sum(log1p((y-ymin) * (k/sigma))) -N*log(sigma);</span> +<span id="cb13-11"><a href="#cb13-11" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span></span> +<span id="cb13-12"><a href="#cb13-12" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> -sum(y-ymin)/sigma -N*log(sigma); <span class="co">// limit k->0</span></span> +<span id="cb13-13"><a href="#cb13-13" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>Next I wrote a file <code>gpareto.stan</code>:</p> -<div class="sourceCode" id="cb13"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="kw">functions</span> {</span> -<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="co">#include custom_functions.stan</span></span> -<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a><span class="kw">data</span> {</span> -<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> N; <span class="co">// items</span></span> -<span id="cb13-6"><a href="#cb13-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> K; <span class="co">// trials</span></span> -<span id="cb13-7"><a href="#cb13-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> y; <span class="co">// successes</span></span> -<span id="cb13-8"><a href="#cb13-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> min_alpha; <span class="co">// noone worse than this would be in the dataset</span></span> -<span id="cb13-9"><a href="#cb13-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> max_alpha;</span> -<span id="cb13-10"><a href="#cb13-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_sigma;</span> -<span id="cb13-11"><a href="#cb13-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_k;</span> -<span id="cb13-12"><a href="#cb13-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>,<span class="kw">upper</span>=<span class="dv">1</span>> likelihood;</span> -<span id="cb13-13"><a href="#cb13-13" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb13-14"><a href="#cb13-14" aria-hidden="true" tabindex="-1"></a><span class="kw">parameters</span> {</span> -<span id="cb13-15"><a href="#cb13-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=<span class="fl">0.001</span>> sigma; <span class="co">// scale parameter of generalised pareto distribution</span></span> -<span id="cb13-16"><a href="#cb13-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=-sigma/(max_alpha-min_alpha)> k; <span class="co">// shape parameter of generalised pareto distribution</span></span> -<span id="cb13-17"><a href="#cb13-17" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span><<span class="kw">lower</span>=min_alpha,<span class="kw">upper</span>=max_alpha>[N] alpha; <span class="co">// success log-odds</span></span> -<span id="cb13-18"><a href="#cb13-18" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb13-19"><a href="#cb13-19" aria-hidden="true" tabindex="-1"></a><span class="kw">model</span> {</span> -<span id="cb13-20"><a href="#cb13-20" aria-hidden="true" tabindex="-1"></a> sigma ~ normal(prior_sigma[<span class="dv">1</span>], prior_sigma[<span class="dv">2</span>]);</span> -<span id="cb13-21"><a href="#cb13-21" aria-hidden="true" tabindex="-1"></a> k ~ normal(prior_k[<span class="dv">1</span>], prior_k[<span class="dv">2</span>]);</span> -<span id="cb13-22"><a href="#cb13-22" aria-hidden="true" tabindex="-1"></a> alpha ~ gpareto(min_alpha, k, sigma);</span> -<span id="cb13-23"><a href="#cb13-23" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (likelihood){</span> -<span id="cb13-24"><a href="#cb13-24" aria-hidden="true" tabindex="-1"></a> y ~ binomial_logit(K, alpha);</span> -<span id="cb13-25"><a href="#cb13-25" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb13-26"><a href="#cb13-26" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb13-27"><a href="#cb13-27" aria-hidden="true" tabindex="-1"></a><span class="kw">generated quantities</span> {</span> -<span id="cb13-28"><a href="#cb13-28" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] yrep;</span> -<span id="cb13-29"><a href="#cb13-29" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] llik;</span> -<span id="cb13-30"><a href="#cb13-30" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (n <span class="cf">in</span> <span class="dv">1</span>:N){</span> -<span id="cb13-31"><a href="#cb13-31" aria-hidden="true" tabindex="-1"></a> yrep[n] = binomial_rng(K[n], inv_logit(alpha[n]));</span> -<span id="cb13-32"><a href="#cb13-32" aria-hidden="true" tabindex="-1"></a> llik[n] = binomial_logit_lpmf(y[n] | K[n], alpha[n]);</span> -<span id="cb13-33"><a href="#cb13-33" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb13-34"><a href="#cb13-34" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> -<p>Finally I wrote a file <code>normal.stan</code>:</p> -<div class="sourceCode" id="cb14"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="kw">data</span> {</span> -<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> N; <span class="co">// items</span></span> -<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> K; <span class="co">// trials</span></span> -<span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> y; <span class="co">// successes</span></span> -<span id="cb14-5"><a href="#cb14-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_mu;</span> -<span id="cb14-6"><a href="#cb14-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_tau;</span> -<span id="cb14-7"><a href="#cb14-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_b_K;</span> -<span id="cb14-8"><a href="#cb14-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>,<span class="kw">upper</span>=<span class="dv">1</span>> likelihood;</span> -<span id="cb14-9"><a href="#cb14-9" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb14-10"><a href="#cb14-10" aria-hidden="true" tabindex="-1"></a><span class="kw">transformed data</span> {</span> -<span id="cb14-11"><a href="#cb14-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] log_K = log(to_vector(K));</span> -<span id="cb14-12"><a href="#cb14-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] log_K_std = (log_K - mean(log_K)) / sd(log_K);</span> +<div class="sourceCode" id="cb14"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="kw">functions</span> {</span> +<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a><span class="co">#include custom_functions.stan</span></span> +<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a><span class="kw">data</span> {</span> +<span id="cb14-5"><a href="#cb14-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> N; <span class="co">// items</span></span> +<span id="cb14-6"><a href="#cb14-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> K; <span class="co">// trials</span></span> +<span id="cb14-7"><a href="#cb14-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> y; <span class="co">// successes</span></span> +<span id="cb14-8"><a href="#cb14-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> min_alpha; <span class="co">// noone worse than this would be in the dataset</span></span> +<span id="cb14-9"><a href="#cb14-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> max_alpha;</span> +<span id="cb14-10"><a href="#cb14-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_sigma;</span> +<span id="cb14-11"><a href="#cb14-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_k;</span> +<span id="cb14-12"><a href="#cb14-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>,<span class="kw">upper</span>=<span class="dv">1</span>> likelihood;</span> <span id="cb14-13"><a href="#cb14-13" aria-hidden="true" tabindex="-1"></a>}</span> <span id="cb14-14"><a href="#cb14-14" aria-hidden="true" tabindex="-1"></a><span class="kw">parameters</span> {</span> -<span id="cb14-15"><a href="#cb14-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> mu; <span class="co">// population mean of success log-odds</span></span> -<span id="cb14-16"><a href="#cb14-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=<span class="dv">0</span>> tau; <span class="co">// population sd of success log-odds</span></span> -<span id="cb14-17"><a href="#cb14-17" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> b_K;</span> -<span id="cb14-18"><a href="#cb14-18" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] alpha_std; <span class="co">// success log-odds (standardized)</span></span> -<span id="cb14-19"><a href="#cb14-19" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb14-20"><a href="#cb14-20" aria-hidden="true" tabindex="-1"></a><span class="kw">model</span> {</span> -<span id="cb14-21"><a href="#cb14-21" aria-hidden="true" tabindex="-1"></a> b_K ~ normal(prior_b_K[<span class="dv">1</span>], prior_b_K[<span class="dv">2</span>]);</span> -<span id="cb14-22"><a href="#cb14-22" aria-hidden="true" tabindex="-1"></a> mu ~ normal(prior_mu[<span class="dv">1</span>], prior_mu[<span class="dv">2</span>]);</span> -<span id="cb14-23"><a href="#cb14-23" aria-hidden="true" tabindex="-1"></a> tau ~ normal(prior_tau[<span class="dv">1</span>], prior_tau[<span class="dv">2</span>]);</span> -<span id="cb14-24"><a href="#cb14-24" aria-hidden="true" tabindex="-1"></a> alpha_std ~ normal(<span class="dv">0</span>, <span class="dv">1</span>);</span> -<span id="cb14-25"><a href="#cb14-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (likelihood){</span> -<span id="cb14-26"><a href="#cb14-26" aria-hidden="true" tabindex="-1"></a> y ~ binomial_logit(K, mu + b_K * log_K_std + tau * alpha_std);</span> -<span id="cb14-27"><a href="#cb14-27" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb14-28"><a href="#cb14-28" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb14-29"><a href="#cb14-29" aria-hidden="true" tabindex="-1"></a><span class="kw">generated quantities</span> {</span> -<span id="cb14-30"><a href="#cb14-30" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] alpha = mu + b_K * log_K_std + tau * alpha_std;</span> -<span id="cb14-31"><a href="#cb14-31" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] yrep;</span> -<span id="cb14-32"><a href="#cb14-32" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] llik;</span> -<span id="cb14-33"><a href="#cb14-33" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (n <span class="cf">in</span> <span class="dv">1</span>:N){</span> -<span id="cb14-34"><a href="#cb14-34" aria-hidden="true" tabindex="-1"></a> yrep[n] = binomial_rng(K[n], inv_logit(alpha[n]));</span> -<span id="cb14-35"><a href="#cb14-35" aria-hidden="true" tabindex="-1"></a> llik[n] = binomial_logit_lpmf(y[n] | K[n], alpha[n]);</span> -<span id="cb14-36"><a href="#cb14-36" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb14-37"><a href="#cb14-37" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<span id="cb14-15"><a href="#cb14-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=<span class="fl">0.001</span>> sigma; <span class="co">// scale parameter of generalised pareto distribution</span></span> +<span id="cb14-16"><a href="#cb14-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=-sigma/(max_alpha-min_alpha)> k; <span class="co">// shape parameter of generalised pareto distribution</span></span> +<span id="cb14-17"><a href="#cb14-17" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span><<span class="kw">lower</span>=min_alpha,<span class="kw">upper</span>=max_alpha>[N] alpha; <span class="co">// success log-odds</span></span> +<span id="cb14-18"><a href="#cb14-18" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb14-19"><a href="#cb14-19" aria-hidden="true" tabindex="-1"></a><span class="kw">model</span> {</span> +<span id="cb14-20"><a href="#cb14-20" aria-hidden="true" tabindex="-1"></a> sigma ~ normal(prior_sigma[<span class="dv">1</span>], prior_sigma[<span class="dv">2</span>]);</span> +<span id="cb14-21"><a href="#cb14-21" aria-hidden="true" tabindex="-1"></a> k ~ normal(prior_k[<span class="dv">1</span>], prior_k[<span class="dv">2</span>]);</span> +<span id="cb14-22"><a href="#cb14-22" aria-hidden="true" tabindex="-1"></a> alpha ~ gpareto(min_alpha, k, sigma);</span> +<span id="cb14-23"><a href="#cb14-23" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (likelihood){</span> +<span id="cb14-24"><a href="#cb14-24" aria-hidden="true" tabindex="-1"></a> y ~ binomial_logit(K, alpha);</span> +<span id="cb14-25"><a href="#cb14-25" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb14-26"><a href="#cb14-26" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb14-27"><a href="#cb14-27" aria-hidden="true" tabindex="-1"></a><span class="kw">generated quantities</span> {</span> +<span id="cb14-28"><a href="#cb14-28" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] yrep;</span> +<span id="cb14-29"><a href="#cb14-29" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] llik;</span> +<span id="cb14-30"><a href="#cb14-30" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (n <span class="cf">in</span> <span class="dv">1</span>:N){</span> +<span id="cb14-31"><a href="#cb14-31" aria-hidden="true" tabindex="-1"></a> yrep[n] = binomial_rng(K[n], inv_logit(alpha[n]));</span> +<span id="cb14-32"><a href="#cb14-32" aria-hidden="true" tabindex="-1"></a> llik[n] = binomial_logit_lpmf(y[n] | K[n], alpha[n]);</span> +<span id="cb14-33"><a href="#cb14-33" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb14-34"><a href="#cb14-34" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>Finally I wrote a file <code>normal.stan</code>:</p> +<div class="sourceCode" id="cb15"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="kw">data</span> {</span> +<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> N; <span class="co">// items</span></span> +<span id="cb15-3"><a href="#cb15-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> K; <span class="co">// trials</span></span> +<span id="cb15-4"><a href="#cb15-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> y; <span class="co">// successes</span></span> +<span id="cb15-5"><a href="#cb15-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_mu;</span> +<span id="cb15-6"><a href="#cb15-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_tau;</span> +<span id="cb15-7"><a href="#cb15-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_b_K;</span> +<span id="cb15-8"><a href="#cb15-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>,<span class="kw">upper</span>=<span class="dv">1</span>> likelihood;</span> +<span id="cb15-9"><a href="#cb15-9" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb15-10"><a href="#cb15-10" aria-hidden="true" tabindex="-1"></a><span class="kw">transformed data</span> {</span> +<span id="cb15-11"><a href="#cb15-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] log_K = log(to_vector(K));</span> +<span id="cb15-12"><a href="#cb15-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] log_K_std = (log_K - mean(log_K)) / sd(log_K);</span> +<span id="cb15-13"><a href="#cb15-13" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb15-14"><a href="#cb15-14" aria-hidden="true" tabindex="-1"></a><span class="kw">parameters</span> {</span> +<span id="cb15-15"><a href="#cb15-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> mu; <span class="co">// population mean of success log-odds</span></span> +<span id="cb15-16"><a href="#cb15-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=<span class="dv">0</span>> tau; <span class="co">// population sd of success log-odds</span></span> +<span id="cb15-17"><a href="#cb15-17" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> b_K;</span> +<span id="cb15-18"><a href="#cb15-18" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] alpha_std; <span class="co">// success log-odds (standardized)</span></span> +<span id="cb15-19"><a href="#cb15-19" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb15-20"><a href="#cb15-20" aria-hidden="true" tabindex="-1"></a><span class="kw">model</span> {</span> +<span id="cb15-21"><a href="#cb15-21" aria-hidden="true" tabindex="-1"></a> b_K ~ normal(prior_b_K[<span class="dv">1</span>], prior_b_K[<span class="dv">2</span>]);</span> +<span id="cb15-22"><a href="#cb15-22" aria-hidden="true" tabindex="-1"></a> mu ~ normal(prior_mu[<span class="dv">1</span>], prior_mu[<span class="dv">2</span>]);</span> +<span id="cb15-23"><a href="#cb15-23" aria-hidden="true" tabindex="-1"></a> tau ~ normal(prior_tau[<span class="dv">1</span>], prior_tau[<span class="dv">2</span>]);</span> +<span id="cb15-24"><a href="#cb15-24" aria-hidden="true" tabindex="-1"></a> alpha_std ~ normal(<span class="dv">0</span>, <span class="dv">1</span>);</span> +<span id="cb15-25"><a href="#cb15-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (likelihood){</span> +<span id="cb15-26"><a href="#cb15-26" aria-hidden="true" tabindex="-1"></a> y ~ binomial_logit(K, mu + b_K * log_K_std + tau * alpha_std);</span> +<span id="cb15-27"><a href="#cb15-27" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb15-28"><a href="#cb15-28" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb15-29"><a href="#cb15-29" aria-hidden="true" tabindex="-1"></a><span class="kw">generated quantities</span> {</span> +<span id="cb15-30"><a href="#cb15-30" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] alpha = mu + b_K * log_K_std + tau * alpha_std;</span> +<span id="cb15-31"><a href="#cb15-31" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] yrep;</span> +<span id="cb15-32"><a href="#cb15-32" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] llik;</span> +<span id="cb15-33"><a href="#cb15-33" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (n <span class="cf">in</span> <span class="dv">1</span>:N){</span> +<span id="cb15-34"><a href="#cb15-34" aria-hidden="true" tabindex="-1"></a> yrep[n] = binomial_rng(K[n], inv_logit(alpha[n]));</span> +<span id="cb15-35"><a href="#cb15-35" aria-hidden="true" tabindex="-1"></a> llik[n] = binomial_logit_lpmf(y[n] | K[n], alpha[n]);</span> +<span id="cb15-36"><a href="#cb15-36" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb15-37"><a href="#cb15-37" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> </section> -<section id="generating-stan-inputs" class="level1"> +<section id="generating-stan-inputs" class="level1 page-columns page-full"> <h1>Generating Stan inputs</h1> <p>Next I needed to tell the analysis how to turn some prepared data into a dictionary that can be used as input for Stan. Bibat assumes that this task is handled by functions that live in the file <code>baseball/stan_input_functions.py</code>, each of which takes in a <code>PreparedData</code> and returns a Python dictionary. You can write as many Stan input functions as you like and choose which one to run for any given inference.</p> -<p>I started by defining some Stan input functions that pass arbitary prepared data on to each of the models:</p> -<div class="sourceCode" id="cb15" data-startfrom="11"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 10;"><span id="cb15-11"><a href="#cb15-11" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_normal(ppd: PreparedData) <span class="op">-></span> Dict:</span> -<span id="cb15-12"><a href="#cb15-12" aria-hidden="true" tabindex="-1"></a> <span class="co">"""General function for creating a Stan input."""</span></span> -<span id="cb15-13"><a href="#cb15-13" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {</span> -<span id="cb15-14"><a href="#cb15-14" aria-hidden="true" tabindex="-1"></a> <span class="st">"N"</span>: <span class="bu">len</span>(ppd.measurements),</span> -<span id="cb15-15"><a href="#cb15-15" aria-hidden="true" tabindex="-1"></a> <span class="st">"K"</span>: ppd.measurements[<span class="st">"n_attempt"</span>].values,</span> -<span id="cb15-16"><a href="#cb15-16" aria-hidden="true" tabindex="-1"></a> <span class="st">"y"</span>: ppd.measurements[<span class="st">"n_success"</span>].values,</span> -<span id="cb15-17"><a href="#cb15-17" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_mu"</span>: [logit(<span class="fl">0.25</span>), <span class="fl">0.2</span>],</span> -<span id="cb15-18"><a href="#cb15-18" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_tau"</span>: [<span class="fl">0.2</span>, <span class="fl">0.1</span>],</span> -<span id="cb15-19"><a href="#cb15-19" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_b_K"</span>: [<span class="dv">0</span>, <span class="fl">0.03</span>],</span> -<span id="cb15-20"><a href="#cb15-20" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb15-21"><a href="#cb15-21" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb15-22"><a href="#cb15-22" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb15-23"><a href="#cb15-23" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_gpareto(ppd: PreparedData) <span class="op">-></span> Dict:</span> -<span id="cb15-24"><a href="#cb15-24" aria-hidden="true" tabindex="-1"></a> <span class="co">"""General function for creating a Stan input."""</span></span> -<span id="cb15-25"><a href="#cb15-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {</span> -<span id="cb15-26"><a href="#cb15-26" aria-hidden="true" tabindex="-1"></a> <span class="st">"N"</span>: <span class="bu">len</span>(ppd.measurements),</span> -<span id="cb15-27"><a href="#cb15-27" aria-hidden="true" tabindex="-1"></a> <span class="st">"K"</span>: ppd.measurements[<span class="st">"n_attempt"</span>].values,</span> -<span id="cb15-28"><a href="#cb15-28" aria-hidden="true" tabindex="-1"></a> <span class="st">"y"</span>: ppd.measurements[<span class="st">"n_success"</span>].values,</span> -<span id="cb15-29"><a href="#cb15-29" aria-hidden="true" tabindex="-1"></a> <span class="st">"min_alpha"</span>: logit(<span class="fl">0.07</span>),</span> -<span id="cb15-30"><a href="#cb15-30" aria-hidden="true" tabindex="-1"></a> <span class="st">"max_alpha"</span>: logit(<span class="fl">0.5</span>),</span> -<span id="cb15-31"><a href="#cb15-31" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_sigma"</span>: [<span class="fl">1.5</span>, <span class="fl">0.4</span>],</span> -<span id="cb15-32"><a href="#cb15-32" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_k"</span>: [<span class="op">-</span><span class="fl">0.5</span>, <span class="dv">1</span>],</span> -<span id="cb15-33"><a href="#cb15-33" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb15-34"><a href="#cb15-34" aria-hidden="true" tabindex="-1"></a></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="page-columns page-full"><p>I started by defining some Stan input functions that pass arbitary prepared data on to each of the models:<a href="#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a></p><div class="no-row-height column-margin column-container"><li id="fn3"><p><sup>3</sup> Note that this code uses the scipy function <code>logit</code>, which it imported like this: <code>from scipy.special import logit</code></p></li></div></div> +<div class="sourceCode" id="cb16" data-startfrom="11"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 10;"><span id="cb16-11"><a href="#cb16-11" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_normal(ppd: PreparedData) <span class="op">-></span> Dict:</span> +<span id="cb16-12"><a href="#cb16-12" aria-hidden="true" tabindex="-1"></a> <span class="co">"""General function for creating a Stan input."""</span></span> +<span id="cb16-13"><a href="#cb16-13" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {</span> +<span id="cb16-14"><a href="#cb16-14" aria-hidden="true" tabindex="-1"></a> <span class="st">"N"</span>: <span class="bu">len</span>(ppd.measurements),</span> +<span id="cb16-15"><a href="#cb16-15" aria-hidden="true" tabindex="-1"></a> <span class="st">"K"</span>: ppd.measurements[<span class="st">"n_attempt"</span>].values,</span> +<span id="cb16-16"><a href="#cb16-16" aria-hidden="true" tabindex="-1"></a> <span class="st">"y"</span>: ppd.measurements[<span class="st">"n_success"</span>].values,</span> +<span id="cb16-17"><a href="#cb16-17" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_mu"</span>: [logit(<span class="fl">0.25</span>), <span class="fl">0.2</span>],</span> +<span id="cb16-18"><a href="#cb16-18" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_tau"</span>: [<span class="fl">0.2</span>, <span class="fl">0.1</span>],</span> +<span id="cb16-19"><a href="#cb16-19" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_b_K"</span>: [<span class="dv">0</span>, <span class="fl">0.03</span>],</span> +<span id="cb16-20"><a href="#cb16-20" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb16-21"><a href="#cb16-21" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb16-22"><a href="#cb16-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb16-23"><a href="#cb16-23" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_gpareto(ppd: PreparedData) <span class="op">-></span> Dict:</span> +<span id="cb16-24"><a href="#cb16-24" aria-hidden="true" tabindex="-1"></a> <span class="co">"""General function for creating a Stan input."""</span></span> +<span id="cb16-25"><a href="#cb16-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {</span> +<span id="cb16-26"><a href="#cb16-26" aria-hidden="true" tabindex="-1"></a> <span class="st">"N"</span>: <span class="bu">len</span>(ppd.measurements),</span> +<span id="cb16-27"><a href="#cb16-27" aria-hidden="true" tabindex="-1"></a> <span class="st">"K"</span>: ppd.measurements[<span class="st">"n_attempt"</span>].values,</span> +<span id="cb16-28"><a href="#cb16-28" aria-hidden="true" tabindex="-1"></a> <span class="st">"y"</span>: ppd.measurements[<span class="st">"n_success"</span>].values,</span> +<span id="cb16-29"><a href="#cb16-29" aria-hidden="true" tabindex="-1"></a> <span class="st">"min_alpha"</span>: logit(<span class="fl">0.07</span>),</span> +<span id="cb16-30"><a href="#cb16-30" aria-hidden="true" tabindex="-1"></a> <span class="st">"max_alpha"</span>: logit(<span class="fl">0.5</span>),</span> +<span id="cb16-31"><a href="#cb16-31" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_sigma"</span>: [<span class="fl">1.5</span>, <span class="fl">0.4</span>],</span> +<span id="cb16-32"><a href="#cb16-32" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_k"</span>: [<span class="op">-</span><span class="fl">0.5</span>, <span class="dv">1</span>],</span> +<span id="cb16-33"><a href="#cb16-33" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb16-34"><a href="#cb16-34" aria-hidden="true" tabindex="-1"></a></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>But why stop there? It can also be useful to generate Stan input data from a model with a model, by running it in simulation model with hardcoded parameter values. Here are some functions that do this for both of our models:</p> -<div class="sourceCode" id="cb16" data-startfrom="36"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 35;"><span id="cb16-36"><a href="#cb16-36" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_normal_fake(ppd: PreparedData) <span class="op">-></span> Dict:</span> -<span id="cb16-37"><a href="#cb16-37" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate fake Stan input consistent with the normal model."""</span></span> -<span id="cb16-38"><a href="#cb16-38" aria-hidden="true" tabindex="-1"></a> N <span class="op">=</span> <span class="bu">len</span>(ppd.measurements)</span> -<span id="cb16-39"><a href="#cb16-39" aria-hidden="true" tabindex="-1"></a> rng <span class="op">=</span> np.random.default_rng(seed<span class="op">=</span><span class="dv">1234</span>)</span> -<span id="cb16-40"><a href="#cb16-40" aria-hidden="true" tabindex="-1"></a> true_param_values <span class="op">=</span> {</span> -<span id="cb16-41"><a href="#cb16-41" aria-hidden="true" tabindex="-1"></a> <span class="st">"mu"</span>: logit(<span class="fl">0.25</span>),</span> -<span id="cb16-42"><a href="#cb16-42" aria-hidden="true" tabindex="-1"></a> <span class="st">"tau"</span>: <span class="fl">0.18</span>, <span class="co"># 2sds is 0.19 to 0.32 batting average</span></span> -<span id="cb16-43"><a href="#cb16-43" aria-hidden="true" tabindex="-1"></a> <span class="st">"b_K"</span>: <span class="fl">0.04</span>, <span class="co"># slight effect of more attempts</span></span> -<span id="cb16-44"><a href="#cb16-44" aria-hidden="true" tabindex="-1"></a> <span class="st">"alpha_std"</span>: rng.random.normal(loc<span class="op">=</span><span class="dv">0</span>, scale<span class="op">=</span><span class="dv">1</span>, size<span class="op">=</span>N),</span> -<span id="cb16-45"><a href="#cb16-45" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb16-46"><a href="#cb16-46" aria-hidden="true" tabindex="-1"></a> K <span class="op">=</span> ppd.measurements[<span class="st">"n_attempt"</span>].values</span> -<span id="cb16-47"><a href="#cb16-47" aria-hidden="true" tabindex="-1"></a> log_K_std <span class="op">=</span> (np.log(K) <span class="op">-</span> np.log(K).mean()) <span class="op">/</span> np.log(K).std()</span> -<span id="cb16-48"><a href="#cb16-48" aria-hidden="true" tabindex="-1"></a> alpha <span class="op">=</span> (</span> -<span id="cb16-49"><a href="#cb16-49" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"mu"</span>]</span> -<span id="cb16-50"><a href="#cb16-50" aria-hidden="true" tabindex="-1"></a> <span class="op">+</span> true_param_values[<span class="st">"b_K"</span>] <span class="op">*</span> log_K_std</span> -<span id="cb16-51"><a href="#cb16-51" aria-hidden="true" tabindex="-1"></a> <span class="op">+</span> true_param_values[<span class="st">"tau"</span>] <span class="op">*</span> true_param_values[<span class="st">"alpha_std"</span>]</span> -<span id="cb16-52"><a href="#cb16-52" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb16-53"><a href="#cb16-53" aria-hidden="true" tabindex="-1"></a> y <span class="op">=</span> rng.random.binomial(K, expit(alpha))</span> -<span id="cb16-54"><a href="#cb16-54" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {<span class="st">"N"</span>: N, <span class="st">"K"</span>: K, <span class="st">"y"</span>: y} <span class="op">|</span> true_param_values</span> -<span id="cb16-55"><a href="#cb16-55" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-56"><a href="#cb16-56" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-57"><a href="#cb16-57" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_gpareto_fake(ppd: PreparedData) <span class="op">-></span> Dict:</span> -<span id="cb16-58"><a href="#cb16-58" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate fake Stan input consistent with the gpareto model."""</span></span> -<span id="cb16-59"><a href="#cb16-59" aria-hidden="true" tabindex="-1"></a> N <span class="op">=</span> <span class="bu">len</span>(ppd.measurements)</span> -<span id="cb16-60"><a href="#cb16-60" aria-hidden="true" tabindex="-1"></a> K <span class="op">=</span> ppd.measurements[<span class="st">"n_attempt"</span>].values</span> -<span id="cb16-61"><a href="#cb16-61" aria-hidden="true" tabindex="-1"></a> min_alpha <span class="op">=</span> <span class="fl">0.1</span></span> -<span id="cb16-62"><a href="#cb16-62" aria-hidden="true" tabindex="-1"></a> rng <span class="op">=</span> np.random.default_rng(seed<span class="op">=</span><span class="dv">1234</span>)</span> -<span id="cb16-63"><a href="#cb16-63" aria-hidden="true" tabindex="-1"></a> true_param_values <span class="op">=</span> {<span class="st">"sigma"</span>: <span class="op">-</span><span class="fl">1.098</span>, <span class="st">"k"</span>: <span class="fl">0.18</span>}</span> -<span id="cb16-64"><a href="#cb16-64" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"alpha"</span>] <span class="op">=</span> gpareto_rvs(</span> -<span id="cb16-65"><a href="#cb16-65" aria-hidden="true" tabindex="-1"></a> rng,</span> -<span id="cb16-66"><a href="#cb16-66" aria-hidden="true" tabindex="-1"></a> N,</span> -<span id="cb16-67"><a href="#cb16-67" aria-hidden="true" tabindex="-1"></a> min_alpha,</span> -<span id="cb16-68"><a href="#cb16-68" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"k"</span>],</span> -<span id="cb16-69"><a href="#cb16-69" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"sigma"</span>],</span> -<span id="cb16-70"><a href="#cb16-70" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb16-71"><a href="#cb16-71" aria-hidden="true" tabindex="-1"></a> y <span class="op">=</span> rng.binomial(K, expit(true_param_values[<span class="st">"alpha"</span>]))</span> -<span id="cb16-72"><a href="#cb16-72" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {<span class="st">"N"</span>: N, <span class="st">"K"</span>: K, <span class="st">"y"</span>: y, <span class="st">"min_alpha"</span>: min_alpha} <span class="op">|</span> true_param_values</span> -<span id="cb16-73"><a href="#cb16-73" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-74"><a href="#cb16-74" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-75"><a href="#cb16-75" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> gpareto_rvs(</span> -<span id="cb16-76"><a href="#cb16-76" aria-hidden="true" tabindex="-1"></a> rng: np.random.Generator, size: <span class="bu">int</span>, mu: <span class="bu">float</span>, k: <span class="bu">float</span>, sigma: <span class="bu">float</span></span> -<span id="cb16-77"><a href="#cb16-77" aria-hidden="true" tabindex="-1"></a>):</span> -<span id="cb16-78"><a href="#cb16-78" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate random numbers from a generalised pareto distribution.</span></span> -<span id="cb16-79"><a href="#cb16-79" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-80"><a href="#cb16-80" aria-hidden="true" tabindex="-1"></a><span class="co"> See https://en.wikipedia.org/wiki/Generalized_Pareto_distribution for</span></span> -<span id="cb16-81"><a href="#cb16-81" aria-hidden="true" tabindex="-1"></a><span class="co"> source.</span></span> -<span id="cb16-82"><a href="#cb16-82" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-83"><a href="#cb16-83" aria-hidden="true" tabindex="-1"></a><span class="co"> """</span></span> -<span id="cb16-84"><a href="#cb16-84" aria-hidden="true" tabindex="-1"></a> U <span class="op">=</span> rng.uniform(size)</span> -<span id="cb16-85"><a href="#cb16-85" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> k <span class="op">==</span> <span class="dv">0</span>:</span> -<span id="cb16-86"><a href="#cb16-86" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> mu <span class="op">-</span> sigma <span class="op">*</span> np.log(U)</span> -<span id="cb16-87"><a href="#cb16-87" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span>:</span> -<span id="cb16-88"><a href="#cb16-88" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> mu <span class="op">+</span> (sigma <span class="op">*</span> (U<span class="op">**-</span>k) <span class="op">-</span> <span class="dv">1</span>) <span class="op">/</span> sigma</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb17" data-startfrom="36"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 35;"><span id="cb17-36"><a href="#cb17-36" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_normal_fake(ppd: PreparedData) <span class="op">-></span> Dict:</span> +<span id="cb17-37"><a href="#cb17-37" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate fake Stan input consistent with the normal model."""</span></span> +<span id="cb17-38"><a href="#cb17-38" aria-hidden="true" tabindex="-1"></a> N <span class="op">=</span> <span class="bu">len</span>(ppd.measurements)</span> +<span id="cb17-39"><a href="#cb17-39" aria-hidden="true" tabindex="-1"></a> rng <span class="op">=</span> np.random.default_rng(seed<span class="op">=</span><span class="dv">1234</span>)</span> +<span id="cb17-40"><a href="#cb17-40" aria-hidden="true" tabindex="-1"></a> true_param_values <span class="op">=</span> {</span> +<span id="cb17-41"><a href="#cb17-41" aria-hidden="true" tabindex="-1"></a> <span class="st">"mu"</span>: logit(<span class="fl">0.25</span>),</span> +<span id="cb17-42"><a href="#cb17-42" aria-hidden="true" tabindex="-1"></a> <span class="st">"tau"</span>: <span class="fl">0.18</span>, <span class="co"># 2sds is 0.19 to 0.32 batting average</span></span> +<span id="cb17-43"><a href="#cb17-43" aria-hidden="true" tabindex="-1"></a> <span class="st">"b_K"</span>: <span class="fl">0.04</span>, <span class="co"># slight effect of more attempts</span></span> +<span id="cb17-44"><a href="#cb17-44" aria-hidden="true" tabindex="-1"></a> <span class="st">"alpha_std"</span>: rng.random.normal(loc<span class="op">=</span><span class="dv">0</span>, scale<span class="op">=</span><span class="dv">1</span>, size<span class="op">=</span>N),</span> +<span id="cb17-45"><a href="#cb17-45" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb17-46"><a href="#cb17-46" aria-hidden="true" tabindex="-1"></a> K <span class="op">=</span> ppd.measurements[<span class="st">"n_attempt"</span>].values</span> +<span id="cb17-47"><a href="#cb17-47" aria-hidden="true" tabindex="-1"></a> log_K_std <span class="op">=</span> (np.log(K) <span class="op">-</span> np.log(K).mean()) <span class="op">/</span> np.log(K).std()</span> +<span id="cb17-48"><a href="#cb17-48" aria-hidden="true" tabindex="-1"></a> alpha <span class="op">=</span> (</span> +<span id="cb17-49"><a href="#cb17-49" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"mu"</span>]</span> +<span id="cb17-50"><a href="#cb17-50" aria-hidden="true" tabindex="-1"></a> <span class="op">+</span> true_param_values[<span class="st">"b_K"</span>] <span class="op">*</span> log_K_std</span> +<span id="cb17-51"><a href="#cb17-51" aria-hidden="true" tabindex="-1"></a> <span class="op">+</span> true_param_values[<span class="st">"tau"</span>] <span class="op">*</span> true_param_values[<span class="st">"alpha_std"</span>]</span> +<span id="cb17-52"><a href="#cb17-52" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb17-53"><a href="#cb17-53" aria-hidden="true" tabindex="-1"></a> y <span class="op">=</span> rng.random.binomial(K, expit(alpha))</span> +<span id="cb17-54"><a href="#cb17-54" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {<span class="st">"N"</span>: N, <span class="st">"K"</span>: K, <span class="st">"y"</span>: y} <span class="op">|</span> true_param_values</span> +<span id="cb17-55"><a href="#cb17-55" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-56"><a href="#cb17-56" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-57"><a href="#cb17-57" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_gpareto_fake(ppd: PreparedData) <span class="op">-></span> Dict:</span> +<span id="cb17-58"><a href="#cb17-58" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate fake Stan input consistent with the gpareto model."""</span></span> +<span id="cb17-59"><a href="#cb17-59" aria-hidden="true" tabindex="-1"></a> N <span class="op">=</span> <span class="bu">len</span>(ppd.measurements)</span> +<span id="cb17-60"><a href="#cb17-60" aria-hidden="true" tabindex="-1"></a> K <span class="op">=</span> ppd.measurements[<span class="st">"n_attempt"</span>].values</span> +<span id="cb17-61"><a href="#cb17-61" aria-hidden="true" tabindex="-1"></a> min_alpha <span class="op">=</span> <span class="fl">0.1</span></span> +<span id="cb17-62"><a href="#cb17-62" aria-hidden="true" tabindex="-1"></a> rng <span class="op">=</span> np.random.default_rng(seed<span class="op">=</span><span class="dv">1234</span>)</span> +<span id="cb17-63"><a href="#cb17-63" aria-hidden="true" tabindex="-1"></a> true_param_values <span class="op">=</span> {<span class="st">"sigma"</span>: <span class="op">-</span><span class="fl">1.098</span>, <span class="st">"k"</span>: <span class="fl">0.18</span>}</span> +<span id="cb17-64"><a href="#cb17-64" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"alpha"</span>] <span class="op">=</span> gpareto_rvs(</span> +<span id="cb17-65"><a href="#cb17-65" aria-hidden="true" tabindex="-1"></a> rng,</span> +<span id="cb17-66"><a href="#cb17-66" aria-hidden="true" tabindex="-1"></a> N,</span> +<span id="cb17-67"><a href="#cb17-67" aria-hidden="true" tabindex="-1"></a> min_alpha,</span> +<span id="cb17-68"><a href="#cb17-68" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"k"</span>],</span> +<span id="cb17-69"><a href="#cb17-69" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"sigma"</span>],</span> +<span id="cb17-70"><a href="#cb17-70" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb17-71"><a href="#cb17-71" aria-hidden="true" tabindex="-1"></a> y <span class="op">=</span> rng.binomial(K, expit(true_param_values[<span class="st">"alpha"</span>]))</span> +<span id="cb17-72"><a href="#cb17-72" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {<span class="st">"N"</span>: N, <span class="st">"K"</span>: K, <span class="st">"y"</span>: y, <span class="st">"min_alpha"</span>: min_alpha} <span class="op">|</span> true_param_values</span> +<span id="cb17-73"><a href="#cb17-73" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-74"><a href="#cb17-74" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-75"><a href="#cb17-75" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> gpareto_rvs(</span> +<span id="cb17-76"><a href="#cb17-76" aria-hidden="true" tabindex="-1"></a> rng: np.random.Generator, size: <span class="bu">int</span>, mu: <span class="bu">float</span>, k: <span class="bu">float</span>, sigma: <span class="bu">float</span></span> +<span id="cb17-77"><a href="#cb17-77" aria-hidden="true" tabindex="-1"></a>):</span> +<span id="cb17-78"><a href="#cb17-78" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate random numbers from a generalised pareto distribution.</span></span> +<span id="cb17-79"><a href="#cb17-79" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-80"><a href="#cb17-80" aria-hidden="true" tabindex="-1"></a><span class="co"> See https://en.wikipedia.org/wiki/Generalized_Pareto_distribution for</span></span> +<span id="cb17-81"><a href="#cb17-81" aria-hidden="true" tabindex="-1"></a><span class="co"> source.</span></span> +<span id="cb17-82"><a href="#cb17-82" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-83"><a href="#cb17-83" aria-hidden="true" tabindex="-1"></a><span class="co"> """</span></span> +<span id="cb17-84"><a href="#cb17-84" aria-hidden="true" tabindex="-1"></a> U <span class="op">=</span> rng.uniform(size)</span> +<span id="cb17-85"><a href="#cb17-85" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> k <span class="op">==</span> <span class="dv">0</span>:</span> +<span id="cb17-86"><a href="#cb17-86" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> mu <span class="op">-</span> sigma <span class="op">*</span> np.log(U)</span> +<span id="cb17-87"><a href="#cb17-87" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span>:</span> +<span id="cb17-88"><a href="#cb17-88" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> mu <span class="op">+</span> (sigma <span class="op">*</span> (U<span class="op">**-</span>k) <span class="op">-</span> <span class="dv">1</span>) <span class="op">/</span> sigma</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> </section> <section id="specifying-inferences" class="level1"> <h1>Specifying inferences</h1> <p>Now all the building blocks for making statistical inferences - raw data, data preparation rules, statistical models and recipes for turning prepared data into model inputs - were in place. The last step before actually running Stan was to write down how put the blocks together. Bibat has another concept for this, called ‘inferences’.</p> <p>An inference in bibat is a folder containing a special file called <code>config.toml</code>. This file sets out what inferences you want to make: which statistical model, which prepared data function, which Stan input function, which parameters have which dimensions, which sampling modes to use and how to configure the sampler. The folder will later be filled up with the results of performing the specified inferences.</p> <p>I started by deleting the example inferences and creating two fresh folders, leaving me with an <code>inferences</code> folder looking like this:</p> -<div class="sourceCode" id="cb17"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="ex">inferences</span></span> -<span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a><span class="ex">├──</span> gpareto2006</span> -<span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> └── config.toml</span> -<span id="cb17-4"><a href="#cb17-4" aria-hidden="true" tabindex="-1"></a><span class="ex">└──</span> normal2006</span> -<span id="cb17-5"><a href="#cb17-5" aria-hidden="true" tabindex="-1"></a> <span class="ex">└──</span> config.toml</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb18"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="ex">inferences</span></span> +<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a><span class="ex">├──</span> gpareto2006</span> +<span id="cb18-3"><a href="#cb18-3" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> └── config.toml</span> +<span id="cb18-4"><a href="#cb18-4" aria-hidden="true" tabindex="-1"></a><span class="ex">└──</span> normal2006</span> +<span id="cb18-5"><a href="#cb18-5" aria-hidden="true" tabindex="-1"></a> <span class="ex">└──</span> config.toml</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>Here is the file <code>inferences/gpareto2006/config.toml</code>:</p> -<div class="sourceCode" id="cb18"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"gpareto2006"</span></span> -<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"gpareto.stan"</span></span> -<span id="cb18-3"><a href="#cb18-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"2006"</span></span> -<span id="cb18-4"><a href="#cb18-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_gpareto"</span></span> -<span id="cb18-5"><a href="#cb18-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> -<span id="cb18-6"><a href="#cb18-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb18-7"><a href="#cb18-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> -<span id="cb18-8"><a href="#cb18-8" aria-hidden="true" tabindex="-1"></a><span class="dt">alpha</span> <span class="op">=</span> <span class="op">[</span><span class="st">"player"</span><span class="op">]</span></span> -<span id="cb18-9"><a href="#cb18-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb18-10"><a href="#cb18-10" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">stanc_options</span><span class="kw">]</span></span> -<span id="cb18-11"><a href="#cb18-11" aria-hidden="true" tabindex="-1"></a><span class="dt">warn-pedantic</span> <span class="op">=</span> <span class="cn">true</span></span> -<span id="cb18-12"><a href="#cb18-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb18-13"><a href="#cb18-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> -<span id="cb18-14"><a href="#cb18-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> -<span id="cb18-15"><a href="#cb18-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb18-16"><a href="#cb18-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb18-17"><a href="#cb18-17" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb18-18"><a href="#cb18-18" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">.</span><span class="dt">prior</span><span class="kw">]</span></span> -<span id="cb18-19"><a href="#cb18-19" aria-hidden="true" tabindex="-1"></a><span class="dt">chains</span> <span class="op">=</span> <span class="dv">2</span></span> -<span id="cb18-20"><a href="#cb18-20" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">1000</span></span> -<span id="cb18-21"><a href="#cb18-21" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">1000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> -<p>Here is the file <code>inferences/normal2006/config.toml</code>:</p> -<div class="sourceCode" id="cb19"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"normal2006"</span></span> -<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"normal.stan"</span></span> +<div class="sourceCode" id="cb19"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"gpareto2006"</span></span> +<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"gpareto.stan"</span></span> <span id="cb19-3"><a href="#cb19-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"2006"</span></span> -<span id="cb19-4"><a href="#cb19-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_normal"</span></span> +<span id="cb19-4"><a href="#cb19-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_gpareto"</span></span> <span id="cb19-5"><a href="#cb19-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> <span id="cb19-6"><a href="#cb19-6" aria-hidden="true" tabindex="-1"></a></span> <span id="cb19-7"><a href="#cb19-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> @@ -3624,21 +3626,50 @@ <h1>Specifying inferences</h1> <span id="cb19-13"><a href="#cb19-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> <span id="cb19-14"><a href="#cb19-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> <span id="cb19-15"><a href="#cb19-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb19-16"><a href="#cb19-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> -<p>Note that: * The Stan file, prepared data folder and stan input function are referred to by strings. The analysis should raise an error if you enter a non-existing value. * Both inferences are set to run in “prior” and “posterior” modes - the other pre-defined mode is “kfold”, but you can also write your own! * You can enter arbitrary arguments to cmdstanpy’s <code>CmdStanModel.sample</code> method in the <code>[sample_kwargs]</code> table. * You can enter mode-specific overrides in <code>[sample_kwargs.<MODE>]</code>. This can be handy if you want to run more or fewer iterations for a certain mode.</p> +<span id="cb19-16"><a href="#cb19-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb19-17"><a href="#cb19-17" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb19-18"><a href="#cb19-18" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">.</span><span class="dt">prior</span><span class="kw">]</span></span> +<span id="cb19-19"><a href="#cb19-19" aria-hidden="true" tabindex="-1"></a><span class="dt">chains</span> <span class="op">=</span> <span class="dv">2</span></span> +<span id="cb19-20"><a href="#cb19-20" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">1000</span></span> +<span id="cb19-21"><a href="#cb19-21" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">1000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>Here is the file <code>inferences/normal2006/config.toml</code>:</p> +<div class="sourceCode" id="cb20"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"normal2006"</span></span> +<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"normal.stan"</span></span> +<span id="cb20-3"><a href="#cb20-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"2006"</span></span> +<span id="cb20-4"><a href="#cb20-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_normal"</span></span> +<span id="cb20-5"><a href="#cb20-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> +<span id="cb20-6"><a href="#cb20-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-7"><a href="#cb20-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> +<span id="cb20-8"><a href="#cb20-8" aria-hidden="true" tabindex="-1"></a><span class="dt">alpha</span> <span class="op">=</span> <span class="op">[</span><span class="st">"player"</span><span class="op">]</span></span> +<span id="cb20-9"><a href="#cb20-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-10"><a href="#cb20-10" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">stanc_options</span><span class="kw">]</span></span> +<span id="cb20-11"><a href="#cb20-11" aria-hidden="true" tabindex="-1"></a><span class="dt">warn-pedantic</span> <span class="op">=</span> <span class="cn">true</span></span> +<span id="cb20-12"><a href="#cb20-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-13"><a href="#cb20-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> +<span id="cb20-14"><a href="#cb20-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> +<span id="cb20-15"><a href="#cb20-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb20-16"><a href="#cb20-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>Note that:</p> +<ul> +<li>The Stan file, prepared data folder and stan input function are referred to by strings. The analysis should raise an error if you enter a non-existing value.</li> +<li>Both inferences are set to run in “prior” and “posterior” modes - the other pre-defined mode is “kfold”, but you can also write your own!</li> +<li>You can enter arbitrary arguments to cmdstanpy’s <code>CmdStanModel.sample</code> method in the <code>[sample_kwargs]</code> table.</li> +<li>You can enter mode-specific overrides in <code>[sample_kwargs.<MODE>]</code>. This can be handy if you want to run more or fewer iterations for a certain mode.</li> +</ul> <p>Now when I ran <code>make analysis</code> again, I saw messages indicating that Stan had run, and found that the <code>inferences</code> subfolders had been populated:</p> -<div class="sourceCode" id="cb20"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="ex">inferences</span></span> -<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a><span class="ex">├──</span> gpareto2006</span> -<span id="cb20-3"><a href="#cb20-3" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> ├── config.toml</span> -<span id="cb20-4"><a href="#cb20-4" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> └── idata.json</span> -<span id="cb20-5"><a href="#cb20-5" aria-hidden="true" tabindex="-1"></a><span class="ex">└──</span> normal2006</span> -<span id="cb20-6"><a href="#cb20-6" aria-hidden="true" tabindex="-1"></a> <span class="ex">├──</span> config.toml</span> -<span id="cb20-7"><a href="#cb20-7" aria-hidden="true" tabindex="-1"></a> <span class="ex">└──</span> idata.json</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb21"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="ex">inferences</span></span> +<span id="cb21-2"><a href="#cb21-2" aria-hidden="true" tabindex="-1"></a><span class="ex">├──</span> gpareto2006</span> +<span id="cb21-3"><a href="#cb21-3" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> ├── config.toml</span> +<span id="cb21-4"><a href="#cb21-4" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> └── idata.json</span> +<span id="cb21-5"><a href="#cb21-5" aria-hidden="true" tabindex="-1"></a><span class="ex">└──</span> normal2006</span> +<span id="cb21-6"><a href="#cb21-6" aria-hidden="true" tabindex="-1"></a> <span class="ex">├──</span> config.toml</span> +<span id="cb21-7"><a href="#cb21-7" aria-hidden="true" tabindex="-1"></a> <span class="ex">└──</span> idata.json</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> </section> <section id="investigating-the-inferences" class="level1"> <h1>Investigating the inferences</h1> -<p>Now that the inferences are ready it’s time to check them out. Bibat provides a jupyter notebook at <code>baseball/investigate.ipynb</code> for exactly this purpose.</p> -<p>A lot of code from the example analysis’s notebook was reusable, so I largely followed its structure, with a few tweaks.</p> +<p>Now that the inferences are ready it’s time to check them out. Bibat provides a Jupyter notebook at <code>baseball/investigate.ipynb</code> for exactly this purpose. The notebook’s main job is to create plots and save them in the <code>plots</code> directory when it is executed with the command <code>jupyter execute investigate.ipynb</code>, which is the final step in the chain of commands that is triggered by <code>make analysis</code>.</p> +<p>A notebook is arguably a nicer home for code that creates plots than a plain python script because it allows for literate documentation and an iterative workflow. A notebook makes it easy to, for example, add some code to change the scale of a plot, execute the code and see the new results, then update the relevant documentation all in the same place.</p> +<p>The code from the example analysis’s notebook for loading <code>InferenceData</code> was reusable with a few tweaks to avoid missing file errors, so I kept it. On the other hand, I wanted to make some different plots from the ones in the example analysis, including some that required loading prepared data. To check out everything I did, see <a href="https://github.com/teddygroves/bibat/blob/main/bibat/examples/baseball/baseball/investigate.ipynb">here</a>.</p> </section> <section id="choosing-priors-using-push-forward-calibration" class="level1"> <h1>Choosing priors using push-forward calibration</h1> @@ -3648,31 +3679,35 @@ <h1>Choosing priors using push-forward calibration</h1> <section id="extending-the-analysis-to-the-baseballdatabank-data" class="level1"> <h1>Extending the analysis to the baseballdatabank data</h1> <p>To model the more recent data, all I had to do was create some new inference folders with appropriate <code>prepared_data_dir</code> fields in their <code>config.toml</code> files. For example, here is the <code>config.toml</code> file for the <code>gparetobdb</code> inference:</p> -<div class="sourceCode" id="cb21"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"gparetobdb"</span></span> -<span id="cb21-2"><a href="#cb21-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"gpareto.stan"</span></span> -<span id="cb21-3"><a href="#cb21-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"bdb"</span></span> -<span id="cb21-4"><a href="#cb21-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_gpareto"</span></span> -<span id="cb21-5"><a href="#cb21-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> -<span id="cb21-6"><a href="#cb21-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb21-7"><a href="#cb21-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> -<span id="cb21-8"><a href="#cb21-8" aria-hidden="true" tabindex="-1"></a><span class="dt">alpha</span> <span class="op">=</span> <span class="op">[</span><span class="st">"player"</span><span class="op">]</span></span> -<span id="cb21-9"><a href="#cb21-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb21-10"><a href="#cb21-10" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">stanc_options</span><span class="kw">]</span></span> -<span id="cb21-11"><a href="#cb21-11" aria-hidden="true" tabindex="-1"></a><span class="dt">warn-pedantic</span> <span class="op">=</span> <span class="cn">true</span></span> -<span id="cb21-12"><a href="#cb21-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb21-13"><a href="#cb21-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> -<span id="cb21-14"><a href="#cb21-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> -<span id="cb21-15"><a href="#cb21-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb21-16"><a href="#cb21-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb21-17"><a href="#cb21-17" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb21-18"><a href="#cb21-18" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">.</span><span class="dt">prior</span><span class="kw">]</span></span> -<span id="cb21-19"><a href="#cb21-19" aria-hidden="true" tabindex="-1"></a><span class="dt">chains</span> <span class="op">=</span> <span class="dv">2</span></span> -<span id="cb21-20"><a href="#cb21-20" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb21-21"><a href="#cb21-21" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">1000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb22"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"gparetobdb"</span></span> +<span id="cb22-2"><a href="#cb22-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"gpareto.stan"</span></span> +<span id="cb22-3"><a href="#cb22-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"bdb"</span></span> +<span id="cb22-4"><a href="#cb22-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_gpareto"</span></span> +<span id="cb22-5"><a href="#cb22-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> +<span id="cb22-6"><a href="#cb22-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb22-7"><a href="#cb22-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> +<span id="cb22-8"><a href="#cb22-8" aria-hidden="true" tabindex="-1"></a><span class="dt">alpha</span> <span class="op">=</span> <span class="op">[</span><span class="st">"player"</span><span class="op">]</span></span> +<span id="cb22-9"><a href="#cb22-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb22-10"><a href="#cb22-10" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">stanc_options</span><span class="kw">]</span></span> +<span id="cb22-11"><a href="#cb22-11" aria-hidden="true" tabindex="-1"></a><span class="dt">warn-pedantic</span> <span class="op">=</span> <span class="cn">true</span></span> +<span id="cb22-12"><a href="#cb22-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb22-13"><a href="#cb22-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> +<span id="cb22-14"><a href="#cb22-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> +<span id="cb22-15"><a href="#cb22-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb22-16"><a href="#cb22-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb22-17"><a href="#cb22-17" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb22-18"><a href="#cb22-18" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">.</span><span class="dt">prior</span><span class="kw">]</span></span> +<span id="cb22-19"><a href="#cb22-19" aria-hidden="true" tabindex="-1"></a><span class="dt">chains</span> <span class="op">=</span> <span class="dv">2</span></span> +<span id="cb22-20"><a href="#cb22-20" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb22-21"><a href="#cb22-21" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">1000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>After running <code>make analysis</code> one more time, I went back to the notebook <code>baseball/investigate.ipynb</code> and made plots of both models’ posterior 1%-99% success rate intervals for both datasets:</p> <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3gU1foH8O9uyqYnQCokJCQUSWgCgoCIIgpcRUAFFH9KtQGiotwrNpqKXe9VESvYpYhiR0WQIghICyHUVEIKKZuym63z/v7Y7JLNJpBAIEv4fp4nD2TmzJkzswtn9t1z3qMSEQEREREREREREZGbUjd1A4iIiIiIiIiIiE6HASwiIiIiIiIiInJrDGAREREREREREZFbYwCLiIiIiIiIiIjcGgNYRERERERERETk1hjAIiIiIiIiIiIit8YAFhERERERERERuTUGsIiIiIiIiIiIyK0xgEVERERERERERG6NASwiIqImpFKpMG/evAYfl5GRAZVKhWXLljm2zZs3DyqVqvEaB+Caa67BNddc06h1nk8qlQozZsxo6mZccOfjtSciIiJyJwxgERHRJW/ZsmVQqVRQqVTYvHmzy34RQUxMDFQqFW666aYmaCERubsTJ05g3rx52LNnT1M3hYiIqFliAIuIiKiKj48PvvjiC5ftf/75J44fPw6NRtMErSKii8GJEycwf/58BrCIiIjOEwawiIiIqvzrX//CypUrYbFYnLZ/8cUX6NWrFyIjI5uoZXSx0el0Td0EOkcGgwGKojR1M4iIiKgKA1hERERV7rjjDhQVFeG3335zbDOZTFi1ahXGjx9f6zE6nQ6PPvooYmJioNFo0KlTJ7zyyisQEadyRqMRjzzyCMLCwhAYGIibb74Zx48fr7XOnJwcTJ48GREREdBoNEhKSsJHH3101tf12WefoVevXvD19UXLli1x++23Izs726Xce++9h4SEBPj6+qJPnz7YtGlTverv0qULrr32WpftiqKgTZs2uO222xzbvvrqK/Tq1QuBgYEICgpC165d8d///veM56jvfbb7/PPP0alTJ/j4+KBXr17YuHGj0/7y8nI8/PDDiIuLg0ajQXh4OK6//nrs2rXLqdzff/+NYcOGITg4GH5+fhg0aBC2bNniVMaef+rAgQMYP348WrRogauuugqvvPIKVCoVMjMzXdo3Z84ceHt7o6SkpEHnAoDNmzfjiiuugI+PDxISEvDuu++e8f7ZHTlyBLfeeisiIyPh4+OD6Oho3H777SgtLQVQe241u9ryteXk5GDKlClo3bo1NBoN2rVrhwceeAAmk8lRRqvV4pFHHnHc6+joaNx9990oLCx0lDEajZg7dy7at28PjUaDmJgY/Pvf/4bRaHQ632+//YarrroKISEhCAgIQKdOnfDEE084lXnzzTeRlJQEPz8/tGjRAr179651ZGV1GzZsgEqlwldffYWnnnoKbdq0gZ+fH8rKylBcXIzHHnsMXbt2RUBAAIKCgjB8+HDs3bvX6fgrrrgCADBp0iTHlOTq97E+r29935dERESXIs+mbgAREZG7iIuLQ79+/fDll19i+PDhAICff/4ZpaWluP322/G///3PqbyI4Oabb8b69esxZcoU9OjRA2vXrsXs2bORk5OD119/3VF26tSp+OyzzzB+/Hj0798ff/zxB2688UaXNuTn5+PKK690JCMPCwvDzz//jClTpqCsrAwPP/xwg67pueeew9NPP42xY8di6tSpOHnyJN58801cffXV2L17N0JCQgAAH374Ie677z70798fDz/8MNLS0nDzzTejZcuWiImJOe05xo0bh3nz5iEvL89plNrmzZtx4sQJ3H777QBswYc77rgD1113HV588UUAQGpqKrZs2YKHHnqozvobcp8B25TP5cuXY+bMmdBoNFi8eDGGDRuG7du3o0uXLgCA+++/H6tWrcKMGTOQmJiIoqIibN68GampqejZsycA4I8//sDw4cPRq1cvzJ07F2q1GkuXLsXgwYOxadMm9OnTx+m8Y8aMQYcOHfD8889DRHDTTTfh3//+N1asWIHZs2c7lV2xYgVuuOEGtGjRokHnSk5Oxg033ICwsDDMmzcPFosFc+fORURExGlfI8AWjB06dCiMRiMefPBBREZGIicnBz/88AO0Wi2Cg4PPWEd1J06cQJ8+faDVanHvvffisssuQ05ODlatWgW9Xg9vb29UVFRg4MCBSE1NxeTJk9GzZ08UFhbiu+++w/HjxxEaGgpFUXDzzTdj8+bNuPfee9G5c2ckJyfj9ddfx+HDh/Htt98CAFJSUnDTTTehW7duWLBgATQaDY4ePeoUBHr//fcxc+ZM3HbbbXjooYdgMBiwb98+/P3333UGoatbuHAhvL298dhjj8FoNMLb2xsHDhzAt99+izFjxqBdu3bIz8/Hu+++i0GDBuHAgQNo3bo1OnfujAULFuCZZ57Bvffei4EDBwIA+vfv36DXtz7vSyIiokuWEBERXeKWLl0qAGTHjh3y1ltvSWBgoOj1ehERGTNmjFx77bUiIhIbGys33nij47hvv/1WAMizzz7rVN9tt90mKpVKjh49KiIie/bsEQAybdo0p3Ljx48XADJ37lzHtilTpkhUVJQUFhY6lb399tslODjY0a709HQBIEuXLnWUmTt3rlTv2jMyMsTDw0Oee+45p7qSk5PF09PTsd1kMkl4eLj06NFDjEajo9x7770nAGTQoEGnvX+HDh0SAPLmm286bZ82bZoEBAQ42vzQQw9JUFCQWCyW09ZXU33vs4gIAAEgO3fudGzLzMwUHx8fGT16tGNbcHCwTJ8+vc5zKooiHTp0kKFDh4qiKI7ter1e2rVrJ9dff71jm/2+33HHHS719OvXT3r16uW0bfv27QJAPvnkkwafa9SoUeLj4yOZmZmObQcOHBAPDw8502Pd7t27BYCsXLmyzjK1va/sar5X7777blGr1bJjxw6XsvbreOaZZwSArF69us4yn376qajVatm0aZPT/iVLlggA2bJli4iIvP766wJATp48WWf7R44cKUlJSXXur8v69esFgMTHxzver3YGg0GsVqvTtvT0dNFoNLJgwQLHth07dtR67xry+p7pfUlERHQp4xRCIiKiasaOHYvKykr88MMPKC8vxw8//FDnyI2ffvoJHh4emDlzptP2Rx99FCKCn3/+2VEOgEu5mqOpRARff/01RowYARFBYWGh42fo0KEoLS1t0FSi1atXQ1EUjB071qmuyMhIdOjQAevXrwcA7Ny5EwUFBbj//vvh7e3tOH7ixIn1GpXTsWNH9OjRA8uXL3dss1qtWLVqFUaMGAFfX18AQEhICHQ6ndMUzfqo732269evH3r16uX4vW3bthg5ciTWrl0Lq9XqaMvff/+NEydO1HrOPXv24MiRIxg/fjyKiooc906n0+G6667Dxo0bXfIj3X///S71jBs3Dv/88w+OHTvm2LZ8+XJoNBqMHDmyQeeyWq1Yu3YtRo0ahbZt2zrq69y5M4YOHXrG+2h/LdeuXQu9Xn/G8qejKAq+/fZbjBgxAr1793bZr1KpAABff/01unfvjtGjR9dZZuXK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gAQGBkplZWWtZepzLhGRP//8U3r16iXe3t4SHx8vS5YsqfO1ry4tLU0mT54sCQkJ4uPjIy1btpRrr71Wfv/9d6dyer1epkyZIsHBwRIYGChjx46VgoKCWt+rmZmZcvfdd0tYWJhoNBqJj4+X6dOni9FodJQpKiqSGTNmSJs2bcTb21uio6NlwoQJUlhY6ChjMpnkxRdflKSkJNFoNNKiRQvp1auXzJ8/X0pLS0VEZN26dTJy5Ehp3bq1eHt7S+vWreWOO+6Qw4cPO+p599135eqrr3bcw4SEBJk9e7ajjrqsX79eAMjKlStd9hkMBnn00UclKipKfH19ZcCAAbJ169Za/22sWbNGEhMTxdPT0+Xf55le34a8L4mIiC5FKpEaY6KJiIiIiIiIiIjcCHNgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrCIiIiIiIiIiMitMYBFRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrCIiJqRjIwMqFQqLFu2rKmbQkRE5LbmzZsHlUqFwsLCs65DpVJh3rx5jVpnba655hpcc801jVonEdHFiAEsIrpk7dixAzNmzEBSUhL8/f3Rtm1bjB07FocPH661fGpqKoYNG4aAgAC0bNkSd911F06ePOlSTlEUvPTSS2jXrh18fHzQrVs3fPnll7XWqSgK3nnnHfTo0QO+vr5o1aoVBg8ejL179zbqtdbHX3/9hXnz5kGr1V7wcxMREVHj0uv1mDdvHjZs2NDUTSEiahSeTd0AIqKm8uKLL2LLli0YM2YMunXrhry8PLz11lvo2bMntm3bhi5dujjKHj9+HFdffTWCg4Px/PPPo6KiAq+88gqSk5Oxfft2eHt7O8o++eSTeOGFF3DPPffgiiuuwJo1azB+/HioVCrcfvvtTm2YPHkyPv/8c9x9992YMWMGdDoddu/ejYKCggt2H+z++usvzJ8/HxMnTkRISMgFPz8RERE1Hr1ej/nz5wMAR3ARUbPAABYRXbJmzZqFL774win4NG7cOHTt2hUvvPACPvvsM8f2559/HjqdDv/88w/atm0LAOjTpw+uv/56LFu2DPfeey8AICcnB6+++iqmT5+Ot956CwAwdepUDBo0CLNnz8aYMWPg4eEBAFixYgU+/vhjrF69GqNHj75Ql01ERERERHTR4RRCIrpk9e/f3yl4BQAdOnRAUlISUlNTnbZ//fXXuOmmmxzBKwAYMmQIOnbsiBUrVji2rVmzBmazGdOmTXNsU6lUeOCBB3D8+HFs3brVsf21115Dnz59MHr0aCiKAp1O16D2a7VaTJw4EcHBwQgJCcGECRNqnf63b98+TJw4EfHx8fDx8UFkZCQmT56MoqIiR5l58+Zh9uzZAIB27dpBpVJBpVIhIyMDALB06VIMHjwY4eHh0Gg0SExMxDvvvNOg9hIREbmbwsJCjB07FkFBQWjVqhUeeughGAwGpzJGoxGPPPIIwsLCEBgYiJtvvhnHjx8/pzrr8t577yEhIQG+vr7o06cPNm3a5FLGZDLhmWeeQa9evRAcHAx/f38MHDgQ69evd5TJyMhAWFgYAGD+/PmOft2es6s+zwZERO6GI7CIiKoREeTn5yMpKcmxLScnBwUFBejdu7dL+T59+uCnn35y/L579274+/ujc+fOLuXs+6+66iqUlZVh+/btmDZtGp544gm8+eabqKioQLt27fDCCy9g7NixZ2znyJEjsXnzZtx///3o3LkzvvnmG0yYMMGl7G+//Ya0tDRMmjQJkZGRSElJwXvvvYeUlBRs27YNKpUKt9xyCw4fPowvv/wSr7/+OkJDQwHA8fD7zjvvICkpCTfffDM8PT3x/fffY9q0aVAUBdOnT6/n3SUiInIvY8eORVxcHBYtWoRt27bhf//7H0pKSvDJJ584ykydOhWfffYZxo8fj/79++OPP/7AjTfeeE511ubDDz/Efffdh/79++Phhx9GWloabr75ZrRs2RIxMTGOcmVlZfjggw9wxx134J577kF5eTk+/PBDDB06FNu3b0ePHj0QFhaGd955Bw888ABGjx6NW265BQDQrVs3APV7NiAicjtCREQOn376qQCQDz/80LFtx44dAkA++eQTl/KzZ88WAGIwGERE5MYbb5T4+HiXcjqdTgDI448/LiIiu3btEgDSqlUriYiIkMWLF8vnn38uffr0EZVKJT///PNp2/ntt98KAHnppZcc2ywWiwwcOFAAyNKlSx3b9Xq9y/FffvmlAJCNGzc6tr388ssCQNLT013K11bH0KFDa71WIiIidzd37lwBIDfffLPT9mnTpgkA2bt3r4iI7NmzRwDItGnTnMqNHz9eAMjcuXMbXGdtTCaThIeHS48ePcRoNDq2v/feewJABg0a5NhmsVicyoiIlJSUSEREhEyePNmx7eTJky5ttKvvswERkTvhFEIioioHDx7E9OnT0a9fP6eRTJWVlQAAjUbjcoyPj49TmcrKynqVq6ioAAAUFRVhzZo1eOCBBzB+/HisW7cOrVq1wrPPPnvatv7000/w9PTEAw884Njm4eGBBx980KWsr6+v4+8GgwGFhYW48sorAQC7du067Xlqq6O0tBSFhYUYNGgQ0tLSUFpaWq86iIiI3E3NUcT2ftQ+utr+58yZM53KPfzww2ddZ2127tyJgoIC3H///U7pDeypAqrz8PBwlFEUBcXFxbBYLOjdu/dZ9etn+2xARHShMYBFRAQgLy8PN954I4KDg7Fq1SpHonXg1EOe0Wh0Oc6e08JextfXt97lAFu+qb59+zrKBQQEYMSIEdi+fTssFkud7c3MzERUVBQCAgKctnfq1MmlbHFxMR566CFERETA19cXYWFhaNeuHQDUO/i0ZcsWDBkyBP7+/ggJCUFYWBieeOKJBtVBRETkbjp06OD0e0JCAtRqtSMHZGZmJtRqNRISEpzK1dbf1rfO2mRmZtZ6rJeXF+Lj413Kf/zxx+jWrRt8fHzQqlUrhIWF4ccff6x3n9wYzwZERBcac2AR0SWvtLQUw4cPh1arxaZNm9C6dWun/VFRUQCA3Nxcl2Nzc3PRsmVLx6irqKgorF+/HiLilD/Cfqy9bvufERERLnWGh4fDbDZDp9O5fOt6NsaOHYu//voLs2fPRo8ePRAQEABFUTBs2DAoinLG448dO4brrrsOl112GV577TXExMTA29sbP/30E15//fV61UFERHQxOB+5nxq7zs8++wwTJ07EqFGjMHv2bISHh8PDwwOLFi3CsWPH6lXHuT4bEBE1BQawiOiSZjAYMGLECBw+fBi///47EhMTXcq0adMGYWFh2Llzp8s+e7JUux49euCDDz5AamqqU11///23Yz9gC2BFRkYiJyfHpc4TJ07Ax8cHgYGBdbY7NjYW69atQ0VFhdMorEOHDjmVKykpwbp16zB//nw888wzju1HjhxxqbOuB+zvv/8eRqMR3333ndMqjNVXOyIiIroYHTlyxDHyCACOHj0KRVEQFxcHwNbfKoqCY8eOOY26qtnfNqTO2sTGxjqOHTx4sGO72WxGeno6unfv7ti2atUqxMfHY/Xq1U5999y5c53qrKtfb8izARGRO+EUQiK6ZFmtVowbNw5bt27FypUr0a9fvzrL3nrrrfjhhx+QnZ3t2LZu3TocPnwYY8aMcWwbOXIkvLy8sHjxYsc2EcGSJUvQpk0b9O/f37F93LhxyM7Oxm+//ebYVlhYiDVr1mDw4MFQq+v+L/pf//oXLBYL3nnnHafrefPNN53K2adCiojT9jfeeMOlTn9/fwCAVqs9Yx2lpaVYunRpne0jIiK6GLz99ttOv9v70eHDhzv9+b///c+pXG39aH3rrE3v3r0RFhaGJUuWwGQyObYvW7asXv3y33//ja1btzqV8/PzA1C/fh04/TUREbkDjsAiokvWo48+iu+++w4jRoxAcXExPvvsM6f9//d//+f4+xNPPIGVK1fi2muvxUMPPYSKigq8/PLL6Nq1KyZNmuQoFx0djYcffhgvv/wyzGYzrrjiCnz77bfYtGkTPv/8c6fcWnPmzMGKFStw6623YtasWQgODsaSJUtgNpvx/PPPn7btI0aMwIABA/D4448jIyMDiYmJWL16tUveiqCgIFx99dV46aWXYDab0aZNG/z6669IT093qbNXr14AgCeffBK33347vLy8MGLECNxwww3w9vbGiBEjcN9996GiogLvv/8+wsPDa51WSUREdLFIT0/HzTffjGHDhmHr1q347LPPMH78eMeIpx49euCOO+7A4sWLUVpaiv79+2PdunU4evToWddZGy8vLzz77LO47777MHjwYIwbNw7p6elYunSpSw6sm266CatXr8bo0aNx4403Ij09HUuWLEFiYqJjkRjAlm8zMTERy5cvR8eOHdGyZUt06dIFXbp0qfezARGRW2nKJRCJiJrSoEGDBECdPzXt379fbrjhBvHz85OQkBC58847JS8vz6Wc1WqV559/XmJjY8Xb21uSkpLks88+q7UNx44dk9GjR0tQUJD4+vrK4MGDZfv27fVqf1FRkdx1110SFBQkwcHBctddd8nu3bsFgCxdutRR7vjx4zJ69GgJCQmR4OBgGTNmjJw4caLWpbUXLlwobdq0EbVaLQAkPT1dRES+++476datm/j4+EhcXJy8+OKL8tFHHzmVISIiuljMnTtXAMiBAwfktttuk8DAQGnRooXMmDFDKisrncpWVlbKzJkzpVWrVuLv7y8jRoyQ7Oxsl360IXXWZfHixdKuXTvRaDTSu3dv2bhxowwaNEgGDRrkKKMoiuM5Q6PRyOWXXy4//PCDTJgwQWJjY53q++uvv6RXr17i7e3t1N6GPBsQEbkLlUiNsaNERERERERERERuhDmwiIiIiIiIiIjIrTGARUREREREREREbo0BrEvA22+/jbi4OPj4+KBv377Yvn17nWWvueYaqFQql58bb7zxAraYiIiIiIiIiOgUBrCaueXLl2PWrFmYO3cudu3ahe7du2Po0KEoKCiotfzq1auRm5vr+Nm/fz88PDwwZsyYC9xyIiIiIiIiIiIbJnFv5vr27YsrrrgCb731FgBAURTExMTgwQcfxOOPP37G49944w0888wzyM3Nhb+///luLhERERERERGRC47AasZMJhP++ecfDBkyxLFNrVZjyJAh2Lp1a73q+PDDD3H77bczeEVERERERERETcazqRtA509hYSGsVisiIiKctkdERODgwYNnPH779u3Yv38/Pvzww9OWMxqNMBqNjt8VRUFxcTFatWoFlUp1do0nIiJqRCKC8vJytG7dGmo1v79rKPb1RETk7tjXN38MYFGdPvzwQ3Tt2hV9+vQ5bblFixZh/vz5F6hVREREZy87OxvR0dFN3YyLDvt6IiK6WLCvb76YA6sZM5lM8PPzw6pVqzBq1CjH9gkTJkCr1WLNmjV1HqvT6dC6dWssWLAADz300GnPU/Nb2dLSUrRt2xbZ2dkICgo65+sgIiI6V2VlZYiJiYFWq0VwcHBTN+eiw76eiIjcHfv65o8jsJoxb29v9OrVC+vWrXMEsBRFwbp16zBjxozTHrty5UoYjUb83//93xnPo9FooNFoXLYHBQXxoZaIiNwKp7udHfb1RER0sWBf33wxgNXMzZo1CxMmTEDv3r3Rp08fvPHGG9DpdJg0aRIA4O6770abNm2waNEip+M+/PBDjBo1Cq1atWqKZhMREREREREROTCA1cyNGzcOJ0+exDPPPIO8vDz06NEDv/zyiyOxe1ZWlkuCu0OHDmHz5s349ddfm6LJREREREREREROmAOLGl1ZWRmCg4NRWlrKaQVEROQW2Dc1Lt5PIiJyN+ybmj+uLUlERERE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iYl47LHHMG3aNAC2YeM//fQTnnzySUyaNAknT55EZGQkrr76akRE1D8Xx8KFCxEWFoZFixYhLS0NISEh6NmzJ5544onTHvfaa69h8uTJ6N+/P0JDQ/Gf//wHZWVl9T5vYGAgXnrpJRw5cgQeHh644oor8NNPPzlyO5zp2saNG4djx47h3//+NwwGA2699VY88MADWLt2bb3b0FjX1K1bN/z555948sknMXDgQIgIEhISMG7cOEeZBQsW4L777kNCQgKMRiNEBD179sSKFSvwzDPPYOHChYiKisKCBQswceLEs76G2qhUKqxZswYPPvggrr76aqjVagwbNgxvvvmmo0x97ufUqVPh5+eHl19+GbNnz4a/vz+6du2Khx9+uFHbS0TU3LGvZ1/Pvp6aI5WISFM3gpqXsrIyBAcHo7S0FEFBQU3dHCIiIvZNjYz3k4iI3A37puZPfeYiRERERERERERETYcBLCIiIiIiIiIicmsMYBERERERERERkVtjAOsS8PbbbyMuLg4+Pj7o27cvtm/fftryWq0W06dPR1RUFDQaDTp27IiffvrpArWWiIiIiIiIiMgZVyFs5pYvX45Zs2ZhyZIl6Nu3L9544w0MHToUhw4dQnh4uEt5k8mE66+/HuHh4Vi1ahXatGmDzMxMhISEXPjGExERERERERGBAaxm77XXXsM999yDSZMmAQCWLFmCH3/8ER999BEef/xxl/IfffQRiouL8ddff8HLywsAEBcXdyGbTERERERERETkhFMImzGTyYR//vkHQ4YMcWxTq9UYMmQItm7dWusx3333Hfr164fp06cjIiICXbp0wfPPPw+r1VrneYxGI8rKypx+iIiIqPlgX09ERERNjQGsZqywsBBWqxURERFO2yMiIpCXl1frMWlpaVi1ahWsVit++uknPP3003j11Vfx7LPP1nmeRYsWITg42PETExPTqNdBRERETYt9PRERETU1BrDIiaIoCA8Px3vvvYdevXph3LhxePLJJ7FkyZI6j5kzZw5KS0sdP9nZ2RewxURERHS+sa8nIiKipsYAVjMWGhoKDw8P5OfnO23Pz89HZGRkrcdERUWhY8eO8PDwcGzr3Lkz8vLyYDKZaj1Go9EgKCjI6YeIqLFt2LABKpUKWq22qZsCAFCpVPj222/rXX7ixIkYNWrUeWsP0fnEvp6ILgT29UR0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bVvccsst6Ny5M6ZMmQKDwcBvaYmIyC2wr2dfT3SxU4mINHUjqHkpKytDcHAwSktL+Z85ERG5BfZNjYv3k4iI3A37puaPI7CIiIiIiIiIiMitMYBFRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrCIiIiIiIiIiMitMYBFRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWHTRSUtLw8cff4y0tLSmbgoRERERERERXQCeTd0AooZIS0tD165dodfr4efnh+TkZMTHxzd1s4iIiIiIiIjoPOIILLqobNq0CXq9HgCg1+uxadOmJm4REREREREREZ1vDGDRRWXgwIHw8/MDAPj5+WHgwIFN3CIiIiIiIiIiOt84hZAuKvHx8UhOTsamTZswcOBATh8kIiIiIiIiugQwgEUXnfj4eAauiIiIiIiIiC4hnEJIRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrCIiIiIiIiIiMitMYBFRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrAuAW+//Tbi4uLg4+ODvn37Yvv27XWWXbZsGVQqldOPj4/PBWwtEREREREREZEzBrCaueXLl2PWrFmYO3cudu3ahe7du2Po0KEoKCio85igoCDk5uY6fjIzMy9gi4mIiIiIiIiInDGA1cy99tpruOeeezBp0iQkJiZiyZIl8PPzw0cffVTnMSqVCpGRkY6fiIiIC9hiIiIiIiIiIiJnDGA1YyaTCf/88w+GDBni2KZWqzFkyBBs3bq1zuMqKioQGxuLmJgYjBw5EikpKReiuURERET1lpaWho8//hhpaWlN3RQiIiK6ADybugF0/hQWFsJqtbqMoIqIiMDBgwdrPaZTp0746KOP0K1bN5SWluKVV15B//79kZKSgujo6FqPMRqNMBqNjt/Lysoa7yKIiIio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" class="img-fluid"></p> <p>I think this is very interesting. Both models’ prior distributions had similar regularisation levels, and they more or less agree about the abilities of the players with the most at-bats, both in terms of locations and the widths of the plausible intervals for the true success rate. However, the models ended up with dramatically different certainty levels about the abilities of players with few at-bats. This pattern was true both for the small 2006 dataset and the much larger baseballdatabank dataset.</p> </section> +<section id="documenting-the-analysis" class="level1"> +<h1>Documenting the analysis</h1> +<p>The final step was to document my analysis. To do this I edited the file <code>docs/report.qmd</code>, then ran <code>quarto render docs/report.qmd</code>, which produced the very html document that you are probably reading now! You can find the complete <code>report.qmd</code> file <a href="https://github.com/teddygroves/bibat/blob/main/bibat/examples/baseball/docs/report.qmd">here</a>.</p> +</section> </main> @@ -3696,7 +3731,7 @@ <h1>Extending the analysis to the baseballdatabank data</h1> toggleBodyColorMode(bsSheetEl); } } - toggleBodyColorPrimary(); + toggleBodyColorPrimary(); const icon = ""; const anchorJS = new window.AnchorJS(); anchorJS.options = { @@ -3706,7 +3741,7 @@ <h1>Extending the analysis to the baseballdatabank data</h1> anchorJS.add('.anchored'); const isCodeAnnotation = (el) => { for (const clz of el.classList) { - if (clz.startsWith('code-annotation-')) { + if (clz.startsWith('code-annotation-')) { return true; } } @@ -3737,11 +3772,11 @@ <h1>Extending the analysis to the baseballdatabank data</h1> button.setAttribute("data-bs-toggle", "tooltip"); button.setAttribute("data-bs-placement", "left"); button.setAttribute("data-bs-title", "Copied!"); - tooltip = new bootstrap.Tooltip(button, - { trigger: "manual", + tooltip = new bootstrap.Tooltip(button, + { trigger: "manual", customClass: "code-copy-button-tooltip", offset: [0, -8]}); - tooltip.show(); + tooltip.show(); } setTimeout(function() { if (tooltip) { @@ -3771,7 +3806,7 @@ <h1>Extending the analysis to the baseballdatabank data</h1> theme: 'quarto', placement: 'bottom-start' }; - window.tippy(el, config); + window.tippy(el, config); } const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); for (var i=0; i<noterefs.length; i++) { @@ -3816,7 +3851,7 @@ <h1>Extending the analysis to the baseballdatabank data</h1> height = bottom - top; } if (top !== null && height !== null && parent !== null) { - // cook up a div (if necessary) and position it + // cook up a div (if necessary) and position it let div = window.document.getElementById("code-annotation-line-highlight"); if (div === null) { div = window.document.createElement("div"); @@ -3914,4 +3949,4 @@ <h1>Extending the analysis to the baseballdatabank data</h1> -</body></html> \ No newline at end of file +</body></html> diff --git a/bibat/examples/baseball/docs/report.qmd b/bibat/examples/baseball/docs/report.qmd index 42cacc4..0d02239 100644 --- a/bibat/examples/baseball/docs/report.qmd +++ b/bibat/examples/baseball/docs/report.qmd @@ -89,7 +89,7 @@ Choose an open source license from these options: (MIT, BSD-3-Clause, No license How would you like to document your project? (Quarto, Sphinx, No docs) [Quarto]: Would you like to create a tests directory? [y]: n Would you like to create a .github directory? [y]: n -> +> ``` After I answered the wizard's questions bibat creted a new folder called @@ -186,7 +186,7 @@ Finally I removed the example analysis's raw data: The first step in preparing data is to decide what prepared data looks like for the purposes of our analysis. Bibat provides dataclasses called `PreparedData` and `MeasurementsDF` to help get started with this, which I found in the file -`baseball/prepared_data.py`. +`baseball/data_preparation.py`. As it happens, prepared data looks very similar in this analysis and the example. All I had to do was change the `MeasurementsDF` definition a @@ -210,16 +210,26 @@ The next step is to write functions that return `PreparedData` objects. In this case I wrote a couple of data preparation functions: `prepare_data_2006` and `prepare_data_bdb`: -```{.python include="../baseball/data_preparation.py" start-line=111} +```{.python include="../baseball/data_preparation.py" start-line=101} ``` +I had to update the `prepare_data` function to take into account the +two raw data sources: + +```{.python include="../baseball/data_preparation.py" start-line=33 end-line=52} +``` + +To finish off I deleted the unused global variables `MEASUREMENTS_FILE`, +`NEW_COLNAMES`, `DROPNA_COLS` and `DIMS`, then checked if the function +`load_prepared_data` needed any changes: I was pretty sure it didn't. + To check that all this worked, I ran the data preparation script manually:^[I could also have just run `make analysis` again] ```{.zsh} > source .venv/bin/activate (baseball) > python baseball/prepare_data.py -``` +``` Now the folder `data/prepared/bdb` contained a file `data/prepared/bdb/measurements.csv` that looked like this: @@ -277,7 +287,7 @@ study](https://mc-stan.org/users/documentation/case-studies/gpareto_functions.ht ```{.stan} real gpareto_lpdf(vector y, real ymin, real k, real sigma) { - // generalised Pareto log pdf + // generalised Pareto log pdf int N = rows(y); real inv_k = inv(k); if (k<0 && max(y-ymin)/sigma > -inv_k) @@ -311,7 +321,8 @@ can write as many Stan input functions as you like and choose which one to run for any given inference. I started by defining some Stan input functions that pass arbitary prepared -data on to each of the models: +data on to each of the models:^[Note that this code uses the scipy function +`logit`, which it imported like this: `from scipy.special import logit`] ```{.python include="../baseball/stan_input_functions.py" start-line=11 end-line=34} ``` @@ -360,13 +371,14 @@ Here is the file `inferences/normal2006/config.toml`: ``` Note that: -* The Stan file, prepared data folder and stan input function are referred to by + +- The Stan file, prepared data folder and stan input function are referred to by strings. The analysis should raise an error if you enter a non-existing value. -* Both inferences are set to run in "prior" and "posterior" modes - the other +- Both inferences are set to run in "prior" and "posterior" modes - the other pre-defined mode is "kfold", but you can also write your own! -* You can enter arbitrary arguments to cmdstanpy's `CmdStanModel.sample` method +- You can enter arbitrary arguments to cmdstanpy's `CmdStanModel.sample` method in the `[sample_kwargs]` table. -* You can enter mode-specific overrides in `[sample_kwargs.<MODE>]`. This can be +- You can enter mode-specific overrides in `[sample_kwargs.<MODE>]`. This can be handy if you want to run more or fewer iterations for a certain mode. Now when I ran `make analysis` again, I saw messages indicating that Stan had @@ -385,10 +397,24 @@ inferences # Investigating the inferences Now that the inferences are ready it's time to check them out. Bibat provides a -jupyter notebook at `baseball/investigate.ipynb` for exactly this purpose. - -A lot of code from the example analysis's notebook was reusable, so I largely -followed its structure, with a few tweaks. +Jupyter notebook at `baseball/investigate.ipynb` for exactly this purpose. The +notebook's main job is to create plots and save them in the `plots` directory +when it is executed with the command `jupyter execute investigate.ipynb`, which +is the final step in the chain of commands that is triggered by `make +analysis`. + +A notebook is arguably a nicer home for code that creates plots than a plain +python script because it allows for literate documentation and an iterative +workflow. A notebook makes it easy to, for example, add some code to change the +scale of a plot, execute the code and see the new results, then update the +relevant documentation all in the same place. + +The code from the example analysis's notebook for loading `InferenceData` was +reusable with a few tweaks to avoid missing file errors, so I kept it. On the +other hand, I wanted to make some different plots from the ones in the example +analysis, including some that required loading prepared data. To check out +everything I did, see +[here](https://github.com/teddygroves/bibat/blob/main/bibat/examples/baseball/baseball/investigate.ipynb). # Choosing priors using push-forward calibration @@ -427,4 +453,10 @@ dramatically different certainty levels about the abilities of players with few at-bats. This pattern was true both for the small 2006 dataset and the much larger baseballdatabank dataset. +# Documenting the analysis +The final step was to document my analysis. To do this I edited the file +`docs/report.qmd`, then ran `quarto render docs/report.qmd`, which produced the +very html document that you are probably reading now! You can find the complete +`report.qmd` file +[here](https://github.com/teddygroves/bibat/blob/main/bibat/examples/baseball/docs/report.qmd). diff --git a/docs/_static/report.html b/docs/_static/report.html index 5a2efc9..61c38e3 100644 --- a/docs/_static/report.html +++ b/docs/_static/report.html @@ -3095,7 +3095,7 @@ )) {"Symbol"in self&&"iterator"in Symbol&&"function"==typeof Array.prototype[Symbol.iterator]?CreateMethodProperty(Array.prototype,"values",Array.prototype[Symbol.iterator]):CreateMethodProperty(Array.prototype,"values",function r(){var r=ToObject(this);return new ArrayIterator(r,"value")});}if (!("Symbol"in self&&"iterator"in self.Symbol&&!!Array.prototype[self.Symbol.iterator] )) {CreateMethodProperty(Array.prototype,Symbol.iterator,Array.prototype.values);}var StringIterator=function(){var t=function(e){if(!(this instanceof t))return new t(e);e=String(e),Iterator.call(this,e),Object.defineProperty(this,"__length__",{value:e.length,configurable:!1,enumerable:!1,writable:!1})};return Object.setPrototypeOf&&Object.setPrototypeOf(t,Iterator),t.prototype=Object.create(Iterator.prototype,{constructor:{value:t,configurable:!0,enumerable:!1,writable:!0},_next:{value:function(){if(this.__list__)return this.__nextIndex__<this.__length__?this.__nextIndex__++:void this._unBind()},configurable:!0,enumerable:!1,writable:!0},_resolve:{value:function(t){var e,r=this.__list__[t];return this.__nextIndex__===this.__length__?r:(e=r.charCodeAt(0),e>=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r)},configurable:!0,enumerable:!1,writable:!0},toString:{value:function(){return"[object String Iterator]"},configurable:!0,enumerable:!1,writable:!0}}),t}();if (!("Symbol"in self&&"iterator"in self.Symbol&&!!String.prototype[self.Symbol.iterator] )) {CreateMethodProperty(String.prototype,Symbol.iterator,function(){var r=RequireObjectCoercible(this),t=ToString(r);return new StringIterator(t)});}})('object' === typeof window && window || 'object' === typeof self && self || 'object' === typeof global && global || {});</script> - + <script> (function () { var script = document.createElement("script"); @@ -3114,7 +3114,7 @@ <div id="quarto-margin-sidebar" class="sidebar margin-sidebar"> <nav id="TOC" role="doc-toc" class="toc-active"> <h2 id="toc-title">Table of contents</h2> - + <ul> <li><a href="#setup" id="toc-setup" class="nav-link active" data-scroll-target="#setup">Setup</a></li> <li><a href="#getting-raw-data" id="toc-getting-raw-data" class="nav-link" data-scroll-target="#getting-raw-data">Getting raw data</a></li> @@ -3125,6 +3125,7 @@ <h2 id="toc-title">Table of contents</h2> <li><a href="#investigating-the-inferences" id="toc-investigating-the-inferences" class="nav-link" data-scroll-target="#investigating-the-inferences">Investigating the inferences</a></li> <li><a href="#choosing-priors-using-push-forward-calibration" id="toc-choosing-priors-using-push-forward-calibration" class="nav-link" data-scroll-target="#choosing-priors-using-push-forward-calibration">Choosing priors using push-forward calibration</a></li> <li><a href="#extending-the-analysis-to-the-baseballdatabank-data" id="toc-extending-the-analysis-to-the-baseballdatabank-data" class="nav-link" data-scroll-target="#extending-the-analysis-to-the-baseballdatabank-data">Extending the analysis to the baseballdatabank data</a></li> + <li><a href="#documenting-the-analysis" id="toc-documenting-the-analysis" class="nav-link" data-scroll-target="#documenting-the-analysis">Documenting the analysis</a></li> </ul> </nav> </div> @@ -3146,11 +3147,11 @@ <h1 class="title">Modelling at-bats in baseball using the generalised Pareto dis <p>Teddy Groves </p> </div> </div> - - - + + + </div> - + </header> @@ -3278,7 +3279,7 @@ <h1>Getting raw data</h1> </section> <section id="preparing-the-data" class="level1 page-columns page-full"> <h1>Preparing the data</h1> -<p>The first step in preparing data is to decide what prepared data looks like for the purposes of our analysis. Bibat provides dataclasses called <code>PreparedData</code> and <code>MeasurementsDF</code> to help get started with this, which I found in the file <code>baseball/prepared_data.py</code>.</p> +<p>The first step in preparing data is to decide what prepared data looks like for the purposes of our analysis. Bibat provides dataclasses called <code>PreparedData</code> and <code>MeasurementsDF</code> to help get started with this, which I found in the file <code>baseball/data_preparation.py</code>.</p> <div class="page-columns page-full"><p>As it happens, prepared data looks very similar in this analysis and the example. All I had to do was change the <code>MeasurementsDF</code> definition a little<a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>:</p><div class="no-row-height column-margin column-container"><li id="fn1"><p><sup>1</sup> note that this class uses <a href="https://pandera.readthedocs.io">pandera</a>, a handy library for defining what a pandas dataframe should look like</p></li></div></div> <div class="sourceCode" id="cb8"><pre class="sourceCode python code-with-copy"><code class="sourceCode python"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="kw">class</span> MeasurementsDF(pa.SchemaModel):</span> <span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a> <span class="co">"""A PreparedData should have a measurements dataframe like this.</span></span> @@ -3291,94 +3292,117 @@ <h1>Preparing the data</h1> <span id="cb8-9"><a href="#cb8-9" aria-hidden="true" tabindex="-1"></a> n_attempt: Series[<span class="bu">int</span>] <span class="op">=</span> pa.Field(ge <span class="op">=</span> <span class="dv">1</span>)</span> <span id="cb8-10"><a href="#cb8-10" aria-hidden="true" tabindex="-1"></a> n_success: Series[<span class="bu">int</span>] <span class="op">=</span> pa.Field(ge <span class="op">=</span> <span class="dv">0</span>)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>The next step is to write functions that return <code>PreparedData</code> objects. In this case I wrote a couple of data preparation functions: <code>prepare_data_2006</code> and <code>prepare_data_bdb</code>:</p> -<div class="sourceCode" id="cb9" data-startfrom="111"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 110;"><span id="cb9-111"><a href="#cb9-111" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data_2006(measurements_raw: pd.DataFrame) <span class="op">-></span> PreparedData:</span> -<span id="cb9-112"><a href="#cb9-112" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Prepare the 2006 data."""</span></span> -<span id="cb9-113"><a href="#cb9-113" aria-hidden="true" tabindex="-1"></a> measurements <span class="op">=</span> measurements_raw.rename(</span> -<span id="cb9-114"><a href="#cb9-114" aria-hidden="true" tabindex="-1"></a> columns<span class="op">=</span>{<span class="st">"K"</span>: <span class="st">"n_attempt"</span>, <span class="st">"y"</span>: <span class="st">"n_success"</span>}</span> -<span id="cb9-115"><a href="#cb9-115" aria-hidden="true" tabindex="-1"></a> ).assign(</span> -<span id="cb9-116"><a href="#cb9-116" aria-hidden="true" tabindex="-1"></a> season<span class="op">=</span><span class="st">"2006"</span>,</span> -<span id="cb9-117"><a href="#cb9-117" aria-hidden="true" tabindex="-1"></a> player_season<span class="op">=</span><span class="kw">lambda</span> df: [<span class="ss">f"2006-player-</span><span class="sc">{</span>i<span class="op">+</span><span class="dv">1</span><span class="sc">}</span><span class="ss">"</span> <span class="cf">for</span> i <span class="kw">in</span> <span class="bu">range</span>(<span class="bu">len</span>(df))],</span> -<span id="cb9-118"><a href="#cb9-118" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-119"><a href="#cb9-119" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> PreparedData(</span> -<span id="cb9-120"><a href="#cb9-120" aria-hidden="true" tabindex="-1"></a> name<span class="op">=</span><span class="st">"2006"</span>,</span> -<span id="cb9-121"><a href="#cb9-121" aria-hidden="true" tabindex="-1"></a> coords<span class="op">=</span>{</span> -<span id="cb9-122"><a href="#cb9-122" aria-hidden="true" tabindex="-1"></a> <span class="st">"player_season"</span>: measurements[<span class="st">"player_season"</span>].tolist(),</span> -<span id="cb9-123"><a href="#cb9-123" aria-hidden="true" tabindex="-1"></a> <span class="st">"season"</span>: measurements[<span class="st">"season"</span>].tolist(),</span> -<span id="cb9-124"><a href="#cb9-124" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb9-125"><a href="#cb9-125" aria-hidden="true" tabindex="-1"></a> measurements<span class="op">=</span>measurements,</span> -<span id="cb9-126"><a href="#cb9-126" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-127"><a href="#cb9-127" aria-hidden="true" tabindex="-1"></a></span> +<div class="sourceCode" id="cb9" data-startfrom="101"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 100;"><span id="cb9-101"><a href="#cb9-101" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-102"><a href="#cb9-102" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data_2006(measurements_raw: pd.DataFrame) <span class="op">-></span> PreparedData:</span> +<span id="cb9-103"><a href="#cb9-103" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Prepare the 2006 data."""</span></span> +<span id="cb9-104"><a href="#cb9-104" aria-hidden="true" tabindex="-1"></a> measurements <span class="op">=</span> measurements_raw.rename(</span> +<span id="cb9-105"><a href="#cb9-105" aria-hidden="true" tabindex="-1"></a> columns<span class="op">=</span>{<span class="st">"K"</span>: <span class="st">"n_attempt"</span>, <span class="st">"y"</span>: <span class="st">"n_success"</span>}</span> +<span id="cb9-106"><a href="#cb9-106" aria-hidden="true" tabindex="-1"></a> ).assign(</span> +<span id="cb9-107"><a href="#cb9-107" aria-hidden="true" tabindex="-1"></a> season<span class="op">=</span><span class="st">"2006"</span>,</span> +<span id="cb9-108"><a href="#cb9-108" aria-hidden="true" tabindex="-1"></a> player_season<span class="op">=</span><span class="kw">lambda</span> df: [<span class="ss">f"2006-player-</span><span class="sc">{</span>i<span class="op">+</span><span class="dv">1</span><span class="sc">}</span><span class="ss">"</span> <span class="cf">for</span> i <span class="kw">in</span> <span class="bu">range</span>(<span class="bu">len</span>(df))],</span> +<span id="cb9-109"><a href="#cb9-109" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-110"><a href="#cb9-110" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> PreparedData(</span> +<span id="cb9-111"><a href="#cb9-111" aria-hidden="true" tabindex="-1"></a> name<span class="op">=</span><span class="st">"2006"</span>,</span> +<span id="cb9-112"><a href="#cb9-112" aria-hidden="true" tabindex="-1"></a> coords<span class="op">=</span>{</span> +<span id="cb9-113"><a href="#cb9-113" aria-hidden="true" tabindex="-1"></a> <span class="st">"player_season"</span>: measurements[<span class="st">"player_season"</span>].tolist(),</span> +<span id="cb9-114"><a href="#cb9-114" aria-hidden="true" tabindex="-1"></a> <span class="st">"season"</span>: measurements[<span class="st">"season"</span>].tolist(),</span> +<span id="cb9-115"><a href="#cb9-115" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb9-116"><a href="#cb9-116" aria-hidden="true" tabindex="-1"></a> measurements<span class="op">=</span>measurements,</span> +<span id="cb9-117"><a href="#cb9-117" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-118"><a href="#cb9-118" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-119"><a href="#cb9-119" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-120"><a href="#cb9-120" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data_bdb(</span> +<span id="cb9-121"><a href="#cb9-121" aria-hidden="true" tabindex="-1"></a> measurements_main: pd.DataFrame,</span> +<span id="cb9-122"><a href="#cb9-122" aria-hidden="true" tabindex="-1"></a> measurements_post: pd.DataFrame,</span> +<span id="cb9-123"><a href="#cb9-123" aria-hidden="true" tabindex="-1"></a> appearances: pd.DataFrame,</span> +<span id="cb9-124"><a href="#cb9-124" aria-hidden="true" tabindex="-1"></a>) <span class="op">-></span> PreparedData:</span> +<span id="cb9-125"><a href="#cb9-125" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Prepare the baseballdatabank data.</span></span> +<span id="cb9-126"><a href="#cb9-126" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-127"><a href="#cb9-127" aria-hidden="true" tabindex="-1"></a><span class="co"> There are a few substantive data choices here.</span></span> <span id="cb9-128"><a href="#cb9-128" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-129"><a href="#cb9-129" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data_bdb(</span> -<span id="cb9-130"><a href="#cb9-130" aria-hidden="true" tabindex="-1"></a> measurements_main: pd.DataFrame,</span> -<span id="cb9-131"><a href="#cb9-131" aria-hidden="true" tabindex="-1"></a> measurements_post: pd.DataFrame,</span> -<span id="cb9-132"><a href="#cb9-132" aria-hidden="true" tabindex="-1"></a> appearances: pd.DataFrame,</span> -<span id="cb9-133"><a href="#cb9-133" aria-hidden="true" tabindex="-1"></a>) <span class="op">-></span> PreparedData:</span> -<span id="cb9-134"><a href="#cb9-134" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Prepare the baseballdatabank data.</span></span> -<span id="cb9-135"><a href="#cb9-135" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-136"><a href="#cb9-136" aria-hidden="true" tabindex="-1"></a><span class="co"> There are a few substantive data choices here.</span></span> -<span id="cb9-137"><a href="#cb9-137" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-138"><a href="#cb9-138" aria-hidden="true" tabindex="-1"></a><span class="co"> First, the function excludes players who have a '1' in their position as</span></span> -<span id="cb9-139"><a href="#cb9-139" aria-hidden="true" tabindex="-1"></a><span class="co"> these are likely pitchers, as well as players with fewer than 20 at bats.</span></span> -<span id="cb9-140"><a href="#cb9-140" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-141"><a href="#cb9-141" aria-hidden="true" tabindex="-1"></a><span class="co"> Second, the function defines a successes and attempts according to the</span></span> -<span id="cb9-142"><a href="#cb9-142" aria-hidden="true" tabindex="-1"></a><span class="co"> 'on-base percentage' metric, so a success is a time when a player got a hit,</span></span> -<span id="cb9-143"><a href="#cb9-143" aria-hidden="true" tabindex="-1"></a><span class="co"> a base on ball/walk or a hit-by-pitch and an attempt is an at-bat or a</span></span> -<span id="cb9-144"><a href="#cb9-144" aria-hidden="true" tabindex="-1"></a><span class="co"> base-on-ball/walk or a hit-by-pitch or a sacrifice fly. This could have</span></span> -<span id="cb9-145"><a href="#cb9-145" aria-hidden="true" tabindex="-1"></a><span class="co"> alternatively been calculated as just hits divided by at-bats, but my</span></span> -<span id="cb9-146"><a href="#cb9-146" aria-hidden="true" tabindex="-1"></a><span class="co"> understanding is that this method underrates players who are good at getting</span></span> -<span id="cb9-147"><a href="#cb9-147" aria-hidden="true" tabindex="-1"></a><span class="co"> walks.</span></span> -<span id="cb9-148"><a href="#cb9-148" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-149"><a href="#cb9-149" aria-hidden="true" tabindex="-1"></a><span class="co"> """</span></span> -<span id="cb9-150"><a href="#cb9-150" aria-hidden="true" tabindex="-1"></a> pitchers <span class="op">=</span> appearances.loc[</span> -<span id="cb9-151"><a href="#cb9-151" aria-hidden="true" tabindex="-1"></a> <span class="kw">lambda</span> df: df[<span class="st">"G_p"</span>] <span class="op">==</span> df[<span class="st">"G_all"</span>], <span class="st">"playerID"</span></span> -<span id="cb9-152"><a href="#cb9-152" aria-hidden="true" tabindex="-1"></a> ].unique()</span> -<span id="cb9-153"><a href="#cb9-153" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-154"><a href="#cb9-154" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> filter_batters(df: pd.DataFrame):</span> -<span id="cb9-155"><a href="#cb9-155" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> (</span> -<span id="cb9-156"><a href="#cb9-156" aria-hidden="true" tabindex="-1"></a> (df[<span class="st">"AB"</span>] <span class="op">>=</span> <span class="dv">20</span>)</span> -<span id="cb9-157"><a href="#cb9-157" aria-hidden="true" tabindex="-1"></a> <span class="op">&</span> (df[<span class="st">"season"</span>].ge(<span class="dv">2017</span>))</span> -<span id="cb9-158"><a href="#cb9-158" aria-hidden="true" tabindex="-1"></a> <span class="op">&</span> (<span class="op">~</span>df[<span class="st">"player"</span>].isin(pitchers))</span> -<span id="cb9-159"><a href="#cb9-159" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-160"><a href="#cb9-160" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb9-161"><a href="#cb9-161" aria-hidden="true" tabindex="-1"></a> measurements_main, measurements_post <span class="op">=</span> (</span> -<span id="cb9-162"><a href="#cb9-162" aria-hidden="true" tabindex="-1"></a> m.rename(columns<span class="op">=</span>{<span class="st">"yearID"</span>: <span class="st">"season"</span>, <span class="st">"playerID"</span>: <span class="st">"player"</span>})</span> -<span id="cb9-163"><a href="#cb9-163" aria-hidden="true" tabindex="-1"></a> .assign(</span> -<span id="cb9-164"><a href="#cb9-164" aria-hidden="true" tabindex="-1"></a> player_season<span class="op">=</span><span class="kw">lambda</span> df: df[<span class="st">"player"</span>].<span class="bu">str</span>.cat(</span> -<span id="cb9-165"><a href="#cb9-165" aria-hidden="true" tabindex="-1"></a> df[<span class="st">"season"</span>].astype(<span class="bu">str</span>)</span> -<span id="cb9-166"><a href="#cb9-166" aria-hidden="true" tabindex="-1"></a> ),</span> -<span id="cb9-167"><a href="#cb9-167" aria-hidden="true" tabindex="-1"></a> n_attempt<span class="op">=</span><span class="kw">lambda</span> df: df[[<span class="st">"AB"</span>, <span class="st">"BB"</span>, <span class="st">"HBP"</span>, <span class="st">"SF"</span>]]</span> -<span id="cb9-168"><a href="#cb9-168" aria-hidden="true" tabindex="-1"></a> .fillna(<span class="dv">0</span>)</span> -<span id="cb9-169"><a href="#cb9-169" aria-hidden="true" tabindex="-1"></a> .<span class="bu">sum</span>(axis<span class="op">=</span><span class="dv">1</span>)</span> -<span id="cb9-170"><a href="#cb9-170" aria-hidden="true" tabindex="-1"></a> .astype(<span class="bu">int</span>),</span> -<span id="cb9-171"><a href="#cb9-171" aria-hidden="true" tabindex="-1"></a> n_success<span class="op">=</span><span class="kw">lambda</span> df: (</span> -<span id="cb9-172"><a href="#cb9-172" aria-hidden="true" tabindex="-1"></a> df[[<span class="st">"H"</span>, <span class="st">"BB"</span>, <span class="st">"HBP"</span>]].fillna(<span class="dv">0</span>).<span class="bu">sum</span>(axis<span class="op">=</span><span class="dv">1</span>).astype(<span class="bu">int</span>)</span> -<span id="cb9-173"><a href="#cb9-173" aria-hidden="true" tabindex="-1"></a> ),</span> -<span id="cb9-174"><a href="#cb9-174" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-175"><a href="#cb9-175" aria-hidden="true" tabindex="-1"></a> .loc[</span> -<span id="cb9-176"><a href="#cb9-176" aria-hidden="true" tabindex="-1"></a> filter_batters,</span> -<span id="cb9-177"><a href="#cb9-177" aria-hidden="true" tabindex="-1"></a> [<span class="st">"player_season"</span>, <span class="st">"season"</span>, <span class="st">"n_attempt"</span>, <span class="st">"n_success"</span>],</span> -<span id="cb9-178"><a href="#cb9-178" aria-hidden="true" tabindex="-1"></a> ]</span> -<span id="cb9-179"><a href="#cb9-179" aria-hidden="true" tabindex="-1"></a> .copy()</span> -<span id="cb9-180"><a href="#cb9-180" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> m <span class="kw">in</span> [measurements_main, measurements_post]</span> -<span id="cb9-181"><a href="#cb9-181" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-182"><a href="#cb9-182" aria-hidden="true" tabindex="-1"></a> measurements <span class="op">=</span> (</span> -<span id="cb9-183"><a href="#cb9-183" aria-hidden="true" tabindex="-1"></a> pd.concat([measurements_main, measurements_post])</span> -<span id="cb9-184"><a href="#cb9-184" aria-hidden="true" tabindex="-1"></a> .groupby([<span class="st">"player_season"</span>, <span class="st">"season"</span>])</span> -<span id="cb9-185"><a href="#cb9-185" aria-hidden="true" tabindex="-1"></a> .<span class="bu">sum</span>()</span> -<span id="cb9-186"><a href="#cb9-186" aria-hidden="true" tabindex="-1"></a> .reset_index()</span> -<span id="cb9-187"><a href="#cb9-187" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb9-188"><a href="#cb9-188" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> PreparedData(</span> -<span id="cb9-189"><a href="#cb9-189" aria-hidden="true" tabindex="-1"></a> name<span class="op">=</span><span class="st">"bdb"</span>,</span> -<span id="cb9-190"><a href="#cb9-190" aria-hidden="true" tabindex="-1"></a> coords<span class="op">=</span>{</span> -<span id="cb9-191"><a href="#cb9-191" aria-hidden="true" tabindex="-1"></a> <span class="st">"player_season"</span>: measurements[<span class="st">"player_season"</span>].tolist(),</span> -<span id="cb9-192"><a href="#cb9-192" aria-hidden="true" tabindex="-1"></a> <span class="st">"season"</span>: measurements[<span class="st">"season"</span>].tolist(),</span> -<span id="cb9-193"><a href="#cb9-193" aria-hidden="true" tabindex="-1"></a> },</span> -<span id="cb9-194"><a href="#cb9-194" aria-hidden="true" tabindex="-1"></a> measurements<span class="op">=</span>measurements,</span> -<span id="cb9-195"><a href="#cb9-195" aria-hidden="true" tabindex="-1"></a> )</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<span id="cb9-129"><a href="#cb9-129" aria-hidden="true" tabindex="-1"></a><span class="co"> First, the function excludes players who have a '1' in their position as</span></span> +<span id="cb9-130"><a href="#cb9-130" aria-hidden="true" tabindex="-1"></a><span class="co"> these are likely pitchers, as well as players with fewer than 20 at bats.</span></span> +<span id="cb9-131"><a href="#cb9-131" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-132"><a href="#cb9-132" aria-hidden="true" tabindex="-1"></a><span class="co"> Second, the function defines a successes and attempts according to the</span></span> +<span id="cb9-133"><a href="#cb9-133" aria-hidden="true" tabindex="-1"></a><span class="co"> 'on-base percentage' metric, so a success is a time when a player got a hit,</span></span> +<span id="cb9-134"><a href="#cb9-134" aria-hidden="true" tabindex="-1"></a><span class="co"> a base on ball/walk or a hit-by-pitch and an attempt is an at-bat or a</span></span> +<span id="cb9-135"><a href="#cb9-135" aria-hidden="true" tabindex="-1"></a><span class="co"> base-on-ball/walk or a hit-by-pitch or a sacrifice fly. This could have</span></span> +<span id="cb9-136"><a href="#cb9-136" aria-hidden="true" tabindex="-1"></a><span class="co"> alternatively been calculated as just hits divided by at-bats, but my</span></span> +<span id="cb9-137"><a href="#cb9-137" aria-hidden="true" tabindex="-1"></a><span class="co"> understanding is that this method underrates players who are good at getting</span></span> +<span id="cb9-138"><a href="#cb9-138" aria-hidden="true" tabindex="-1"></a><span class="co"> walks.</span></span> +<span id="cb9-139"><a href="#cb9-139" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-140"><a href="#cb9-140" aria-hidden="true" tabindex="-1"></a><span class="co"> """</span></span> +<span id="cb9-141"><a href="#cb9-141" aria-hidden="true" tabindex="-1"></a> pitchers <span class="op">=</span> appearances.loc[</span> +<span id="cb9-142"><a href="#cb9-142" aria-hidden="true" tabindex="-1"></a> <span class="kw">lambda</span> df: df[<span class="st">"G_p"</span>] <span class="op">==</span> df[<span class="st">"G_all"</span>], <span class="st">"playerID"</span></span> +<span id="cb9-143"><a href="#cb9-143" aria-hidden="true" tabindex="-1"></a> ].unique()</span> +<span id="cb9-144"><a href="#cb9-144" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-145"><a href="#cb9-145" aria-hidden="true" tabindex="-1"></a> <span class="kw">def</span> filter_batters(df: pd.DataFrame):</span> +<span id="cb9-146"><a href="#cb9-146" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> (</span> +<span id="cb9-147"><a href="#cb9-147" aria-hidden="true" tabindex="-1"></a> (df[<span class="st">"AB"</span>] <span class="op">>=</span> <span class="dv">20</span>)</span> +<span id="cb9-148"><a href="#cb9-148" aria-hidden="true" tabindex="-1"></a> <span class="op">&</span> (df[<span class="st">"season"</span>].ge(<span class="dv">2017</span>))</span> +<span id="cb9-149"><a href="#cb9-149" aria-hidden="true" tabindex="-1"></a> <span class="op">&</span> (<span class="op">~</span>df[<span class="st">"player"</span>].isin(pitchers))</span> +<span id="cb9-150"><a href="#cb9-150" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-151"><a href="#cb9-151" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb9-152"><a href="#cb9-152" aria-hidden="true" tabindex="-1"></a> measurements_main, measurements_post <span class="op">=</span> (</span> +<span id="cb9-153"><a href="#cb9-153" aria-hidden="true" tabindex="-1"></a> m.rename(columns<span class="op">=</span>{<span class="st">"yearID"</span>: <span class="st">"season"</span>, <span class="st">"playerID"</span>: <span class="st">"player"</span>})</span> +<span id="cb9-154"><a href="#cb9-154" aria-hidden="true" tabindex="-1"></a> .assign(</span> +<span id="cb9-155"><a href="#cb9-155" aria-hidden="true" tabindex="-1"></a> player_season<span class="op">=</span><span class="kw">lambda</span> df: df[<span class="st">"player"</span>].<span class="bu">str</span>.cat(</span> +<span id="cb9-156"><a href="#cb9-156" aria-hidden="true" tabindex="-1"></a> df[<span class="st">"season"</span>].astype(<span class="bu">str</span>)</span> +<span id="cb9-157"><a href="#cb9-157" aria-hidden="true" tabindex="-1"></a> ),</span> +<span id="cb9-158"><a href="#cb9-158" aria-hidden="true" tabindex="-1"></a> n_attempt<span class="op">=</span><span class="kw">lambda</span> df: df[[<span class="st">"AB"</span>, <span class="st">"BB"</span>, <span class="st">"HBP"</span>, <span class="st">"SF"</span>]]</span> +<span id="cb9-159"><a href="#cb9-159" aria-hidden="true" tabindex="-1"></a> .fillna(<span class="dv">0</span>)</span> +<span id="cb9-160"><a href="#cb9-160" aria-hidden="true" tabindex="-1"></a> .<span class="bu">sum</span>(axis<span class="op">=</span><span class="dv">1</span>)</span> +<span id="cb9-161"><a href="#cb9-161" aria-hidden="true" tabindex="-1"></a> .astype(<span class="bu">int</span>),</span> +<span id="cb9-162"><a href="#cb9-162" aria-hidden="true" tabindex="-1"></a> n_success<span class="op">=</span><span class="kw">lambda</span> df: (</span> +<span id="cb9-163"><a href="#cb9-163" aria-hidden="true" tabindex="-1"></a> df[[<span class="st">"H"</span>, <span class="st">"BB"</span>, <span class="st">"HBP"</span>]].fillna(<span class="dv">0</span>).<span class="bu">sum</span>(axis<span class="op">=</span><span class="dv">1</span>).astype(<span class="bu">int</span>)</span> +<span id="cb9-164"><a href="#cb9-164" aria-hidden="true" tabindex="-1"></a> ),</span> +<span id="cb9-165"><a href="#cb9-165" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-166"><a href="#cb9-166" aria-hidden="true" tabindex="-1"></a> .loc[</span> +<span id="cb9-167"><a href="#cb9-167" aria-hidden="true" tabindex="-1"></a> filter_batters,</span> +<span id="cb9-168"><a href="#cb9-168" aria-hidden="true" tabindex="-1"></a> [<span class="st">"player_season"</span>, <span class="st">"season"</span>, <span class="st">"n_attempt"</span>, <span class="st">"n_success"</span>],</span> +<span id="cb9-169"><a href="#cb9-169" aria-hidden="true" tabindex="-1"></a> ]</span> +<span id="cb9-170"><a href="#cb9-170" aria-hidden="true" tabindex="-1"></a> .copy()</span> +<span id="cb9-171"><a href="#cb9-171" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> m <span class="kw">in</span> [measurements_main, measurements_post]</span> +<span id="cb9-172"><a href="#cb9-172" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-173"><a href="#cb9-173" aria-hidden="true" tabindex="-1"></a> measurements <span class="op">=</span> (</span> +<span id="cb9-174"><a href="#cb9-174" aria-hidden="true" tabindex="-1"></a> pd.concat([measurements_main, measurements_post])</span> +<span id="cb9-175"><a href="#cb9-175" aria-hidden="true" tabindex="-1"></a> .groupby([<span class="st">"player_season"</span>, <span class="st">"season"</span>])</span> +<span id="cb9-176"><a href="#cb9-176" aria-hidden="true" tabindex="-1"></a> .<span class="bu">sum</span>()</span> +<span id="cb9-177"><a href="#cb9-177" aria-hidden="true" tabindex="-1"></a> .reset_index()</span> +<span id="cb9-178"><a href="#cb9-178" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb9-179"><a href="#cb9-179" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> PreparedData(</span> +<span id="cb9-180"><a href="#cb9-180" aria-hidden="true" tabindex="-1"></a> name<span class="op">=</span><span class="st">"bdb"</span>,</span> +<span id="cb9-181"><a href="#cb9-181" aria-hidden="true" tabindex="-1"></a> coords<span class="op">=</span>{</span> +<span id="cb9-182"><a href="#cb9-182" aria-hidden="true" tabindex="-1"></a> <span class="st">"player_season"</span>: measurements[<span class="st">"player_season"</span>].tolist(),</span> +<span id="cb9-183"><a href="#cb9-183" aria-hidden="true" tabindex="-1"></a> <span class="st">"season"</span>: measurements[<span class="st">"season"</span>].tolist(),</span> +<span id="cb9-184"><a href="#cb9-184" aria-hidden="true" tabindex="-1"></a> },</span> +<span id="cb9-185"><a href="#cb9-185" aria-hidden="true" tabindex="-1"></a> measurements<span class="op">=</span>measurements,</span> +<span id="cb9-186"><a href="#cb9-186" aria-hidden="true" tabindex="-1"></a> )</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>I had to update the <code>prepare_data</code> function to take into account the two raw data sources:</p> +<div class="sourceCode" id="cb10" data-startfrom="33"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 32;"><span id="cb10-33"><a href="#cb10-33" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb10-34"><a href="#cb10-34" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> prepare_data():</span> +<span id="cb10-35"><a href="#cb10-35" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Run main function."""</span></span> +<span id="cb10-36"><a href="#cb10-36" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="st">"Reading raw data..."</span>)</span> +<span id="cb10-37"><a href="#cb10-37" aria-hidden="true" tabindex="-1"></a> raw_data <span class="op">=</span> {</span> +<span id="cb10-38"><a href="#cb10-38" aria-hidden="true" tabindex="-1"></a> k: [pd.read_csv(<span class="bu">file</span>, index_col<span class="op">=</span><span class="va">None</span>) <span class="cf">for</span> <span class="bu">file</span> <span class="kw">in</span> v]</span> +<span id="cb10-39"><a href="#cb10-39" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> k, v <span class="kw">in</span> RAW_DATA_FILES.items()</span> +<span id="cb10-40"><a href="#cb10-40" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb10-41"><a href="#cb10-41" aria-hidden="true" tabindex="-1"></a> data_preparation_functions_to_run <span class="op">=</span> {</span> +<span id="cb10-42"><a href="#cb10-42" aria-hidden="true" tabindex="-1"></a> <span class="st">"2006"</span>: prepare_data_2006,</span> +<span id="cb10-43"><a href="#cb10-43" aria-hidden="true" tabindex="-1"></a> <span class="st">"bdb"</span>: prepare_data_bdb,</span> +<span id="cb10-44"><a href="#cb10-44" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb10-45"><a href="#cb10-45" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="st">"Preparing data..."</span>)</span> +<span id="cb10-46"><a href="#cb10-46" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> name, dpf <span class="kw">in</span> data_preparation_functions_to_run.items():</span> +<span id="cb10-47"><a href="#cb10-47" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="ss">f"Running data preparation function </span><span class="sc">{</span>dpf<span class="sc">.</span><span class="va">__name__</span><span class="sc">}</span><span class="ss">..."</span>)</span> +<span id="cb10-48"><a href="#cb10-48" aria-hidden="true" tabindex="-1"></a> prepared_data <span class="op">=</span> dpf(<span class="op">*</span>raw_data[name])</span> +<span id="cb10-49"><a href="#cb10-49" aria-hidden="true" tabindex="-1"></a> output_dir <span class="op">=</span> os.path.join(PREPARED_DIR, prepared_data.name)</span> +<span id="cb10-50"><a href="#cb10-50" aria-hidden="true" tabindex="-1"></a> <span class="bu">print</span>(<span class="ss">f"</span><span class="ch">\t</span><span class="ss">writing files to </span><span class="sc">{</span>output_dir<span class="sc">}</span><span class="ss">"</span>)</span> +<span id="cb10-51"><a href="#cb10-51" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> <span class="kw">not</span> os.path.exists(PREPARED_DIR):</span> +<span id="cb10-52"><a href="#cb10-52" aria-hidden="true" tabindex="-1"></a> os.mkdir(PREPARED_DIR)</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>To finish off I deleted the unused global variables <code>MEASUREMENTS_FILE</code>, <code>NEW_COLNAMES</code>, <code>DROPNA_COLS</code> and <code>DIMS</code>, then checked if the function <code>load_prepared_data</code> needed any changes: I was pretty sure it didn’t.</p> <div class="page-columns page-full"><p>To check that all this worked, I ran the data preparation script manually:<a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a></p><div class="no-row-height column-margin column-container"><li id="fn2"><p><sup>2</sup> I could also have just run <code>make analysis</code> again</p></li></div></div> -<div class="sourceCode" id="cb10"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="op">></span> source <span class="ex">.venv/bin/activate</span></span> -<span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a><span class="kw">(</span><span class="ex">baseball</span><span class="kw">)</span> <span class="op">></span> python <span class="ex">baseball/prepare_data.py</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb11"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="op">></span> source <span class="ex">.venv/bin/activate</span></span> +<span id="cb11-2"><a href="#cb11-2" aria-hidden="true" tabindex="-1"></a><span class="kw">(</span><span class="ex">baseball</span><span class="kw">)</span> <span class="op">></span> python <span class="ex">baseball/prepare_data.py</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>Now the folder <code>data/prepared/bdb</code> contained a file <code>data/prepared/bdb/measurements.csv</code> that looked like this:</p> <pre class="{csv}"><code>,player_season,season,n_attempt,n_success 0,abreujo02,2018,553,180 @@ -3406,213 +3430,191 @@ <h1>Specifying statistical models</h1> \end{align*}\]</span></p> <p>Again I would choose priors for the hyperparameters that put most of the alphas between 0.1 and 0.4.</p> <p>To implement these models using Stan I first added the following function to the file <code>custom_functions.stan</code>. This was simply copied from <a href="https://mc-stan.org/users/documentation/case-studies/gpareto_functions.html#conclusion-on-the-data-analysis">the relevant part of the geomagnetic storms case study</a>.</p> -<div class="sourceCode" id="cb12"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="dt">real</span> gpareto_lpdf(<span class="dt">vector</span> y, <span class="dt">real</span> ymin, <span class="dt">real</span> k, <span class="dt">real</span> sigma) {</span> -<span id="cb12-2"><a href="#cb12-2" aria-hidden="true" tabindex="-1"></a> <span class="co">// generalised Pareto log pdf </span></span> -<span id="cb12-3"><a href="#cb12-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> N = rows(y);</span> -<span id="cb12-4"><a href="#cb12-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> inv_k = inv(k);</span> -<span id="cb12-5"><a href="#cb12-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (k<<span class="dv">0</span> && max(y-ymin)/sigma > -inv_k)</span> -<span id="cb12-6"><a href="#cb12-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">reject</span>(<span class="st">"k<0 and max(y-ymin)/sigma > -1/k; found k, sigma ="</span>, k, <span class="st">", "</span>, sigma);</span> -<span id="cb12-7"><a href="#cb12-7" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (sigma<=<span class="dv">0</span>)</span> -<span id="cb12-8"><a href="#cb12-8" aria-hidden="true" tabindex="-1"></a> <span class="kw">reject</span>(<span class="st">"sigma<=0; found sigma ="</span>, sigma);</span> -<span id="cb12-9"><a href="#cb12-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (fabs(k) > <span class="fl">1e-15</span>)</span> -<span id="cb12-10"><a href="#cb12-10" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> -(<span class="dv">1</span>+inv_k)*sum(log1p((y-ymin) * (k/sigma))) -N*log(sigma);</span> -<span id="cb12-11"><a href="#cb12-11" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span></span> -<span id="cb12-12"><a href="#cb12-12" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> -sum(y-ymin)/sigma -N*log(sigma); <span class="co">// limit k->0</span></span> -<span id="cb12-13"><a href="#cb12-13" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb13"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="dt">real</span> gpareto_lpdf(<span class="dt">vector</span> y, <span class="dt">real</span> ymin, <span class="dt">real</span> k, <span class="dt">real</span> sigma) {</span> +<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a> <span class="co">// generalised Pareto log pdf </span></span> +<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> N = rows(y);</span> +<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> inv_k = inv(k);</span> +<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (k<<span class="dv">0</span> && max(y-ymin)/sigma > -inv_k)</span> +<span id="cb13-6"><a href="#cb13-6" aria-hidden="true" tabindex="-1"></a> <span class="kw">reject</span>(<span class="st">"k<0 and max(y-ymin)/sigma > -1/k; found k, sigma ="</span>, k, <span class="st">", "</span>, sigma);</span> +<span id="cb13-7"><a href="#cb13-7" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (sigma<=<span class="dv">0</span>)</span> +<span id="cb13-8"><a href="#cb13-8" aria-hidden="true" tabindex="-1"></a> <span class="kw">reject</span>(<span class="st">"sigma<=0; found sigma ="</span>, sigma);</span> +<span id="cb13-9"><a href="#cb13-9" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (fabs(k) > <span class="fl">1e-15</span>)</span> +<span id="cb13-10"><a href="#cb13-10" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> -(<span class="dv">1</span>+inv_k)*sum(log1p((y-ymin) * (k/sigma))) -N*log(sigma);</span> +<span id="cb13-11"><a href="#cb13-11" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span></span> +<span id="cb13-12"><a href="#cb13-12" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> -sum(y-ymin)/sigma -N*log(sigma); <span class="co">// limit k->0</span></span> +<span id="cb13-13"><a href="#cb13-13" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>Next I wrote a file <code>gpareto.stan</code>:</p> -<div class="sourceCode" id="cb13"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="kw">functions</span> {</span> -<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="co">#include custom_functions.stan</span></span> -<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a><span class="kw">data</span> {</span> -<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> N; <span class="co">// items</span></span> -<span id="cb13-6"><a href="#cb13-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> K; <span class="co">// trials</span></span> -<span id="cb13-7"><a href="#cb13-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> y; <span class="co">// successes</span></span> -<span id="cb13-8"><a href="#cb13-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> min_alpha; <span class="co">// noone worse than this would be in the dataset</span></span> -<span id="cb13-9"><a href="#cb13-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> max_alpha;</span> -<span id="cb13-10"><a href="#cb13-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_sigma;</span> -<span id="cb13-11"><a href="#cb13-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_k;</span> -<span id="cb13-12"><a href="#cb13-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>,<span class="kw">upper</span>=<span class="dv">1</span>> likelihood;</span> -<span id="cb13-13"><a href="#cb13-13" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb13-14"><a href="#cb13-14" aria-hidden="true" tabindex="-1"></a><span class="kw">parameters</span> {</span> -<span id="cb13-15"><a href="#cb13-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=<span class="fl">0.001</span>> sigma; <span class="co">// scale parameter of generalised pareto distribution</span></span> -<span id="cb13-16"><a href="#cb13-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=-sigma/(max_alpha-min_alpha)> k; <span class="co">// shape parameter of generalised pareto distribution</span></span> -<span id="cb13-17"><a href="#cb13-17" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span><<span class="kw">lower</span>=min_alpha,<span class="kw">upper</span>=max_alpha>[N] alpha; <span class="co">// success log-odds</span></span> -<span id="cb13-18"><a href="#cb13-18" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb13-19"><a href="#cb13-19" aria-hidden="true" tabindex="-1"></a><span class="kw">model</span> {</span> -<span id="cb13-20"><a href="#cb13-20" aria-hidden="true" tabindex="-1"></a> sigma ~ normal(prior_sigma[<span class="dv">1</span>], prior_sigma[<span class="dv">2</span>]);</span> -<span id="cb13-21"><a href="#cb13-21" aria-hidden="true" tabindex="-1"></a> k ~ normal(prior_k[<span class="dv">1</span>], prior_k[<span class="dv">2</span>]);</span> -<span id="cb13-22"><a href="#cb13-22" aria-hidden="true" tabindex="-1"></a> alpha ~ gpareto(min_alpha, k, sigma);</span> -<span id="cb13-23"><a href="#cb13-23" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (likelihood){</span> -<span id="cb13-24"><a href="#cb13-24" aria-hidden="true" tabindex="-1"></a> y ~ binomial_logit(K, alpha);</span> -<span id="cb13-25"><a href="#cb13-25" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb13-26"><a href="#cb13-26" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb13-27"><a href="#cb13-27" aria-hidden="true" tabindex="-1"></a><span class="kw">generated quantities</span> {</span> -<span id="cb13-28"><a href="#cb13-28" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] yrep;</span> -<span id="cb13-29"><a href="#cb13-29" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] llik;</span> -<span id="cb13-30"><a href="#cb13-30" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (n <span class="cf">in</span> <span class="dv">1</span>:N){</span> -<span id="cb13-31"><a href="#cb13-31" aria-hidden="true" tabindex="-1"></a> yrep[n] = binomial_rng(K[n], inv_logit(alpha[n]));</span> -<span id="cb13-32"><a href="#cb13-32" aria-hidden="true" tabindex="-1"></a> llik[n] = binomial_logit_lpmf(y[n] | K[n], alpha[n]);</span> -<span id="cb13-33"><a href="#cb13-33" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb13-34"><a href="#cb13-34" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> -<p>Finally I wrote a file <code>normal.stan</code>:</p> -<div class="sourceCode" id="cb14"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="kw">data</span> {</span> -<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> N; <span class="co">// items</span></span> -<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> K; <span class="co">// trials</span></span> -<span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> y; <span class="co">// successes</span></span> -<span id="cb14-5"><a href="#cb14-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_mu;</span> -<span id="cb14-6"><a href="#cb14-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_tau;</span> -<span id="cb14-7"><a href="#cb14-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_b_K;</span> -<span id="cb14-8"><a href="#cb14-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>,<span class="kw">upper</span>=<span class="dv">1</span>> likelihood;</span> -<span id="cb14-9"><a href="#cb14-9" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb14-10"><a href="#cb14-10" aria-hidden="true" tabindex="-1"></a><span class="kw">transformed data</span> {</span> -<span id="cb14-11"><a href="#cb14-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] log_K = log(to_vector(K));</span> -<span id="cb14-12"><a href="#cb14-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] log_K_std = (log_K - mean(log_K)) / sd(log_K);</span> +<div class="sourceCode" id="cb14"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="kw">functions</span> {</span> +<span id="cb14-2"><a href="#cb14-2" aria-hidden="true" tabindex="-1"></a><span class="co">#include custom_functions.stan</span></span> +<span id="cb14-3"><a href="#cb14-3" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb14-4"><a href="#cb14-4" aria-hidden="true" tabindex="-1"></a><span class="kw">data</span> {</span> +<span id="cb14-5"><a href="#cb14-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> N; <span class="co">// items</span></span> +<span id="cb14-6"><a href="#cb14-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> K; <span class="co">// trials</span></span> +<span id="cb14-7"><a href="#cb14-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> y; <span class="co">// successes</span></span> +<span id="cb14-8"><a href="#cb14-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> min_alpha; <span class="co">// noone worse than this would be in the dataset</span></span> +<span id="cb14-9"><a href="#cb14-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> max_alpha;</span> +<span id="cb14-10"><a href="#cb14-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_sigma;</span> +<span id="cb14-11"><a href="#cb14-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_k;</span> +<span id="cb14-12"><a href="#cb14-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>,<span class="kw">upper</span>=<span class="dv">1</span>> likelihood;</span> <span id="cb14-13"><a href="#cb14-13" aria-hidden="true" tabindex="-1"></a>}</span> <span id="cb14-14"><a href="#cb14-14" aria-hidden="true" tabindex="-1"></a><span class="kw">parameters</span> {</span> -<span id="cb14-15"><a href="#cb14-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> mu; <span class="co">// population mean of success log-odds</span></span> -<span id="cb14-16"><a href="#cb14-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=<span class="dv">0</span>> tau; <span class="co">// population sd of success log-odds</span></span> -<span id="cb14-17"><a href="#cb14-17" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> b_K;</span> -<span id="cb14-18"><a href="#cb14-18" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] alpha_std; <span class="co">// success log-odds (standardized)</span></span> -<span id="cb14-19"><a href="#cb14-19" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb14-20"><a href="#cb14-20" aria-hidden="true" tabindex="-1"></a><span class="kw">model</span> {</span> -<span id="cb14-21"><a href="#cb14-21" aria-hidden="true" tabindex="-1"></a> b_K ~ normal(prior_b_K[<span class="dv">1</span>], prior_b_K[<span class="dv">2</span>]);</span> -<span id="cb14-22"><a href="#cb14-22" aria-hidden="true" tabindex="-1"></a> mu ~ normal(prior_mu[<span class="dv">1</span>], prior_mu[<span class="dv">2</span>]);</span> -<span id="cb14-23"><a href="#cb14-23" aria-hidden="true" tabindex="-1"></a> tau ~ normal(prior_tau[<span class="dv">1</span>], prior_tau[<span class="dv">2</span>]);</span> -<span id="cb14-24"><a href="#cb14-24" aria-hidden="true" tabindex="-1"></a> alpha_std ~ normal(<span class="dv">0</span>, <span class="dv">1</span>);</span> -<span id="cb14-25"><a href="#cb14-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (likelihood){</span> -<span id="cb14-26"><a href="#cb14-26" aria-hidden="true" tabindex="-1"></a> y ~ binomial_logit(K, mu + b_K * log_K_std + tau * alpha_std);</span> -<span id="cb14-27"><a href="#cb14-27" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb14-28"><a href="#cb14-28" aria-hidden="true" tabindex="-1"></a>}</span> -<span id="cb14-29"><a href="#cb14-29" aria-hidden="true" tabindex="-1"></a><span class="kw">generated quantities</span> {</span> -<span id="cb14-30"><a href="#cb14-30" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] alpha = mu + b_K * log_K_std + tau * alpha_std;</span> -<span id="cb14-31"><a href="#cb14-31" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] yrep;</span> -<span id="cb14-32"><a href="#cb14-32" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] llik;</span> -<span id="cb14-33"><a href="#cb14-33" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (n <span class="cf">in</span> <span class="dv">1</span>:N){</span> -<span id="cb14-34"><a href="#cb14-34" aria-hidden="true" tabindex="-1"></a> yrep[n] = binomial_rng(K[n], inv_logit(alpha[n]));</span> -<span id="cb14-35"><a href="#cb14-35" aria-hidden="true" tabindex="-1"></a> llik[n] = binomial_logit_lpmf(y[n] | K[n], alpha[n]);</span> -<span id="cb14-36"><a href="#cb14-36" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb14-37"><a href="#cb14-37" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<span id="cb14-15"><a href="#cb14-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=<span class="fl">0.001</span>> sigma; <span class="co">// scale parameter of generalised pareto distribution</span></span> +<span id="cb14-16"><a href="#cb14-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=-sigma/(max_alpha-min_alpha)> k; <span class="co">// shape parameter of generalised pareto distribution</span></span> +<span id="cb14-17"><a href="#cb14-17" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span><<span class="kw">lower</span>=min_alpha,<span class="kw">upper</span>=max_alpha>[N] alpha; <span class="co">// success log-odds</span></span> +<span id="cb14-18"><a href="#cb14-18" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb14-19"><a href="#cb14-19" aria-hidden="true" tabindex="-1"></a><span class="kw">model</span> {</span> +<span id="cb14-20"><a href="#cb14-20" aria-hidden="true" tabindex="-1"></a> sigma ~ normal(prior_sigma[<span class="dv">1</span>], prior_sigma[<span class="dv">2</span>]);</span> +<span id="cb14-21"><a href="#cb14-21" aria-hidden="true" tabindex="-1"></a> k ~ normal(prior_k[<span class="dv">1</span>], prior_k[<span class="dv">2</span>]);</span> +<span id="cb14-22"><a href="#cb14-22" aria-hidden="true" tabindex="-1"></a> alpha ~ gpareto(min_alpha, k, sigma);</span> +<span id="cb14-23"><a href="#cb14-23" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (likelihood){</span> +<span id="cb14-24"><a href="#cb14-24" aria-hidden="true" tabindex="-1"></a> y ~ binomial_logit(K, alpha);</span> +<span id="cb14-25"><a href="#cb14-25" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb14-26"><a href="#cb14-26" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb14-27"><a href="#cb14-27" aria-hidden="true" tabindex="-1"></a><span class="kw">generated quantities</span> {</span> +<span id="cb14-28"><a href="#cb14-28" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] yrep;</span> +<span id="cb14-29"><a href="#cb14-29" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] llik;</span> +<span id="cb14-30"><a href="#cb14-30" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (n <span class="cf">in</span> <span class="dv">1</span>:N){</span> +<span id="cb14-31"><a href="#cb14-31" aria-hidden="true" tabindex="-1"></a> yrep[n] = binomial_rng(K[n], inv_logit(alpha[n]));</span> +<span id="cb14-32"><a href="#cb14-32" aria-hidden="true" tabindex="-1"></a> llik[n] = binomial_logit_lpmf(y[n] | K[n], alpha[n]);</span> +<span id="cb14-33"><a href="#cb14-33" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb14-34"><a href="#cb14-34" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>Finally I wrote a file <code>normal.stan</code>:</p> +<div class="sourceCode" id="cb15"><pre class="sourceCode stan code-with-copy"><code class="sourceCode stan"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="kw">data</span> {</span> +<span id="cb15-2"><a href="#cb15-2" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> N; <span class="co">// items</span></span> +<span id="cb15-3"><a href="#cb15-3" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> K; <span class="co">// trials</span></span> +<span id="cb15-4"><a href="#cb15-4" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[N] <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>> y; <span class="co">// successes</span></span> +<span id="cb15-5"><a href="#cb15-5" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_mu;</span> +<span id="cb15-6"><a href="#cb15-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_tau;</span> +<span id="cb15-7"><a href="#cb15-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">array</span>[<span class="dv">2</span>] <span class="dt">real</span> prior_b_K;</span> +<span id="cb15-8"><a href="#cb15-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span><<span class="kw">lower</span>=<span class="dv">0</span>,<span class="kw">upper</span>=<span class="dv">1</span>> likelihood;</span> +<span id="cb15-9"><a href="#cb15-9" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb15-10"><a href="#cb15-10" aria-hidden="true" tabindex="-1"></a><span class="kw">transformed data</span> {</span> +<span id="cb15-11"><a href="#cb15-11" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] log_K = log(to_vector(K));</span> +<span id="cb15-12"><a href="#cb15-12" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] log_K_std = (log_K - mean(log_K)) / sd(log_K);</span> +<span id="cb15-13"><a href="#cb15-13" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb15-14"><a href="#cb15-14" aria-hidden="true" tabindex="-1"></a><span class="kw">parameters</span> {</span> +<span id="cb15-15"><a href="#cb15-15" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> mu; <span class="co">// population mean of success log-odds</span></span> +<span id="cb15-16"><a href="#cb15-16" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span><<span class="kw">lower</span>=<span class="dv">0</span>> tau; <span class="co">// population sd of success log-odds</span></span> +<span id="cb15-17"><a href="#cb15-17" aria-hidden="true" tabindex="-1"></a> <span class="dt">real</span> b_K;</span> +<span id="cb15-18"><a href="#cb15-18" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] alpha_std; <span class="co">// success log-odds (standardized)</span></span> +<span id="cb15-19"><a href="#cb15-19" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb15-20"><a href="#cb15-20" aria-hidden="true" tabindex="-1"></a><span class="kw">model</span> {</span> +<span id="cb15-21"><a href="#cb15-21" aria-hidden="true" tabindex="-1"></a> b_K ~ normal(prior_b_K[<span class="dv">1</span>], prior_b_K[<span class="dv">2</span>]);</span> +<span id="cb15-22"><a href="#cb15-22" aria-hidden="true" tabindex="-1"></a> mu ~ normal(prior_mu[<span class="dv">1</span>], prior_mu[<span class="dv">2</span>]);</span> +<span id="cb15-23"><a href="#cb15-23" aria-hidden="true" tabindex="-1"></a> tau ~ normal(prior_tau[<span class="dv">1</span>], prior_tau[<span class="dv">2</span>]);</span> +<span id="cb15-24"><a href="#cb15-24" aria-hidden="true" tabindex="-1"></a> alpha_std ~ normal(<span class="dv">0</span>, <span class="dv">1</span>);</span> +<span id="cb15-25"><a href="#cb15-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> (likelihood){</span> +<span id="cb15-26"><a href="#cb15-26" aria-hidden="true" tabindex="-1"></a> y ~ binomial_logit(K, mu + b_K * log_K_std + tau * alpha_std);</span> +<span id="cb15-27"><a href="#cb15-27" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb15-28"><a href="#cb15-28" aria-hidden="true" tabindex="-1"></a>}</span> +<span id="cb15-29"><a href="#cb15-29" aria-hidden="true" tabindex="-1"></a><span class="kw">generated quantities</span> {</span> +<span id="cb15-30"><a href="#cb15-30" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] alpha = mu + b_K * log_K_std + tau * alpha_std;</span> +<span id="cb15-31"><a href="#cb15-31" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] yrep;</span> +<span id="cb15-32"><a href="#cb15-32" aria-hidden="true" tabindex="-1"></a> <span class="dt">vector</span>[N] llik;</span> +<span id="cb15-33"><a href="#cb15-33" aria-hidden="true" tabindex="-1"></a> <span class="cf">for</span> (n <span class="cf">in</span> <span class="dv">1</span>:N){</span> +<span id="cb15-34"><a href="#cb15-34" aria-hidden="true" tabindex="-1"></a> yrep[n] = binomial_rng(K[n], inv_logit(alpha[n]));</span> +<span id="cb15-35"><a href="#cb15-35" aria-hidden="true" tabindex="-1"></a> llik[n] = binomial_logit_lpmf(y[n] | K[n], alpha[n]);</span> +<span id="cb15-36"><a href="#cb15-36" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb15-37"><a href="#cb15-37" aria-hidden="true" tabindex="-1"></a>}</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> </section> -<section id="generating-stan-inputs" class="level1"> +<section id="generating-stan-inputs" class="level1 page-columns page-full"> <h1>Generating Stan inputs</h1> <p>Next I needed to tell the analysis how to turn some prepared data into a dictionary that can be used as input for Stan. Bibat assumes that this task is handled by functions that live in the file <code>baseball/stan_input_functions.py</code>, each of which takes in a <code>PreparedData</code> and returns a Python dictionary. You can write as many Stan input functions as you like and choose which one to run for any given inference.</p> -<p>I started by defining some Stan input functions that pass arbitary prepared data on to each of the models:</p> -<div class="sourceCode" id="cb15" data-startfrom="11"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 10;"><span id="cb15-11"><a href="#cb15-11" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_normal(ppd: PreparedData) <span class="op">-></span> Dict:</span> -<span id="cb15-12"><a href="#cb15-12" aria-hidden="true" tabindex="-1"></a> <span class="co">"""General function for creating a Stan input."""</span></span> -<span id="cb15-13"><a href="#cb15-13" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {</span> -<span id="cb15-14"><a href="#cb15-14" aria-hidden="true" tabindex="-1"></a> <span class="st">"N"</span>: <span class="bu">len</span>(ppd.measurements),</span> -<span id="cb15-15"><a href="#cb15-15" aria-hidden="true" tabindex="-1"></a> <span class="st">"K"</span>: ppd.measurements[<span class="st">"n_attempt"</span>].values,</span> -<span id="cb15-16"><a href="#cb15-16" aria-hidden="true" tabindex="-1"></a> <span class="st">"y"</span>: ppd.measurements[<span class="st">"n_success"</span>].values,</span> -<span id="cb15-17"><a href="#cb15-17" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_mu"</span>: [logit(<span class="fl">0.25</span>), <span class="fl">0.2</span>],</span> -<span id="cb15-18"><a href="#cb15-18" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_tau"</span>: [<span class="fl">0.2</span>, <span class="fl">0.1</span>],</span> -<span id="cb15-19"><a href="#cb15-19" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_b_K"</span>: [<span class="dv">0</span>, <span class="fl">0.03</span>],</span> -<span id="cb15-20"><a href="#cb15-20" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb15-21"><a href="#cb15-21" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb15-22"><a href="#cb15-22" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb15-23"><a href="#cb15-23" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_gpareto(ppd: PreparedData) <span class="op">-></span> Dict:</span> -<span id="cb15-24"><a href="#cb15-24" aria-hidden="true" tabindex="-1"></a> <span class="co">"""General function for creating a Stan input."""</span></span> -<span id="cb15-25"><a href="#cb15-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {</span> -<span id="cb15-26"><a href="#cb15-26" aria-hidden="true" tabindex="-1"></a> <span class="st">"N"</span>: <span class="bu">len</span>(ppd.measurements),</span> -<span id="cb15-27"><a href="#cb15-27" aria-hidden="true" tabindex="-1"></a> <span class="st">"K"</span>: ppd.measurements[<span class="st">"n_attempt"</span>].values,</span> -<span id="cb15-28"><a href="#cb15-28" aria-hidden="true" tabindex="-1"></a> <span class="st">"y"</span>: ppd.measurements[<span class="st">"n_success"</span>].values,</span> -<span id="cb15-29"><a href="#cb15-29" aria-hidden="true" tabindex="-1"></a> <span class="st">"min_alpha"</span>: logit(<span class="fl">0.07</span>),</span> -<span id="cb15-30"><a href="#cb15-30" aria-hidden="true" tabindex="-1"></a> <span class="st">"max_alpha"</span>: logit(<span class="fl">0.5</span>),</span> -<span id="cb15-31"><a href="#cb15-31" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_sigma"</span>: [<span class="fl">1.5</span>, <span class="fl">0.4</span>],</span> -<span id="cb15-32"><a href="#cb15-32" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_k"</span>: [<span class="op">-</span><span class="fl">0.5</span>, <span class="dv">1</span>],</span> -<span id="cb15-33"><a href="#cb15-33" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb15-34"><a href="#cb15-34" aria-hidden="true" tabindex="-1"></a></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="page-columns page-full"><p>I started by defining some Stan input functions that pass arbitary prepared data on to each of the models:<a href="#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a></p><div class="no-row-height column-margin column-container"><li id="fn3"><p><sup>3</sup> Note that this code uses the scipy function <code>logit</code>, which it imported like this: <code>from scipy.special import logit</code></p></li></div></div> +<div class="sourceCode" id="cb16" data-startfrom="11"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 10;"><span id="cb16-11"><a href="#cb16-11" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_normal(ppd: PreparedData) <span class="op">-></span> Dict:</span> +<span id="cb16-12"><a href="#cb16-12" aria-hidden="true" tabindex="-1"></a> <span class="co">"""General function for creating a Stan input."""</span></span> +<span id="cb16-13"><a href="#cb16-13" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {</span> +<span id="cb16-14"><a href="#cb16-14" aria-hidden="true" tabindex="-1"></a> <span class="st">"N"</span>: <span class="bu">len</span>(ppd.measurements),</span> +<span id="cb16-15"><a href="#cb16-15" aria-hidden="true" tabindex="-1"></a> <span class="st">"K"</span>: ppd.measurements[<span class="st">"n_attempt"</span>].values,</span> +<span id="cb16-16"><a href="#cb16-16" aria-hidden="true" tabindex="-1"></a> <span class="st">"y"</span>: ppd.measurements[<span class="st">"n_success"</span>].values,</span> +<span id="cb16-17"><a href="#cb16-17" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_mu"</span>: [logit(<span class="fl">0.25</span>), <span class="fl">0.2</span>],</span> +<span id="cb16-18"><a href="#cb16-18" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_tau"</span>: [<span class="fl">0.2</span>, <span class="fl">0.1</span>],</span> +<span id="cb16-19"><a href="#cb16-19" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_b_K"</span>: [<span class="dv">0</span>, <span class="fl">0.03</span>],</span> +<span id="cb16-20"><a href="#cb16-20" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb16-21"><a href="#cb16-21" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb16-22"><a href="#cb16-22" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb16-23"><a href="#cb16-23" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_gpareto(ppd: PreparedData) <span class="op">-></span> Dict:</span> +<span id="cb16-24"><a href="#cb16-24" aria-hidden="true" tabindex="-1"></a> <span class="co">"""General function for creating a Stan input."""</span></span> +<span id="cb16-25"><a href="#cb16-25" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {</span> +<span id="cb16-26"><a href="#cb16-26" aria-hidden="true" tabindex="-1"></a> <span class="st">"N"</span>: <span class="bu">len</span>(ppd.measurements),</span> +<span id="cb16-27"><a href="#cb16-27" aria-hidden="true" tabindex="-1"></a> <span class="st">"K"</span>: ppd.measurements[<span class="st">"n_attempt"</span>].values,</span> +<span id="cb16-28"><a href="#cb16-28" aria-hidden="true" tabindex="-1"></a> <span class="st">"y"</span>: ppd.measurements[<span class="st">"n_success"</span>].values,</span> +<span id="cb16-29"><a href="#cb16-29" aria-hidden="true" tabindex="-1"></a> <span class="st">"min_alpha"</span>: logit(<span class="fl">0.07</span>),</span> +<span id="cb16-30"><a href="#cb16-30" aria-hidden="true" tabindex="-1"></a> <span class="st">"max_alpha"</span>: logit(<span class="fl">0.5</span>),</span> +<span id="cb16-31"><a href="#cb16-31" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_sigma"</span>: [<span class="fl">1.5</span>, <span class="fl">0.4</span>],</span> +<span id="cb16-32"><a href="#cb16-32" aria-hidden="true" tabindex="-1"></a> <span class="st">"prior_k"</span>: [<span class="op">-</span><span class="fl">0.5</span>, <span class="dv">1</span>],</span> +<span id="cb16-33"><a href="#cb16-33" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb16-34"><a href="#cb16-34" aria-hidden="true" tabindex="-1"></a></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>But why stop there? It can also be useful to generate Stan input data from a model with a model, by running it in simulation model with hardcoded parameter values. Here are some functions that do this for both of our models:</p> -<div class="sourceCode" id="cb16" data-startfrom="36"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 35;"><span id="cb16-36"><a href="#cb16-36" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_normal_fake(ppd: PreparedData) <span class="op">-></span> Dict:</span> -<span id="cb16-37"><a href="#cb16-37" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate fake Stan input consistent with the normal model."""</span></span> -<span id="cb16-38"><a href="#cb16-38" aria-hidden="true" tabindex="-1"></a> N <span class="op">=</span> <span class="bu">len</span>(ppd.measurements)</span> -<span id="cb16-39"><a href="#cb16-39" aria-hidden="true" tabindex="-1"></a> rng <span class="op">=</span> np.random.default_rng(seed<span class="op">=</span><span class="dv">1234</span>)</span> -<span id="cb16-40"><a href="#cb16-40" aria-hidden="true" tabindex="-1"></a> true_param_values <span class="op">=</span> {</span> -<span id="cb16-41"><a href="#cb16-41" aria-hidden="true" tabindex="-1"></a> <span class="st">"mu"</span>: logit(<span class="fl">0.25</span>),</span> -<span id="cb16-42"><a href="#cb16-42" aria-hidden="true" tabindex="-1"></a> <span class="st">"tau"</span>: <span class="fl">0.18</span>, <span class="co"># 2sds is 0.19 to 0.32 batting average</span></span> -<span id="cb16-43"><a href="#cb16-43" aria-hidden="true" tabindex="-1"></a> <span class="st">"b_K"</span>: <span class="fl">0.04</span>, <span class="co"># slight effect of more attempts</span></span> -<span id="cb16-44"><a href="#cb16-44" aria-hidden="true" tabindex="-1"></a> <span class="st">"alpha_std"</span>: rng.random.normal(loc<span class="op">=</span><span class="dv">0</span>, scale<span class="op">=</span><span class="dv">1</span>, size<span class="op">=</span>N),</span> -<span id="cb16-45"><a href="#cb16-45" aria-hidden="true" tabindex="-1"></a> }</span> -<span id="cb16-46"><a href="#cb16-46" aria-hidden="true" tabindex="-1"></a> K <span class="op">=</span> ppd.measurements[<span class="st">"n_attempt"</span>].values</span> -<span id="cb16-47"><a href="#cb16-47" aria-hidden="true" tabindex="-1"></a> log_K_std <span class="op">=</span> (np.log(K) <span class="op">-</span> np.log(K).mean()) <span class="op">/</span> np.log(K).std()</span> -<span id="cb16-48"><a href="#cb16-48" aria-hidden="true" tabindex="-1"></a> alpha <span class="op">=</span> (</span> -<span id="cb16-49"><a href="#cb16-49" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"mu"</span>]</span> -<span id="cb16-50"><a href="#cb16-50" aria-hidden="true" tabindex="-1"></a> <span class="op">+</span> true_param_values[<span class="st">"b_K"</span>] <span class="op">*</span> log_K_std</span> -<span id="cb16-51"><a href="#cb16-51" aria-hidden="true" tabindex="-1"></a> <span class="op">+</span> true_param_values[<span class="st">"tau"</span>] <span class="op">*</span> true_param_values[<span class="st">"alpha_std"</span>]</span> -<span id="cb16-52"><a href="#cb16-52" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb16-53"><a href="#cb16-53" aria-hidden="true" tabindex="-1"></a> y <span class="op">=</span> rng.random.binomial(K, expit(alpha))</span> -<span id="cb16-54"><a href="#cb16-54" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {<span class="st">"N"</span>: N, <span class="st">"K"</span>: K, <span class="st">"y"</span>: y} <span class="op">|</span> true_param_values</span> -<span id="cb16-55"><a href="#cb16-55" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-56"><a href="#cb16-56" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-57"><a href="#cb16-57" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_gpareto_fake(ppd: PreparedData) <span class="op">-></span> Dict:</span> -<span id="cb16-58"><a href="#cb16-58" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate fake Stan input consistent with the gpareto model."""</span></span> -<span id="cb16-59"><a href="#cb16-59" aria-hidden="true" tabindex="-1"></a> N <span class="op">=</span> <span class="bu">len</span>(ppd.measurements)</span> -<span id="cb16-60"><a href="#cb16-60" aria-hidden="true" tabindex="-1"></a> K <span class="op">=</span> ppd.measurements[<span class="st">"n_attempt"</span>].values</span> -<span id="cb16-61"><a href="#cb16-61" aria-hidden="true" tabindex="-1"></a> min_alpha <span class="op">=</span> <span class="fl">0.1</span></span> -<span id="cb16-62"><a href="#cb16-62" aria-hidden="true" tabindex="-1"></a> rng <span class="op">=</span> np.random.default_rng(seed<span class="op">=</span><span class="dv">1234</span>)</span> -<span id="cb16-63"><a href="#cb16-63" aria-hidden="true" tabindex="-1"></a> true_param_values <span class="op">=</span> {<span class="st">"sigma"</span>: <span class="op">-</span><span class="fl">1.098</span>, <span class="st">"k"</span>: <span class="fl">0.18</span>}</span> -<span id="cb16-64"><a href="#cb16-64" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"alpha"</span>] <span class="op">=</span> gpareto_rvs(</span> -<span id="cb16-65"><a href="#cb16-65" aria-hidden="true" tabindex="-1"></a> rng,</span> -<span id="cb16-66"><a href="#cb16-66" aria-hidden="true" tabindex="-1"></a> N,</span> -<span id="cb16-67"><a href="#cb16-67" aria-hidden="true" tabindex="-1"></a> min_alpha,</span> -<span id="cb16-68"><a href="#cb16-68" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"k"</span>],</span> -<span id="cb16-69"><a href="#cb16-69" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"sigma"</span>],</span> -<span id="cb16-70"><a href="#cb16-70" aria-hidden="true" tabindex="-1"></a> )</span> -<span id="cb16-71"><a href="#cb16-71" aria-hidden="true" tabindex="-1"></a> y <span class="op">=</span> rng.binomial(K, expit(true_param_values[<span class="st">"alpha"</span>]))</span> -<span id="cb16-72"><a href="#cb16-72" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {<span class="st">"N"</span>: N, <span class="st">"K"</span>: K, <span class="st">"y"</span>: y, <span class="st">"min_alpha"</span>: min_alpha} <span class="op">|</span> true_param_values</span> -<span id="cb16-73"><a href="#cb16-73" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-74"><a href="#cb16-74" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-75"><a href="#cb16-75" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> gpareto_rvs(</span> -<span id="cb16-76"><a href="#cb16-76" aria-hidden="true" tabindex="-1"></a> rng: np.random.Generator, size: <span class="bu">int</span>, mu: <span class="bu">float</span>, k: <span class="bu">float</span>, sigma: <span class="bu">float</span></span> -<span id="cb16-77"><a href="#cb16-77" aria-hidden="true" tabindex="-1"></a>):</span> -<span id="cb16-78"><a href="#cb16-78" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate random numbers from a generalised pareto distribution.</span></span> -<span id="cb16-79"><a href="#cb16-79" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-80"><a href="#cb16-80" aria-hidden="true" tabindex="-1"></a><span class="co"> See https://en.wikipedia.org/wiki/Generalized_Pareto_distribution for</span></span> -<span id="cb16-81"><a href="#cb16-81" aria-hidden="true" tabindex="-1"></a><span class="co"> source.</span></span> -<span id="cb16-82"><a href="#cb16-82" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb16-83"><a href="#cb16-83" aria-hidden="true" tabindex="-1"></a><span class="co"> """</span></span> -<span id="cb16-84"><a href="#cb16-84" aria-hidden="true" tabindex="-1"></a> U <span class="op">=</span> rng.uniform(size)</span> -<span id="cb16-85"><a href="#cb16-85" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> k <span class="op">==</span> <span class="dv">0</span>:</span> -<span id="cb16-86"><a href="#cb16-86" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> mu <span class="op">-</span> sigma <span class="op">*</span> np.log(U)</span> -<span id="cb16-87"><a href="#cb16-87" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span>:</span> -<span id="cb16-88"><a href="#cb16-88" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> mu <span class="op">+</span> (sigma <span class="op">*</span> (U<span class="op">**-</span>k) <span class="op">-</span> <span class="dv">1</span>) <span class="op">/</span> sigma</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb17" data-startfrom="36"><pre class="sourceCode python code-with-copy"><code class="sourceCode python" style="counter-reset: source-line 35;"><span id="cb17-36"><a href="#cb17-36" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_normal_fake(ppd: PreparedData) <span class="op">-></span> Dict:</span> +<span id="cb17-37"><a href="#cb17-37" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate fake Stan input consistent with the normal model."""</span></span> +<span id="cb17-38"><a href="#cb17-38" aria-hidden="true" tabindex="-1"></a> N <span class="op">=</span> <span class="bu">len</span>(ppd.measurements)</span> +<span id="cb17-39"><a href="#cb17-39" aria-hidden="true" tabindex="-1"></a> rng <span class="op">=</span> np.random.default_rng(seed<span class="op">=</span><span class="dv">1234</span>)</span> +<span id="cb17-40"><a href="#cb17-40" aria-hidden="true" tabindex="-1"></a> true_param_values <span class="op">=</span> {</span> +<span id="cb17-41"><a href="#cb17-41" aria-hidden="true" tabindex="-1"></a> <span class="st">"mu"</span>: logit(<span class="fl">0.25</span>),</span> +<span id="cb17-42"><a href="#cb17-42" aria-hidden="true" tabindex="-1"></a> <span class="st">"tau"</span>: <span class="fl">0.18</span>, <span class="co"># 2sds is 0.19 to 0.32 batting average</span></span> +<span id="cb17-43"><a href="#cb17-43" aria-hidden="true" tabindex="-1"></a> <span class="st">"b_K"</span>: <span class="fl">0.04</span>, <span class="co"># slight effect of more attempts</span></span> +<span id="cb17-44"><a href="#cb17-44" aria-hidden="true" tabindex="-1"></a> <span class="st">"alpha_std"</span>: rng.random.normal(loc<span class="op">=</span><span class="dv">0</span>, scale<span class="op">=</span><span class="dv">1</span>, size<span class="op">=</span>N),</span> +<span id="cb17-45"><a href="#cb17-45" aria-hidden="true" tabindex="-1"></a> }</span> +<span id="cb17-46"><a href="#cb17-46" aria-hidden="true" tabindex="-1"></a> K <span class="op">=</span> ppd.measurements[<span class="st">"n_attempt"</span>].values</span> +<span id="cb17-47"><a href="#cb17-47" aria-hidden="true" tabindex="-1"></a> log_K_std <span class="op">=</span> (np.log(K) <span class="op">-</span> np.log(K).mean()) <span class="op">/</span> np.log(K).std()</span> +<span id="cb17-48"><a href="#cb17-48" aria-hidden="true" tabindex="-1"></a> alpha <span class="op">=</span> (</span> +<span id="cb17-49"><a href="#cb17-49" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"mu"</span>]</span> +<span id="cb17-50"><a href="#cb17-50" aria-hidden="true" tabindex="-1"></a> <span class="op">+</span> true_param_values[<span class="st">"b_K"</span>] <span class="op">*</span> log_K_std</span> +<span id="cb17-51"><a href="#cb17-51" aria-hidden="true" tabindex="-1"></a> <span class="op">+</span> true_param_values[<span class="st">"tau"</span>] <span class="op">*</span> true_param_values[<span class="st">"alpha_std"</span>]</span> +<span id="cb17-52"><a href="#cb17-52" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb17-53"><a href="#cb17-53" aria-hidden="true" tabindex="-1"></a> y <span class="op">=</span> rng.random.binomial(K, expit(alpha))</span> +<span id="cb17-54"><a href="#cb17-54" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {<span class="st">"N"</span>: N, <span class="st">"K"</span>: K, <span class="st">"y"</span>: y} <span class="op">|</span> true_param_values</span> +<span id="cb17-55"><a href="#cb17-55" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-56"><a href="#cb17-56" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-57"><a href="#cb17-57" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> get_stan_input_gpareto_fake(ppd: PreparedData) <span class="op">-></span> Dict:</span> +<span id="cb17-58"><a href="#cb17-58" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate fake Stan input consistent with the gpareto model."""</span></span> +<span id="cb17-59"><a href="#cb17-59" aria-hidden="true" tabindex="-1"></a> N <span class="op">=</span> <span class="bu">len</span>(ppd.measurements)</span> +<span id="cb17-60"><a href="#cb17-60" aria-hidden="true" tabindex="-1"></a> K <span class="op">=</span> ppd.measurements[<span class="st">"n_attempt"</span>].values</span> +<span id="cb17-61"><a href="#cb17-61" aria-hidden="true" tabindex="-1"></a> min_alpha <span class="op">=</span> <span class="fl">0.1</span></span> +<span id="cb17-62"><a href="#cb17-62" aria-hidden="true" tabindex="-1"></a> rng <span class="op">=</span> np.random.default_rng(seed<span class="op">=</span><span class="dv">1234</span>)</span> +<span id="cb17-63"><a href="#cb17-63" aria-hidden="true" tabindex="-1"></a> true_param_values <span class="op">=</span> {<span class="st">"sigma"</span>: <span class="op">-</span><span class="fl">1.098</span>, <span class="st">"k"</span>: <span class="fl">0.18</span>}</span> +<span id="cb17-64"><a href="#cb17-64" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"alpha"</span>] <span class="op">=</span> gpareto_rvs(</span> +<span id="cb17-65"><a href="#cb17-65" aria-hidden="true" tabindex="-1"></a> rng,</span> +<span id="cb17-66"><a href="#cb17-66" aria-hidden="true" tabindex="-1"></a> N,</span> +<span id="cb17-67"><a href="#cb17-67" aria-hidden="true" tabindex="-1"></a> min_alpha,</span> +<span id="cb17-68"><a href="#cb17-68" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"k"</span>],</span> +<span id="cb17-69"><a href="#cb17-69" aria-hidden="true" tabindex="-1"></a> true_param_values[<span class="st">"sigma"</span>],</span> +<span id="cb17-70"><a href="#cb17-70" aria-hidden="true" tabindex="-1"></a> )</span> +<span id="cb17-71"><a href="#cb17-71" aria-hidden="true" tabindex="-1"></a> y <span class="op">=</span> rng.binomial(K, expit(true_param_values[<span class="st">"alpha"</span>]))</span> +<span id="cb17-72"><a href="#cb17-72" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> {<span class="st">"N"</span>: N, <span class="st">"K"</span>: K, <span class="st">"y"</span>: y, <span class="st">"min_alpha"</span>: min_alpha} <span class="op">|</span> true_param_values</span> +<span id="cb17-73"><a href="#cb17-73" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-74"><a href="#cb17-74" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-75"><a href="#cb17-75" aria-hidden="true" tabindex="-1"></a><span class="kw">def</span> gpareto_rvs(</span> +<span id="cb17-76"><a href="#cb17-76" aria-hidden="true" tabindex="-1"></a> rng: np.random.Generator, size: <span class="bu">int</span>, mu: <span class="bu">float</span>, k: <span class="bu">float</span>, sigma: <span class="bu">float</span></span> +<span id="cb17-77"><a href="#cb17-77" aria-hidden="true" tabindex="-1"></a>):</span> +<span id="cb17-78"><a href="#cb17-78" aria-hidden="true" tabindex="-1"></a> <span class="co">"""Generate random numbers from a generalised pareto distribution.</span></span> +<span id="cb17-79"><a href="#cb17-79" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-80"><a href="#cb17-80" aria-hidden="true" tabindex="-1"></a><span class="co"> See https://en.wikipedia.org/wiki/Generalized_Pareto_distribution for</span></span> +<span id="cb17-81"><a href="#cb17-81" aria-hidden="true" tabindex="-1"></a><span class="co"> source.</span></span> +<span id="cb17-82"><a href="#cb17-82" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-83"><a href="#cb17-83" aria-hidden="true" tabindex="-1"></a><span class="co"> """</span></span> +<span id="cb17-84"><a href="#cb17-84" aria-hidden="true" tabindex="-1"></a> U <span class="op">=</span> rng.uniform(size)</span> +<span id="cb17-85"><a href="#cb17-85" aria-hidden="true" tabindex="-1"></a> <span class="cf">if</span> k <span class="op">==</span> <span class="dv">0</span>:</span> +<span id="cb17-86"><a href="#cb17-86" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> mu <span class="op">-</span> sigma <span class="op">*</span> np.log(U)</span> +<span id="cb17-87"><a href="#cb17-87" aria-hidden="true" tabindex="-1"></a> <span class="cf">else</span>:</span> +<span id="cb17-88"><a href="#cb17-88" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> mu <span class="op">+</span> (sigma <span class="op">*</span> (U<span class="op">**-</span>k) <span class="op">-</span> <span class="dv">1</span>) <span class="op">/</span> sigma</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> </section> <section id="specifying-inferences" class="level1"> <h1>Specifying inferences</h1> <p>Now all the building blocks for making statistical inferences - raw data, data preparation rules, statistical models and recipes for turning prepared data into model inputs - were in place. The last step before actually running Stan was to write down how put the blocks together. Bibat has another concept for this, called ‘inferences’.</p> <p>An inference in bibat is a folder containing a special file called <code>config.toml</code>. This file sets out what inferences you want to make: which statistical model, which prepared data function, which Stan input function, which parameters have which dimensions, which sampling modes to use and how to configure the sampler. The folder will later be filled up with the results of performing the specified inferences.</p> <p>I started by deleting the example inferences and creating two fresh folders, leaving me with an <code>inferences</code> folder looking like this:</p> -<div class="sourceCode" id="cb17"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="ex">inferences</span></span> -<span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a><span class="ex">├──</span> gpareto2006</span> -<span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> └── config.toml</span> -<span id="cb17-4"><a href="#cb17-4" aria-hidden="true" tabindex="-1"></a><span class="ex">└──</span> normal2006</span> -<span id="cb17-5"><a href="#cb17-5" aria-hidden="true" tabindex="-1"></a> <span class="ex">└──</span> config.toml</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb18"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="ex">inferences</span></span> +<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a><span class="ex">├──</span> gpareto2006</span> +<span id="cb18-3"><a href="#cb18-3" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> └── config.toml</span> +<span id="cb18-4"><a href="#cb18-4" aria-hidden="true" tabindex="-1"></a><span class="ex">└──</span> normal2006</span> +<span id="cb18-5"><a href="#cb18-5" aria-hidden="true" tabindex="-1"></a> <span class="ex">└──</span> config.toml</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>Here is the file <code>inferences/gpareto2006/config.toml</code>:</p> -<div class="sourceCode" id="cb18"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"gpareto2006"</span></span> -<span id="cb18-2"><a href="#cb18-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"gpareto.stan"</span></span> -<span id="cb18-3"><a href="#cb18-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"2006"</span></span> -<span id="cb18-4"><a href="#cb18-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_gpareto"</span></span> -<span id="cb18-5"><a href="#cb18-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> -<span id="cb18-6"><a href="#cb18-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb18-7"><a href="#cb18-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> -<span id="cb18-8"><a href="#cb18-8" aria-hidden="true" tabindex="-1"></a><span class="dt">alpha</span> <span class="op">=</span> <span class="op">[</span><span class="st">"player"</span><span class="op">]</span></span> -<span id="cb18-9"><a href="#cb18-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb18-10"><a href="#cb18-10" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">stanc_options</span><span class="kw">]</span></span> -<span id="cb18-11"><a href="#cb18-11" aria-hidden="true" tabindex="-1"></a><span class="dt">warn-pedantic</span> <span class="op">=</span> <span class="cn">true</span></span> -<span id="cb18-12"><a href="#cb18-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb18-13"><a href="#cb18-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> -<span id="cb18-14"><a href="#cb18-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> -<span id="cb18-15"><a href="#cb18-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb18-16"><a href="#cb18-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb18-17"><a href="#cb18-17" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb18-18"><a href="#cb18-18" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">.</span><span class="dt">prior</span><span class="kw">]</span></span> -<span id="cb18-19"><a href="#cb18-19" aria-hidden="true" tabindex="-1"></a><span class="dt">chains</span> <span class="op">=</span> <span class="dv">2</span></span> -<span id="cb18-20"><a href="#cb18-20" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">1000</span></span> -<span id="cb18-21"><a href="#cb18-21" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">1000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> -<p>Here is the file <code>inferences/normal2006/config.toml</code>:</p> -<div class="sourceCode" id="cb19"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"normal2006"</span></span> -<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"normal.stan"</span></span> +<div class="sourceCode" id="cb19"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"gpareto2006"</span></span> +<span id="cb19-2"><a href="#cb19-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"gpareto.stan"</span></span> <span id="cb19-3"><a href="#cb19-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"2006"</span></span> -<span id="cb19-4"><a href="#cb19-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_normal"</span></span> +<span id="cb19-4"><a href="#cb19-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_gpareto"</span></span> <span id="cb19-5"><a href="#cb19-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> <span id="cb19-6"><a href="#cb19-6" aria-hidden="true" tabindex="-1"></a></span> <span id="cb19-7"><a href="#cb19-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> @@ -3624,21 +3626,50 @@ <h1>Specifying inferences</h1> <span id="cb19-13"><a href="#cb19-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> <span id="cb19-14"><a href="#cb19-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> <span id="cb19-15"><a href="#cb19-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb19-16"><a href="#cb19-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> -<p>Note that: * The Stan file, prepared data folder and stan input function are referred to by strings. The analysis should raise an error if you enter a non-existing value. * Both inferences are set to run in “prior” and “posterior” modes - the other pre-defined mode is “kfold”, but you can also write your own! * You can enter arbitrary arguments to cmdstanpy’s <code>CmdStanModel.sample</code> method in the <code>[sample_kwargs]</code> table. * You can enter mode-specific overrides in <code>[sample_kwargs.<MODE>]</code>. This can be handy if you want to run more or fewer iterations for a certain mode.</p> +<span id="cb19-16"><a href="#cb19-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb19-17"><a href="#cb19-17" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb19-18"><a href="#cb19-18" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">.</span><span class="dt">prior</span><span class="kw">]</span></span> +<span id="cb19-19"><a href="#cb19-19" aria-hidden="true" tabindex="-1"></a><span class="dt">chains</span> <span class="op">=</span> <span class="dv">2</span></span> +<span id="cb19-20"><a href="#cb19-20" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">1000</span></span> +<span id="cb19-21"><a href="#cb19-21" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">1000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>Here is the file <code>inferences/normal2006/config.toml</code>:</p> +<div class="sourceCode" id="cb20"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"normal2006"</span></span> +<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"normal.stan"</span></span> +<span id="cb20-3"><a href="#cb20-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"2006"</span></span> +<span id="cb20-4"><a href="#cb20-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_normal"</span></span> +<span id="cb20-5"><a href="#cb20-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> +<span id="cb20-6"><a href="#cb20-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-7"><a href="#cb20-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> +<span id="cb20-8"><a href="#cb20-8" aria-hidden="true" tabindex="-1"></a><span class="dt">alpha</span> <span class="op">=</span> <span class="op">[</span><span class="st">"player"</span><span class="op">]</span></span> +<span id="cb20-9"><a href="#cb20-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-10"><a href="#cb20-10" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">stanc_options</span><span class="kw">]</span></span> +<span id="cb20-11"><a href="#cb20-11" aria-hidden="true" tabindex="-1"></a><span class="dt">warn-pedantic</span> <span class="op">=</span> <span class="cn">true</span></span> +<span id="cb20-12"><a href="#cb20-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb20-13"><a href="#cb20-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> +<span id="cb20-14"><a href="#cb20-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> +<span id="cb20-15"><a href="#cb20-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb20-16"><a href="#cb20-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<p>Note that:</p> +<ul> +<li>The Stan file, prepared data folder and stan input function are referred to by strings. The analysis should raise an error if you enter a non-existing value.</li> +<li>Both inferences are set to run in “prior” and “posterior” modes - the other pre-defined mode is “kfold”, but you can also write your own!</li> +<li>You can enter arbitrary arguments to cmdstanpy’s <code>CmdStanModel.sample</code> method in the <code>[sample_kwargs]</code> table.</li> +<li>You can enter mode-specific overrides in <code>[sample_kwargs.<MODE>]</code>. This can be handy if you want to run more or fewer iterations for a certain mode.</li> +</ul> <p>Now when I ran <code>make analysis</code> again, I saw messages indicating that Stan had run, and found that the <code>inferences</code> subfolders had been populated:</p> -<div class="sourceCode" id="cb20"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="ex">inferences</span></span> -<span id="cb20-2"><a href="#cb20-2" aria-hidden="true" tabindex="-1"></a><span class="ex">├──</span> gpareto2006</span> -<span id="cb20-3"><a href="#cb20-3" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> ├── config.toml</span> -<span id="cb20-4"><a href="#cb20-4" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> └── idata.json</span> -<span id="cb20-5"><a href="#cb20-5" aria-hidden="true" tabindex="-1"></a><span class="ex">└──</span> normal2006</span> -<span id="cb20-6"><a href="#cb20-6" aria-hidden="true" tabindex="-1"></a> <span class="ex">├──</span> config.toml</span> -<span id="cb20-7"><a href="#cb20-7" aria-hidden="true" tabindex="-1"></a> <span class="ex">└──</span> idata.json</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb21"><pre class="sourceCode zsh code-with-copy"><code class="sourceCode zsh"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="ex">inferences</span></span> +<span id="cb21-2"><a href="#cb21-2" aria-hidden="true" tabindex="-1"></a><span class="ex">├──</span> gpareto2006</span> +<span id="cb21-3"><a href="#cb21-3" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> ├── config.toml</span> +<span id="cb21-4"><a href="#cb21-4" aria-hidden="true" tabindex="-1"></a><span class="ex">│ </span> └── idata.json</span> +<span id="cb21-5"><a href="#cb21-5" aria-hidden="true" tabindex="-1"></a><span class="ex">└──</span> normal2006</span> +<span id="cb21-6"><a href="#cb21-6" aria-hidden="true" tabindex="-1"></a> <span class="ex">├──</span> config.toml</span> +<span id="cb21-7"><a href="#cb21-7" aria-hidden="true" tabindex="-1"></a> <span class="ex">└──</span> idata.json</span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> </section> <section id="investigating-the-inferences" class="level1"> <h1>Investigating the inferences</h1> -<p>Now that the inferences are ready it’s time to check them out. Bibat provides a jupyter notebook at <code>baseball/investigate.ipynb</code> for exactly this purpose.</p> -<p>A lot of code from the example analysis’s notebook was reusable, so I largely followed its structure, with a few tweaks.</p> +<p>Now that the inferences are ready it’s time to check them out. Bibat provides a Jupyter notebook at <code>baseball/investigate.ipynb</code> for exactly this purpose. The notebook’s main job is to create plots and save them in the <code>plots</code> directory when it is executed with the command <code>jupyter execute investigate.ipynb</code>, which is the final step in the chain of commands that is triggered by <code>make analysis</code>.</p> +<p>A notebook is arguably a nicer home for code that creates plots than a plain python script because it allows for literate documentation and an iterative workflow. A notebook makes it easy to, for example, add some code to change the scale of a plot, execute the code and see the new results, then update the relevant documentation all in the same place.</p> +<p>The code from the example analysis’s notebook for loading <code>InferenceData</code> was reusable with a few tweaks to avoid missing file errors, so I kept it. On the other hand, I wanted to make some different plots from the ones in the example analysis, including some that required loading prepared data. To check out everything I did, see <a href="https://github.com/teddygroves/bibat/blob/main/bibat/examples/baseball/baseball/investigate.ipynb">here</a>.</p> </section> <section id="choosing-priors-using-push-forward-calibration" class="level1"> <h1>Choosing priors using push-forward calibration</h1> @@ -3648,31 +3679,35 @@ <h1>Choosing priors using push-forward calibration</h1> <section id="extending-the-analysis-to-the-baseballdatabank-data" class="level1"> <h1>Extending the analysis to the baseballdatabank data</h1> <p>To model the more recent data, all I had to do was create some new inference folders with appropriate <code>prepared_data_dir</code> fields in their <code>config.toml</code> files. For example, here is the <code>config.toml</code> file for the <code>gparetobdb</code> inference:</p> -<div class="sourceCode" id="cb21"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"gparetobdb"</span></span> -<span id="cb21-2"><a href="#cb21-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"gpareto.stan"</span></span> -<span id="cb21-3"><a href="#cb21-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"bdb"</span></span> -<span id="cb21-4"><a href="#cb21-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_gpareto"</span></span> -<span id="cb21-5"><a href="#cb21-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> -<span id="cb21-6"><a href="#cb21-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb21-7"><a href="#cb21-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> -<span id="cb21-8"><a href="#cb21-8" aria-hidden="true" tabindex="-1"></a><span class="dt">alpha</span> <span class="op">=</span> <span class="op">[</span><span class="st">"player"</span><span class="op">]</span></span> -<span id="cb21-9"><a href="#cb21-9" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb21-10"><a href="#cb21-10" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">stanc_options</span><span class="kw">]</span></span> -<span id="cb21-11"><a href="#cb21-11" aria-hidden="true" tabindex="-1"></a><span class="dt">warn-pedantic</span> <span class="op">=</span> <span class="cn">true</span></span> -<span id="cb21-12"><a href="#cb21-12" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb21-13"><a href="#cb21-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> -<span id="cb21-14"><a href="#cb21-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> -<span id="cb21-15"><a href="#cb21-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb21-16"><a href="#cb21-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb21-17"><a href="#cb21-17" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb21-18"><a href="#cb21-18" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">.</span><span class="dt">prior</span><span class="kw">]</span></span> -<span id="cb21-19"><a href="#cb21-19" aria-hidden="true" tabindex="-1"></a><span class="dt">chains</span> <span class="op">=</span> <span class="dv">2</span></span> -<span id="cb21-20"><a href="#cb21-20" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> -<span id="cb21-21"><a href="#cb21-21" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">1000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> +<div class="sourceCode" id="cb22"><pre class="sourceCode toml code-with-copy"><code class="sourceCode toml"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="dt">name</span> <span class="op">=</span> <span class="st">"gparetobdb"</span></span> +<span id="cb22-2"><a href="#cb22-2" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_file</span> <span class="op">=</span> <span class="st">"gpareto.stan"</span></span> +<span id="cb22-3"><a href="#cb22-3" aria-hidden="true" tabindex="-1"></a><span class="dt">prepared_data_dir</span> <span class="op">=</span> <span class="st">"bdb"</span></span> +<span id="cb22-4"><a href="#cb22-4" aria-hidden="true" tabindex="-1"></a><span class="dt">stan_input_function</span> <span class="op">=</span> <span class="st">"get_stan_input_gpareto"</span></span> +<span id="cb22-5"><a href="#cb22-5" aria-hidden="true" tabindex="-1"></a><span class="dt">modes</span> <span class="op">=</span> <span class="op">[</span><span class="st">"prior"</span><span class="op">,</span> <span class="st">"posterior"</span><span class="op">]</span></span> +<span id="cb22-6"><a href="#cb22-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb22-7"><a href="#cb22-7" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">dims</span><span class="kw">]</span></span> +<span id="cb22-8"><a href="#cb22-8" aria-hidden="true" tabindex="-1"></a><span class="dt">alpha</span> <span class="op">=</span> <span class="op">[</span><span class="st">"player"</span><span class="op">]</span></span> +<span id="cb22-9"><a href="#cb22-9" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb22-10"><a href="#cb22-10" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">stanc_options</span><span class="kw">]</span></span> +<span id="cb22-11"><a href="#cb22-11" aria-hidden="true" tabindex="-1"></a><span class="dt">warn-pedantic</span> <span class="op">=</span> <span class="cn">true</span></span> +<span id="cb22-12"><a href="#cb22-12" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb22-13"><a href="#cb22-13" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">]</span></span> +<span id="cb22-14"><a href="#cb22-14" aria-hidden="true" tabindex="-1"></a><span class="dt">save_warmup</span> <span class="op">=</span> <span class="cn">false</span></span> +<span id="cb22-15"><a href="#cb22-15" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb22-16"><a href="#cb22-16" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb22-17"><a href="#cb22-17" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb22-18"><a href="#cb22-18" aria-hidden="true" tabindex="-1"></a><span class="kw">[</span><span class="dt">sample_kwargs</span><span class="kw">.</span><span class="dt">prior</span><span class="kw">]</span></span> +<span id="cb22-19"><a href="#cb22-19" aria-hidden="true" tabindex="-1"></a><span class="dt">chains</span> <span class="op">=</span> <span class="dv">2</span></span> +<span id="cb22-20"><a href="#cb22-20" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_warmup</span> <span class="op">=</span> <span class="dv">2000</span></span> +<span id="cb22-21"><a href="#cb22-21" aria-hidden="true" tabindex="-1"></a><span class="dt">iter_sampling</span> <span class="op">=</span> <span class="dv">1000</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div> <p>After running <code>make analysis</code> one more time, I went back to the notebook <code>baseball/investigate.ipynb</code> and made plots of both models’ posterior 1%-99% success rate intervals for both datasets:</p> <p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3gU1foH8O9uyqYnQCokJCQUSWgCgoCIIgpcRUAFFH9KtQGiotwrNpqKXe9VESvYpYhiR0WQIghICyHUVEIKKZuym63z/v7Y7JLNJpBAIEv4fp4nD2TmzJkzswtn9t1z3qMSEQEREREREREREZGbUjd1A4iIiIiIiIiIiE6HASwiIiIiIiIiInJrDGAREREREREREZFbYwCLiIiIiIiIiIjcGgNYRERERERERETk1hjAIiIiIiIiIiIit8YAFhERERERERERuTUGsIiIiIiIiIiIyK0xgEVERERERERERG6NASwiIqImpFKpMG/evAYfl5GRAZVKhWXLljm2zZs3DyqVqvEaB+Caa67BNddc06h1nk8qlQozZsxo6mZccOfjtSciIiJyJwxgERHRJW/ZsmVQqVRQqVTYvHmzy34RQUxMDFQqFW666aYmaCERubsTJ05g3rx52LNnT1M3hYiIqFliAIuIiKiKj48PvvjiC5ftf/75J44fPw6NRtMErSKii8GJEycwf/58BrCIiIjOEwawiIiIqvzrX//CypUrYbFYnLZ/8cUX6NWrFyIjI5uoZXSx0el0Td0EOkcGgwGKojR1M4iIiKgKA1hERERV7rjjDhQVFeG3335zbDOZTFi1ahXGjx9f6zE6nQ6PPvooYmJioNFo0KlTJ7zyyisQEadyRqMRjzzyCMLCwhAYGIibb74Zx48fr7XOnJwcTJ48GREREdBoNEhKSsJHH3101tf12WefoVevXvD19UXLli1x++23Izs726Xce++9h4SEBPj6+qJPnz7YtGlTverv0qULrr32WpftiqKgTZs2uO222xzbvvrqK/Tq1QuBgYEICgpC165d8d///veM56jvfbb7/PPP0alTJ/j4+KBXr17YuHGj0/7y8nI8/PDDiIuLg0ajQXh4OK6//nrs2rXLqdzff/+NYcOGITg4GH5+fhg0aBC2bNniVMaef+rAgQMYP348WrRogauuugqvvPIKVCoVMjMzXdo3Z84ceHt7o6SkpEHnAoDNmzfjiiuugI+PDxISEvDuu++e8f7ZHTlyBLfeeisiIyPh4+OD6Oho3H777SgtLQVQe241u9ryteXk5GDKlClo3bo1NBoN2rVrhwceeAAmk8lRRqvV4pFHHnHc6+joaNx9990oLCx0lDEajZg7dy7at28PjUaDmJgY/Pvf/4bRaHQ632+//YarrroKISEhCAgIQKdOnfDEE084lXnzzTeRlJQEPz8/tGjRAr179651ZGV1GzZsgEqlwldffYWnnnoKbdq0gZ+fH8rKylBcXIzHHnsMXbt2RUBAAIKCgjB8+HDs3bvX6fgrrrgCADBp0iTHlOTq97E+r29935dERESXIs+mbgAREZG7iIuLQ79+/fDll19i+PDhAICff/4ZpaWluP322/G///3PqbyI4Oabb8b69esxZcoU9OjRA2vXrsXs2bORk5OD119/3VF26tSp+OyzzzB+/Hj0798ff/zxB2688UaXNuTn5+PKK690JCMPCwvDzz//jClTpqCsrAwPP/xwg67pueeew9NPP42xY8di6tSpOHnyJN58801cffXV2L17N0JCQgAAH374Ie677z70798fDz/8MNLS0nDzzTejZcuWiImJOe05xo0bh3nz5iEvL89plNrmzZtx4sQJ3H777QBswYc77rgD1113HV588UUAQGpqKrZs2YKHHnqozvobcp8B25TP5cuXY+bMmdBoNFi8eDGGDRuG7du3o0uXLgCA+++/H6tWrcKMGTOQmJiIoqIibN68GampqejZsycA4I8//sDw4cPRq1cvzJ07F2q1GkuXLsXgwYOxadMm9OnTx+m8Y8aMQYcOHfD8889DRHDTTTfh3//+N1asWIHZs2c7lV2xYgVuuOEGtGjRokHnSk5Oxg033ICwsDDMmzcPFosFc+fORURExGlfI8AWjB06dCiMRiMefPBBREZGIicnBz/88AO0Wi2Cg4PPWEd1J06cQJ8+faDVanHvvffisssuQ05ODlatWgW9Xg9vb29UVFRg4MCBSE1NxeTJk9GzZ08UFhbiu+++w/HjxxEaGgpFUXDzzTdj8+bNuPfee9G5c2ckJyfj9ddfx+HDh/Htt98CAFJSUnDTTTehW7duWLBgATQaDY4ePeoUBHr//fcxc+ZM3HbbbXjooYdgMBiwb98+/P3333UGoatbuHAhvL298dhjj8FoNMLb2xsHDhzAt99+izFjxqBdu3bIz8/Hu+++i0GDBuHAgQNo3bo1OnfujAULFuCZZ57Bvffei4EDBwIA+vfv36DXtz7vSyIiokuWEBERXeKWLl0qAGTHjh3y1ltvSWBgoOj1ehERGTNmjFx77bUiIhIbGys33nij47hvv/1WAMizzz7rVN9tt90mKpVKjh49KiIie/bsEQAybdo0p3Ljx48XADJ37lzHtilTpkhUVJQUFhY6lb399tslODjY0a709HQBIEuXLnWUmTt3rlTv2jMyMsTDw0Oee+45p7qSk5PF09PTsd1kMkl4eLj06NFDjEajo9x7770nAGTQoEGnvX+HDh0SAPLmm286bZ82bZoEBAQ42vzQQw9JUFCQWCyW09ZXU33vs4gIAAEgO3fudGzLzMwUHx8fGT16tGNbcHCwTJ8+vc5zKooiHTp0kKFDh4qiKI7ter1e2rVrJ9dff71jm/2+33HHHS719OvXT3r16uW0bfv27QJAPvnkkwafa9SoUeLj4yOZmZmObQcOHBAPDw8502Pd7t27BYCsXLmyzjK1va/sar5X7777blGr1bJjxw6XsvbreOaZZwSArF69us4yn376qajVatm0aZPT/iVLlggA2bJli4iIvP766wJATp48WWf7R44cKUlJSXXur8v69esFgMTHxzver3YGg0GsVqvTtvT0dNFoNLJgwQLHth07dtR67xry+p7pfUlERHQp4xRCIiKiasaOHYvKykr88MMPKC8vxw8//FDnyI2ffvoJHh4emDlzptP2Rx99FCKCn3/+2VEOgEu5mqOpRARff/01RowYARFBYWGh42fo0KEoLS1t0FSi1atXQ1EUjB071qmuyMhIdOjQAevXrwcA7Ny5EwUFBbj//vvh7e3tOH7ixIn1GpXTsWNH9OjRA8uXL3dss1qtWLVqFUaMGAFfX18AQEhICHQ6ndMUzfqo732269evH3r16uX4vW3bthg5ciTWrl0Lq9XqaMvff/+NEydO1HrOPXv24MiRIxg/fjyKiooc906n0+G6667Dxo0bXfIj3X///S71jBs3Dv/88w+OHTvm2LZ8+XJoNBqMHDmyQeeyWq1Yu3YtRo0ahbZt2zrq69y5M4YOHXrG+2h/LdeuXQu9Xn/G8qejKAq+/fZbjBgxAr1793bZr1KpAABff/01unfvjtGjR9dZZuXK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gAQGBkplZWWtZepzLhGRP//8U3r16iXe3t4SHx8vS5YsqfO1ry4tLU0mT54sCQkJ4uPjIy1btpRrr71Wfv/9d6dyer1epkyZIsHBwRIYGChjx46VgoKCWt+rmZmZcvfdd0tYWJhoNBqJj4+X6dOni9FodJQpKiqSGTNmSJs2bcTb21uio6NlwoQJUlhY6ChjMpnkxRdflKSkJNFoNNKiRQvp1auXzJ8/X0pLS0VEZN26dTJy5Ehp3bq1eHt7S+vWreWOO+6Qw4cPO+p599135eqrr3bcw4SEBJk9e7ajjrqsX79eAMjKlStd9hkMBnn00UclKipKfH19ZcCAAbJ169Za/22sWbNGEhMTxdPT0+Xf55le34a8L4mIiC5FKpEaY6KJiIiIiIiIiIjcCHNgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrCIiIiIiIiIiMitMYBFRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrCIiJqRjIwMqFQqLFu2rKmbQkRE5LbmzZsHlUqFwsLCs65DpVJh3rx5jVpnba655hpcc801jVonEdHFiAEsIrpk7dixAzNmzEBSUhL8/f3Rtm1bjB07FocPH661fGpqKoYNG4aAgAC0bNkSd911F06ePOlSTlEUvPTSS2jXrh18fHzQrVs3fPnll7XWqSgK3nnnHfTo0QO+vr5o1aoVBg8ejL179zbqtdbHX3/9hXnz5kGr1V7wcxMREVHj0uv1mDdvHjZs2NDUTSEiahSeTd0AIqKm8uKLL2LLli0YM2YMunXrhry8PLz11lvo2bMntm3bhi5dujjKHj9+HFdffTWCg4Px/PPPo6KiAq+88gqSk5Oxfft2eHt7O8o++eSTeOGFF3DPPffgiiuuwJo1azB+/HioVCrcfvvtTm2YPHkyPv/8c9x9992YMWMGdDoddu/ejYKCggt2H+z++usvzJ8/HxMnTkRISMgFPz8RERE1Hr1ej/nz5wMAR3ARUbPAABYRXbJmzZqFL774win4NG7cOHTt2hUvvPACPvvsM8f2559/HjqdDv/88w/atm0LAOjTpw+uv/56LFu2DPfeey8AICcnB6+++iqmT5+Ot956CwAwdepUDBo0CLNnz8aYMWPg4eEBAFixYgU+/vhjrF69GqNHj75Ql01ERERERHTR4RRCIrpk9e/f3yl4BQAdOnRAUlISUlNTnbZ//fXXuOmmmxzBKwAYMmQIOnbsiBUrVji2rVmzBmazGdOmTXNsU6lUeOCBB3D8+HFs3brVsf21115Dnz59MHr0aCiKAp1O16D2a7VaTJw4EcHBwQgJCcGECRNqnf63b98+TJw4EfHx8fDx8UFkZCQmT56MoqIiR5l58+Zh9uzZAIB27dpBpVJBpVIhIyMDALB06VIMHjwY4eHh0Gg0SExMxDvvvNOg9hIREbmbwsJCjB07FkFBQWjVqhUeeughGAwGpzJGoxGPPPIIwsLCEBgYiJtvvhnHjx8/pzrr8t577yEhIQG+vr7o06cPNm3a5FLGZDLhmWeeQa9evRAcHAx/f38MHDgQ69evd5TJyMhAWFgYAGD+/PmOft2es6s+zwZERO6GI7CIiKoREeTn5yMpKcmxLScnBwUFBejdu7dL+T59+uCnn35y/L579274+/ujc+fOLuXs+6+66iqUlZVh+/btmDZtGp544gm8+eabqKioQLt27fDCCy9g7NixZ2znyJEjsXnzZtx///3o3LkzvvnmG0yYMMGl7G+//Ya0tDRMmjQJkZGRSElJwXvvvYeUlBRs27YNKpUKt9xyCw4fPowvv/wSr7/+OkJDQwHA8fD7zjvvICkpCTfffDM8PT3x/fffY9q0aVAUBdOnT6/n3SUiInIvY8eORVxcHBYtWoRt27bhf//7H0pKSvDJJ584ykydOhWfffYZxo8fj/79++OPP/7AjTfeeE511ubDDz/Efffdh/79++Phhx9GWloabr75ZrRs2RIxMTGOcmVlZfjggw9wxx134J577kF5eTk+/PBDDB06FNu3b0ePHj0QFhaGd955Bw888ABGjx6NW265BQDQrVs3APV7NiAicjtCREQOn376qQCQDz/80LFtx44dAkA++eQTl/KzZ88WAGIwGERE5MYbb5T4+HiXcjqdTgDI448/LiIiu3btEgDSqlUriYiIkMWLF8vnn38uffr0EZVKJT///PNp2/ntt98KAHnppZcc2ywWiwwcOFAAyNKlSx3b9Xq9y/FffvmlAJCNGzc6tr388ssCQNLT013K11bH0KFDa71WIiIidzd37lwBIDfffLPT9mnTpgkA2bt3r4iI7NmzRwDItGnTnMqNHz9eAMjcuXMbXGdtTCaThIeHS48ePcRoNDq2v/feewJABg0a5NhmsVicyoiIlJSUSEREhEyePNmx7eTJky5ttKvvswERkTvhFEIioioHDx7E9OnT0a9fP6eRTJWVlQAAjUbjcoyPj49TmcrKynqVq6ioAAAUFRVhzZo1eOCBBzB+/HisW7cOrVq1wrPPPnvatv7000/w9PTEAw884Njm4eGBBx980KWsr6+v4+8GgwGFhYW48sorAQC7du067Xlqq6O0tBSFhYUYNGgQ0tLSUFpaWq86iIiI3E3NUcT2ftQ+utr+58yZM53KPfzww2ddZ2127tyJgoIC3H///U7pDeypAqrz8PBwlFEUBcXFxbBYLOjdu/dZ9etn+2xARHShMYBFRAQgLy8PN954I4KDg7Fq1SpHonXg1EOe0Wh0Oc6e08JextfXt97lAFu+qb59+zrKBQQEYMSIEdi+fTssFkud7c3MzERUVBQCAgKctnfq1MmlbHFxMR566CFERETA19cXYWFhaNeuHQDUO/i0ZcsWDBkyBP7+/ggJCUFYWBieeOKJBtVBRETkbjp06OD0e0JCAtRqtSMHZGZmJtRqNRISEpzK1dbf1rfO2mRmZtZ6rJeXF+Lj413Kf/zxx+jWrRt8fHzQqlUrhIWF4ccff6x3n9wYzwZERBcac2AR0SWvtLQUw4cPh1arxaZNm9C6dWun/VFRUQCA3Nxcl2Nzc3PRsmVLx6irqKgorF+/HiLilD/Cfqy9bvufERERLnWGh4fDbDZDp9O5fOt6NsaOHYu//voLs2fPRo8ePRAQEABFUTBs2DAoinLG448dO4brrrsOl112GV577TXExMTA29sbP/30E15//fV61UFERHQxOB+5nxq7zs8++wwTJ07EqFGjMHv2bISHh8PDwwOLFi3CsWPH6lXHuT4bEBE1BQawiOiSZjAYMGLECBw+fBi///47EhMTXcq0adMGYWFh2Llzp8s+e7JUux49euCDDz5AamqqU11///23Yz9gC2BFRkYiJyfHpc4TJ07Ax8cHgYGBdbY7NjYW69atQ0VFhdMorEOHDjmVKykpwbp16zB//nw888wzju1HjhxxqbOuB+zvv/8eRqMR3333ndMqjNVXOyIiIroYHTlyxDHyCACOHj0KRVEQFxcHwNbfKoqCY8eOOY26qtnfNqTO2sTGxjqOHTx4sGO72WxGeno6unfv7ti2atUqxMfHY/Xq1U5999y5c53qrKtfb8izARGRO+EUQiK6ZFmtVowbNw5bt27FypUr0a9fvzrL3nrrrfjhhx+QnZ3t2LZu3TocPnwYY8aMcWwbOXIkvLy8sHjxYsc2EcGSJUvQpk0b9O/f37F93LhxyM7Oxm+//ebYVlhYiDVr1mDw4MFQq+v+L/pf//oXLBYL3nnnHafrefPNN53K2adCiojT9jfeeMOlTn9/fwCAVqs9Yx2lpaVYunRpne0jIiK6GLz99ttOv9v70eHDhzv9+b///c+pXG39aH3rrE3v3r0RFhaGJUuWwGQyObYvW7asXv3y33//ja1btzqV8/PzA1C/fh04/TUREbkDjsAiokvWo48+iu+++w4jRoxAcXExPvvsM6f9//d//+f4+xNPPIGVK1fi2muvxUMPPYSKigq8/PLL6Nq1KyZNmuQoFx0djYcffhgvv/wyzGYzrrjiCnz77bfYtGkTPv/8c6fcWnPmzMGKFStw6623YtasWQgODsaSJUtgNpvx/PPPn7btI0aMwIABA/D4448jIyMDiYmJWL16tUveiqCgIFx99dV46aWXYDab0aZNG/z6669IT093qbNXr14AgCeffBK33347vLy8MGLECNxwww3w9vbGiBEjcN9996GiogLvv/8+wsPDa51WSUREdLFIT0/HzTffjGHDhmHr1q347LPPMH78eMeIpx49euCOO+7A4sWLUVpaiv79+2PdunU4evToWddZGy8vLzz77LO47777MHjwYIwbNw7p6elYunSpSw6sm266CatXr8bo0aNx4403Ij09HUuWLEFiYqJjkRjAlm8zMTERy5cvR8eOHdGyZUt06dIFXbp0qfezARGRW2nKJRCJiJrSoEGDBECdPzXt379fbrjhBvHz85OQkBC58847JS8vz6Wc1WqV559/XmJjY8Xb21uSkpLks88+q7UNx44dk9GjR0tQUJD4+vrK4MGDZfv27fVqf1FRkdx1110SFBQkwcHBctddd8nu3bsFgCxdutRR7vjx4zJ69GgJCQmR4OBgGTNmjJw4caLWpbUXLlwobdq0EbVaLQAkPT1dRES+++476datm/j4+EhcXJy8+OKL8tFHHzmVISIiuljMnTtXAMiBAwfktttuk8DAQGnRooXMmDFDKisrncpWVlbKzJkzpVWrVuLv7y8jRoyQ7Oxsl360IXXWZfHixdKuXTvRaDTSu3dv2bhxowwaNEgGDRrkKKMoiuM5Q6PRyOWXXy4//PCDTJgwQWJjY53q++uvv6RXr17i7e3t1N6GPBsQEbkLlUiNsaNERERERERERERuhDmwiIiIiIiIiIjIrTGARUREREREREREbo0BrEvA22+/jbi4OPj4+KBv377Yvn17nWWvueYaqFQql58bb7zxAraYiIiIiIiIiOgUBrCaueXLl2PWrFmYO3cudu3ahe7du2Po0KEoKCiotfzq1auRm5vr+Nm/fz88PDwwZsyYC9xyIiIiIiIiIiIbJnFv5vr27YsrrrgCb731FgBAURTExMTgwQcfxOOPP37G49944w0888wzyM3Nhb+///luLhERERERERGRC47AasZMJhP++ecfDBkyxLFNrVZjyJAh2Lp1a73q+PDDD3H77bczeEVERERERERETcazqRtA509hYSGsVisiIiKctkdERODgwYNnPH779u3Yv38/Pvzww9OWMxqNMBqNjt8VRUFxcTFatWoFlUp1do0nIiJqRCKC8vJytG7dGmo1v79rKPb1RETk7tjXN38MYFGdPvzwQ3Tt2hV9+vQ5bblFixZh/vz5F6hVREREZy87OxvR0dFN3YyLDvt6IiK6WLCvb76YA6sZM5lM8PPzw6pVqzBq1CjH9gkTJkCr1WLNmjV1HqvT6dC6dWssWLAADz300GnPU/Nb2dLSUrRt2xbZ2dkICgo65+sgIiI6V2VlZYiJiYFWq0VwcHBTN+eiw76eiIjcHfv65o8jsJoxb29v9OrVC+vWrXMEsBRFwbp16zBjxozTHrty5UoYjUb83//93xnPo9FooNFoXLYHBQXxoZaIiNwKp7udHfb1RER0sWBf33wxgNXMzZo1CxMmTEDv3r3Rp08fvPHGG9DpdJg0aRIA4O6770abNm2waNEip+M+/PBDjBo1Cq1atWqKZhMREREREREROTCA1cyNGzcOJ0+exDPPPIO8vDz06NEDv/zyiyOxe1ZWlkuCu0OHDmHz5s349ddfm6LJREREREREREROmAOLGl1ZWRmCg4NRWlrKaQVEROQW2Dc1Lt5PIiJyN+ybmj+uLUlERERE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iYl47LHHMG3aNAC2YeM//fQTnnzySUyaNAknT55EZGQkrr76akRE1D8Xx8KFCxEWFoZFixYhLS0NISEh6NmzJ5544onTHvfaa69h8uTJ6N+/P0JDQ/Gf//wHZWVl9T5vYGAgXnrpJRw5cgQeHh644oor8NNPPzlyO5zp2saNG4djx47h3//+NwwGA2699VY88MADWLt2bb3b0FjX1K1bN/z555948sknMXDgQIgIEhISMG7cOEeZBQsW4L777kNCQgKMRiNEBD179sSKFSvwzDPPYOHChYiKisKCBQswceLEs76G2qhUKqxZswYPPvggrr76aqjVagwbNgxvvvmmo0x97ufUqVPh5+eHl19+GbNnz4a/vz+6du2Khx9+uFHbS0TU3LGvZ1/Pvp6aI5WISFM3gpqXsrIyBAcHo7S0FEFBQU3dHCIiIvZNjYz3k4iI3A37puZPfeYiRERERERERERETYcBLCIiIiIiIiIicmsMYBERERERERERkVtjAOsS8PbbbyMuLg4+Pj7o27cvtm/fftryWq0W06dPR1RUFDQaDTp27IiffvrpArWWiIiIiIiIiMgZVyFs5pYvX45Zs2ZhyZIl6Nu3L9544w0MHToUhw4dQnh4uEt5k8mE66+/HuHh4Vi1ahXatGmDzMxMhISEXPjGExERERERERGBAaxm77XXXsM999yDSZMmAQCWLFmCH3/8ER999BEef/xxl/IfffQRiouL8ddff8HLywsAEBcXdyGbTERERERERETkhFMImzGTyYR//vkHQ4YMcWxTq9UYMmQItm7dWusx3333Hfr164fp06cjIiICXbp0wfPPPw+r1VrneYxGI8rKypx+iIiIqPlgX09ERERNjQGsZqywsBBWqxURERFO2yMiIpCXl1frMWlpaVi1ahWsVit++uknPP3003j11Vfx7LPP1nmeRYsWITg42PETExPTqNdBRERETYt9PRERETU1BrDIiaIoCA8Px3vvvYdevXph3LhxePLJJ7FkyZI6j5kzZw5KS0sdP9nZ2RewxURERHS+sa8nIiKipsYAVjMWGhoKDw8P5OfnO23Pz89HZGRkrcdERUWhY8eO8PDwcGzr3Lkz8vLyYDKZaj1Go9EgKCjI6YeIqLFt2LABKpUKWq22qZsCAFCpVPj222/rXX7ixIkYNWrUeWsP0fnEvp6ILgT29UR0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bVvccsst6Ny5M6ZMmQKDwcBvaYmIyC2wr2dfT3SxU4mINHUjqHkpKytDcHAwSktL+Z85ERG5BfZNjYv3k4iI3A37puaPI7CIiIiIiIiIiMitMYBFRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrCIiIiIiIiIiMitMYBFRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWHTRSUtLw8cff4y0tLSmbgoRERERERERXQCeTd0AooZIS0tD165dodfr4efnh+TkZMTHxzd1s4iIiIiIiIjoPOIILLqobNq0CXq9HgCg1+uxadOmJm4REREREREREZ1vDGDRRWXgwIHw8/MDAPj5+WHgwIFN3CIiIiIiIiIiOt84hZAuKvHx8UhOTsamTZswcOBATh8kIiIiIiIiugQwgEUXnfj4eAauiIiIiIiIiC4hnEJIRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrCIiIiIiIiIiMitMYBFRERERERERERujQEsIiIiIiIiIiJyawxgERERERERERGRW2MAi4iIiIiIiIiI3BoDWERERERERERE5NYYwCIiIiIiIiIiIrfGABYREREREREREbk1BrAuAW+//Tbi4uLg4+ODvn37Yvv27XWWXbZsGVQqldOPj4/PBWwtEREREREREZEzBrCaueXLl2PWrFmYO3cudu3ahe7du2Po0KEoKCio85igoCDk5uY6fjIzMy9gi4mIiIiIiIiInDGA1cy99tpruOeeezBp0iQkJiZiyZIl8PPzw0cffVTnMSqVCpGRkY6fiIiIC9hiIiIiIiIiIiJnDGA1YyaTCf/88w+GDBni2KZWqzFkyBBs3bq1zuMqKioQGxuLmJgYjBw5EikpKReiuURERET1lpaWho8//hhpaWlN3RQiIiK6ADybugF0/hQWFsJqtbqMoIqIiMDBgwdrPaZTp0746KOP0K1bN5SWluKVV15B//79kZKSgujo6FqPMRqNMBqNjt/Lysoa7yKIiIio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" class="img-fluid"></p> <p>I think this is very interesting. Both models’ prior distributions had similar regularisation levels, and they more or less agree about the abilities of the players with the most at-bats, both in terms of locations and the widths of the plausible intervals for the true success rate. However, the models ended up with dramatically different certainty levels about the abilities of players with few at-bats. This pattern was true both for the small 2006 dataset and the much larger baseballdatabank dataset.</p> </section> +<section id="documenting-the-analysis" class="level1"> +<h1>Documenting the analysis</h1> +<p>The final step was to document my analysis. To do this I edited the file <code>docs/report.qmd</code>, then ran <code>quarto render docs/report.qmd</code>, which produced the very html document that you are probably reading now! You can find the complete <code>report.qmd</code> file <a href="https://github.com/teddygroves/bibat/blob/main/bibat/examples/baseball/docs/report.qmd">here</a>.</p> +</section> </main> @@ -3696,7 +3731,7 @@ <h1>Extending the analysis to the baseballdatabank data</h1> toggleBodyColorMode(bsSheetEl); } } - toggleBodyColorPrimary(); + toggleBodyColorPrimary(); const icon = ""; const anchorJS = new window.AnchorJS(); anchorJS.options = { @@ -3706,7 +3741,7 @@ <h1>Extending the analysis to the baseballdatabank data</h1> anchorJS.add('.anchored'); const isCodeAnnotation = (el) => { for (const clz of el.classList) { - if (clz.startsWith('code-annotation-')) { + if (clz.startsWith('code-annotation-')) { return true; } } @@ -3737,11 +3772,11 @@ <h1>Extending the analysis to the baseballdatabank data</h1> button.setAttribute("data-bs-toggle", "tooltip"); button.setAttribute("data-bs-placement", "left"); button.setAttribute("data-bs-title", "Copied!"); - tooltip = new bootstrap.Tooltip(button, - { trigger: "manual", + tooltip = new bootstrap.Tooltip(button, + { trigger: "manual", customClass: "code-copy-button-tooltip", offset: [0, -8]}); - tooltip.show(); + tooltip.show(); } setTimeout(function() { if (tooltip) { @@ -3771,7 +3806,7 @@ <h1>Extending the analysis to the baseballdatabank data</h1> theme: 'quarto', placement: 'bottom-start' }; - window.tippy(el, config); + window.tippy(el, config); } const noterefs = window.document.querySelectorAll('a[role="doc-noteref"]'); for (var i=0; i<noterefs.length; i++) { @@ -3816,7 +3851,7 @@ <h1>Extending the analysis to the baseballdatabank data</h1> height = bottom - top; } if (top !== null && height !== null && parent !== null) { - // cook up a div (if necessary) and position it + // cook up a div (if necessary) and position it let div = window.document.getElementById("code-annotation-line-highlight"); if (div === null) { div = window.document.createElement("div"); @@ -3914,4 +3949,4 @@ <h1>Extending the analysis to the baseballdatabank data</h1> -</body></html> \ No newline at end of file +</body></html> From 854e6ad8abf97aae7df676500da41e3ea02cd6b0 Mon Sep 17 00:00:00 2001 From: teddygroves <groves.teddy@gmail.com> Date: Tue, 23 May 2023 13:35:18 +0200 Subject: [PATCH 4/5] Fix isort first party package identification --- bibat/examples/baseball/baseball/data_preparation.py | 1 + bibat/examples/baseball/baseball/inference_configuration.py | 3 ++- bibat/examples/baseball/baseball/sample.py | 3 ++- bibat/examples/baseball/baseball/stan_input_functions.py | 3 ++- pyproject.toml | 2 ++ 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/bibat/examples/baseball/baseball/data_preparation.py b/bibat/examples/baseball/baseball/data_preparation.py index d427d57..fe3b8d0 100644 --- a/bibat/examples/baseball/baseball/data_preparation.py +++ b/bibat/examples/baseball/baseball/data_preparation.py @@ -16,6 +16,7 @@ NAME_FILE = "name.txt" COORDS_FILE = "coords.json" +MEASUREMENTS_FILE = "measurements.csv" N_CV_FOLDS = 10 HERE = os.path.dirname(__file__) DATA_DIR = os.path.join(HERE, "..", "data") diff --git a/bibat/examples/baseball/baseball/inference_configuration.py b/bibat/examples/baseball/baseball/inference_configuration.py index 9088d73..7380db7 100644 --- a/bibat/examples/baseball/baseball/inference_configuration.py +++ b/bibat/examples/baseball/baseball/inference_configuration.py @@ -4,9 +4,10 @@ from typing import Callable, Dict, List, Optional import toml -from baseball import stan_input_functions from pydantic import BaseModel, Field, root_validator, validator +from baseball import stan_input_functions + AVAILABLE_MODES = ["prior", "posterior", "kfold"] HERE = os.path.dirname(os.path.abspath(__file__)) STAN_DIR = os.path.join(HERE, "stan") diff --git a/bibat/examples/baseball/baseball/sample.py b/bibat/examples/baseball/baseball/sample.py index 0f4cc64..36c07b6 100644 --- a/bibat/examples/baseball/baseball/sample.py +++ b/bibat/examples/baseball/baseball/sample.py @@ -7,6 +7,8 @@ import cmdstanpy import numpy as np import xarray as xr +from sklearn.model_selection import KFold + from baseball.data_preparation import load_prepared_data from baseball.inference_configuration import ( AVAILABLE_MODES, @@ -14,7 +16,6 @@ load_inference_configuration, ) from baseball.util import CoordDict -from sklearn.model_selection import KFold HERE = os.path.dirname(__file__) RUNS_DIR = os.path.join(HERE, "..", "inferences") diff --git a/bibat/examples/baseball/baseball/stan_input_functions.py b/bibat/examples/baseball/baseball/stan_input_functions.py index 74a8b4c..7d4d9c0 100644 --- a/bibat/examples/baseball/baseball/stan_input_functions.py +++ b/bibat/examples/baseball/baseball/stan_input_functions.py @@ -4,9 +4,10 @@ from typing import Dict import numpy as np -from baseball.data_preparation import PreparedData from scipy.special import expit, logit +from baseball.data_preparation import PreparedData + def get_stan_input_normal(ppd: PreparedData) -> Dict: """General function for creating a Stan input.""" diff --git a/pyproject.toml b/pyproject.toml index 9fe6b04..f346a8e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -75,6 +75,8 @@ extend-exclude = ''' ''' [tool.isort] +auto_identify_namespace_packages = true +known_first_party = ["bibat", "baseball"] multi_line_output = 3 include_trailing_comma = true force_grid_wrap = 0 From 2e454d1c97c737c318ace18f6d60c06ed687a58d Mon Sep 17 00:00:00 2001 From: teddygroves <groves.teddy@gmail.com> Date: Tue, 23 May 2023 14:00:59 +0200 Subject: [PATCH 5/5] bump version --- docs/conf.py | 2 +- pyproject.toml | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index f2d4bc3..a5e5165 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,7 +24,7 @@ author = "Teddy Groves" # The full version, including alpha/beta/rc tags -release = "0.1.4" +release = "0.1.5" root_doc = "index" diff --git a/pyproject.toml b/pyproject.toml index f346a8e..4d4a55c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ name = "bibat" authors = [ {name = "Teddy Groves", email = "tedgro@dtu.dk"}, ] -version = "0.1.4" +version = "0.1.5" classifiers = [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Science/Research", @@ -75,7 +75,6 @@ extend-exclude = ''' ''' [tool.isort] -auto_identify_namespace_packages = true known_first_party = ["bibat", "baseball"] multi_line_output = 3 include_trailing_comma = true