2

我有一个函数的样本序列,Y = f(X)其中有d随机变量X_1, X_2...X_d和一个响应变量Y,其设置为Xas x_1, x_2, ...x_d最后是Yas y(Y 是实值)。我将这些样本存储在一个维度矩阵中(n x d),并将响应存储在一个向量(d x 1)中。

我想在 Python 中计算联合分布,以便在收到新样本后,我可以轻松地更新分布。

最重要的是,我希望能够X从我自己计算的基于 的分布中采样设置Y,即 - 选择一个所需的值Y = y,并从一个有条件的加权联合分布中选择一个可能的设置集,用于X给定 的选择Y = y

有些变量是分类变量和一些序数变量,但如果需要,我可以将它们离散为整数(即​​,X_i在 {'red', 'blue', 'green'} => {1, 2, 3} 的集合中)。

做这件事对小人来说很容易d,但更高的人就更难了。Python 中的此工作流程存在哪些解决方案或框架(如果有)?也许用 numpy 自己制作并不是那么糟糕?示例代码?我的统计知识非常非常少,但我在 Python 方面相当扎实。

4

1 回答 1

0

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

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

  2. 当您需要在某个值 y=y0 处对 (x,y) 对进行采样时,请在该列表中搜索该值 y0,并从该位置返回一组对。

于 2013-11-17T13:30:33.970 回答