You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现单变量P10/P90敏感性分析配置自动生成方法问询

单变量P10/P90敏感性分析配置的优雅实现

核心需求

每次仅调整一个变量为P10或P90值,其余变量保持P50基准值,实现可灵活适配多变量的配置生成,避免手动编写的低效。

优化实现代码

首先保留你的namedtuple定义:

from collections import namedtuple

Sensitivity_Case = namedtuple('Sensitivity_Case', ['a', 'b', 'c'])

# P50基准案例
p50 = Sensitivity_Case(5, 50, 'medium')
# P10案例
p10 = Sensitivity_Case(1, 5, 'low')
# P90案例
p90 = Sensitivity_Case(10, 500, 'high')

接下来是适配多变量的生成函数:

def generate_sensitivity_configs(p50_base, p10_vals, p90_vals):
    configs = []
    # 遍历每个变量的索引(自动适配namedtuple的字段数量)
    for idx in range(len(p50_base._fields)):
        # 生成当前变量取P10、其余取P50的配置
        p10_config = list(p50_base)
        p10_config[idx] = p10_vals[idx]
        configs.append(p10_config)
        
        # 生成当前变量取P90、其余取P50的配置
        p90_config = list(p50_base)
        p90_config[idx] = p90_vals[idx]
        configs.append(p90_config)
    return configs

# 生成所有敏感性配置
sensitivity_configs = generate_sensitivity_configs(p50, p10, p90)

# 按需求格式输出
for i, config in enumerate(sensitivity_configs, 1):
    print(f"config{i} = {config}")

实现优势

  • 自动适配变量数量:无论你新增或减少Sensitivity_Case的字段(比如加个d变量),函数无需修改,自动遍历所有变量生成对应配置
  • 逻辑精准:严格遵循单变量敏感性分析规则,每个变量仅生成P10、P90两个变体,其余保持基准值
  • 避免重复劳动:彻底摆脱手动编写config1到confign的繁琐工作

输出结果

运行代码后会生成你需要的6个配置:

config1 = [1, 50, 'medium']
config2 = [10, 50, 'medium']
config3 = [5, 5, 'medium']
config4 = [5, 500, 'medium']
config5 = [5, 50, 'low']
config6 = [5, 50, 'high']

内容的提问来源于stack exchange,提问作者Marcus Lundgren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 03:24:50