Skip to main content

Prescriptive Analytics

Synopsis​

Given a model and a desired output, this operator automatically finds the optimal inputs.

Description​

In predictive modeling, a model is used to predict an outcome, given an input. This operator reverses that procedure, starting with a model and a desired output, and prescribing an optimized input to achieve the desired outcome.

The operator uses an evolutionary optimization method, based on the model, with one of the following targets:

  • minimize confidence for a class
  • maximize confidence for a class
  • get as close as possible to a certain confidence for a class
  • minimize regression prediction
  • maximize regression prediction
  • get as close as possible to a certain regression prediction

The training data can be used to to constrain the optimization, so that all numerical values satisfy one or more of the following conditions:

  • stay close to the average, within 1 / 2 / 3 times the standard deviation
  • stay above the minimum
  • stay below the maximum
  • stay above a certain value
  • stay below a certain value

Moreover, the user may assign constant values to any of the attributes, overriding the above conditions.

Input​

model​

This port expects a model, whose optimal inputs should be identified.

training data​

This port expects an ExampleSet, the same ExampleSet that was used to create the model.

Output​

optimal data​

The optimal data which, when used as an input to the model, delivers the desired result.

Parameters​

Classification​

Indicates if the model is a classification model or a regression model.

Class name​

The class for which the confidence should be optimized.

Optimization direction​

The optimization strategy: minimize, maximize, or specify a value. A specific value can be useful for regression / forecasting problems.

Value to reach​

Specify a confidence or regression value which should be reached. Only available if the value for "optimization direction" is "specific value".

Stay around average (numerical)​

Indicates if numerical values should stay in a specified range around the average value which helps to prevent extreme values which might be not feasible as inputs.

Standard deviations around average​

Defines the number of standard deviations the values can move away from the numerical average.

Stay above global minimum (numerical)​

Indicates if numerical values should stay above the minimum value of the corresponding attribute.

Stay below global maximum (numerical)​

Indicates if numerical values should stay below the maximum value of the corresponding attribute.

Stay above value (numerical)​

Indicates if numerical values should stay above a specified value.

Minimum value​

Attribute values during optimization should stay above this value.

Stay below value (numerical)​

Indicates if numerical values should stay below a specified value.

Maximum value​

Attribute values during optimization should stay below this value.

Constant attribute values​

A list of attributes which should be kept at constant values. You can specify name-value pairs with the attribute name on the left and the desired constant value on the right.

Limit type​

Defines when the optimization ends. No limit uses a heuristic to detect the optimum. Time limit stops after specified time. Generations stops after the specified number of generations is reached.

Maximum generations​

The maximum number of generations for the evolutionary optimization algorithm. Only available if the limit is "generations and population size".

Population size​

The number of individuals in the population of the evolutionary optimization algorithm. Only available if the limit is "generations and population size".

Time limit (in seconds)​

The maximum number of seconds the optimization will run. Only available if the limit is "time limit".

See Also​