statsmodels.genmod.generalized_linear_model.GLM.fit¶

GLM.
fit
(start_params=None, maxiter=100, method='IRLS', tol=1e08, scale=None, cov_type='nonrobust', cov_kwds=None, use_t=None, full_output=True, disp=False, max_start_irls=3, **kwargs)[source]¶ Fits a generalized linear model for a given family.
Parameters:  start_params (arraylike, optional) – Initial guess of the solution for the loglikelihood maximization.
The default is familyspecific and is given by the
family.starting_mu(endog)
. If start_params is given then the initial mean will be calculated asnp.dot(exog, start_params)
.  maxiter (int, optional) – Default is 100.
 method (string) – Default is ‘IRLS’ for iteratively reweighted least squares. Otherwise gradient optimization is used.
 tol (float) – Convergence tolerance. Default is 1e8.
 scale (string or float, optional) – scale can be ‘X2’, ‘dev’, or a float The default value is None, which uses X2 for Gamma, Gaussian, and Inverse Gaussian. X2 is Pearson’s chisquare divided by df_resid. The default is 1 for the Binomial and Poisson families. dev is the deviance divided by df_resid
 cov_type (string) – The type of parameter estimate covariance matrix to compute.
 cov_kwds (dictlike) – Extra arguments for calculating the covariance of the parameter estimates.
 use_t (bool) – If True, the Student tdistribution is used for inference.
 full_output (bool, optional) – Set to True to have all available output in the Results object’s mle_retvals attribute. The output is dependent on the solver. See LikelihoodModelResults notes section for more information. Not used if methhod is IRLS.
 disp (bool, optional) – Set to True to print convergence messages. Not used if method is IRLS.
 max_start_irls (int) – The number of IRLS iterations used to obtain starting values for gradient optimization. Only relevant if method is set to something other than ‘IRLS’.
 IRLS fitting used, the following additional parameters are (If) –
 available –
 atol (float, optional) – The absolute tolerance criterion that must be satisfied. Defaults
to
tol
. Convergence is attained when: \(rtol * prior + atol > abs(current  prior)\)  rtol (float, optional) – The relative tolerance criterion that must be satisfied. Defaults
to 0 which means
rtol
is not used. Convergence is attained when: \(rtol * prior + atol > abs(current  prior)\)  tol_criterion (str, optional) – Defaults to
'deviance'
. Can optionally be'params'
.  wls_method (str, optional) – options are ‘lstsq’, ‘pinv’ and ‘qr’ specifies which linear algebra function to use for the irls optimization. Default is lstsq which uses the same underlying svd based approach as ‘pinv’, but is faster during iterations. ‘lstsq’ and ‘pinv’ regularize the estimate in singular and nearsingular cases by truncating small singular values based on rcond of the respective numpy.linalg function. ‘qr’ is only valied for cases that are not singular nor nearsingular.
 a scipy optimizer is used, the following additional parameter is (If) –
 available –
 optim_hessian ({'eim', 'oim'}, optional) – When ‘oim’, the default, the observed Hessian is used in fitting. ‘eim’ is the expected Hessian. This may provide more stable fits, but adds assumption that the Hessian is correctly specified.
Notes
If method is ‘IRLS’, then an additional keyword ‘attach_wls’ is available. This is currently for internal use only and might change in future versions. If attach_wls’ is true, then the final WLS instance of the IRLS iteration is attached to the results instance as results_wls attribute.
 start_params (arraylike, optional) – Initial guess of the solution for the loglikelihood maximization.
The default is familyspecific and is given by the