Module dstats.regress

A module for performing linear regression. This module has an unusual interface, as it is range-based instead of matrix based. Values for independent variables are provided as either a tuple or a range of ranges. This means that one can use, for example, map, to fit high order models and lazily evaluate certain values. (For details, see examples below.)

Author

David Simcha

Functions

Name Description
linearRegress Perform a linear regression as in linearRegressBeta, but return a RegressRes with useful stuff for statistical inference. If the last element of input is a real, this is used to specify the confidence intervals to be calculated. Otherwise, the default of 0.95 is used. The rest of input should be the elements of X.
linearRegressBeta Perform a linear regression and return just the beta values. The advantages to just returning the beta values are that it's faster and that each range needs to be iterated over only once, and thus can be just an input range. The beta values are returned such that the smallest index corresponds to the leftmost element of X. X can be either a tuple or a range of input ranges. Y must be an input range.
linearRegressBetaBuf Same as linearRegressBeta, but allows the user to specify a buffer for the beta terms. If the buffer is too short, a new one is allocated. Otherwise, the results are returned in the user-provided buffer.
linearRegressPenalized Performs lasso (L1) and/or ridge (L2) penalized linear regression. Due to the way the data is standardized, no intercept term should be included in x (unlike linearRegress and linearRegressBeta). The intercept coefficient is implicitly included and returned in the first element of the returned array. Usage is otherwise identical.
loess1D This function performs loess regression. Loess regression is a local regression procedure, where a prediction of the dependent (y) variable is made from an observation of the independent (x) variable by weighted least squares over x values in the neighborhood of the value being evaluated.
logistic The logistic function used in logistic regression.
logisticRegress Similar to logisticRegressBeta, but returns a LogisticRes with useful stuff for statistical inference. If the last element of input is a floating point number instead of a range, it is used to specify the confidence interval calculated. Otherwise, the default of 0.95 is used.
logisticRegressBeta Computes a logistic regression using a maximum likelihood estimator and returns the beta coefficients. This is a generalized linear model with the link function f(XB) = 1 / (1 + exp(XB)). This is generally used to model the probability that a binary Y variable is 1 given a set of X variables.
logisticRegressPenalized Performs lasso (L1) and/or ridge (L2) penalized logistic regression. Due to the way the data is standardized, no intercept term should be included in x (unlike logisticRegress and logisticRegressBeta). The intercept coefficient is implicitly included and returned in the first element of the returned array. Usage is otherwise identical.
polyFit Convenience function that takes a forward range X and a forward range Y, creates an array of PowMap structs for integer powers 0 through N, and calls linearRegress.
polyFitBeta Convenience function that takes a forward range X and a forward range Y, creates an array of PowMap structs for integer powers from 0 through N, and calls linearRegressBeta.
polyFitBetaBuf Same as polyFitBeta, but allows the caller to provide an explicit buffer to return the coefficients in. If it's too short, a new one will be allocated. Otherwise, results will be returned in the user-provided buffer.
powMap Maps a forward range to a power determined at runtime. ExpType is the type of the exponent. Using an int is faster than using a double, but obviously less flexible.
residuals Given the beta coefficients from a linear regression, and X and Y values, returns a range that lazily computes the residuals.
_arrayExpSliceMulSliceAddass_d
_arrayExpSliceMulSliceAssign_d
_arrayExpSliceMulSliceSubass_d
_arraySliceExpMulSliceAddass_d
_arraySliceSliceMulSliceAssign_d
_arraySliceSliceSubSliceAssign_d

Classes

Name Description
Loess1D This class is returned from the loess1D function and holds the state of a loess regression with one predictor variable.

Structs

Name Description
LogisticRes Plain old data struct to hold the results of a logistic regression.
PolyFitRes Struct returned by polyFit.
PowMap
RegressRes Struct that holds the results of a linear regression. It's a plain old data struct.
Residuals Forward Range for holding the residuals from a regression analysis.

Enum values

Name Type Description
haveSvd

Aliases

Name Type Description
repeat

Authors

Copyright

License