Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. # Method 1
  2. sample = np.random.multivariate_normal(mu, covariance)
  3.  
  4. # Method 2
  5. L = np.linalg.cholesky(covariance)
  6. sample = L.dot(np.random.randn(3)) + mu
  7.  
  8. In [1]: import numpy.random as nr
  9.  
  10. In [2]: cov = np.array([[1.0, 0.2, 0.3,],
  11. [0.2, 1.0, 0.3,],
  12. [0.3, 0.3, 1.0]])
  13.  
  14. In [3]: mu = np.log([0.3, 0.4, 0.5])
  15.  
  16. In [4]: mvn = nr.multivariate_normal(mu, cov, size=5)
  17.  
  18. In [5]: mvn # This is multivariate normal
  19. Out[5]:
  20. array([[-1.36808854, -1.32562291, -1.9706876 ],
  21. [-2.13119289, 1.28146425, 0.66000019],
  22. [-2.82590272, -1.22500654, -0.32635701],
  23. [-0.4967589 , -0.34469589, -2.04084115],
  24. [-0.85590235, -1.27133544, -0.70959595]])
  25.  
  26. In [6]: mvln = np.exp(mvn)
  27.  
  28. In [7]: mvln # This is multivariate log-normal
  29. Out[7]:
  30. array([[ 0.25459314, 0.26563744, 0.139361 ],
  31. [ 0.11869562, 3.60190996, 1.9347927 ],
  32. [ 0.05925514, 0.29375578, 0.72154754],
  33. [ 0.60849968, 0.70843576, 0.12991938],
  34. [ 0.42489961, 0.28045684, 0.49184289]])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement