product-development-product-improvement/adaptive-soft-sensor.rst:217:
t2_lim = float(static.hotellings_t2_limit(conf_level=0.99))
raises AttributeError: 'AdaptivePLS' object has no attribute 'n_components_' on process-improve 1.78.0, because the adaptive estimators inherit the limit method but never set the attribute it reads (library bug, kgdunn/process-improve#542). Every block after it in "Monitoring shows the model ageing" is unreachable.
The value the text wants (12.19) is already computed and returned by the update() Bunch that the very next line calls for spe_limit. Reading both limits from one probe update works on the released library today and removes a redundant call:
probe = static.update(vp[tags].to_numpy()[0])
t2_lim = float(probe.hotellings_t2_limit)
spe_lim = float(probe.spe_limit)
Every other number in the chapter reproduced (RMSEP 6.8 / 12.6 / 8.0 / 7.5 kPa, bias +11.1 / +1.3 kPa, 1045 SPE crossings, the four-model table, the eight weak tags). Found by executing every code block of the book (#274).
product-development-product-improvement/adaptive-soft-sensor.rst:217:raises
AttributeError: 'AdaptivePLS' object has no attribute 'n_components_'on process-improve 1.78.0, because the adaptive estimators inherit the limit method but never set the attribute it reads (library bug, kgdunn/process-improve#542). Every block after it in "Monitoring shows the model ageing" is unreachable.The value the text wants (12.19) is already computed and returned by the
update()Bunch that the very next line calls forspe_limit. Reading both limits from one probe update works on the released library today and removes a redundant call:Every other number in the chapter reproduced (RMSEP 6.8 / 12.6 / 8.0 / 7.5 kPa, bias +11.1 / +1.3 kPa, 1045 SPE crossings, the four-model table, the eight weak tags). Found by executing every code block of the book (#274).