Sensitivity analysis skill for identifying critical inputs and understanding model behavior under uncertainty
The Sensitivity Analyzer skill provides comprehensive capabilities for identifying critical inputs and understanding how model outputs respond to parameter changes. It supports both local (one-at-a-time) and global sensitivity analysis methods, enabling robust decision-making under uncertainty.
# Define OAT analysis
oat_config = {
"base_case": {
"price": 100,
"volume": 10000,
"cost": 60,
"fixed_costs": 200000
},
"variations": {
"price": {"range": [-20, 20], "step": 5, "unit": "%"},
"volume": {"range": [-30, 30], "step": 10, "unit": "%"},
"cost": {"range": [-15, 15], "step": 5, "unit": "%"},
"fixed_costs": {"range": [-10, 10], "step": 5, "unit": "%"}
},
"output_variable": "profit"
}
# Define Sobol analysis
sobol_config = {
"parameters": {
"price": {"bounds": [80, 120], "distribution": "uniform"},
"volume": {"bounds": [7000, 13000], "distribution": "uniform"},
"cost": {"bounds": [50, 70], "distribution": "uniform"}
},
"sample_size": 10000,
"calculate_second_order": True
}
Efficient screening method for many parameters:
| Index | Meaning |
|---|---|
| S1 (First-order) | Direct effect of parameter |
| ST (Total) | Direct + all interaction effects |
| S2 (Second-order) | Pairwise interaction effect |
{
"analysis_type": "OAT|sobol|morris|breakeven",
"model": "function or expression",
"parameters": {
"param_name": {
"base_value": "number",
"range": ["number", "number"],
"distribution": "string"
}
},
"options": {
"sample_size": "number",
"output_variable": "string",
"calculate_interactions": "boolean",
"confidence_level": "number"
}
}
{
"analysis_type": "string",
"parameter_rankings": [
{
"parameter": "string",
"importance_score": "number",
"effect_direction": "positive|negative",
"first_order_index": "number",
"total_index": "number"
}
],
"breakeven_points": {
"parameter": {
"breakeven_value": "number",
"current_distance": "number"
}
},
"interactions": [
{
"parameters": ["string", "string"],
"interaction_index": "number"
}
],
"tornado_data": {
"parameter": {
"low_output": "number",
"high_output": "number",
"swing": "number"
}
},
"visualization_paths": ["string"]
}
Identifies the parameter value where: