Case Study

Tune the Market Simulation – Part 01 – Feature Tuning

The previous CS-122 Cola Market 2015 Channel Study was not tuned. The initial Input Parameters were merely a ‘best guess’ of how the Cola Market might be simulated.

This workflow is designed to improve the results of the Market Simulation such that it better match real-world observations. The¬†Input Parameters are systematically adjusted with a Tuning Loop. The total ‘Quantity Error’ from the final Market Simulation node is tracked each time a change is made to an Input Parameter. Minimizing the ‘Quantity Error’ is the Objective Function of the Tuning Loop. Tuning continues until no more improvements can be found.

Note that this is a Feature Tuning workflow that adjusts the individual Input Parameters of each Feature. The next Case Study workflow is a Product Tuning workflow. The Product Tuning workflow will further refine the output WTP Matrix from this Feature Tuning workflow to render a more accurate overall model.

See also: CS-124 Cola Market 2015 Product Tuning

This Case Study provides a high-level overview of the workflow without detailed explanation. It assumes you are already somewhat familiar with KNIME and Market Simulation. If not, start by reviewing the Building Blocks and Community Nodes.

Feature Tuning

The Market Simulation for the Cola Market within the Tuning Loop comes from the previous CS-122 Cola Market 2015 Channel Study workflow. Review that Case Study to see how each Feature was defined using the Differentiation Workflow Pattern and then aggregated into Products.

#1 Input Parameters

Tuning Loop Start

Each Input Parameter is first listed in the upstream ‘Input Tuning Parameters’ table. For this workflow, the Vertical Differentiation Input Parameters (labelled ‘Mean’ and ‘SD’ in the input table) were tuned first, then the Horizontal Differentiation Input Parameters (labelled ‘Correlation’) were tuned.

The ‘Row Splitter’ node was used to manually separate which Input Parameters were going to be tuned. The top-output-port contains the Tuning Parameters, and the bottom-output-port contains the other fixed Input Parameters.

The ‘Tuning Loop Start’ node converts the Input Parameters into Flow Variables and tracks which changes lead to a more accurate Market Simulation.

See also: Tuning Loop Start Node

Click on an icon below to see and scroll through the enlarged version of the images.

#2 Flow Variables

Flow Variables

Flow Variables are used to override the original node configuration parameters set by the user.

Once a Flow Variable is created, it starts propagating through the downstream workflow through a red-connector. After they get attached to a downstream node, the Flow Variable will silently continue downstream through the regular black-connectors.

Additional Flow Variables can also be created with such nodes as the ‘Java Edit Variable’ node. In this case, more Market Simulation Tuning Parameters are created that are proportional to the original Tuning Parameters.

The user overrides the node configuration parameters by clicking on the ‘Flow Variables’ tab in the Configuration Dialog. Note the warning at the bottom of the Dialog Box to let the user know that configuration parameters are being modified.

#3 Objective Function

Tuning Loop End

The total ‘Quantity Error’ is calculated using the ‘GroupBy’ node and passed to the ‘Tuning Loop End’ node as a Flow Variable. Minimizing this Objective Function is the goal of the Tuning Loop.

If the adjusted Input Parameters reduce the Quantity Error and improve the Market Simulation then they are preserved. The Tuning Loop repeats until no more improvements can be found.

The final results are saved in Excel Spreadsheets. This data is then used by the next Case Study workflow for final Product-level tuning: Cola Market 2015 Product Tuning

See also: Tuning Loop End Node