逆變換采樣


逆變換采樣(英語:inverse transform sampling),又稱為逆采樣(inversion sampling)、逆概率積分變換(inverse probability integral transform)、逆變換法(inverse transformation method)、斯米爾諾夫變換(Smirnov transform)、黃金法則(golden rule)等,是偽隨機數采樣的一種基本方法。在已知任意概率分布累積分布函數時,可用於從該分布中生成隨機樣本。

 

 

 

 

 

 

 

 

 

 

import numpy as np
import matplotlib.pyplot as plt

def sampleExp(Lambda = 2,maxCnt = 50000):
    ys = []
    standardXaxis = []
    standardExp = []
    for i in range(maxCnt):
        u = np.random.random()
        y = -1/Lambda*np.log(1-u) #F-1(X)
        ys.append(y)
    for i in range(1000):
        t = Lambda * np.exp(-Lambda*i/100)
        standardXaxis.append(i/100)
        standardExp.append(t)
    plt.plot(standardXaxis,standardExp,'r')
    #plt.hist(ys,1000,normed=True) # python 2
    plt.hist(ys,1000,density=True) # python 3
    plt.show()

sampleExp()



————————————————

 

 

 

 

 

 

 

 

 

import numpy as np
import matplotlib.pyplot as plt

def f1(x):
    return (0.3*np.exp(-(x-0.3)**2) + 0.7* np.exp(-(x-2.)**2/0.3))/1.2113
x = np.arange(-4.,6.,0.01)
plt.plot(x,f1(x),color = "red")

size = int(1e+07)
sigma = 1.2
z = np.random.normal(loc = 1.4,scale = sigma, size = size)
qz = 1/(np.sqrt(2*np.pi)*sigma)*np.exp(-0.5*(z-1.4)**2/sigma**2)
k = 2.5
#z = np.random.uniform(low = -4, high = 6, size = size)
#qz = 0.1
#k = 10
u = np.random.uniform(low = 0, high = k*qz, size = size)

pz =  0.3*np.exp(-(z-0.3)**2) + 0.7* np.exp(-(z-2.)**2/0.3)
sample = z[pz >= u]
#plt.hist(sample,bins=150, normed=True, edgecolor='black') # python 2
plt.hist(sample,bins=150, density=True, edgecolor='black') # python 3
plt.show()

 


————————————————

 

 

 

 

 

 

 

 

Inverse transform sampling反變換采樣法

https://blog.csdn.net/eric2016_lv/article/details/81191430

 

(Good)逆采樣(Inverse Sampling)和拒絕采樣(Reject Sampling)原理詳解

https://blog.csdn.net/anshuai_aw1/article/details/84840446

 

逆變換采樣

https://baike.baidu.com/item/%E9%80%86%E5%8F%98%E6%8D%A2%E9%87%87%E6%A0%B7/22934385?fr=aladdin

參考文獻

【1】拒絕采樣(reject sampling)原理詳解

【2】采樣方法(一)

【3】蒙特卡洛采樣之拒絕采樣(Reject Sampling)

【4】一文了解采樣方法


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM