IP Library Granted Patent US 12670421
Granted Patent B2
US 12670421 · App. 17/671,082 · Granted Jun 30, 2026

Individual treatment assignment from mixture of interventions

Inventors: Gaurav Sinha (Bangalore, IN); Abhinav Kumar (Amdiha, IN)
Assignee: ADOBE INC.
G06N7/01G06F16/2365G06Q30/0242G16H50/70
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12670421
App. No.
17/671,082
Granted
Jun 30, 2026
Kind
B2
Abstract

An analytics system identifies interventions for individual samples from a set of samples with a mixture of interventions. Given a causal graph, a set of baseline samples, and a set of samples with interventions, a set of intervention tuples is determined that represents the mixture of interventions for the set of samples with interventions. Each intervention tuple in the set of intervention tuples identifies an intervention and a mixing coefficient representing a percentage of samples with the intervention. An iterative process is used in which a set of intervention tuples is determined for N variables and then lifted to a set of intervention tuples for N+1 variables until all variables from the causal graph have been considered, providing a final set of intervention tuples. The final set of intervention tuples is used to match individual samples from the set of samples with interventions to interventions.

Claims (82)

1 . A computerized method comprising:

receiving, by one or more processors, (i) a causal graph defining causal relationships among a plurality of variables, (ii) a set of baseline samples drawn from a baseline distribution associated with the causal graph, and (iii) a set of samples drawn from a mixture distribution corresponding to a mixture of interventions affecting at least a portion of the set of samples;

estimating, by one or more processors, from the set of baseline samples and the set of samples drawn from the mixture distribution, one or more probability distributions over subsets of the plurality of variables;

enforcing, by one or more processors, positivity on the one or more probability distributions by perturbing at least one of the one or more probability distributions such that probabilities in the at least one of the one or more probability distributions are non-zero;

iteratively determining, by the one or more processors, a final set of intervention tuples for the plurality of variables from the causal graph, each intervention tuple identifying (i) an intervention that sets one or more variables to respective values and (ii) a mixing coefficient representing a fraction of the set of samples drawn from the mixture distribution attributable to the intervention, the iteratively determining comprising:

selecting variables from the causal graph for a current iteration based on a topological ordering of the causal graph,

determining a set of intervention tuples for N variables by forming a system of equations using the one or more probability distributions and enforcing exclusion by repeatedly setting a mixing coefficient to zero to generate a plurality of candidate sets of intervention tuples,

lifting the set of intervention tuples for the N variables to a set of invention intervention tuples for N+1 variables using (i) the set of intervention tuples for the N variables and (ii) estimated probability distributions for the N+1 variables,

pruning intervention tuples having mixing coefficients below a threshold and renormalizing remaining mixing coefficients, and

repeating the selecting, determining, lifting, and applying by incrementing N until the final set of intervention tuples is generated for the plurality of variables;

assigning, by the one or more processors, each sample from at least a portion of the set of samples with interventions to an intervention using the final set of intervention tuples; and

storing, in computer memory, an association between (i) sample identifiers for the portion of the set of samples and (ii) respective assigned interventions to provide a labeled dataset for a causal analytics process.

2 . The computerized method of claim 1 , wherein determining the set of intervention tuples for a first variable at a first iteration comprises:

generating estimated probability distributions for the first variable by marginalizing data from the set of baseline samples and the set of samples with interventions;

generating a first system of equations to determine mixing coefficients for interventions for the first variable;

generating a first plurality of candidate sets of intervention tuples for the first variable by repeatedly setting each mixing coefficient in the first system of equations to zero and solving the first system of equations using the estimated probability distributions for the first variable; and

selecting the set of intervention tuples for the first variable from the first plurality of candidate sets of intervention tuples.

3 . The computerized method of claim 2 , wherein generating the estimated probability distributions for the first variable includes perturbing the estimated probability distributions such that all probabilities are non-zero.

4 . The computerized method of claim 2 , wherein a first mixing coefficient for a first intervention tuple in the set of intervention tuples for the first variable is set to zero based on the first mixing coefficient being below a threshold and other mixing coefficients are renormalized based on setting the first mixing coefficient to zero.

5 . The computerized method of claim 2 , wherein the set of intervention tuples for the first variable is selected from the first plurality of candidate sets of intervention tuples by:

computing an L2 norm for each candidate set of intervention tuples; and

selecting a candidate set of intervention tuples with a lowest L2 norm.

6 . The computerized method of claim 2 , wherein determining the set of intervention tuples for the first variable and a second variable at the first iteration comprises:

generating estimated probability distributions for the first variable and the second variable using the set of baseline samples and the set of samples with interventions;

generating a second system of equations to determine mixing coefficients for interventions for the first variable and the second variable;

generating a second plurality of candidate sets of intervention tuples for the first variable and the second variable by repeatedly setting each mixing coefficient in the second system of equations to zero and solving the second system of equations using the set of intervention tuples for the first variable and the estimated probability distributions for the first variable and the second variable; and

selecting the set of intervention tuples for the first variable and the second variable from the second plurality of candidate sets of intervention tuples.

7 . The computerized method of claim 6 , wherein determining the set of intervention tuples for the first variable, the second variable, and a third variable at a second iteration comprises:

generating estimated probability distributions for the first variable, the second variable, and the third variable using the set of baseline samples and the set of samples with interventions;

generating a third system of equations to determine mixing coefficients for interventions for the first variable, the second variable, and the third variable;

generating a third plurality of candidate sets of intervention tuples for the first variable, the second variable, and the third variable by repeatedly setting each mixing coefficient in the third system of equations to zero and solving the third system of equations using the set of intervention tuples for the first variable and the second variable and the estimated probability distributions for the first variable, the second variable, and the third variable; and

selecting the set of intervention tuples for the first variable, the second variable, and the third variable from the third plurality of candidate sets of intervention tuples.

8 . One or more computer storage media storing computer-useable instructions that, when used by a computing device, cause the computing device to perform operations, the operations comprising:

receiving (i) a causal graph defining causal relationships among a plurality of variables, (ii) a set of baseline samples drawn from a baseline distribution associated with the causal graph, and (iii) a set of samples drawn from a mixture distribution corresponding to a mixture of interventions affecting at least a portion of the set of samples;

estimating, from the set of baseline samples and the set of samples drawn from the mixture distribution, one or more probability distributions over subsets of the plurality of variables;

enforcing positivity on the one or more probability distributions by perturbing at least one of the one or more probability distributions such that probabilities in the at least one of the one or more probability distributions are non-zero;

iteratively determining a final set of intervention tuples for the plurality of variables from the causal graph, each intervention tuple identifying (i) an intervention that sets one or more variables to respective values and (ii) a mixing coefficient representing a fraction of the set of samples drawn from the mixture distribution attributable to the intervention, the iteratively determining comprising:

selecting variables from the causal graph for a current iteration based on a topological ordering of the causal graph,

determining a set of intervention tuples for N variables by forming a system of equations using the one or more probability distributions and enforcing exclusion by repeatedly setting a mixing coefficient to zero to generate a plurality of candidate sets of intervention tuples,

lifting the set of intervention tuples for the N variables to a set of intervention tuples for N+1 variables using (i) the set of intervention tuples for the N variables and (ii) estimated probability distributions for the N+1 variables,

pruning intervention tuples having mixing coefficients below a threshold and renormalizing remaining mixing coefficients, and

repeating the selecting, determining, lifting, and applying by incrementing N until the final set of intervention tuples is generated for the plurality of variables;

assigning each sample from at least a portion of the set of samples with interventions to an intervention using the final set of intervention tuples; and

storing, in computer memory, an association between (i) sample identifiers for the portion of the set of samples and (ii) respective assigned interventions to provide a labeled dataset for a causal analytics process.

9 . The one or more computer storage media of claim 8 , wherein determining the set of intervention tuples for a first variable at a first iteration comprises generating estimated probability distributions for the first variable that includes perturbing the estimated probability distributions such that all probabilities are non-zero.

10 . The one or more computer storage media of claim 9 , wherein a first mixing coefficient for a first intervention tuple in the selected set of intervention tuples for the first variable is set to zero based on the first mixing coefficient being below a threshold and other mixing coefficients are renormalized based on setting the first mixing coefficient to zero.

11 . The one or more computer storage media of claim 9 , wherein the set of intervention tuples for the first variable is selected from a first plurality of candidate sets of intervention tuples for the first variable by:

computing an L2 norm for each candidate set of intervention tuples; and

selecting a candidate set of intervention tuples with a lowest L2 norm.

12 . The one or more computer storage media of claim 9 , wherein;

generating estimated probability distributions for the first variable and a second variable from the causal graph using the set of baseline samples and the set of samples with interventions;

generating a second system of equations to determine mixing coefficients for interventions for the first variable and the second variable;

generating a second plurality of candidate sets of intervention tuples for the first variable and the second variable by repeatedly setting each mixing coefficient in the second system of equations to zero and solving the second system of equations using the set of intervention tuples for the first variable and the estimated probability distributions for the first variable and the second variable; and

selecting a set of intervention tuples for the first variable and the second variable from the second plurality of candidate sets of intervention tuples.

13 . A computer system comprising:

a processor; and

a computer storage medium storing computer-useable instructions that, when used by the processor, causes the computer system to perform operations comprising:

receiving, by the processor, (i) a causal graph defining causal relationships among a plurality of variables, (ii) a set of baseline samples drawn from a baseline distribution associated with the causal graph, and (iii) a set of samples drawn from a mixture distribution corresponding to a mixture of interventions affecting at least a portion of the set of samples;

estimating, from the set of baseline samples and the set of samples drawn from the mixture distribution, one or more probability distributions over subsets of the plurality of variables;

enforcing positivity on the one or more probability distributions by perturbing at least one of the one or more probability distributions such that probabilities in the at least one of the one or more probability distributions are non-zero;

iteratively determining a final set of intervention tuples for the plurality of variables from the causal graph, each intervention tuple identifying (i) an intervention that sets one or more variables to respective values and (ii) a mixing coefficient representing a fraction of the set of samples drawn from the mixture distribution attributable to the intervention, the iteratively determining comprising:

selecting variables from the causal graph for a current iteration based on a topological ordering of the causal graph,

determining a set of intervention tuples for N variables by forming a system of equations using the one or more probability distributions and enforcing exclusion by repeatedly setting a mixing coefficient to zero to generate a plurality of candidate sets of intervention tuples,

lifting the set of intervention tuples for the N variables to a set of intervention tuples for N+1 variables using (i) the set of intervention tuples for the N variables and (ii) estimated probability distributions for the N+1 variables,

pruning intervention tuples having mixing coefficients below a threshold and renormalizing remaining mixing coefficients, and

repeating the selecting, determining, lifting, and applying by incrementing N until the final set of intervention tuples is generated for the plurality of variables;

assigning each sample from at least a portion of the set of samples with interventions to an intervention using the final set of intervention tuples; and

storing, in computer memory, an association between (i) sample identifiers for the portion of the set of samples and (ii) respective assigned interventions to provide a labeled dataset for a causal analytics process.

14 . The system of claim 13 , wherein determining the set of intervention tuples for a first variable at a first iteration comprises:

generating estimated probability distributions for the first variable by marginalizing data from the set of baseline samples and the set of samples with interventions, wherein generating the estimated probability distributions for the first variable includes perturbing the estimated probability distributions such that all probabilities are non-zero;

generating a first system of equations to determine mixing coefficients for interventions for the first variable;

generating a first plurality of candidate sets of intervention tuples for the first variable by repeatedly setting each mixing coefficient in the first system of equations to zero and solving the first system of equations using the estimated probability distributions for the first variable; and

selecting the set of intervention tuples for the first variable from the first plurality of candidate sets of intervention tuples.

15 . The system of claim 14 , wherein a first mixing coefficient for a first intervention tuple in the set of intervention tuples the set of intervention tuples for the first variable is set to zero based on the first mixing coefficient being below a threshold and other mixing coefficients are renormalized based on setting the first mixing coefficient to zero.

16 . The system of claim 14 , wherein the set of intervention tuples for the first variable is selected from the first plurality of candidate sets of intervention tuples by:

computing an L2 norm for each candidate set of intervention tuples; and

selecting a candidate set of intervention tuples with a lowest L2 norm.

17 . The system of claim 14 , wherein determining the set of intervention tuples for the first variable and a second variable at the first iteration comprises:

generating estimated probability distributions for the first variable and the second variable using the set of baseline samples and the set of samples with interventions;

generating a second system of equations to determine mixing coefficients for interventions for the first variable and the second variable;

generating a second plurality of candidate sets of intervention tuples for the first variable and the second variable by repeatedly setting each mixing coefficient in the second system of equations to zero and solving the second system of equations using the set of intervention tuples for the first variable and the estimated probability distributions for the first variable and the second variable; and

selecting the set of intervention tuples for the first variable and the second variable from the second plurality of candidate sets of intervention tuples.