估计Python中的联合分布和给定响应变量的示例

时间:2013-11-13 19:19:23

标签: python numpy distribution probability

我有一个来自函数Y = f(X)的一系列样本,其中有d个随机变量,X_1X_2 ... X_d和一个响应变量Y的{​​{1}}设置为Xx_1,... x_2,最后设置为x_d Y (Y是真正有价值的)。我将这些样本存储在维度为y的矩阵中,并将回复存储在向量(n x d)中。

我想以这样的方式计算Python中的联合分布:在接收到新样本后,我可以轻松地更新分发。

最重要的是,我希望能够从(d x 1)条件下的我自己的计算分布中对X设置进​​行采样,即选择所需的值Y并从条件中选择,加权联合分布Y = y的一组可能设置,给出X的选择。

有些变量是分类的,有些是序数的,但我可以将它们离散化为整数(即​​Y = y中的{'red','blue','green'} => {1, 2,3}}如果需要的话。

对于小X_i来说,这样做很容易,但是更高版本会变得更加困难。 Python中此工作流程有哪些解决方案或框架?也许用numpy制作我自己的并不是那么糟糕?示例代码?我的统计知识非常非常少,但我在Python方面非常扎实。

1 个答案:

答案 0 :(得分:0)

一般来说,这类问题属于机器学习领域,你可能想要查看的一个不错的python包是scikit-learn。 但如果您只需要采样,那么更简单的结构就可以了:

  1. 保留所有(x,y)对的列表,按y排序。 rbtree在这里非常方便。

  2. 如果您需要以某个值y = y0对(x,y)对进行采样,请在该列表中搜索该值y0,并从该位置返回一对对的选择。

    < / LI>