Background
PR #430 adds a pure-Python Mixed Assessor Model (MAM) in
process_improve.sensory.mam:
mixed_assessor_model returns each panelist's scaling coefficient beta per
attribute and a product-effect F-test that uses the genuine disagreement term
as the error (more powerful than the classical interaction-based test), plus
the classical F for comparison.
align_scores harmonizes all panelists onto a common scale.
The F-test there is computed on replicate-averaged cell means with a
closed-form scaling/disagreement split. That is sufficient for the current
needs, but it is not the full random-effects treatment.
Proposed follow-up
Add an optional, more rigorous MAM variant backed by R's SensMixed /
lmerTest (the reference implementation, Brockhoff, Schlich & Skovgaard 2015,
Food Quality and Preference 39:156-166) via an rpy2 / Rscript bridge:
- proper mixed-model (REML) estimation with panelist as a random effect and
replicate/session terms,
- the SensMixed scaling-vs-disagreement F-tests and automated random-effect
selection,
- validate the pure-Python
beta_i and F-tests against SensMixed on a
published MAM dataset.
Keep it optional (behind an extra), so the pure-Python path remains the default
and the package has no hard R dependency.
Acceptance
- An opt-in MAM path that returns SensMixed-equivalent F-statistics and
random-effect selection.
- A cross-check test comparing the pure-Python
beta_i to the R output within
tolerance.
Background
PR #430 adds a pure-Python Mixed Assessor Model (MAM) in
process_improve.sensory.mam:mixed_assessor_modelreturns each panelist's scaling coefficientbetaperattribute and a product-effect F-test that uses the genuine disagreement term
as the error (more powerful than the classical interaction-based test), plus
the classical F for comparison.
align_scoresharmonizes all panelists onto a common scale.The F-test there is computed on replicate-averaged cell means with a
closed-form scaling/disagreement split. That is sufficient for the current
needs, but it is not the full random-effects treatment.
Proposed follow-up
Add an optional, more rigorous MAM variant backed by R's
SensMixed/lmerTest(the reference implementation, Brockhoff, Schlich & Skovgaard 2015,Food Quality and Preference 39:156-166) via an
rpy2/ Rscript bridge:replicate/session terms,
selection,
beta_iand F-tests against SensMixed on apublished MAM dataset.
Keep it optional (behind an extra), so the pure-Python path remains the default
and the package has no hard R dependency.
Acceptance
random-effect selection.
beta_ito the R output withintolerance.