【发布时间】:2016-09-10 15:05:03
【问题描述】:
我试图使用 scipy.stats.rv_continuous 对受给定概率密度函数 (pdf) 的随机变量进行抽样:
class Distribution(stats.rv_continuous):
def _pdf(self,x, _a, _c):
return first_hitting_time(x, _a, _c)
函数first_hitting_time在哪里
#pdf of first hitting time of W_t + c*t on a.
def first_hitting_time(_t, _a, _c=0.0):
return _a/_t*np.exp(-0.5/_t*(_a-_c*_t)**2)/np.sqrt(2.0*np.pi*_t)
然后我继续
myrv= Distribution(name='hittingtime', a=0.002,b=30.0)
data3= myrv.rvs(size=10000, _a=1.0, _c=0.0)
翻译开始抱怨-
Traceback (most recent call last):
File "<ipython-input-246-71f67047462b>", line 1, in <module>
data3= myrv.rvs(size=10000, _a=1.0, _c=0.0)
File "C:\Users\ME\AppData\Local\Continuum\Anaconda2\lib\site-packages\scipy\stats\_distn_infrastructure.py", line 856, in rvs
raise ValueError("Domain error in arguments.")
ValueError: Domain error in arguments.
似乎如果我将_c 设置为大于0.0 的某个数字,它可以正常工作,但对于小于0 的_c 则不行。
我对此有点困惑。任何帮助,将不胜感激。
【问题讨论】: