Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyMC3-泊松适用于开关点,指数不适用_Python_Pymc_Pymc3 - Fatal编程技术网

Python PyMC3-泊松适用于开关点,指数不适用

Python PyMC3-泊松适用于开关点,指数不适用,python,pymc,pymc3,Python,Pymc,Pymc3,以下模型(取自黑客的贝叶斯方法)适用于泊松分布 count_data = np.loadtxt("data/txtdata.csv") n_count_data = len(count_data) with pm.Model() as model: alpha = 1.0/count_data.mean() # Recall count_data is the # variable that holds our txt coun

以下模型(取自黑客的贝叶斯方法)适用于泊松分布

count_data = np.loadtxt("data/txtdata.csv")
n_count_data = len(count_data) 

with pm.Model() as model:
alpha = 1.0/count_data.mean()  # Recall count_data is the
                               # variable that holds our txt counts
lambda_1 = pm.Exponential("lambda_1", alpha)
lambda_2 = pm.Exponential("lambda_2", alpha)

tau = pm.DiscreteUniform("tau", lower=0, upper=n_count_data - 1)

idx = np.arange(n_count_data) # Index
lambda_ = pm.math.switch(tau >= idx, lambda_1,lambda_2)

observation = pm.Poisson("obs", lambda_, observed=count_data)

step = [pm.Metropolis(), pm.NUTS()]
trace = pm.sample(10000, tune=5000,step=step)
pm.traceplot(trace, ['lambda_1', 'lambda_2', 'tau'])
plt.show()
泊松分布:

但是,在该模型中使用指数随机变量时:

observation = pm.Exponential("obs", lambda_, observed=count_data)
我得到:

具有指数分布:

我希望使用指数分布的原因是使用非整数


我不确定问题是出在lambda_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu

它还可以用于队列网络等,以模拟单个客户的到达时间。注意,客户的预期到达时间与费率参数(通常为λ)相反

可以将数据作为每个固定采样时间间隔的计数提供给泊松过程,例如,您每天获得多少客户

指数分布用于模拟某些过渡时间。这不是一个计数过程。这是一个连续的过程,其离散模拟为几何分布

泊松分布用于对离散数据和离散计数进行建模,离散计数在连续计数之间具有指数时间分布

它们看起来非常相似,但本质不同

很可能输入指数分布的计数数据混淆了整个过程


换句话说,指数分布不是合适的模型,因为它不能理解给定的数据。

泊松分布模型很重要

它还可以用于队列网络等,以模拟单个客户的到达时间。注意,客户的预期到达时间与费率参数(通常为λ)相反

可以将数据作为每个固定采样时间间隔的计数提供给泊松过程,例如,您每天获得多少客户

指数分布用于模拟某些过渡时间。这不是一个计数过程。这是一个连续的过程,其离散模拟为几何分布

泊松分布用于对离散数据和离散计数进行建模,离散计数在连续计数之间具有指数时间分布

它们看起来非常相似,但本质不同

很可能输入指数分布的计数数据混淆了整个过程

换句话说,指数分布不是合适的模型,因为它不能理解给定的数据