定义不确定参数的标准numpy数组接口
stats-arrays的Python项目详细描述
stats_arrays
包提供了一个标准的numpy数组接口,用于定义模型中使用的不确定参数,以及monte carlo采样的类。它也很适合其他人。
动机
- 想要一个与scipy和numpy统计函数一致的接口
- 希望能够以便携格式快速加载和保存许多参数不确定性分布定义
- 希望操纵和切换参数不确定性分布和变量
- 希望简单的蒙特卡罗随机数生成器返回一个参数值向量,并将其输入不确定度或灵敏度分析
- 想要一些简单的、可扩展的、文档化的和经过测试的东西
stats数组包最初是为Brightway2 life cycle assessment framework开发的,但可以应用于任何随机模型。
示例
>>>fromstats_arraysimport*>>>my_variables=UncertaintyBase.from_dicts(...{'loc':2,'scale':0.5,'uncertainty_type':NormalUncertainty.id},...{'loc':1.5,'minimum':0,'maximum':10,'uncertainty_type':TriangularUncertainty.id}...)>>>my_variablesarray([(2.0,0.5,nan,nan,nan,False,3),(1.5,nan,nan,0.0,10.0,False,5)],dtype=[('loc','<f8'),('scale','<f8'),('shape','<f8'),('minimum','<f8'),('maximum','<f8'),('negative','?'),('uncertainty_type','u1')])>>>my_rng=MCRandomNumberGenerator(my_variables)>>>my_rng.next()array([2.74414022,3.54748507])>>># can also be used as an interator>>>zip(my_rng,xrange(10))[(array([2.96893108,2.90654471]),0),(array([2.31190619,1.49471845]),1),(array([3.02026168,3.33696367]),2),(array([2.04775418,3.68356226]),3),(array([2.61976694,7.0149952]),4),(array([1.79914025,6.55264372]),5),(array([2.2389968,1.11165296]),6),(array([1.69236527,3.24463981]),7),(array([1.77750176,1.90119991]),8),(array([2.32664152,0.84490754]),9)]