Nataf Transform을 사용하여 상관 관계가있는 다 변수 시뮬레이션을하고 있습니다. Monte Carlo 시뮬레이션을 수행하기 위해 Python (중급 지식)으로 코드를 개발했지만 컴퓨터에서는 많은 시간이 걸립니다. 누구든지 다음 라인을 최적화하는 데 도움을 줄 수 있습니까?몬테카를로 시뮬레이션에서 For 루프 최적화
# Exponential distribution (stats package)
loc_exp = 15.0
scale_exp = 139.21617
# Gamma distribution (l-moments package)
loc_gam = 0.72698
scale_gam = 16.18526
for i in range(len(rho_z)):
# Generate standarn normal variates
n = int(1e6)
r = np.random.normal(0, 1, [n,2])
ui = r[:,0]
uj = r[:,1]
xi = stats.expon.ppf(stats.norm.cdf(ui), loc_exp, scale_exp)
xj = lmoments.quagam(stats.norm.cdf(rho_z[i]*ui + np.sqrt(1.0 - rho_z[i]**2)*uj), para = np.array((loc_gam, scale_gam)))
# evaluate rho_x
R = np.corrcoef(xi,xj)
rho_x[i] = R[0,1]
저는 통계 및 패키지를 사용하고 있습니다. 고마워요
가능한 한 계산을 벡터화 할 수 있도록 각 부분의 타이밍을 조정하고 다시 작성하십시오. 먼저 LUT에서 사전 생성 된 임의의 값을 사용하여 시작할 것입니다. – StarShine