如何解决遍历参数分布
我有这样的脚本:
def simulacion(b=3.00,theta=1.00,delta=1.00,m=1000000):
S= np.zeros(m)
N = (np.floor(((np.random.pareto(b,m) + 1) * 1)- theta))
i_N = [ x for x in N if x>=1]
print(i_N)
Y= np.zeros(0)
for i in i_N:
Yi =(np.random.pareto(2+ 1/N[i],N[i])+1)*x_m
S[i] = sum(Y_i)
np.append(Y,Y_i)
ES,VS,MS,VaRS = np.mean(S),np.var(S),np.percentile(S,50),5)
return [S,ES,VaRS,N,Y]
这是关于带有Pareto分布的保证策略的模拟,但是您可能会注意到,在 for循环上,我遍历了Pareto分布的参数:
Yi =(np.random.pareto(2+ 1/N[i],N[i])+1)*x_m
但是我收到此错误代码:
Only integers,slices (`:`),ellipsis (`...`),numpy.newaxis (`None`) and integer or boolean arrays are valid indices.
清楚地告诉我,在生成Pareto Simulations的那一刻,Python无法识别 For循环。
我该如何解决?
解决方法
首先,请仔细检查您的工作。
您要遍历浮点数的随机 sample 。您无法遍历连续的分布,这是概率“云”。
我看不出您如何得出Python无法识别IavailableParameters[]
循环的结论,因为该错误是从该循环内的引发的。
您没有正确打印了一组令人讨厌的值:response.results
。那是一个浮点数数组。我浮动不能用作下标。我怀疑那条线上你想要的是
for
能解决您的问题吗?
,我得到了错误,这是因为我要在其中迭代的数据类型:
N = (np.floor(((np.random.pareto(b,m) + 1) * 1)- theta))
是一个浮点数数组,所以我只是简单地将其转换为一个整数数组:
N = N.astype(int)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。