标签:采样 random 均匀分布 ynew thtea np
1.高斯随机数
用于获取两个独立的0均值且单位方差的正态分布的高斯变量
实现步骤:
选择两个均匀分布的随机数0<=U1,U2<=1
设定thtea = 2piU1 和 r=sqrt(-2ln(U2))
那么x=rsin(thtea),y=rcos(thtea)就是0均值单位方差的独立高斯分布变量
2.蒙特卡罗
要从一个分布P(X)中采样,但是P无法直接采样,可以通过建议分布Q(X)
步骤:
从Q(X)中采样x‘
从(0,x')均匀分布中抽取u
如果u<p(x')/Mq(x')把x'加入样本集,否则舍弃x'
3.Metropolis-Hastings算法
针对目标P(x)是一个马尔可夫链,要采样p(x1),p(x2)…………
步骤:
给定一个初始值x0,
重复:
q(xi|xi-1)中采样x'
从均匀分布中采样u
如果u小于上述等式,x[i+1]=x'否则x[i+1]=x'[i]
直到有足够的样本
u=np.random.rand(N) y = np.zeros(N) y[0] = np.random.normal(mu,sigma) for i in range(N-1): ynew = np.random.normal(mu,sigma) alpha = min(1,p(ynew)*q(y[i])/p(y[i])*q(ynew)) if u[i] < alpha: y[i+1] = ynew else: y[i+1] = y[i]View Code
标签:采样,random,均匀分布,ynew,thtea,np 来源: https://www.cnblogs.com/yangyang12138/p/12392793.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。