Python 一般分布的乘积
假设对于[0,1]之间的随机变量,我有两个非标准化的非参数分布,例如:Python 一般分布的乘积,python,statistics,scipy,statsmodels,pymc,Python,Statistics,Scipy,Statsmodels,Pymc,假设对于[0,1]之间的随机变量,我有两个非标准化的非参数分布,例如: unnormalized_pdf_A = abs(sin(linspace(1,10,100))) 及 我想获得变量C=A*B的pdf,以及它的一些基本统计数据(例如均值、方差和/或贝叶斯区间) 这在statsmodels、PyMC或scipy.stats中是否可行?如何开始处理此问题?这应该是您想要的,谢谢@jseabold。如果我没有弄错的话,您的帖子假设您可以直接从(参数)分布中进行采样(调用y=stats.beta
unnormalized_pdf_A = abs(sin(linspace(1,10,100)))
及
我想获得变量C=A*B
的pdf,以及它的一些基本统计数据(例如均值、方差和/或贝叶斯区间)
这在
statsmodels
、PyMC
或scipy.stats
中是否可行?如何开始处理此问题?这应该是您想要的,谢谢@jseabold。如果我没有弄错的话,您的帖子假设您可以直接从(参数)分布中进行采样(调用y=stats.beta(.5.9)。rvs(N)
进行采样)。在我的例子中,我所拥有的只是定义在0到1之间的非规范化函数。我知道一旦我有了样本,我就可以将它们相乘(问题的目的)并拟合sm.nonparametric.KDEUnivariate(样本)
,以获得PDF。因此,问题是从OP中的函数中获取样本。对此有什么想法吗?实际上,beta版的绘图有一个封闭形式的解决方案,所以我不需要在那里采样。我只是碰巧从那个例子中的beta分布中画出了一个例子来说明做你想做的事情的一般方法(我认为),但是你可以把你的随机值细分为(0,1)。绘制后步骤中的KDE估计器不知道这是来自beta分布的绘制。如果降低样本量,PDF看起来就不会像参数化的beta版。
unnormalized_pdf_B = abs(cos(linspace(1,10,100)))