public class NewtonRaphsonOptimizer extends AbstractOptimizer
AbstractOptimizer.LineSearchMethod, AbstractOptimizer.OptimizationException| Modifier and Type | Field and Description | 
|---|---|
| protected double | gradientCriterion | 
| static java.lang.String | InnerIterationStarted | 
| protected int | maxNumberOfIterations | 
| protected boolean | verbose | 
betaVector, convergenceAchieved, convergenceCriterion, hessianMatrix, optimalValue| Constructor and Description | 
|---|
| NewtonRaphsonOptimizer() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected double | calculateConvergence(Matrix gradient,
                    Matrix hessian,
                    double llk)This method returns a double that is the convergence indicator based on the gradient, the hessian and the value of the log-likelihood function. | 
| int | getNumberOfIterations()This method returns the number of iterations to reach convergence. | 
| boolean | optimize(AbstractMathematicalFunction function,
        java.util.List<java.lang.Integer> indicesOfParametersToOptimize)This method optimizes the likelihood of the StatisticalModel instance. | 
| protected double | runInnerOptimisation(AbstractMathematicalFunction function,
                    java.util.List<java.lang.Integer> indicesOfParametersToOptimize,
                    Matrix originalBeta,
                    Matrix optimisationStep,
                    double previousLogLikelihood,
                    AbstractOptimizer.LineSearchMethod lineSearchMethod)This method optimize the log-likelihood function using the Newton-Raphson optimisation step. | 
| void | setVerbose(boolean verbose)This method enables the verbose, i.e. | 
addOptimizerListener, fireOptimizerEvent, getConvergenceCriterion, getHessianAtMaximum, getOptimalValue, getParametersAtMaximum, isConvergenceAchieved, isVerboseEnabled, removeOptimizerListener, setConvergenceCriterion, setVerboseEnabled, toStringpublic static final java.lang.String InnerIterationStarted
protected boolean verbose
protected int maxNumberOfIterations
protected double gradientCriterion
protected double runInnerOptimisation(AbstractMathematicalFunction function, java.util.List<java.lang.Integer> indicesOfParametersToOptimize, Matrix originalBeta, Matrix optimisationStep, double previousLogLikelihood, AbstractOptimizer.LineSearchMethod lineSearchMethod) throws AbstractOptimizer.OptimizationException
function - an AbstractMathematicalFunction instanceindicesOfParametersToOptimize - a list of the indices of the parameters to be optimizedoriginalBeta - the vector that contains the parameters of the previous outer optimisationoptimisationStep - the optimisation step from the Newton-Raphson algorithmpreviousLogLikelihood - the value of the log-likelihood function in the last outer optimisationlineSearchMethod - OptimisationException - if the inner optimisation is not successfulAbstractOptimizer.OptimizationExceptionpublic boolean optimize(AbstractMathematicalFunction function, java.util.List<java.lang.Integer> indicesOfParametersToOptimize) throws AbstractOptimizer.OptimizationException
AbstractOptimizeroptimize in class AbstractOptimizerfunction - a AbstractMathematicalFunction objectindicesOfParametersToOptimize - a List instance that contains the indices of the parameters to be optimizedAbstractOptimizer.OptimizationExceptionprotected double calculateConvergence(Matrix gradient, Matrix hessian, double llk)
gradient - a Matrix instancehessian - a Matrix instancellk - a double that is the value of the log-likelihood functionpublic int getNumberOfIterations()
public void setVerbose(boolean verbose)
verbose - a boolean