WeightedRegressor
mcup.weighted.WeightedRegressor
Bases: BaseRegressor
Regression estimator for data where only y has measurement errors.
Minimises the weighted chi-squared objective Σ (y - f(x))² / σ_y².
Supports two solvers selected via the method argument:
"analytical"— weighted least squares with(J^T W J)^{-1}covariance (fast)."mc"— Monte Carlo sampling with Welford online covariance (robust for nonlinear models).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
func
|
Callable
|
Model function with signature |
required |
method
|
str
|
Solver to use, either |
'mc'
|
n_iter
|
int
|
Maximum number of Monte Carlo iterations. Default |
10000
|
rtol
|
Optional[float]
|
Relative tolerance for MC convergence stopping. Default |
None
|
atol
|
Optional[float]
|
Absolute tolerance for MC convergence stopping. Default |
None
|
optimizer
|
str
|
SciPy optimizer name used for parameter fitting. Default |
'Nelder-Mead'
|
Attributes:
| Name | Type | Description |
|---|---|---|
params_ |
Fitted parameter array. |
|
params_std_ |
Standard deviations of fitted parameters. |
|
covariance_ |
Full parameter covariance matrix. |
|
n_iter_ |
Actual number of MC iterations run (MC method only). |
Notes
X may be shape (n,) for scalar input or (n, k) for
k-dimensional input per data point.
Source code in mcup/weighted.py
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | |