diff --git a/docs/tutorials/poisson_race.ipynb b/docs/tutorials/poisson_race.ipynb new file mode 100644 index 00000000..11eee8fd --- /dev/null +++ b/docs/tutorials/poisson_race.ipynb @@ -0,0 +1,469 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c6ec77a6", + "metadata": {}, + "source": [ + "# Poisson Race Model Tutorial\n", + "\n", + "This short tutorial shows how to (1) simulate synthetic reaction times with the Poisson race simulator from `ssms-simulators`, (2) fit the analytical Poisson race likelihood provided by HSSM, and (3) inspect the recovered parameters with ArviZ.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ecd0c85b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Setting PyTensor floatX type to float32.\n", + "Setting \"jax_enable_x64\" to False. If this is not intended, please set `jax` to False.\n" + ] + } + ], + "source": [ + "import arviz as az\n", + "import numpy as np\n", + "import pandas as pd\n", + "import pymc as pm\n", + "\n", + "import hssm\n", + "\n", + "hssm.set_floatX(\"float32\")\n", + "az.style.use(\"arviz-whitegrid\")\n", + "\n", + "rng = np.random.default_rng(123)\n" + ] + }, + { + "cell_type": "markdown", + "id": "cd360964", + "metadata": {}, + "source": [ + "## Simulate with ssms-simulators\n", + "\n", + "`hssm.simulate_data` wraps the `ssms-simulators` Poisson race generator. The simulator names its accumulator-specific parameters with zero-based indices (`r0`/`r1` and `k0`/`k1`). We mirror those values into an HSSM-friendly dict so posterior checks line up with the likelihood parameterization (`r1`, `r2`, `k1`, `k2`, `t`).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8d61c39a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
rtresponse
00.4104001.0
10.367651-1.0
20.532004-1.0
30.888673-1.0
40.428676-1.0
\n", + "
" + ], + "text/plain": [ + " rt response\n", + "0 0.410400 1.0\n", + "1 0.367651 -1.0\n", + "2 0.532004 -1.0\n", + "3 0.888673 -1.0\n", + "4 0.428676 -1.0" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ssms_params = {\n", + " \"r0\": 2.8,\n", + " \"r1\": 3.4,\n", + " \"k0\": 1.6,\n", + " \"k1\": 1.2,\n", + " \"t\": 0.25,\n", + "}\n", + "true_params = {\n", + " \"r1\": ssms_params[\"r1\"],\n", + " \"r2\": ssms_params[\"r0\"],\n", + " \"k1\": ssms_params[\"k1\"],\n", + " \"k2\": ssms_params[\"k0\"],\n", + " \"t\": ssms_params[\"t\"],\n", + "}\n", + "n_trials = 400\n", + "\n", + "data = hssm.simulate_data(\n", + " model=\"poisson_race\",\n", + " theta=ssms_params,\n", + " size=n_trials,\n", + " random_state=123,\n", + ")\n", + "data.head()\n" + ] + }, + { + "cell_type": "markdown", + "id": "80e67e87", + "metadata": {}, + "source": [ + "## Fit the Poisson race likelihood\n", + "\n", + "We pass the simulated data into an `HSSM` object that uses the analytical Poisson race likelihood. The defaults already enforce positivity for all parameters; you can override them by passing a `prior_settings` dict.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "78c7b8db", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model initialized successfully.\n", + "Using default initvals. \n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Initializing NUTS using adapt_diag...\n", + "Multiprocess sampling (2 chains in 2 jobs)\n", + "NUTS: [k1, t, k2, r2, r1]\n" + ] + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "fbb6e4947ff04f499770824f0e70d793", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Output()" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n"
+      ],
+      "text/plain": []
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Sampling 2 chains for 1_000 tune and 1_000 draw iterations (2_000 + 2_000 draws total) took 109 seconds.\n",
+      "There were 4 divergences after tuning. Increase `target_accept` or reparameterize.\n",
+      "We recommend running at least 4 chains for robust computation of convergence diagnostics\n",
+      "/Users/hayden/miniconda3/envs/hssm-dev/lib/python3.12/site-packages/numpy/_core/numeric.py:1211: RuntimeWarning: divide by zero encountered in dot\n",
+      "  res = dot(at, bt)\n",
+      "/Users/hayden/miniconda3/envs/hssm-dev/lib/python3.12/site-packages/numpy/_core/numeric.py:1211: RuntimeWarning: overflow encountered in dot\n",
+      "  res = dot(at, bt)\n",
+      "/Users/hayden/miniconda3/envs/hssm-dev/lib/python3.12/site-packages/numpy/_core/numeric.py:1211: RuntimeWarning: invalid value encountered in dot\n",
+      "  res = dot(at, bt)\n",
+      "100%|██████████| 2000/2000 [00:00<00:00, 21827.37it/s]\n"
+     ]
+    }
+   ],
+   "source": [
+    "poisson_model = hssm.HSSM(\n",
+    "    data=data,\n",
+    "    model=\"poisson_race\",\n",
+    "    loglik_kind=\"analytical\",\n",
+    "    prior_settings=None,\n",
+    ")\n",
+    "\n",
+    "idata = poisson_model.sample(\n",
+    "    draws=1000,\n",
+    "    tune=1000,\n",
+    "    chains=2,\n",
+    "    cores=2,\n",
+    "    target_accept=0.9,\n",
+    "    random_seed=123,\n",
+    ")\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c54ec3d6",
+   "metadata": {},
+   "source": [
+    "## Compare posteriors against the ground truth\n",
+    "\n",
+    "ArviZ summarises the marginal distributions and allows us to verify that the posterior means/credible intervals overlap the parameters used to simulate the data.\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 4,
+   "id": "0e93d241",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
meansdhdi_3%hdi_97%mcse_meanmcse_sdess_bulkess_tailr_hattrue_value
r13.7760.4552.9204.6090.0210.013444.0635.01.013.40
r23.2470.4702.4374.1900.0210.013494.0545.01.012.80
k11.2990.1141.0971.5130.0060.003410.0630.01.011.20
k21.7310.1671.4362.0610.0080.005486.0719.01.011.60
t0.2510.0030.2470.2540.0000.000414.0607.01.000.25
\n", + "
" + ], + "text/plain": [ + " mean sd hdi_3% hdi_97% mcse_mean mcse_sd ess_bulk ess_tail \\\n", + "r1 3.776 0.455 2.920 4.609 0.021 0.013 444.0 635.0 \n", + "r2 3.247 0.470 2.437 4.190 0.021 0.013 494.0 545.0 \n", + "k1 1.299 0.114 1.097 1.513 0.006 0.003 410.0 630.0 \n", + "k2 1.731 0.167 1.436 2.061 0.008 0.005 486.0 719.0 \n", + "t 0.251 0.003 0.247 0.254 0.000 0.000 414.0 607.0 \n", + "\n", + " r_hat true_value \n", + "r1 1.01 3.40 \n", + "r2 1.01 2.80 \n", + "k1 1.01 1.20 \n", + "k2 1.01 1.60 \n", + "t 1.00 0.25 " + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "var_names = list(true_params.keys())\n", + "summary = az.summary(idata, var_names=var_names)\n", + "summary[\"true_value\"] = [true_params[name] for name in summary.index]\n", + "summary\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "a742a5bf", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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bN++HTVq1EC+fPng6uqKp0+f4ujRo9BoNGjatCk+++yzpOf/8ssvWLJkCYYOHZpsXG/NmjXRvn17bNu2Da1bt0b9+vURERGBffv2wcPDA5MmTZLg02VNdh2b0aNHAwAqVaqE3LlzIyYmBufOncODBw+QL1++bJkvwR4407mTUc507uzfvx+rVq1CrVq1kD9/fqhUKty5cwenTp2CTCbD5MmTkS9fvqTn87wxW7p0KXbu3Ak3NzcUKVIEy5cvT/Gcxo0bo1SpUgAc95xiznqLOSpzHPmcyCieE2RN27Ztw4ULFwAAd+7cSdqWOHyxcePGSV0oaZ2b3bt3R2hoKCpWrIjbt2/j9u3bKd7HkvMOUfZ8jySt7PgOCxYsiLFjx2LatGlo2bIlmjRpApVKhaNHjyI0NBQdO3ZErVq1MhWfXRdXmjZtitjYWFy+fBnnzp1DQkICvL29UaVKFbRq1QrNmzd/55Ko/zVlyhQEBgZiy5Yt2LBhA9zc3NCwYUO7Xb88u45Np06dcOLECQQHByMyMhIKhQKFChXCwIED0bt3b3h7e1vh09g2Rzt3sosjnjs1atTAvXv3cOPGDQQHB0On08HPzw/NmjVDz549Ub58+XTvy5nOm9DQUACARqPBihUrUn1O/vz5k4orabH3c4o56y3mqOxn7+dEduE5QZZw4cKFpDmAEl28eDFpEvv8+fO/d4hPYi68fPkyLl++nOpz+Eu8ZWXH90jSyq7vsFu3bsifPz9Wr16NvXv3wmg0okSJEhg4cCA6dOiQ6fgEUXyzFhEREREREREREWWYw64WRERERERERERkDSyuEBERERERERFlAYsrRERERERERERZwOIKEREREREREVEWsLhCRERERERERJQFLK4QEREREREREWUBiytERERERERERFnA4goRERERERERURawuEJERERERERElAUsrhARERERERERZQGLK0REREREREREWcDiCjmEwMBABAYGSh0GEREREREROSGF1AEQScFoNOL06dM4evQoLl68iIcPH0Kv18Pf3x/VqlVDjx49UKZMGanDJCKyG+vWrUNMTAx69OgBLy8vqcMhIiIisipBFEVR6iCIsiqxa+X27dvpev62bdswYcIEAIBCoUCRIkWgUCjw8OFDJCQkQKFQ4Pvvv0fHjh0tFjMRkSNp1KgRQkND8eeff6JAgQJS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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "axes = az.plot_posterior(\n", + " idata,\n", + " var_names=var_names,\n", + " figsize=(11, 6),\n", + " hdi_prob=None,\n", + " point_estimate=None,\n", + ");\n", + "\n", + "for i, (ax, var) in enumerate(zip(np.ravel(np.atleast_1d(axes)), var_names)):\n", + " post_vals = idata.posterior[var].values.ravel()\n", + "\n", + " lo, hi = np.quantile(post_vals, [0.005, 0.995])\n", + " post_mean = np.mean(post_vals)\n", + "\n", + " ax.axvline(post_mean, color='C0', linestyle='--', linewidth=2, label='posterior mean')\n", + " ax.axvline(true_params[var], color='red', linestyle='-', linewidth=2, label='true value')\n", + " ax.set_xlim(lo, hi)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8d6a9eb7", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0b6e41db", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "hssm", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/src/hssm/_types.py b/src/hssm/_types.py index 08f23b0e..41882faf 100644 --- a/src/hssm/_types.py +++ b/src/hssm/_types.py @@ -23,6 +23,7 @@ "ddm_seq2_no_bias", "lba3", "lba2", + "poisson_race", ] diff --git a/src/hssm/likelihoods/__init__.py b/src/hssm/likelihoods/__init__.py index 94d9a1c0..29f57965 100644 --- a/src/hssm/likelihoods/__init__.py +++ b/src/hssm/likelihoods/__init__.py @@ -11,4 +11,5 @@ "logp_ddm_bbox", "logp_ddm_sdv_bbox", "logp_full_ddm", + "logp_poisson_race", ] diff --git a/src/hssm/likelihoods/analytical.py b/src/hssm/likelihoods/analytical.py index 91871071..ab7816c9 100644 --- a/src/hssm/likelihoods/analytical.py +++ b/src/hssm/likelihoods/analytical.py @@ -559,3 +559,102 @@ def logp_lba3( list_params=lba3_params, bounds=lba3_bounds, ) + + +def logp_poisson_race( + data: np.ndarray, + r1: float, + r2: float, + k1: float, + k2: float, + t: float, + epsilon: float = 1e-15, +) -> np.ndarray: + """Compute analytical log-likelihoods for a 2-accumulator Poisson race. + + Each accumulator time follows a Gamma distribution with continuous + shape parameter k and rate r. The per-trial likelihood decomposes + into the density of the winning accumulator evaluated at the observed + decision time and the survival function of the losing accumulator + at the same time. + + Implemented as in https://link.springer.com/article/10.3758/BF03212980 + with two modifications: + 1. We allow continuous shape parameters (k1, k2) rather than just integers. + 2. We do not condition on the underlying stimulus condition. + + Parameters + ---------- + data + 2-column tensor of (response time, response). Response > 0 indicates + accumulator 1 (upper); otherwise accumulator 0 (lower). + r1, r2 + Rates (> 0) for the two accumulators. + k1, k2 + Shape parameters (> 0) for the two accumulators. + t + Non-decision time [0, inf). + epsilon + A small positive number to prevent division by zero or taking ``log(0)``. + + Returns + ------- + np.ndarray + Per-trial log-likelihoods (shape: ``(n_trials,)``). + + Note that this function constructs a symbolic PyTensor graph; when used + inside a PyMC/PyTensor model the returned object is a symbolic tensor, + and evaluating/compiling the graph yields an ndarray. + """ + epsilon = pm.floatX(epsilon) + one = pm.floatX(1.0) + data = pt.reshape(data, (-1, 2)).astype(pytensor.config.floatX) + + rt = pt.abs(data[:, 0]) + response = data[:, 1] + flip = response > 0 + + rt = rt - t + negative_rt = rt <= 0 + rt_safe = pt.maximum(rt, epsilon) + + r_c = pt.switch(flip, r2, r1) + r_l = pt.switch(flip, r1, r2) + k_c = pt.switch(flip, k2, k1) + k_l = pt.switch(flip, k1, k2) + + r_c_safe = pt.maximum(r_c, epsilon) + + log_pdf = ( + k_c * pt.log(r_c_safe) + + (k_c - 1.0) * pt.log(rt_safe) + - r_c * rt + - pt.gammaln(k_c) + ) + + survival = pt.gammaincc(k_l, r_l * rt_safe) + survival = pt.clip(survival, epsilon, one) + log_survival = pt.log(survival) + + logp = log_pdf + log_survival + logp = pt.switch(negative_rt, LOGP_LB, logp) + + checked = check_parameters(logp, r1 > 0, msg="r1 > 0") + checked = check_parameters(checked, r2 > 0, msg="r2 > 0") + checked = check_parameters(checked, k1 > 0, msg="k1 > 0") + checked = check_parameters(checked, k2 > 0, msg="k2 > 0") + checked = check_parameters(checked, t >= 0, msg="t >= 0") + return checked + + +# set bounds +poisson_race_params = ["r1", "r2", "k1", "k2", "t"] +poisson_race_bounds = {param: (0.0, np.inf) for param in poisson_race_params} + +# build distribution +POISSON_RACE = make_distribution( + rv="poisson_race", + loglik=logp_poisson_race, + list_params=poisson_race_params, + bounds=poisson_race_bounds, +) diff --git a/src/hssm/modelconfig/poisson_race_config.py b/src/hssm/modelconfig/poisson_race_config.py new file mode 100644 index 00000000..299e798d --- /dev/null +++ b/src/hssm/modelconfig/poisson_race_config.py @@ -0,0 +1,53 @@ +from .._types import DefaultConfig # noqa: D100 +from ..likelihoods.analytical import ( + logp_poisson_race, + poisson_race_bounds, + poisson_race_params, +) + + +def get_poisson_race_config() -> DefaultConfig: + """ + Get the default configuration for the Poisson Race Model. + + Returns + ------- + DefaultConfig + A dict containing the default configuration settings for the Poisson Race Model + """ + return { + "response": ["rt", "response"], + "list_params": poisson_race_params, + "choices": [-1, 1], + "description": "The Poisson Race Model", + "likelihoods": { + "analytical": { + "loglik": logp_poisson_race, + "backend": None, + "bounds": poisson_race_bounds, + "default_priors": { + "t": { + "name": "HalfNormal", + "sigma": 2.0, + }, + "r1": { + "name": "HalfNormal", + "sigma": 5.0, + }, + "r2": { + "name": "HalfNormal", + "sigma": 5.0, + }, + "k1": { + "name": "HalfNormal", + "sigma": 20.0, + }, + "k2": { + "name": "HalfNormal", + "sigma": 20.0, + }, + }, + "extra_fields": None, + }, + }, + } diff --git a/tests/test_likelihoods_poisson_race.py b/tests/test_likelihoods_poisson_race.py new file mode 100644 index 00000000..6aac31c7 --- /dev/null +++ b/tests/test_likelihoods_poisson_race.py @@ -0,0 +1,112 @@ +"""Unit tests for the Poisson race likelihood.""" + +import numpy as np +import pymc as pm +import pytest + +import hssm +from hssm.likelihoods.analytical import LOGP_LB, logp_poisson_race + +hssm.set_floatX("float32") + +CLOSE_TOLERANCE = 1e-4 + + +def vectorize_param(theta, param, size): + """Return a new parameter dict with one parameter repeated across trials.""" + return { + k: (np.full(size, v, dtype="float32") if k == param else v) + for k, v in theta.items() + } + + +def assert_parameter_value_error(data, theta, **bad_values): + """Assert that invalid parameter values raise ParameterValueError.""" + with pytest.raises(pm.logprob.utils.ParameterValueError): + logp_poisson_race(data, **(theta | bad_values)).eval() + + +@pytest.fixture +def poisson_race_data(): + """Fixture providing example data.""" + return np.array( + [ + (0.45, 1.0), + (0.55, -1.0), + (0.65, 0.0), + (0.75, 1.0), + ], + dtype="float32", + ) + + +theta_poisson_race = dict(r1=2.5, r2=3.5, k1=1.3, k2=1.6, t=0.05) + + +def test_poisson_race_vectorization(poisson_race_data): + """Check that per-parameter vectorization produces identical log-likelihoods.""" + size = poisson_race_data.shape[0] + base = logp_poisson_race(poisson_race_data, **theta_poisson_race).eval() + + for param in theta_poisson_race: + param_vec = vectorize_param(theta_poisson_race, param, size) + out_vec = logp_poisson_race(poisson_race_data, **param_vec).eval() + assert np.allclose(out_vec, base, atol=CLOSE_TOLERANCE) + + +def test_poisson_race_matches_exponential_case(): + """When k1 = k2 = 1, the likelihood reduces to two competing exponentials.""" + data = np.array( + [ + (0.4, 1.0), + (0.5, -1.0), + (0.8, 0.0), + (0.9, 1.0), + ], + dtype="float32", + ) + theta = dict(r1=1.5, r2=2.0, k1=1.0, k2=1.0, t=0.0) + + logp = logp_poisson_race(data, **theta).eval() + + def _compute_exponential_logp(rt, response, winner_rate, loser_rate): + log_pdf = np.log(winner_rate) - winner_rate * rt + log_survival = -loser_rate * rt + return log_pdf + log_survival + + expected = [ + _compute_exponential_logp( + rt, + response, + theta["r2"] if response > 0 else theta["r1"], + theta["r1"] if response > 0 else theta["r2"], + ) + for rt, response in data + ] + + np.testing.assert_allclose(np.asarray(logp), expected, atol=1e-6) + + +@pytest.mark.parametrize( + "param,bad_value", + [ + ("r1", 0.0), + ("r2", -0.1), + ("k1", 0.0), + ("k2", -1.0), + ("t", -0.2), + ], +) +def test_poisson_race_parameter_validation(poisson_race_data, param, bad_value): + """Invalid parameter values should produce a ParameterValueError.""" + assert_parameter_value_error( + poisson_race_data, theta_poisson_race, **{param: bad_value} + ) + + +def test_poisson_race_negative_rt_returns_logp_lb(): + """Trials with rt <= t should clip to LOGP_LB.""" + data = np.array([(0.02, 1.0)], dtype="float32") + theta = dict(r1=2.0, r2=3.0, k1=1.2, k2=1.4, t=0.05) + logp = logp_poisson_race(data, **theta).eval() + assert np.allclose(logp, LOGP_LB)