algorithms.statistics.models.glm¶
Module: algorithms.statistics.models.glm
¶
Inheritance diagram for nipy.algorithms.statistics.models.glm
:

General linear models¶
Model
¶
-
class
nipy.algorithms.statistics.models.glm.
Model
(design, family=<nipy.algorithms.statistics.models.family.family.Gaussian object>)¶ Bases:
nipy.algorithms.statistics.models.regression.WLSModel
,nipy.externals.six.Iterator
Methods
cont
([tol])Continue iterating, or has convergence been obtained? deviance
([Y, results, scale])Return (unnormalized) log-likelihood for GLM. estimate_scale
([Y, results])Return Pearson’s X^2 estimate of scale. fit
(Y)has_intercept
()Check if column of 1s is in column space of design information
(beta[, nuisance])Returns the information matrix at (beta, Y, nuisance). initialize
(design)logL
(beta, Y[, nuisance])Returns the value of the loglikelihood function at beta. next
()predict
([design])After a model has been fit, results are (assumed to be) stored in self.results, which itself should have a predict method. rank
()Compute rank of design matrix score
(beta, Y[, nuisance])Gradient of the loglikelihood function at (beta, Y, nuisance). whiten
(X)Whitener for WLS model, multiplies by sqrt(self.weights) -
__init__
(design, family=<nipy.algorithms.statistics.models.family.family.Gaussian object>)¶
-
cont
(tol=1e-05)¶ Continue iterating, or has convergence been obtained?
-
deviance
(Y=None, results=None, scale=1.0)¶ Return (unnormalized) log-likelihood for GLM.
Note that self.scale is interpreted as a variance in old_model, so we divide the residuals by its sqrt.
-
estimate_scale
(Y=None, results=None)¶ Return Pearson’s X^2 estimate of scale.
-
fit
(Y)¶
-
has_intercept
()¶ Check if column of 1s is in column space of design
-
information
(beta, nuisance=None)¶ Returns the information matrix at (beta, Y, nuisance).
See logL for details.
Parameters: beta : ndarray
The parameter estimates. Must be of length df_model.
nuisance : dict
A dict with key ‘sigma’, which is an estimate of sigma. If None, defaults to its maximum likelihood estimate (with beta fixed) as
sum((Y - X*beta)**2) / n
where n=Y.shape[0], X=self.design.Returns: info : array
The information matrix, the negative of the inverse of the Hessian of the of the log-likelihood function evaluated at (theta, Y, nuisance).
-
initialize
(design)¶
-
logL
(beta, Y, nuisance=None)¶ Returns the value of the loglikelihood function at beta.
Given the whitened design matrix, the loglikelihood is evaluated at the parameter vector, beta, for the dependent variable, Y and the nuisance parameter, sigma.
Parameters: beta : ndarray
The parameter estimates. Must be of length df_model.
Y : ndarray
The dependent variable
nuisance : dict, optional
A dict with key ‘sigma’, which is an optional estimate of sigma. If None, defaults to its maximum likelihood estimate (with beta fixed) as
sum((Y - X*beta)**2) / n
, where n=Y.shape[0], X=self.design.Returns: loglf : float
The value of the loglikelihood function.
Notes
The log-Likelihood Function is defined as
\[\ell(\beta,\sigma,Y)= -\frac{n}{2}\log(2\pi\sigma^2) - \|Y-X\beta\|^2/(2\sigma^2)\]The parameter \(\sigma\) above is what is sometimes referred to as a nuisance parameter. That is, the likelihood is considered as a function of \(\beta\), but to evaluate it, a value of \(\sigma\) is needed.
If \(\sigma\) is not provided, then its maximum likelihood estimate:
\[\hat{\sigma}(\beta) = \frac{\text{SSE}(\beta)}{n}\]is plugged in. This likelihood is now a function of only \(\beta\) and is technically referred to as a profile-likelihood.
References
[R1] - Green. “Econometric Analysis,” 5th ed., Pearson, 2003.
-
next
()¶
-
niter
= 10¶
-
predict
(design=None)¶ After a model has been fit, results are (assumed to be) stored in self.results, which itself should have a predict method.
-
rank
()¶ Compute rank of design matrix
-
score
(beta, Y, nuisance=None)¶ Gradient of the loglikelihood function at (beta, Y, nuisance).
The graient of the loglikelihood function at (beta, Y, nuisance) is the score function.
See
logL()
for details.Parameters: beta : ndarray
The parameter estimates. Must be of length df_model.
Y : ndarray
The dependent variable.
nuisance : dict, optional
A dict with key ‘sigma’, which is an optional estimate of sigma. If None, defaults to its maximum likelihood estimate (with beta fixed) as
sum((Y - X*beta)**2) / n
, where n=Y.shape[0], X=self.design.Returns: The gradient of the loglikelihood function. :
-
whiten
(X)¶ Whitener for WLS model, multiplies by sqrt(self.weights)
-