• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

PrincetonUniversity / PsyNeuLink / 36515852469
84%
master: 84%

Build:
Build:
LAST BUILD BRANCH: feat/pec-nuts
DEFAULT BRANCH: master
Ran 29 Sep 2026 04:24AM UTC
Jobs 1
Files 179
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Sep 2026 03:08AM UTC coverage: 84.335% (+0.07%) from 84.27%
36515852469

push

github

web-flow
Hierarchical PEC Fitting #1: KDE+LaplaceEM (#3619)

Fits a group of participants jointly rather than one at a time, so each
participant's estimate is informed by the population. Estimation is by
empirical-Bayes Laplace EM, with participants drawn from `z_s ~ N(beta,
diag(sigma))` in an unconstrained space derived from the search ranges.

```
pec = ParameterEstimationComposition(
    ..., data=stacked, fit_method="hierarchical",
    hierarchical_options={"subject_id": "subject"},
    distributed_options={"pec_factory": build_participant_pec},
)
results = pec.run()
results.group_parameters
```

`hierarchical_options["subject_id"]` in the data identifies
participants. PEC requires every column of data to be an outcome
variable, so the column is removed both from the group composition's own
data and from each participant's slice before it reaches the factory.
pec_factory builds one participant's model from their slice, and is
required because a Composition cannot be copied.

Setting distributed=True fits participants across a Dask cluster, one
per task, resolved through the same helpers as distributed
maximum-likelihood fitting. Results are collected by participant index
rather than completion order, so distributed and in-process fits agree
exactly.

Documented in `HierarchicalFitting.rst`, with a runnable example that
fits a simulated group and reports recovery.

11690 of 15156 branches covered (77.13%)

Branch coverage included in aggregate %.

597 of 660 new or added lines in 8 files covered. (90.45%)

39971 of 46101 relevant lines covered (86.7%)

0.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
50
46.61
psyneulink/core/compositions/hierarchical/distributedestep.py
9
88.59
1.67% psyneulink/core/compositions/parameterestimationcomposition.py
2
98.14
psyneulink/core/compositions/hierarchical/laplaceem.py
2
97.58
psyneulink/core/compositions/hierarchical/subjectlikelihood.py
Jobs
ID Job ID Ran Files Coverage
1 36515852469.1 29 Sep 2026 04:24AM UTC 179
84.33
GitHub Action Run
Source Files on build 36515852469
  • Tree
  • List 179
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 5cf4270d on github
  • Prev Build on devel (#36260038764)
  • Next Build on devel (#36846424088)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc