process-improve 1.75.2__tar.gz → 1.77.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. {process_improve-1.75.2 → process_improve-1.77.0}/PKG-INFO +1 -1
  2. {process_improve-1.75.2 → process_improve-1.77.0}/pyproject.toml +1 -1
  3. {process_improve-1.75.2 → process_improve-1.77.0}/pyproject.toml.orig +1 -1
  4. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/_linalg.py +9 -2
  5. process_improve-1.77.0/src/process_improve/chemistry/__init__.py +57 -0
  6. process_improve-1.77.0/src/process_improve/chemistry/preprocessing.py +718 -0
  7. process_improve-1.77.0/src/process_improve/interactions.py +381 -0
  8. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/__init__.py +10 -0
  9. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_diagnostics.py +27 -0
  10. process_improve-1.77.0/src/process_improve/multivariate/_null.py +571 -0
  11. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_pca.py +10 -2
  12. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_pls.py +92 -3
  13. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_preprocessing.py +135 -0
  14. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/methods.py +12 -0
  15. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/__init__.py +10 -0
  16. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/analysis.py +149 -25
  17. process_improve-1.77.0/src/process_improve/sensory/diagnostics.py +367 -0
  18. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/mam.py +26 -0
  19. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/recipes.py +14 -12
  20. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/tools.py +16 -8
  21. {process_improve-1.75.2 → process_improve-1.77.0}/README.md +0 -0
  22. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/__init__.py +0 -0
  23. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/_extras.py +0 -0
  24. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/_random.py +0 -0
  25. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/batch/__init__.py +0 -0
  26. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/batch/alignment_helpers.py +0 -0
  27. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/batch/data_input.py +0 -0
  28. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/batch/features.py +0 -0
  29. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/batch/plotting.py +0 -0
  30. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/batch/preprocessing.py +0 -0
  31. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/batch/tools.py +0 -0
  32. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/bivariate/__init__.py +0 -0
  33. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/bivariate/_elbow_peak.py +0 -0
  34. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/bivariate/methods.py +0 -0
  35. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/bivariate/tools.py +0 -0
  36. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/config.py +0 -0
  37. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/batch/batch-fake-data.csv +0 -0
  38. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/batch/details.txt +0 -0
  39. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/batch/dryer.csv +0 -0
  40. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/batch/nylon.csv +0 -0
  41. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/experiments/boilingpot.csv +0 -0
  42. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/experiments/golf.csv +0 -0
  43. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/experiments/pollutant.csv +0 -0
  44. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/experiments/solar.csv +0 -0
  45. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/experiments/test_doe1.csv +0 -0
  46. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/monitoring/batch-yield-and-purity.csv +0 -0
  47. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/monitoring/rubber-colour.csv +0 -0
  48. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/C.csv +0 -0
  49. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/Hotellings_T2_A3.csv +0 -0
  50. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/Hotellings_T2_A6.csv +0 -0
  51. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/LDPE.csv +0 -0
  52. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/P.csv +0 -0
  53. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/R.csv +0 -0
  54. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/T.csv +0 -0
  55. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/U.csv +0 -0
  56. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/W.csv +0 -0
  57. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/LDPE/Yhat_A6.csv +0 -0
  58. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/cheddar-cheese.csv +0 -0
  59. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/dtu-pectin/NOTICE +0 -0
  60. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/dtu-pectin/extraction1.csv +0 -0
  61. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/dtu-pectin/extraction2.csv +0 -0
  62. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/dtu-pectin/extraction3.csv +0 -0
  63. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/dtu-pectin/ftir1.csv +0 -0
  64. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/dtu-pectin/ftir2.csv +0 -0
  65. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/dtu-pectin/ftir3.csv +0 -0
  66. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/kamyr.csv +0 -0
  67. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/solvents.csv +0 -0
  68. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tablet-spectra.csv +0 -0
  69. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/SOURCE +0 -0
  70. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/formulas_Group1.csv +0 -0
  71. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/formulas_Group2.csv +0 -0
  72. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/formulas_Group3.csv +0 -0
  73. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/formulas_Group4.csv +0 -0
  74. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/formulas_Group5.csv +0 -0
  75. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/process_conditions.csv +0 -0
  76. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/properties_Group1.csv +0 -0
  77. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/properties_Group2.csv +0 -0
  78. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/properties_Group3.csv +0 -0
  79. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/properties_Group4.csv +0 -0
  80. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/properties_Group5.csv +0 -0
  81. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/datasets/multivariate/tpls-pyphi/quality_indicators.csv +0 -0
  82. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/__init__.py +0 -0
  83. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/__init__.py +0 -0
  84. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/_shared.py +0 -0
  85. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/box_cox.py +0 -0
  86. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/curvature.py +0 -0
  87. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/diagnostics.py +0 -0
  88. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/lack_of_fit.py +0 -0
  89. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/lenth.py +0 -0
  90. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/model_selection.py +0 -0
  91. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/ols_extractors.py +0 -0
  92. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_analyses/prediction.py +0 -0
  93. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_desirability.py +0 -0
  94. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_lm.py +0 -0
  95. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_moment_aberration.py +0 -0
  96. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/__init__.py +0 -0
  97. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/analyze_experiment.py +0 -0
  98. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/augment_design.py +0 -0
  99. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/create_factorial_design.py +0 -0
  100. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/doe_knowledge.py +0 -0
  101. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/evaluate_design.py +0 -0
  102. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/fit_linear_model.py +0 -0
  103. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/generate_design.py +0 -0
  104. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/optimize_responses.py +0 -0
  105. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/recommend_strategy.py +0 -0
  106. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/trade_off_table.py +0 -0
  107. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/_tools/visualize_doe.py +0 -0
  108. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/analysis.py +0 -0
  109. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/augment.py +0 -0
  110. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/datasets.py +0 -0
  111. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs.py +0 -0
  112. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs_factorial.py +0 -0
  113. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs_mixture.py +0 -0
  114. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs_omars.py +0 -0
  115. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs_omars_ilp.py +0 -0
  116. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs_optimal.py +0 -0
  117. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs_response_surface.py +0 -0
  118. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs_screening.py +0 -0
  119. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/designs_utils.py +0 -0
  120. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/evaluate.py +0 -0
  121. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/factor.py +0 -0
  122. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/knowledge/__init__.py +0 -0
  123. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/knowledge/api.py +0 -0
  124. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/knowledge/data/concepts.yaml +0 -0
  125. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/knowledge/data/decision_rules.yaml +0 -0
  126. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/knowledge/data/design_types.yaml +0 -0
  127. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/knowledge/data/diagnostics.yaml +0 -0
  128. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/knowledge/engine.py +0 -0
  129. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/knowledge/models.py +0 -0
  130. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/models.py +0 -0
  131. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/omars.py +0 -0
  132. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/omars_trade_off.py +0 -0
  133. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/optimal.py +0 -0
  134. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/optimization.py +0 -0
  135. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/simulations.py +0 -0
  136. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/strategy/__init__.py +0 -0
  137. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/strategy/budget.py +0 -0
  138. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/strategy/domain_templates.py +0 -0
  139. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/strategy/engine.py +0 -0
  140. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/strategy/models.py +0 -0
  141. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/structures.py +0 -0
  142. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/tools.py +0 -0
  143. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/trade_off.py +0 -0
  144. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/__init__.py +0 -0
  145. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/api.py +0 -0
  146. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/__init__.py +0 -0
  147. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/cube_plot.py +0 -0
  148. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/design_quality.py +0 -0
  149. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/diagnostics.py +0 -0
  150. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/effects.py +0 -0
  151. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/optimization_plots.py +0 -0
  152. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/registry.py +0 -0
  153. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/significance.py +0 -0
  154. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/square_plot.py +0 -0
  155. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/experiments/visualization/plots/surfaces.py +0 -0
  156. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/mcp_server.py +0 -0
  157. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/monitoring/__init__.py +0 -0
  158. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/monitoring/control_charts.py +0 -0
  159. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/monitoring/metrics.py +0 -0
  160. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/monitoring/tools.py +0 -0
  161. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_adaptive.py +0 -0
  162. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_base.py +0 -0
  163. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_common.py +0 -0
  164. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_limits.py +0 -0
  165. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_mbpca.py +0 -0
  166. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_mbpls.py +0 -0
  167. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_nipals.py +0 -0
  168. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_opls.py +0 -0
  169. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_pca_pls.py +0 -0
  170. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_resampling.py +0 -0
  171. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/_tpls.py +0 -0
  172. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/plots.py +0 -0
  173. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/multivariate/tools.py +0 -0
  174. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/py.typed +0 -0
  175. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/recipes.py +0 -0
  176. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/regression/__init__.py +0 -0
  177. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/regression/_robust_regression.py +0 -0
  178. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/regression/methods.py +0 -0
  179. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/regression/tools.py +0 -0
  180. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/designed.py +0 -0
  181. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/ingest.py +0 -0
  182. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/panel.py +0 -0
  183. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/sensory/validation.py +0 -0
  184. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/simulation/__init__.py +0 -0
  185. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/simulation/batch.py +0 -0
  186. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/simulation/context.py +0 -0
  187. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/simulation/model.py +0 -0
  188. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/simulation/recipes.py +0 -0
  189. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/simulation/tools.py +0 -0
  190. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/tool_safety.py +0 -0
  191. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/tool_spec.py +0 -0
  192. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/univariate/__init__.py +0 -0
  193. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/univariate/metrics.py +0 -0
  194. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/univariate/tools.py +0 -0
  195. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/__init__.py +0 -0
  196. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/adapters/__init__.py +0 -0
  197. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/adapters/base.py +0 -0
  198. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/adapters/echarts_adapter.py +0 -0
  199. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/adapters/plotly_adapter.py +0 -0
  200. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/charts/__init__.py +0 -0
  201. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/charts/boxplot.py +0 -0
  202. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/colors.py +0 -0
  203. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/raincloud.py +0 -0
  204. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/spec.py +0 -0
  205. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/themes.py +0 -0
  206. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/tools.py +0 -0
  207. {process_improve-1.75.2 → process_improve-1.77.0}/src/process_improve/visualization/types.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: process-improve
3
- Version: 1.75.2
3
+ Version: 1.77.0
4
4
  Summary: Designed Experiments; Latent Variables (PCA, PLS, multivariate methods with missing data); Process Monitoring; Batch data analysis.
5
5
  Keywords: Designed Experiments,Latent Variables,PCA,PLS,Multivariate Data Analysis,Batch data analysis
6
6
  Author: Kevin Dunn
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "process-improve"
3
- version = "1.75.2"
3
+ version = "1.77.0"
4
4
  description = "Designed Experiments; Latent Variables (PCA, PLS, multivariate methods with missing data); Process Monitoring; Batch data analysis."
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "process-improve"
3
- version = "1.75.2"
3
+ version = "1.77.0"
4
4
  description = 'Designed Experiments; Latent Variables (PCA, PLS, multivariate methods with missing data); Process Monitoring; Batch data analysis.'
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -70,7 +70,14 @@ def safe_inverse(
70
70
  if is_singular(a, cond_limit=cond_limit):
71
71
  raise np.linalg.LinAlgError(
72
72
  f"{what} is singular or ill-conditioned (condition number exceeds "
73
- f"{cond_limit:.2e}); cannot invert reliably. Reduce the number of "
74
- "components/terms or remove collinear columns."
73
+ f"{cond_limit:.2e}); cannot invert reliably. Likely causes, in the "
74
+ "order worth checking: exactly or near-exactly collinear columns "
75
+ "(a duplicated variable, a column that is a sum of others, a "
76
+ "one-hot set that includes every level); a constant or all-missing "
77
+ "column; a component count that has exhausted the variance left in "
78
+ "the deflated block; or values spanning so many orders of magnitude "
79
+ "that the cross-product loses precision (centre and scale first). "
80
+ "Reduce the number of components/terms or remove the offending "
81
+ "columns."
75
82
  )
76
83
  return np.linalg.inv(a)
@@ -0,0 +1,57 @@
1
+ """(c) Kevin Dunn, 2010-2026. MIT License.
2
+
3
+ Preprocessing a product-by-compound block for a sensory-to-chemistry analysis.
4
+
5
+ One row per product, one column per compound, values being concentrations or
6
+ integrated peak areas. The pipeline is four steps in a fixed order, trim then
7
+ transform then centre then scale, and each fitting step has an
8
+ ``apply_fitted_*`` partner so held-out rows can be preprocessed with training
9
+ constants alone:
10
+
11
+ .. code-block:: python
12
+
13
+ from process_improve.chemistry import (
14
+ apply_transform,
15
+ center_and_scale,
16
+ classify_zero_states,
17
+ normalisation_check,
18
+ trim_by_prevalence,
19
+ )
20
+
21
+ states = classify_zero_states(chem, lod={"linalool": 0.02})
22
+ totals, outside = normalisation_check(chem)
23
+ kept, dropped, presence = trim_by_prevalence(chem, min_nonzero=3)
24
+ transformed, applied = apply_transform(kept, lod={"linalool": 0.02})
25
+ scaled, constants = center_and_scale(transformed, presence[kept.columns])
26
+
27
+ See :mod:`process_improve.chemistry.preprocessing` for the reasoning behind
28
+ each step.
29
+ """
30
+
31
+ from process_improve.chemistry.preprocessing import (
32
+ SCALING_METHODS,
33
+ TRANSFORM_RULES,
34
+ ZERO_STATES,
35
+ apply_fitted_center_scale,
36
+ apply_fitted_transform,
37
+ apply_transform,
38
+ center_and_scale,
39
+ choose_transform,
40
+ classify_zero_states,
41
+ normalisation_check,
42
+ trim_by_prevalence,
43
+ )
44
+
45
+ __all__ = [
46
+ "SCALING_METHODS",
47
+ "TRANSFORM_RULES",
48
+ "ZERO_STATES",
49
+ "apply_fitted_center_scale",
50
+ "apply_fitted_transform",
51
+ "apply_transform",
52
+ "center_and_scale",
53
+ "choose_transform",
54
+ "classify_zero_states",
55
+ "normalisation_check",
56
+ "trim_by_prevalence",
57
+ ]