I would like to create a VariableElimination with multiple possible values with the pgmpy framework. The case is that I have a variable with 4 possible states, and I want to know that conditional probability of if 3 of those values are eligible. However, it is only possible to pass a single value as exact evidence for a Variable Elimination:
print(infer_non_adjust.query(variables=["success"],
evidence={'cpu_utilization_pod': 'Mid'}))
Is it possible to check evidence with more than one value, e.g. for 'Mid' and 'High'? I'm unsure whether this is feasible by using virtual evidence since there are only very few examples of documentation on that.
Unfortunately, there is no direct function to do this yet. But there are a couple of ways to still be able to compute the probability in such cases.
As you can see the values from both these approaches are close. You can also increase the sample size in the simulate method in the first approach to get more accurate results. A drawback of the second approach is that if you have a lot of evidence or query variables, computing the joint distributions might lead to memory error.