verde.base.least_squares#
- verde.base.least_squares(jacobian, data, weights, damping=None, copy_jacobian=False)[source]#
- Solve a weighted least-squares problem with optional damping regularization - Scales the Jacobian matrix so that each column has unit variance. This helps keep the regularization parameter in a sensible range. The scaling is undone before returning the estimated parameters so that scaling isn’t required for predictions. Doesn’t normalize the column means because that operation can’t be undone. - Warning - Setting copy_jacobian to True will copy the Jacobian matrix, doubling the memory required. Use it only if the Jacobian matrix is needed afterwards. - Parameters:
- jacobian2d-array
- The Jacobian/sensitivity/feature matrix. 
- data1d-array
- The data array. Must be a single 1D array. If fitting multiple data components, stack the arrays and the Jacobian matrices. 
- weightsNoneor 1d-array
- The data weights. Like the data, this must also be a 1D array. Stack the weights in the same order as the data. Use - weights=Noneto fit without weights.
- dampingNoneorfloat
- The positive damping (Tikhonov 0th order) regularization parameter. If - damping=None, will use a regular least-squares fit.
- copy_jacobian: bool
- If False, the Jacobian matrix will be scaled inplace. If True, the Jacobian matrix will be copied before scaling. Default False. 
 
- Returns:
- parameters1d-array
- The estimated 1D array of parameters that fit the data.