Class IWLS

  • All Implemented Interfaces:
    GLMFitting

    public class IWLS
    extends Object
    implements GLMFitting
    This implementation estimates parameters β in a GLM model using the Iteratively Re-weighted Least Squares algorithm. The idea is that, at each iteration, we regress the adjusted, weighted, dependent variables on the same design matrix.

    The R equivalent function is glm.fit.

    See Also:
    • "P. J. MacCullagh and J. A. Nelder, "An algorithm for fitting generalized linear models," Generalized Linear Models. 2nd ed. pp.40. Section 2.5."
    • Wikipedia: Maximum likelihood
    • Constructor Detail

      • IWLS

        public IWLS​(double threshold,
                    int maxIterations)
        Construct an instance to run the Iteratively Re-weighted Least Squares algorithm.
        Parameters:
        threshold - the convergence threshold
        maxIterations - maximum number of iterations
    • Method Detail

      • fit

        public void fit​(GLMProblem probelm,
                        Vector beta0Initial)
        Description copied from interface: GLMFitting
        Fits a Generalized Linear Model.

        This method must be called before the three get methods.

        Specified by:
        fit in interface GLMFitting
        Parameters:
        probelm - the generalized linear regression problem to be solved
        beta0Initial - initial guess for β^
      • betaHat

        public ImmutableVector betaHat()
        Description copied from interface: GLMFitting
        Gets the estimates of β, β^, as in
        E(Y) = μ = g-1(Xβ)
        Specified by:
        betaHat in interface GLMFitting
        Returns:
        β^