Class PRM

  • All Implemented Interfaces:
    adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.SizeOfHandler, adams.core.TechnicalInformationHandler, Serializable, weka.core.CapabilitiesHandler, GenericPLSMatrixAccess

    public class PRM
    extends AbstractSingleClassPLS
    Partial robust M-regression (PRM).
    For more information see:
    Sven Serneels, Christophe Croux, Peter Filzmoser, Pierre J.Van Espen (2005). Partial robust M-regression. Chemometrics and Intelligent Laboratory Systems. 79:55-64. URL https://www.sciencedirect.com/science/article/pii/S0169743905000638

     @article{SvenSerneels2005,
        author = {Sven Serneels, Christophe Croux, Peter Filzmoser, Pierre J.Van Espen},
        journal = {Chemometrics and Intelligent Laboratory Systems},
        pages = {55-64},
        title = {Partial robust M-regression},
        volume = {79},
        year = {2005},
        URL = {https://www.sciencedirect.com/science/article/pii/S0169743905000638}
     }
     


    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
        min-user-mode: Expert
     
    -preprocessing-type <NONE|CENTER|STANDARDIZE> (property: preprocessingType)
        The type of preprocessing to perform.
        default: NONE
     
    -replace-missing <boolean> (property: replaceMissing)
        Whether to replace missing values.
        default: false
     
    -num-components <int> (property: numComponents)
        The number of components to compute.
        default: 20
        minimum: 1
     
    -prediction-type <NONE|ALL|EXCEPT_CLASS> (property: predictionType)
        The type of prediction to perform.
        default: NONE
     
    -tol <double> (property: tol)
        The inner NIPALS loop improvement tolerance.
        default: 1.0E-6
        minimum: 0.0
     
    -max-iter <int> (property: maxIter)
        The inner NIPALS loop maximum number of iterations.
        default: 500
        minimum: 1
     
    -num-simpls-coefficients <int> (property: numSimplsCoefficients)
        The number of SIMPLS coefficients to keep; <= 0 to keep all.
        default: -1
        minimum: -1
     
    -c <double> (property: c)
        The tuning parameter, >0.
        default: 4.0
        minimum: 1.0E-10
     
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_PRM

        protected com.github.waikatodatamining.matrix.algorithm.pls.PRM m_PRM
        the actual algorithm.
      • m_Tol

        protected double m_Tol
        Inner loop improvement tolerance
      • m_MaxIter

        protected int m_MaxIter
        Inner loop maximum number of iterations
      • m_NumSimplsCoefficients

        protected int m_NumSimplsCoefficients
        the number of SIMPLS coefficients.
      • m_C

        protected double m_C
        Tuning parameter.
    • Constructor Detail

      • PRM

        public PRM()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.core.option.AbstractOptionHandler
        Returns:
        a description suitable for displaying in the gui
      • getTechnicalInformation

        public adams.core.TechnicalInformation getTechnicalInformation()
        Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
        Specified by:
        getTechnicalInformation in interface adams.core.TechnicalInformationHandler
        Specified by:
        getTechnicalInformation in class AbstractPLS
        Returns:
        the technical information about this class
      • defineOptions

        public void defineOptions()
        Adds options to the internal list of options.
        Specified by:
        defineOptions in interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class AbstractPLS
      • setTol

        public void setTol​(double value)
        Sets the inner NIPALS loop improvement tolerance.
        Parameters:
        value - the tolerance
      • getTol

        public double getTol()
        Returns the inner NIPALS loop improvement tolerance.
        Returns:
        the tolerance
      • tolTipText

        public String tolTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setMaxIter

        public void setMaxIter​(int value)
        Sets the inner NIPALS loop maximum number of iterations.
        Parameters:
        value - the maximum
      • getMaxIter

        public int getMaxIter()
        Returns the NIPALS loop maximum number of iterations.
        Returns:
        the maximum
      • maxIterTipText

        public String maxIterTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setNumSimplsCoefficients

        public void setNumSimplsCoefficients​(int value)
        Sets the number of SIMPLS coefficients to keep. <= to keep all.
        Parameters:
        value - the coefficients
      • getNumSimplsCoefficients

        public int getNumSimplsCoefficients()
        Returns the number of SIMPLS coefficients to keep. <= to keep all.
        Returns:
        the coefficients
      • numSimplsCoefficientsTipText

        public String numSimplsCoefficientsTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • setC

        public void setC​(double value)
        Tuning parameter.
        Parameters:
        value - the C, > 0
      • getC

        public double getC()
        Returns the tuning parameter.
        Returns:
        the C, > 0
      • cTipText

        public String cTipText()
        Returns the tip text for this property
        Returns:
        tip text for this property suitable for displaying in the explorer/experimenter gui
      • getMatrix

        public weka.core.matrix.Matrix getMatrix​(String name)
        Returns the matrix with the specified name.
        Specified by:
        getMatrix in interface GenericPLSMatrixAccess
        Specified by:
        getMatrix in class AbstractPLS
        Parameters:
        name - the name of the matrix
        Returns:
        the matrix, null if not available
      • doTransform

        protected weka.core.Instances doTransform​(weka.core.Instances data,
                                                  Map<String,​Object> params)
                                           throws Exception
        Transforms the data, initializes if necessary.
        Specified by:
        doTransform in class AbstractPLS
        Parameters:
        data - the data to use
        params - additional parameters
        Returns:
        the transformed data
        Throws:
        Exception