solarwindpy.fitfunctions.lines.LineXinterceptο
- class LineXintercept(xobs, yobs, **kwargs)[source]ο
Bases:
FitFunctionLinear fit with explicit x-intercept parameterization.
Fits data to the form: y = m * (x - x0) where x0 is the x-intercept.
- __init__(xobs, yobs, **kwargs)[source]ο
Initialize linear fit with x-intercept parameterization.
- Parameters:
xobs (array-like) β Observed x values (independent variable). Shape must match yobs.
yobs (array-like) β Observed y values (dependent variable). Shape must match xobs.
**kwargs β The description is missing.
Notes
This parameterization is useful when fitting data where the x-intercept has physical meaning, such as threshold energies or cutoff velocities in solar wind measurements.
Examples
>>> import numpy as np >>> from solarwindpy.fitfunctions import Gaussian >>> x = np.linspace(-5, 5, 100) >>> y = 3 * np.exp(-0.5 * x**2) + np.random.normal(0, 0.1, 100) >>> fit = Gaussian(x, y, xmin=-3, xmax=3) >>> fit.make_fit() >>> print(f"Fitted mu: {fit.popt['mu']:.3f}")
- property functionο
Get the function that`curve_fit` fits.
The function is set at instantiation. It doesnβt make sense to change it unless you redefine the entire FitFunction, so there is no new kwarg.
- property p0ο
Calculate the initial guess for the line parameters.
If this fails, return
curve_fit()βs default value None.- Returns:
p0 β The initial guesses as [m, b].
- Return type:
- property TeX_functionο
Function written in LaTeX.
- property y_interceptο
Calculate the y-intercept of the fitted line.
- Returns:
The y value where the line crosses x=0.
- Return type:
- property TeX_infoο
- property argnamesο
The names of the actual function arguments pulled by getfullargspec.
- build_TeX_info()ο
- build_plotter()ο
- property chisq_dofο
Chisq per degree of freedom \(\chi^2_\nu\).
If None, not calculated by make_fit_old. If np.nan, fit failed.
- property combined_popt_psigmaο
Convenience to extract all versions of the optimized parameters.
- property dofο
Degrees of freedom in the fit.
- property fit_boundsο
Bounds used when running the fit.
- property fit_resultο
- property initial_guess_infoο
- property loggerο
- make_fit(return_exception=False, **kwargs)ο
Fit the function with the independent xobs and dependent yobs.
Uses least_squares and returns the OptimizeResult object, but treats weights as in curve_fit.
- Parameters:
return_exception (bool) β If True, return exceptions from fitting routine, instead of raising. This is useful when looping through many fits and wanting to identify failed fits after the fact.
**kwargs β The description is missing.
- property nobsο
The total number of observations used in the fit.
- property observationsο
- property pcovο
Returns a copy so that the matrix isnβt accidentally edited.
- property plotterο
- property poptο
Optimized fit parameters.
- property psigmaο
- property psigma_relativeο
- residuals(pct=False)ο
Calculate the fit residuals.
If pct, normalize by fit yvalues.
- Parameters:
pct β The description is missing.
- property rsqο
Coefficient of determination.
Source: <en.wikipedia.org/wiki/Coefficient_of_determination#Definitions>
- set_fit_obs(xobs_raw, yobs_raw, weights_raw, xmin=None, xmax=None, xoutside=None, ymin=None, ymax=None, youtside=None, wmin=None, wmax=None, logx=False, logy=False)ο
Set the observed values weβll actually use in the fit.
By applying limits to xobs_raw and yobs_raw and checking for finite values.
All boundaries are inclusive <= or >=.
If logy, then make selection of wmin and wmax based on \(w/(y \ln(10))\).
- Parameters:
xobs_raw β The description is missing.
yobs_raw β The description is missing.
weights_raw β The description is missing.
xmin β The description is missing.
xmax β The description is missing.
xoutside β The description is missing.
ymin β The description is missing.
ymax β The description is missing.
youtside β The description is missing.
wmin β The description is missing.
wmax β The description is missing.
logx β The description is missing.
logy β The description is missing.
- property sufficient_dataο
Ensure that we can fit the data before doing any computations.