-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
is.informative(model, query, given) #42
Comments
This is not yet implemented right? |
No. This can be done using the dagitty package.
The question is:
* Which no nodal types are involved in a query
* Which nodes are d connected to these nodal types given specified data
…On Fri, 1 Sept 2023, 11:56 Till Tietz, ***@***.***> wrote:
This is not yet implemented right?
—
Reply to this email directly, view it on GitHub
<#42 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADBE57LQENFUR5YRBSPLH5LXYIVWDANCNFSM4HWI67MQ>
.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
This seems like a somewhat trickier problem. It's basically the same question we were working on with regards to graph splitting right? That is we need to figure out how missingness and confounding affect d-separation here. |
For a population yes but was thinking of this just for a case
…On Fri, 1 Sept 2023, 17:38 Till Tietz, ***@***.***> wrote:
This seems like a somewhat trickier problem. It's basically the same
question we were working on with regards to graph splitting right? That is
we need to figure out how missingness and confounding affect d-separation
here.
—
Reply to this email directly, view it on GitHub
<#42 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADBE57N2IZJM6TS4DHR5VNDXYJ52FANCNFSM4HWI67MQ>
.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
I see. How would you go about figuring this out for a case? |
something like this:
in this version you specify which thetas you need to learn about; that's
easier than having to figure them out
```
is_informative <- function(model, given_nodes, query_nodes) {
statement <-
model$statement |>
paste(";", paste0(query_nodes, " <- t_", query_nodes, collapse = "; " ))
dag <- dagitty(paste("dag{", statement, "}"))
sapply(model$nodes, function(X) {
dconnected(dag, X, query_nodes, given_nodes)})
}
model <- make_model("X -> M -> Y")
# Y is not informative about theta^X given M
is_informative(model, given_nodes = list("M"), query_nodes = "X")
# X is informative about theta^M given M
is_informative(model, given_nodes = list("M"), query_nodes = "M")
# X is not informative about theta^Y given M
is_informative(model, given_nodes = list("M"), query_nodes = "Y")
# is this right
is_informative(model, query_nodes = c("M", "Y"), given_nodes = c("X", "Y"))
```
…On Sat, Sep 2, 2023 at 2:50 AM Till Tietz ***@***.***> wrote:
I see. How would you go about figuring this out for a case?
—
Reply to this email directly, view it on GitHub
<#42 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADBE57PERSTCGE72XEN4EC3XYJ7DVANCNFSM4HWI67MQ>
.
You are receiving this because you were assigned.Message ID:
***@***.***>
|
Ahhh ok; this makes sense |
says which nodes are informative for a query given other nodes
for example:
A -> B -> C
A is not informative for B causes C given B
The text was updated successfully, but these errors were encountered: