Defining a “Spec”
A spec is characterized by the set of goals you define on a test by test basis, (Eg. I want viscosity between 300 and 500 cps). Thus, it reflects the specs you want to optimize when modeling the outputs you care about or creating a new set of experiments/formulations. Many other features in the platform depend on having a set of specs defined, like Objective Search, or some indicators (guided lines) on the visualize page. It is recommended to create them early on in a project’s lifecycle.
Specs can be enabled at the project level or at the individual recipe level. The specs saved in your project can be accessed via clicking on the Calculate tab and then selecting the “Set Spec” button. This article focuses on the handling and adaptation of specs within your project. Specs can be access from the side bar navigation menu here:
Or from the project information header:
- Creating a new spec from scratch
This section covers the very first step of creating specs – adding desired outputs into the spec.
The spec as the project default will open on the page. If you have not created/imported any spec or did not select any spec as your project default, this page will be empty/a blank spec at start. Goals to be achieved have to be stated. The three most commonly used ones are listed below:
1.1. Adding individual goals via the “+ Add Goal” button.
Either individual output or together as output groups can be combined to form the spec of the project. A potential third option is input calculation (such as formulation cost). For output calculations, make sure that they are set within the project to be active and be part of the spec.
1.2 Adding all outputs via the “+ Add Project Outputs” button.
Since multiple outputs with different conditions can be measured, outputs with all the present conditions are going to be added when using this option. This might generate a long list of outputs if there are a lot of outputs (and/or condition parameters combinations) present in the current project.
1.3 Adding common outputs via the “+ Add Common Outputs” button.
This option will add the most commonly used 1-20 outputs (without taking condition parameters into consideration) in the project.
1.4 Some advanced settings for outputs
When clicking on an output in the spec, multiple options arise:
- View Output Details redirects you to the “Edit Measurements” page of the respective output.
- Configure conditions offers the possibility to model properties or optimize experiments with respect to the same output in different condition parameters. When selected, output conditions can be selected in a twofold manner: either model part of it or collapse and model across all condition parameters.
We will use the below experiment: EXP – 51631 as an example
Assuming Density is recorded under 3 different Methods: Method A, Method B and Method C.
You can select to model/optimize for one or two conditions: such as only Method A or Method A and B. Assuming only Method A is selected in spec (via the Configure conditions dropdown), while modeling, recordings under Method A will be selected while recordings under Method B and C will be ignored. Use this option if you know that different condition parameters have a clear impact on the goal and you only want to model similar one/ones while ignoring other conditions. Via ignoring some condition parameters, you might end up with a dataset which is smaller than what you originally thought.
You can also NOT select any condition parameters under the Configure conditions dropdown. That will collapse all available conditions parameters into one. Taking the EXP – 51631 as an example above, the mean of the three densities (which is 0.75) will be fed into the modeling process. Use this option if condition parameters do not have a strong impact on the output. In this way, you can aggregate all together and model them all at once to create a denser dataset.
- Swap Output allows you to exchange the current output to another one.
- Use log scale transfers the scale of the output to a logarithmic scale for training and optimal search. If the output has a wider spread, you might want to transfer it to a log scale for modeling purposes. Most often, viscosity is modeled best when put on a log scale.
- Copy goal copies the selected goal in order to change the output conditions for a different goal search.
- Delete goal deletes the current goal.
- Attributes of an output
This section covers how to set up proper priority and spec type on the spec page.
2.1 Setup Priority
Priority of an output is necessary to determine if and how it will be reflected within the optimization process. This reflects the relative importance of an output, per your expert opinion. The available options are:
- High
- Medium
- Low
- Ignore
The first three options offer the possibility to prioritize one over the other, whereas “Ignore” will not be included. “Ignore” is equal to not adding the output to the spec and has no influence on the optimization process. If Low, Medium, or High is selected, that output will be available for Analyze tools, but the actual selection will be irrelevant in this case as the priority is only important when optimizing. Make sure that only a limited number of outputs is attributed to a specific priority. Labeling all output as “High” equals to labeling all outputs as “Medium” or “Low”. For Analyze Experiments with AI, you can include as many outputs as you want. However, for Suggest Experiments with AI, trying to add less than ten outputs to optimize at once if possible. Usually, it is hard to optimize with many outputs added in one spec. If you do have a lot of outputs you need to optimize for, we advise you to add some in one round and after you get those in their desired ranges, you can add the rest outputs to optimize in a following round.
2.3 Setup Spec Type
“Spec Type” is an additional attribute to be set for every output when using the optimization tools. In order to guarantee that the evolution of each output is the right direction, selecting the right “Spec Type” is essential. For numeric outputs (which is the most common use case), six spec types exist:
- Maximize: the values of this output should be maximized. You prefer to see high values of this output.
- Minimize: the values of this output should be minimized. You prefer to see low values of this output.
- Range: the values should be within a set interval (output can neither be maximized or minimized).
- Target: similar as the Range option, a target value should be reached.
- Range with Target: very similar to Range and Target above. You can set up both a target and a range on the output.
- Exists: commonly take for product attributes, the output should be present when measured
If you have categorical outputs (such as pass or fail for certain types of test), you can add them into the spec as well. Compared with numeric outputs, categorical outputs are treated differently on the Uncountable platform.
For categorical outputs, four spec types exist:
- Allowed Options: select preferred/allowed categorical options under the Settings column accordingly.
- Disallowed Options: select unpreferred/disallowed categorical options under the Settings column accordingly.
- Multiclass: You should only select this option if you are going to use Analyze Experiments with AI, not Suggest Experiments with AI. A multiclass classification model will be run on the selected output.
- Exists: the same as above.
- Setting goals
This section covers how to arrange values for the settings columns in order to get a proper group of next experiments. After inputting the necessary goals (and condition parameters if applicable), choosing a proper goal value is the most challenging task. This step is essential for Suggest Experiments with AI, but not necessary for Analyze Experiments with AI. As long as you have the intended outputs added (without setting goals), Analyze Experiments with AI can run without a problem.
Under the Settings column, you will need to enter the upper/lower limit/goal that you desire for each outputs in order for the project to be considered successful or complete. This might be the minimum or maximum acceptable value listed on a specification sheet. The values you set up under Settings will impact highlighting on the enter measurement page and compare page. Values that do not meet the limit will be highlighted in red. Values that do meet the limit will be highlighted in green. If a goal is enabled, values that meet the goal will be highlighted in deeper blue-green.
Two things you might want to consider when putting down values:
3.1. What is the true requirement of this project?
This can comes from a customer ask (e.g. need improvements on some physical properties: tensile, elongation … ), from an internal request (e.g. need to bring down the cost of some benchmark formulation by 10% while keeping all performance as close to the benchmark as possible) or it might simply come from the very initial goal of a research project (e.g. need to see which polymer performs the best before and after aging test)
3.2. What does historical data tell you?
Besides knowing the true requirements of the project, it is also important to know what has been done in the past (which goals are possible to achieve and which ones might not be?). Via clicking on the histogram bar (which is right next to the goal), you will get a drop down window. Under this dropdown, for the goal you selected, we provide some statistics related to this goal and a histogram.
Mean value, standard deviation, and histogram will be presented. If you put values under the “Settings” column, you will also see “Goal to Threshold Distance” there. Statistics under this section can give you a quick overview of what has been done in the past and what might be and might not be possible. You can also toggle the “Show Data Output Project” on to see not only data in your project, but data under the current material family as well.
3.3. Are there tradeoffs between outputs in specs?
It is fairly common to see tradeoffs between various outputs. You can view tradeoffs via clicking on the purple “View Tradeoffs” button on the bottom right of the screen. This will take you to the Visualize – View Correlation – Outputs/Outputs page. The spec you are working on will be loaded onto this page by default. In the below example, I have tensile and viscosity in my spec. There is a strong positive correlation between tensile and viscosity (with a correlation score of 0.93). However, I might need to maximize tensile and minimize viscosity at the same time. Thus, when setting values for both outputs, I need to be cautious about what might be feasible and what might not be. Usually, unless new ingredients/process parameters are introduced, or completely new input space will be explored, it is generally hard to break tradeoffs between outputs.
- Saving/Loading/Locking a spec
Once a spec has been filled with the necessary outputs and/or calculations, it can be saved and set as a project default spec for later use in Analyze Experiments with AI or Suggest Experiments with AI via clicking either the “Overwrite Spec” or “Save As …” button.
It is also possible to see a full list of all the Specs available by clicking Design > Specifications.
When the need of modifying a spec arises, loading the current spec to make changes and saving it under a different name can save you some time than starting from scratch. You can simply open the desired spec, make the necessary changes and click on the downward facing arrow to select “Save as” and save the spec under a new name if needed.
You can also load spec from a past project or someone else’s project. On the right side of this page, when clicking “Load Spec”, you will see a pop-up window. Under that window, you can Load Spec (all specs saved under the current project are available to choose from), Import Spec (all specs saved under the current material family are available to choose from), and even Load Recipe as Base (load all outputs under that recipe onto this page).
When the need of locking an existing spec arises, you can do so via clicking the purple lock button on the left side of the spec name. Locking a spec will disable everyone’s ability to modify it. All the options/numbers under Priority, Spec Type, Settings will be grayed out.
- Displaying specs on the Enter Measurement page
When you are entering data on the Enter Measurement page, you can choose to display specs permanently.
If you have one spec for the whole project, as is the case in development often, search for the “Spec Columns” button in the tool bar, and select “Show Project Spec”.
This will display a column to the left of the data table, highlighting which outputs have a spec defined. You can create or edit a spec directly in this column, by clicking into the grey cells and adjusting the spec type, or numeric/text target values.
Should your data have multiple specs assigned to the experiments on Enter Measurements, you can use the “Assigned Specs” option. Clicking on the “Show Assigned Specs” button, you will enable an extra column display per experiment, displaying the various specs assigned to each experiment. This can be especially useful when comparing recipes in a Production environment.
Should you not see any actual spec columns or cells for entering data, you can use the “Show Assigned Specs + Add Outputs” to add the necessary output rows to your table.