API

API

Types defined in the package

DensePredChol
DensePredQR
GlmResp
LinearModel
LmResp
LinPred
GLM.ModResp

Constructors for models

The most general approach to fitting a model is with the fit function, as in

julia> using Random

julia> fit(LinearModel, hcat(ones(10), 1:10), randn(MersenneTwister(12321), 10))
LinearModel{GLM.LmResp{Array{Float64,1}},GLM.DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}}:

Coefficients:
────────────────────────────────────────────────────────────────
        Coef.  Std. Error      t  Pr(>|t|)  Lower 95%  Upper 95%
────────────────────────────────────────────────────────────────
x1   0.717436    0.775175   0.93    0.3818  -1.07012    2.50499
x2  -0.152062    0.124931  -1.22    0.2582  -0.440153   0.136029
────────────────────────────────────────────────────────────────

This model can also be fit as

julia> using Random

julia> lm(hcat(ones(10), 1:10), randn(MersenneTwister(12321), 10))
LinearModel{LmResp{Array{Float64,1}},DensePredChol{Float64,LinearAlgebra.Cholesky{Float64,Array{Float64,2}}}}:

Coefficients:
────────────────────────────────────────────────────────────────
        Coef.  Std. Error      t  Pr(>|t|)  Lower 95%  Upper 95%
────────────────────────────────────────────────────────────────
x1   0.717436    0.775175   0.93    0.3818  -1.07012    2.50499
x2  -0.152062    0.124931  -1.22    0.2582  -0.440153   0.136029
────────────────────────────────────────────────────────────────
GLM.glmFunction.
glm(F, D, args...; kwargs...)

Fit a generalized linear model to data. Alias for fit(GeneralizedLinearModel, ...). See fit for documentation.

source
StatsBase.fitFunction.
fit(GeneralizedLinearModel, X, y, d, [l = canonicallink(d)]; <keyword arguments>)

Fit a generalized linear model to data. X and y can either be a matrix and a vector, respectively, or a formula and a data frame. d must be a UnivariateDistribution, and l must be a Link, if supplied.

Keyword Arguments

  • dofit::Bool=true: Determines whether model will be fit
  • wts::Vector=similar(y,0): Prior frequency (a.k.a. case) weights of observations.

Such weights are equivalent to repeating each observation a number of times equal to its weight. Do note that this interpretation gives equal point estimates but different standard errors from analytical (a.k.a. inverse variance) weights and from probability (a.k.a. sampling) weights which are the default in some other software. Can be length 0 to indicate no weighting (default).

  • offset::Vector=similar(y,0): offset added to to form eta. Can be of

length 0

  • verbose::Bool=false: Display convergence information for each iteration
  • maxiter::Integer=30: Maximum number of iterations allowed to achieve convergence
  • atol::Real=1e-6: Convergence is achieved when the relative change in

deviance is less than max(rtol*dev, atol).

  • rtol::Real=1e-6: Convergence is achieved when the relative change in

deviance is less than max(rtol*dev, atol).

  • minstepfac::Real=0.001: Minimum line step fraction. Must be between 0 and 1.
  • start::AbstractVector=nothing: Starting values for beta. Should have the

same length as the number of columns in the model matrix.

source
GLM.lmFunction.
lm(X, y, allowrankdeficient::Bool=false; wts=similar(y, 0))

An alias for fit(LinearModel, X, y, allowrankdeficient)

The arguments X and y can be a Matrix and a Vector or a Formula and a DataFrame.

The keyword argument wts can be a Vector specifying frequency weights for observations. Such weights are equivalent to repeating each observation a number of times equal to its weight. Do note that this interpretation gives equal point estimates but different standard errors from analytical (a.k.a. inverse variance) weights and from probability (a.k.a. sampling) weights which are the default in some other software.

source
GLM.negbinFunction.
negbin(formula,
       data,
       link;
       initialθ::Real=Inf,
       maxiter::Integer=30,
       atol::Real=1e-6,
       rtol::Real=1.e-6,
       verbose::Bool=false,
       kwargs...)

Fit a negative binomial generalized linear model to data, while simultaneously estimating the shape parameter θ. Extra arguments and keyword arguments will be passed to glm.

Keyword Arguments

  • initialθ::Real=Inf: Starting value for shape parameter θ. If it is Inf then the initial value will be estimated by fitting a Poisson distribution.
  • maxiter::Integer=30: See maxiter for glm
  • atol::Real=1.0e-6: See atol for glm
  • rtol::Real=1.0e-6: See rtol for glm
  • verbose::Bool=false: See verbose for glm
source

Model methods

GLM.cancancel
delbeta!
StatsBase.deviance
GLM.dispersion
GLM.installbeta!
GLM.issubmodel
linpred!
linpred
StatsBase.nobs
StatsBase.nulldeviance
StatsBase.predict
updateμ!
wrkresp
GLM.wrkresp!

Links and methods applied to them

Link
GLM.Link01
CauchitLink
CloglogLink
IdentityLink
InverseLink
InverseSquareLink
LogitLink
LogLink
NegativeBinomialLink
ProbitLink
SqrtLink
linkfun
linkinv
mueta
inverselink
canonicallink
glmvar
mustart
devresid
GLM.dispersion_parameter
GLM.loglik_obs