offset_variance¶
- sofia_redux.toolkit.resampling.offset_variance(coordinates, reference, mask=None, mean=None, sigma_inv=None, scale=1.0, dof=1)[source]¶
Variance at reference coordinate derived from distribution uncertainty.
Given a distribution of
coordinates
(\(X\)), calculate the variance at areference
coordinate (\(X_{ref}\)) based upon the uncertainty in the coordinate distribution. Firstly, the distribution covariance matrix (\(\Sigma\)) is calculated bycoordinate_covariance()
enabling the variance at the reference position to be given as:\[V(X_{ref}) = (X_{ref} - E[X])^{T} \Sigma^{-1} (X_{ref} - E[X])\]If the expected value of the distribution is known (\(E[X]\)) or pre-calculated, it can be passed in to the function using the
mean
optional parameter along with the lost degrees of freedom (dof
) spent in determining \(E[X]\). If not, the default is to use \(\bar{X}\) anddof
= 1.The user may optionally specify a
scale
factor (\(\beta\)) such that:\[V(X_{ref}) = (\beta(X_{ref} - E[X]))^{T} \Sigma^{-1} (\beta(X_{ref} - E[X]))\]or:
\[V(X_{ref}) = \beta^2 (X_{ref} - E[X])^{T} \Sigma^{-1} (X_{ref} - E[X])\]- Parameters:
- coordinatesnumpy.ndarray (n_dimensions, n_coordinates)
The coordinates of the distribution.
- referencenumpy.ndarray (n_dimensions,)
The reference coordinate.
- masknumpy.ndarray of bool (n_coordinates,), optional
An array of bool values where
True
indicates a coordinate should be included in the calculation, andFalse
indicates that a coordinate should be ignored. By default, all coordinates are included.- meannumpy.ndarray (n_dimensions,), optional
The mean of the coordinate distribution in each dimension. If not provided, the expected value in each dimension will be calculated using
coordinate_mean()
.- scaleint or float, optional
The scaling factor described above.
- dofint or float, optional
The lost degrees of freedom, typically 1 to indicate that the population mean is not known and is replaced by the sample mean.
- sigma_invnumpy.ndarray (n_dimensions, n_dimensions), optional
If the covariance matrix of the coordinate distribution has already been calculated, the matrix inverse may be passed in as sigma_inv for speed.
- Returns:
- variancefloat
The variance at the reference coordinate determined from the coordinate distribution.