如何在Pymc3中定义Rayleigh Prior?

问题描述

我想先定义瑞利(Rayleigh),以适应下图中分布的观察结果。当前的尝试是作为Gamma分布,但是如您所见,这是一个很差的表示。

使用Scipy的统计模块,我拟合了许多潜在的连续PDF,并通过KS测试(瑞利)找到了最合适的结果。

不幸的是,PYMC3的连续PDF库中没有Rayleigh优先级。

如果有人可以向我展示如何定义此内容,我将不胜感激。当前代码如下:

N_SAMPLES = 30000

y = df.demand

with pm.Model() as demand_model:
    # Uninformed priors for unkNown model parameters 
    mu = pm.Uniform('Mu',4000,8000)
    sigma = pm.Uniform('Sigma',8000)
    # Define demand prior
    demand = pm.Gamma(
        'Demand',mu=mu,sigma=sigma,observed=y
        )
    # Step size
    # step = pm.Metropolis()
    
    # Draw posterior samples
    demand_trace = pm.sample(N_SAMPLES,tune=3000,random_seed=SEED)
    prior = pm.sample_prior_predictive()
    posterior_predictive = pm.sample_posterior_predictive(demand_trace)

post

非常感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)