Packages

t

io.citrine.lolo

RegressionResult

trait RegressionResult extends PredictionResult[Double]

Additional regression-specific interface

This interface is experimental and SHOULD BE REVIEWED before being merged into master. In particular, an explanation of how the different methods relate to each other, how predictive uncertainty is decomposed, and what the assumptions are should be added, as these are currently not entirely clear.

For example, does the interface assume that the predictions are the mean of a predictive distribution (as opposed to, for example, the median, or the value with highest probability)? Does it assume the predictive distribution to be normal? Such assumptions are fine, but should be explicitly stated.

Linear Supertypes
PredictionResult[Double], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RegressionResult
  2. PredictionResult
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def getExpected(): Seq[Double]

    Get the expected values for this prediction

    Get the expected values for this prediction

    returns

    expected value of each prediction

    Definition Classes
    PredictionResult

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. def getBias(): Option[Seq[Double]]

    **EXPERIMENTAL** Get the estimated bias of each prediction, if possible

    **EXPERIMENTAL** Get the estimated bias of each prediction, if possible

    The bias is signed and can be subtracted from the prediction to improve accuracy. See https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

    It is unclear if this method will be a stable member of the interface. It should be reviewed before the next formal release.

  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. def getGradient(): Option[Seq[Vector[Double]]]

    Get the gradient or sensitivity of each prediction

    Get the gradient or sensitivity of each prediction

    returns

    a vector of doubles for each prediction

    Definition Classes
    PredictionResult
  12. def getImportanceScores(): Option[Seq[Seq[Double]]]

    Get the training row scores for each prediction

    Get the training row scores for each prediction

    returns

    sequence (over predictions) of sequence (over training rows) of importances

    Definition Classes
    PredictionResult
  13. def getInfluenceScores(actuals: Seq[Any]): Option[Seq[Seq[Double]]]

    Get the improvement (positive) or damage (negative) due to each training row on a prediction

    Get the improvement (positive) or damage (negative) due to each training row on a prediction

    actuals

    to assess the improvement or damage against

    returns

    Sequence (over predictions) of sequence (over training rows) of influence

    Definition Classes
    PredictionResult
  14. def getQuantile(quantile: Double, observational: Boolean = true): Option[Seq[Double]]
  15. def getQuantileMean(quantile: Double): Option[Seq[Double]]

    Get a quantile from the distribution of predicted means, if possible

    Get a quantile from the distribution of predicted means, if possible

    The distribution for which these quantiles are computed should have zero-mean (i.e. no bias)

    quantile

    to get, taken between 0.0 and 1.0 (i.e. not a percentile)

  16. def getStdDevMean(): Option[Seq[Double]]

    Get the standard deviation of the distribution of predicted mean observations, if possible

    Get the standard deviation of the distribution of predicted mean observations, if possible

    The variation is due to the finite size of the training data, which can be thought of as being sampled from some training data distribution. This statistic is related to the variance in the bias-variance trade-off https://en.wikipedia.org/wiki/Bias%E2%80%93variance_tradeoff

  17. def getStdDevObs(): Option[Seq[Double]]

    Get the standard deviation of the distribution of predicted observations, if possible

    Get the standard deviation of the distribution of predicted observations, if possible

    Observations of the predicted variable are expected to have a stddev that matches this value. This statistic is related to the https://en.wikipedia.org/wiki/Prediction_interval It does not include estimated bias, even if the regression result contains a bias estimate.

  18. def getTotalError(): Option[Seq[Double]]

    Get the expected error of the predicted mean observations, if possible

    Get the expected error of the predicted mean observations, if possible

    The mean of a large sample of repeated observations are expected to have a root mean squared error of the mean that matches this value. This statistic is related to the https://en.wikipedia.org/wiki/Confidence_interval This statistic includes the contribution of the estimated bias. E.g., for a normal distribution of predicted means, the total error is sqrt(bias**2 + variance)

  19. def getTotalErrorObs(): Option[Seq[Double]]

    Get the expected error of the observations, if possible

    Get the expected error of the observations, if possible

    This statistic is related to the https://en.wikipedia.org/wiki/Prediction_interval This statistic includes the contribution of the estimated bias. E.g., for a normal distribution of predicted means, the total error is sqrt(bias**2 + variance).

  20. def getTotalErrorQuantile(quantile: Double): Option[Seq[Double]]

    Get a quantile from the distribution of predicted means, if possible

    Get a quantile from the distribution of predicted means, if possible

    The distribution for which these quantiles are computed could be biased, e.g. if the bias is estimated but not corrected.

    quantile

    to get, taken between 0.0 and 1.0 (i.e. not a percentile)

  21. def getTotalErrorQuantileObs(quantile: Double): Option[Seq[Double]]

    Get a quantile from the distribution of predicted observations, if possible

    Get a quantile from the distribution of predicted observations, if possible

    Observations of the predicted variable are inferred to have a distribution with this quantile. This statistic is related to the https://en.wikipedia.org/wiki/Prediction_interval getObsQuantile(0.5) is a central statistic for the estimated bias, if the bias is estimated but not corrected.

    quantile

    to get, taken between 0.0 and 1.0 (i.e. not a percentile)

  22. def getUncertainty(observational: Boolean = true): Option[Seq[Any]]

    Get the "uncertainty", which is the TotalError if non-observational and the StdDevObs if observational

    Get the "uncertainty", which is the TotalError if non-observational and the StdDevObs if observational

    observational

    whether the uncertainty should account for observational uncertainty

    returns

    uncertainty of each prediction

    Definition Classes
    RegressionResultPredictionResult
  23. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  24. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  25. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from PredictionResult[Double]

Inherited from AnyRef

Inherited from Any

Ungrouped