More in this series 👇 Intro to Causality: ruclips.net/video/WqASiuM4a-A/видео.html Causal Inference: ruclips.net/video/PFBI-ZfV5rs/видео.html Intro to Causal Effects: ruclips.net/video/BOPOX_mTS0g/видео.html Propensity Scores: ruclips.net/video/dm-BWjyYQpw/видео.html Do-operator: ruclips.net/video/dejZzJIZdow/видео.html DAGs: ruclips.net/video/ASU5HG5EqTM/видео.html Regression techniques: ruclips.net/video/O72uByJlnMw/видео.html Towards Data Science article: towardsdatascience.com/causal-discovery-6858f9af6dcb?sk=2134f5b56c1ce943afdfebbf9e1dcb45
Thank you very much for this playlist! I'm doing my bachelor thesis on Learning Causal Structures form observational data and your videos are a great introdution.
Great question! At the end of the day all we are trying to do with causal discovery is to generate a model to explain our data. This is what scientists have been doing for hundreds if not thousands of years. So we can do what we always do in science, we compare our predictions against experiments. In other words, we can use the causal model to make inferences and check those inferences against reality.
Thank you for the Great video! I have a question on how to learn DAG when the variables in the data are continuous not just discrete (Boolean or categorical)?
Thanks for the question! The techniques I discussed here should work for both continuous and discrete data. However, we can always discretize a continuous variable through binning or breaking down it into quantiles.
Hello, I am trying to learn more about Causality. What I understood is often to solve causal inference (which is focused on relationship between two variables), we need a causal graph. Especially if I want to use structural causal model approach and not potential outcome framework. And a way to get the causal graph is to have strong domain knowledge. And causal Discovery method explained here seems to be another way. Please let me know if my understanding is correct.
Another question I have is are there causal models which can be used when we only have incidents data and the data around non-incidents is not available. Can apriori or causal Bayesian network models in that scenario?
Yes that sounds right. The way I see it is causal discovery is a tool we can use to derive causal models. Domain knowledge can help choose among candidate models derived from causal discovery.
@@ShawhinTalebi Thanks Shawhin. I am always working with a senior applied scientist who has solved something similar before. I will share something as soon as I have a concrete understanding!
This is really great :-) I wonder though if it works for time-series and one-time events. For example, can you infer the effect of an event (a tweet from Bidon) to an uprise of S&P index?
I can see it working for time series after a little data preparation. One-time events feel more challenging but I’m sure there is something out there for those too.
I found the cdt doc helpful: fentechsolutions.github.io/CausalDiscoveryToolbox/html/index.html I believe I ended up installing the packages list in this repo one-by-one: github.com/FenTechSolutions/CausalDiscoveryToolbox/blob/master/r_requirements.txt
Hi Oiendrila, thanks for your question! GES starts with an empty graph (i.e. nodes with no edges), then directed edges are iteratively added based on some choice of score (e.g. BIC). So unlike the PC algorithm, there is no need to oriented edges as an extra step. Hope that helps!
The simplest way is via expert domain knowledge. A more objective (and time consuming) way would be to generate predictions from the graphs and test them against experiements.
Hi Rohan, thanks for the question! The short answer is yes. This is what is used for Trick 2, where your validation metric serves as a score. One I have come across is the Bayesian Information Criterion (BIC), which is mentioned briefly in reference [1] on slide 6. However, I am sure there are others out there. Now, the nuanced answer depends on what you mean by validate. Generally we do not know the true DAG that describes our system of interest. In such cases, we have to be careful about how we evaluate the efficacy of the DAG, since we have no ground truth from which to compare. For example, BIC balances the DAG's ability to generate the underlying data with a penalty for the number of parameters (i.e. nodes and edges). Hope that helps! Shaw
That is a very good (and deep) question. Putting the philosophical implications aside, my take is we can do what we always do in science and test the DAG via experiment. If the DAG can generate predictions validated by experimental data, that may give us some confidence in its validity.
So based on the example in this video I think I can reasonably conclude that all 3 casual discovery "ticks" are more or less garbage at finding causal DAGs.
That’s fair, it’s still early for these types of techniques. In my experience, I’d say most approaches don’t give nice results for most problems out of the box. It typically takes a little TLC and insight to make things work well.
@@ShawhinTalebi can you imagine if you could accurately and automatically infer causal models and relationships from some reasonable amount of real world data full of confounders and messy chaos. You would almost become a God amongst men. Solve the stock market even.
More in this series 👇
Intro to Causality: ruclips.net/video/WqASiuM4a-A/видео.html
Causal Inference: ruclips.net/video/PFBI-ZfV5rs/видео.html
Intro to Causal Effects: ruclips.net/video/BOPOX_mTS0g/видео.html
Propensity Scores: ruclips.net/video/dm-BWjyYQpw/видео.html
Do-operator: ruclips.net/video/dejZzJIZdow/видео.html
DAGs: ruclips.net/video/ASU5HG5EqTM/видео.html
Regression techniques: ruclips.net/video/O72uByJlnMw/видео.html
Towards Data Science article: towardsdatascience.com/causal-discovery-6858f9af6dcb?sk=2134f5b56c1ce943afdfebbf9e1dcb45
Thank you very much for this playlist! I'm doing my bachelor thesis on Learning Causal Structures form observational data and your videos are a great introdution.
Wow that's so cool! Glad the videos were helpful. Good luck on your thesis 😁
how did it work out? i recall judea pearl being very sceptical with learning causal structures from observational data
Great series. If different algorithms give different causal models then how do we choose between them? Any suggestions?
Great question! At the end of the day all we are trying to do with causal discovery is to generate a model to explain our data. This is what scientists have been doing for hundreds if not thousands of years. So we can do what we always do in science, we compare our predictions against experiments.
In other words, we can use the causal model to make inferences and check those inferences against reality.
Another great vid, well done!
Glad you enjoyed it!
I’ve been waiting for this one 🙌🏾
Thanks, me too!
Thank you for the Great video!
I have a question on how to learn DAG when the variables in the data are continuous not just discrete (Boolean or categorical)?
Thanks for the question! The techniques I discussed here should work for both continuous and discrete data. However, we can always discretize a continuous variable through binning or breaking down it into quantiles.
THAT is veryyy helpful. Thanks a lot!!!
Hello, I am trying to learn more about Causality. What I understood is often to solve causal inference (which is focused on relationship between two variables), we need a causal graph. Especially if I want to use structural causal model approach and not potential outcome framework. And a way to get the causal graph is to have strong domain knowledge. And causal Discovery method explained here seems to be another way. Please let me know if my understanding is correct.
Another question I have is are there causal models which can be used when we only have incidents data and the data around non-incidents is not available. Can apriori or causal Bayesian network models in that scenario?
Yes that sounds right. The way I see it is causal discovery is a tool we can use to derive causal models. Domain knowledge can help choose among candidate models derived from causal discovery.
@@ShawhinTalebi Thanks Shawhin! I edited the reply under the comment with another question. Please let me know your thoughts on that too.
@@roopalilalwani9217 I haven't come across anything like that, but I'd be curious to learn more!
@@ShawhinTalebi Thanks Shawhin. I am always working with a senior applied scientist who has solved something similar before. I will share something as soon as I have a concrete understanding!
This is really great :-) I wonder though if it works for time-series and one-time events. For example, can you infer the effect of an event (a tweet from Bidon) to an uprise of S&P index?
I can see it working for time series after a little data preparation. One-time events feel more challenging but I’m sure there is something out there for those too.
How about rank deficient causal discovery? Can you consider that for future.
Great suggestion! I haven't used that before so looking forward to learning about it.
What do you think of latent causal variable? Doesn’t it make the problem into a black box?
I haven't looked into latent causal variables yet, but that would also be a good topic for a follow-up.
this is fantastic!
Thanks, glad you liked it :)
@@ShawhinTalebi if you don't mind, can you outline the steps you did to install the r packages? i am having tough time reproducing your results
I found the cdt doc helpful: fentechsolutions.github.io/CausalDiscoveryToolbox/html/index.html
I believe I ended up installing the packages list in this repo one-by-one: github.com/FenTechSolutions/CausalDiscoveryToolbox/blob/master/r_requirements.txt
In GES algorithm how are the direction of the edges determined?
Hi Oiendrila, thanks for your question! GES starts with an empty graph (i.e. nodes with no edges), then directed edges are iteratively added based on some choice of score (e.g. BIC). So unlike the PC algorithm, there is no need to oriented edges as an extra step.
Hope that helps!
@@ShawhinTalebi Thank you so much for your answer. Yes it helped!
Looks like different algorithm give different graphs. How to validate them? How to decide which is the best?
The simplest way is via expert domain knowledge. A more objective (and time consuming) way would be to generate predictions from the graphs and test them against experiements.
@@ShawhinTalebi Thanks
Are there metrics to validate causal models built through causal discovery?
Hi Rohan, thanks for the question! The short answer is yes. This is what is used for Trick 2, where your validation metric serves as a score. One I have come across is the Bayesian Information Criterion (BIC), which is mentioned briefly in reference [1] on slide 6. However, I am sure there are others out there.
Now, the nuanced answer depends on what you mean by validate. Generally we do not know the true DAG that describes our system of interest. In such cases, we have to be careful about how we evaluate the efficacy of the DAG, since we have no ground truth from which to compare. For example, BIC balances the DAG's ability to generate the underlying data with a penalty for the number of parameters (i.e. nodes and edges).
Hope that helps!
Shaw
Exactly, my concern is regarding cases where we do not know the true DAG. How do we ascertain the correctness of the DAG we obtained in such cases?
That is a very good (and deep) question. Putting the philosophical implications aside, my take is we can do what we always do in science and test the DAG via experiment. If the DAG can generate predictions validated by experimental data, that may give us some confidence in its validity.
So based on the example in this video I think I can reasonably conclude that all 3 casual discovery "ticks" are more or less garbage at finding causal DAGs.
That’s fair, it’s still early for these types of techniques. In my experience, I’d say most approaches don’t give nice results for most problems out of the box. It typically takes a little TLC and insight to make things work well.
@@ShawhinTalebi can you imagine if you could accurately and automatically infer causal models and relationships from some reasonable amount of real world data full of confounders and messy chaos. You would almost become a God amongst men. Solve the stock market even.
I suppose that is the dream of this kind of approach
"If you give someone a graduate degree it's not going to have any affect on their age"
My grey hairs beg to differ!
Lol 😂😂
You ever get nervous before reading a name?
lol apparently