Skip to content

Latent-variable chapters: numbers and descriptions that do not match what process-improve computes #282

Description

@kgdunn

Found by executing every code block and re-deriving every quoted number against process-improve 1.78.0 (#274). All API names and keywords in these chapters exist; the items below are numbers or descriptions.

Determining the number of components (cross-validation)

  • Line 147: the one-standard-error band "is never wider than 0.01". The library's own q2_se for the chapter's call ranges from 0.014 to 0.068 across the eleven components; recomputed across the five repeats it reaches 0.08 at A = 7. The Q2 list itself reproduces element for element.
  • Lines 129-136 pass MCUVScaler().fit_transform(ldpe) to PCA.select_n_components(..., cv_scheme="ekf"). The library's guidance (Decide what the library's own tests and docs should pass to select_n_components, now that pre-scaled X warns process-improve#533, #539) is to pass the raw block so each fold derives its own scaling; PLS already warns on pre-scaled input and PCA will. Pass ldpe and re-verify the printed Q2 list.

Interpreting score plots and loading plots

  • Line 65: the Density loading is quoted as -0.47; the fit gives -0.4787 (-0.48, as pca-exercises.rst:93 has it).
  • Lines 66-67: the hand equation evaluates to -4.14, the block prints -4.171, the prose says -4.2. Three values for one quantity. Same at pca-exercises.rst:96.

PLS exercises

  • Line 271: the LDPE bullet list reads K = 54 / K = 14 / K = 5; the third is M = 5 (the five Y variables named at line 277).
  • Lines 62 vs 77-78: question 3 asks about PCA on the three X variables, but the verification code fits PCA(n_components=4) on cheese.iloc[:, 1:5], which includes Taste.

Judging and comparing designs

  • Lines 693 and 464: G (maximum scaled prediction variance) for the thirteen-run OMARS design is 12.50 under the page's own settings (n_samples=80_000, seed 1), not 12.70. The 12.7 belongs to the twenty-five-run, five-factor OMARS design on the Comparing design families page.
  • Lines 86-89: the ilp extra is not needed for this page's four-factor OMARS design (exhaustive branch).

OMARS designs

  • Lines 167-172 and 180-187 describe step 4 as "guided by factor heredity" and say analyze_omars() carries out "exactly the stages above". Both heredity options default to "none" in the library; the reader must pass interaction_heredity="strong".

Product development

  • Line 312: "the SPE value is 10.4" is the sum of squared residuals; the 95% limit printed at line 399 (1.38) is on the square-root scale the library uses. The comparable value is 3.22.

Mixed-level profile case study

  • Lines 907-911 describe the PLS spe_ as "the part of the ten-point curve the three components do not reconstruct ... on the absorbance scale". It is the X-block residual over the 24 scaled model-matrix columns.
  • Lines 214-243: the G-efficiency and FDS-max columns of the design-quality table differ from a fresh run (51.8 / 19.6 / 63.0 / 27.1 vs 48.4 / 17.6 / 66.3 / 26.8; 1.29 / 4.26 / 1.06 / 3.07 vs 1.38 / 4.74 / 1.01 / 3.11); both are sampled worst-case statistics. D, I and FDS-median reproduce exactly, as does the whole augmentation table later.
  • Line 974 / 1129: the goal's SPE is 2.43 under cell-means coding, outside "between about 1 and 2". Lines 1735-1737: compound B's relaxed solution has SPE 2.05, not at the 6.5 limit.

Everything else in these chapters, including all 60-plus numbers in PLS model inversion and the orthogonal space, reproduced.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions