It is often of interest to explore the parameter space of a model. We may want to find what the value of some parameters should be, or maybe we want to find regions in parameter space where the model exhibits interesting behavior.
StochSS supports sweeps over one or two parameters. To set up a parameter sweep, simply navigate to the File Browser. Select the model that you want to analyze, click Actions for … and select New Workflow from the menu. From the Workflow Selection page click Parameter Sweep. This will take you to the workflow manager page where you can select the parameters you want to analyze, the upper and lower bound of the parameters, and the number of steps in each parameter.
First navigate to the File Browser page and select the Lotkavolterra_Oscillator model. Click Actions for … and then New Workflow, and run a two-parameter sweep over k1 and k2. Click Start Workflow, and wait for the computation to finish. Once it has finished, the output can be visualized in the Results section of the Workflow Manager page, see Figure 1. You can select a feature extractor and an ensemble aggragator, and can view the average concentrations, the max- and min-values, as well as the variance. As an example, if the feature extractor is `Population at last time point’, and the ensemble aggragator is `Average of ensemble’, then that means that you will plot the average of the populations at the final time point. Another example is that the feature extractor is `Average of population’ and the ensemble aggragator is `Maximum of ensemble’. That means that we first take the average of each trajectory, and then the maximum of each average. The final output is then visualized in a graph or heatmap.
Finally, if you need to perform an in-depth analysis of the data, there is the option of creating the parameter sweep workflow in a Jupyter Notebook. On the Workflow Selection page, click 1D Parameter Sweep or 2D Parameter Sweep under Jupyter Notebook Workflows. This launches a Jupyter Notebook, with a template for analyzing the data. We recommend users unfamiliar with Jupyter to visit http://jupyter.org for full documentation and tutorials. In short, it is an environment for interactive computing, and users can analyze and plot their data with Python scripts. For example, given a two-parameter sweep, we may ask ourselves which parameter values give a specific output value. While it is possible to estimate that by simply looking at the heatmap, that is likely unsatisfactory in a real modeling project. With the full scripting capabilities of Python, the user could automate and make this process rigorous by modifying the Notebook correspondingly.