我有一个来自函数Y = f(X)
的一系列样本,其中有d
个随机变量,X_1
,X_2
... X_d
和一个响应变量Y
的{{1}}设置为X
,x_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方面非常扎实。
答案 0 :(得分:0)
一般来说,这类问题属于机器学习领域,你可能想要查看的一个不错的python包是scikit-learn。 但如果您只需要采样,那么更简单的结构就可以了:
保留所有(x,y)对的列表,按y排序。 rbtree在这里非常方便。
如果您需要以某个值y = y0对(x,y)对进行采样,请在该列表中搜索该值y0,并从该位置返回一对对的选择。
< / LI> 醇>