|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.rapidminer.operator.AbstractIOObject
com.rapidminer.operator.ResultObjectAdapter
com.rapidminer.tools.math.Averagable
com.rapidminer.operator.performance.PerformanceCriterion
com.rapidminer.operator.performance.MeasuredPerformance
com.rapidminer.operator.performance.PredictionTrendAccuracy
public class PredictionTrendAccuracy
Measures the number of times a regression prediction correctly determines the trend. This performance measure assumes that the attributes of each example represents the values of a time window, the label is a value after a certain horizon which should be predicted. All examples build a consecutive series description, i.e. the labels of all examples build the series itself (this is, for example, the case for a windowing step size of 1). This format will be delivered by the Series2ExampleSet operators provided by RapidMiner.
Example: Lets think of a series v1...v10 and a sliding window with window width 3, step size 1 and prediction horizon 1. The resulting example set is then
T1 T2 T3 L P
---------------
v1 v2 v3 v4 p1
v2 v3 v4 v5 p2
v3 v4 v5 v6 p3
v4 v5 v6 v7 p4
v5 v6 v7 v8 p5
v6 v7 v8 v9 p6
v7 v8 v9 v10 p7
The second last column (L) corresponds to the label, i.e. the value which should be predicted and the last column (P) corresponds to the predictions. The columns T1, T2, and T3 correspond to the regular attributes, i.e. the points which should be used as learning input.
This performance measure then calculates the actuals trend between the last time point in the series (T3 here) and the actual label (L) and compares it to the trend between T3 and the prediction (P), sums the products between both trends, and divides this sum by the total number of examples, i.e. [(if ((v4-v3)*(p1-v3)>=0), 1, 0) + (if ((v5-v4)*(p2-v4)>=0), 1, 0) +...] / 7 in this example.
| Constructor Summary | |
|---|---|
PredictionTrendAccuracy()
|
|
PredictionTrendAccuracy(PredictionTrendAccuracy pta)
|
|
| Method Summary | |
|---|---|
void |
buildSingleAverage(Averagable averagable)
This method should build the average of this and another averagable of the same type. |
void |
countExample(Example example)
Counts a single example, e.g. by summing up errors. |
java.lang.String |
getDescription()
Returns a description of the performance criterion. |
double |
getExampleCount()
Returns the number of data points which was used to determine the criterion value. |
double |
getFitness()
Returns the fitness depending on the value. |
double |
getMikroAverage()
Returns the (current) value of the averagable (the average itself). |
double |
getMikroVariance()
Returns the variance of the averagable. |
java.lang.String |
getName()
Returns the name of this averagable. |
void |
setParent(Operator parent)
|
void |
startCounting(ExampleSet eSet,
boolean useExampleWeights)
Initializes the criterion. |
| Methods inherited from class com.rapidminer.operator.performance.MeasuredPerformance |
|---|
startCounting |
| Methods inherited from class com.rapidminer.operator.performance.PerformanceCriterion |
|---|
compareTo, getMaxFitness |
| Methods inherited from class com.rapidminer.tools.math.Averagable |
|---|
buildAverage, clone, cloneAveragable, formatPercent, getAverage, getAverageCount, getExtension, getFileDescription, getMakroAverage, getMakroStandardDeviation, getMakroVariance, getMikroStandardDeviation, getStandardDeviation, getVariance, getVisualizationComponent, setAverageCount, toString |
| Methods inherited from class com.rapidminer.operator.ResultObjectAdapter |
|---|
addAction, getActions, getResultIcon, isSavable, log, logError, logNote, logWarning, save, toHTML, toResultString |
| Methods inherited from class com.rapidminer.operator.AbstractIOObject |
|---|
copy, getLog, getSource, initWriting, read, setLoggingHandler, setSource, write |
| Methods inherited from class java.lang.Object |
|---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface com.rapidminer.operator.IOObject |
|---|
copy, getLog, getSource, setLoggingHandler, setSource, write |
| Constructor Detail |
|---|
public PredictionTrendAccuracy()
public PredictionTrendAccuracy(PredictionTrendAccuracy pta)
| Method Detail |
|---|
public void setParent(Operator parent)
setParent in interface ForecastingCriterionpublic java.lang.String getName()
Averagable
getName in interface ResultObjectgetName in class Averagablepublic java.lang.String getDescription()
PerformanceCriterionPerformanceEvaluator operator.
getDescription in class PerformanceCriterion
public void startCounting(ExampleSet eSet,
boolean useExampleWeights)
throws OperatorException
MeasuredPerformance
startCounting in class MeasuredPerformanceOperatorExceptionpublic double getExampleCount()
PerformanceCriterion
getExampleCount in class PerformanceCriterionpublic void countExample(Example example)
MeasuredPerformance
countExample in class MeasuredPerformancepublic double getFitness()
PerformanceCriterionReturns the fitness depending on the value. The fitness values will be used for all optimization purposes (feature space transformations, parameter optimizations...) and must always be maximized. Hence, if your criterion is better the smaller the value is you should return something like (-1 * value) or (1 / value).
Subclasses should use
Averagable.getAverage() instead of Averagable.getMikroAverage() in this method
since usually the makro average (if available) should be optmized instead
of the mikro average. The mikro average should only be used in the (rare)
cases where no makro average is available but this is automatically done
returned by Averagable.getAverage() in these cases.
getFitness in class PerformanceCriterionpublic double getMikroAverage()
AveragableAveragable.buildSingleAverage(Averagable) was used, this method must return the
micro average from both (or more) criteria. This is usually achieved by
correctly implementing Averagable.buildSingleAverage(Averagable).
getMikroAverage in class Averagablepublic double getMikroVariance()
Averagable
getMikroVariance in class Averagablepublic void buildSingleAverage(Averagable averagable)
AveragableAveragable.getMikroAverage() should return the
average of this and the given averagable. Hence, this method is used to build
the actual micro average value of two criteria. Please refer to
SimpleCriterion for a simple
implementation example.
buildSingleAverage in class Averagable
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||