SuanShu, a Java numerical and statistical library

## com.numericalmethod.suanshu.stats.regression.linear.glm Class GeneralizedLinearModel

java.lang.Object
com.numericalmethod.suanshu.stats.regression.linear.glm.GeneralizedLinearModel


public class GeneralizedLinearModelextends java.lang.Object

The Generalized Linear Model (GLM) is a flexible generalization of the Ordinary Least Squares regression. GLM generalizes linear regression by allowing the linear model to be related to the response variable via a link function and by allowing the magnitude of the variance of each measurement to be a function of its predicted value. In GLM, each outcome of the dependent variables, Y, is assumed to be generated from a particular distribution in the exponential family, a large range of probability distributions that includes the normal, binomial and Poisson distributions, among others. The mean, μ, of the distribution depends on the independent variables, X, through

E(Y) = μ = g-1(Xβ)
where E(Y) is the expected value of Y; is the linear predictor, a linear combination of unknown parameters, β; g is the link function.

The R equivalent function is glm.

• Wikipedia: Generalized linear model
• "P. J. MacCullagh and J. A. Nelder. An algorithm for fitting generalized linear models," in Generalized Linear Models, 2nd ed. pp.40. Section 2.5."

Constructor Summary
GeneralizedLinearModel(GLMProblem problem)
Solve a generalized linear problem using the Iterative Re-weighted Least Squares algorithm.
GeneralizedLinearModel(GLMProblem problem, GLMFitting fitting)
Construct a GeneralizedLinearModel instance.

Method Summary
 double AIC()
Get the Akaike information criterion (AIC).
 GLMBeta beta()
Get the GLM coefficients estimator, β^.
 GLMProblem getProblem()
Get the generalized linear regression problem.
 GLMResiduals residuals()
Get the residual analysis of this GLM regression.

Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

### GeneralizedLinearModel

public GeneralizedLinearModel(GLMProblem problem,
GLMFitting fitting)
Construct a GeneralizedLinearModel instance.

Parameters:
problem - the generalized linear regression problem to be solved
fitting - the fitting method, c.f., GLMFitting

### GeneralizedLinearModel

public GeneralizedLinearModel(GLMProblem problem)
Solve a generalized linear problem using the Iterative Re-weighted Least Squares algorithm.

Parameters:
problem - the generalized linear regression problem to be solved
IWLS
Method Detail

### getProblem

public GLMProblem getProblem()
Get the generalized linear regression problem.

Returns:
the generalized linear regression problem

### beta

public GLMBeta beta()
Get the GLM coefficients estimator, β^.

Returns:
the GLM coefficients estimator, β^

### residuals

public GLMResiduals residuals()
Get the residual analysis of this GLM regression.

Returns:
the residual analysis of this GLM regression

### AIC

public double AIC()
Get the Akaike information criterion (AIC).

Returns:
the Akaike information criterion (AIC)

SuanShu, a Java numerical and statistical library