因果推理VS主动学习?

数据挖掘 机器学习 Python 深度学习
2022-02-18 13:48:37

想象一下,我们有一些随时间变化的特性列表。列表的每一行对应一个样本(空间变化)。我想知道机器学习是否能够确定每个样本对另一个样本的影响。例如,样本“S”的目标值取决于样本“S-4”、“S-3”、“S-2”、“S-1”、“S+1”、“S”的特征+2"、"S+3"。我已经看到了诸如主动学习和因果推理之类的东西,但仍然不确定它们是否对我的目标有用。为了详细说明,假设我们有下面的图片: 在此处输入图像描述

红线是一年的结果,蓝线是明年的结果。我们有适量的这些结果,所以以这种方式我们没有问题。对于红圈所示的目标和其他样本,我们有不同的特征。但是我正在寻找一种算法来告诉我第 1 组是否正在影响我在红圈点或第 2 组中的目标。为此,最好使用Causal inferenceor Active Learning

1个回答

这就是将问题表述为因果推理问题的方式:

以第 1 组为对照组,第 2 组为治疗组根据观察结果(“S-4”、“S-3”、“S-2”、“S-1”、“S+1”、“S+2”、“S+3”),模型符合观察结果。有多少模型取决于学习类型,S,T 或 X-learner

基本上,这些学习者所做的是将特征分别拟合到目标(S),条件是来自控制或处理的特征

一旦你适应了学习者,就会估计治疗效果。鉴于知识仅限于对立组,您可以将治疗效果视为对任一组的预测之间的差异

这是来自Uber 的 causalML的示例代码

from causalml.inference.meta import XGBTRegressor

y, X, treatment = load_data()


xg = XGBTRegressor(random_state=42)
te, lb, ub = xg.estimate_ate(X, treatment, y)
print('Average Treatment Effect (XGBoost): {:.2f} ({:.2f}, {:.2f})'.format(te[0], lb[0], ub[0]))