bpy*_*hon 4 python arrays tuples numpy scipy
我试图提出以下公式:
我有以下代码,但它不接受 6 个单独变量的边界,它只接受一个元组,这使得所有变量的边界都相同。
## cut benchmark out of data
benchmark_ser = data_df.ix[:,0]
## get out the stocks data
stocks_df = data_df.ix[:,1:]
## create/get bounds
bds = (0,.2) # <- i want to change this line
# to something that will provide
# a bound for each variable like
# [(0,.1),(0,.2),(0,.5),(0,.6)]
wgt_arr = sp.optimize.lsq_linear(stocks_df, benchmark_ser, bds)
Run Code Online (Sandbox Code Playgroud)
我目前收到以下错误:
ValueError: 'bounds' must contain 2 elements.
Run Code Online (Sandbox Code Playgroud)
谢谢
来自文档(强调我的):
bounds : 类似 array 的 2 元组,可选
自变量的下限和上限。默认为无限制。每个数组必须具有形状 (n,) 或为标量,在后一种情况下,所有变量的界限都相同。与适当的符号一起使用
np.inf可禁用所有或部分变量的界限。
因此,您需要一个由两个类似数组的对象组成的元组,而不是给它一个元组列表(lower_bound, upper_bound):(1) 所有下限和 (2) 所有上限
尝试从
bds = [(0,.1),(0,.2),(0,.5),(0,.6)]
Run Code Online (Sandbox Code Playgroud)
到
bds = ([0., 0., 0., 0.], [.1, .2, .5, .6])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3860 次 |
| 最近记录: |