dowhy
dowhy copied to clipboard
Is there a convenient method to test the assumptions in the model?
In DAGitty, it will generate the code to test the independent assumptions in the model.
Is there any similar function in dowhy?
sth like this in R
testImplications <- function( covariance.matrix, sample.size ){
library(ggm)
tst <- function(i){ pcor.test( pcor(i,covariance.matrix), length(i)-2, sample.size )$pvalue }
tos <- function(i){ paste(i,collapse=" ") }
implications <- list(c("AMT_CREDIT","APARTMENTS_AVG"),
c("AMT_CREDIT","CNT_FAM_MEMBERS"),
c("AMT_CREDIT","DAYS_BIRTH","AMT_INCOME_TOTAL"),
c("AMT_CREDIT","DAYS_EMPLOYED"),
c("AMT_CREDIT","DAYS_ID_PUBLISH"),
c("AMT_CREDIT","FLAG_CONT_MOBILE"),
c("AMT_CREDIT","FLAG_EMAIL"),
c("AMT_CREDIT","FLAG_EMP_PHONE"),
c("AMT_CREDIT","FLAG_MOBIL"),
c("AMT_CREDIT","FLAG_OWN_CAR"),
c("AMT_CREDIT","NAME_EDUCATION_TYPE","AMT_INCOME_TOTAL"),
c("AMT_CREDIT","NAME_FAMILY_STATUS"),
c("AMT_CREDIT","NAME_HOUSING_TYPE"),
c("AMT_CREDIT","NAME_INCOME_TYPE","AMT_INCOME_TOTAL"),
c("AMT_CREDIT","OCCUPATION_TYPE","NAME_INCOME_TYPE"),
c("AMT_CREDIT","OCCUPATION_TYPE","AMT_INCOME_TOTAL"),
c("AMT_CREDIT","ORGANIZATION_TYPE","NAME_INCOME_TYPE"),
c("AMT_CREDIT","ORGANIZATION_TYPE","AMT_INCOME_TOTAL"),
c("AMT_INCOME_TOTAL","APARTMENTS_AVG"),
c("AMT_INCOME_TOTAL","CNT_FAM_MEMBERS"),
c("AMT_INCOME_TOTAL","DAYS_EMPLOYED"),
c("AMT_INCOME_TOTAL","DAYS_ID_PUBLISH"),
c("AMT_INCOME_TOTAL","FLAG_CONT_MOBILE"),
c("AMT_INCOME_TOTAL","FLAG_EMAIL"),
c("AMT_INCOME_TOTAL","FLAG_EMP_PHONE"),
c("AMT_INCOME_TOTAL","FLAG_MOBIL"),
c("AMT_INCOME_TOTAL","FLAG_OWN_CAR"),
c("AMT_INCOME_TOTAL","NAME_FAMILY_STATUS"),
c("AMT_INCOME_TOTAL","NAME_HOUSING_TYPE"),
c("AMT_INCOME_TOTAL","OCCUPATION_TYPE","NAME_INCOME_TYPE"),
c("AMT_INCOME_TOTAL","ORGANIZATION_TYPE","NAME_INCOME_TYPE"),
c("APARTMENTS_AVG","CNT_FAM_MEMBERS"),
c("APARTMENTS_AVG","DAYS_BIRTH"),
c("APARTMENTS_AVG","DAYS_EMPLOYED"),
c("APARTMENTS_AVG","DAYS_ID_PUBLISH"),
c("APARTMENTS_AVG","FLAG_CONT_MOBILE"),
c("APARTMENTS_AVG","FLAG_EMAIL"),
c("APARTMENTS_AVG","FLAG_EMP_PHONE"),
c("APARTMENTS_AVG","FLAG_MOBIL"),
c("APARTMENTS_AVG","FLAG_OWN_CAR"),
c("APARTMENTS_AVG","NAME_EDUCATION_TYPE"),
c("APARTMENTS_AVG","NAME_FAMILY_STATUS"),
c("APARTMENTS_AVG","NAME_HOUSING_TYPE"),
c("APARTMENTS_AVG","NAME_INCOME_TYPE"),
c("APARTMENTS_AVG","OCCUPATION_TYPE"),
c("APARTMENTS_AVG","ORGANIZATION_TYPE"),
c("CNT_FAM_MEMBERS","DAYS_BIRTH"),
c("CNT_FAM_MEMBERS","DAYS_EMPLOYED"),
c("CNT_FAM_MEMBERS","DAYS_ID_PUBLISH"),
c("CNT_FAM_MEMBERS","FLAG_CONT_MOBILE"),
c("CNT_FAM_MEMBERS","FLAG_EMAIL"),
c("CNT_FAM_MEMBERS","FLAG_EMP_PHONE"),
c("CNT_FAM_MEMBERS","FLAG_MOBIL"),
c("CNT_FAM_MEMBERS","FLAG_OWN_CAR"),
c("CNT_FAM_MEMBERS","NAME_EDUCATION_TYPE"),
c("CNT_FAM_MEMBERS","NAME_FAMILY_STATUS"),
c("CNT_FAM_MEMBERS","NAME_HOUSING_TYPE"),
c("CNT_FAM_MEMBERS","NAME_INCOME_TYPE"),
c("CNT_FAM_MEMBERS","OCCUPATION_TYPE"),
c("CNT_FAM_MEMBERS","ORGANIZATION_TYPE"),
c("DAYS_BIRTH","DAYS_EMPLOYED"),
c("DAYS_BIRTH","DAYS_ID_PUBLISH"),
c("DAYS_BIRTH","FLAG_CONT_MOBILE"),
c("DAYS_BIRTH","FLAG_EMAIL"),
c("DAYS_BIRTH","FLAG_EMP_PHONE"),
c("DAYS_BIRTH","FLAG_MOBIL"),
c("DAYS_BIRTH","FLAG_OWN_CAR"),
c("DAYS_BIRTH","NAME_EDUCATION_TYPE"),
c("DAYS_BIRTH","NAME_FAMILY_STATUS"),
c("DAYS_BIRTH","NAME_HOUSING_TYPE"),
c("DAYS_BIRTH","NAME_INCOME_TYPE"),
c("DAYS_BIRTH","OCCUPATION_TYPE"),
c("DAYS_BIRTH","ORGANIZATION_TYPE"),
c("DAYS_EMPLOYED","DAYS_ID_PUBLISH"),
c("DAYS_EMPLOYED","FLAG_CONT_MOBILE"),
c("DAYS_EMPLOYED","FLAG_EMAIL"),
c("DAYS_EMPLOYED","FLAG_EMP_PHONE"),
c("DAYS_EMPLOYED","FLAG_MOBIL"),
c("DAYS_EMPLOYED","FLAG_OWN_CAR"),
c("DAYS_EMPLOYED","NAME_EDUCATION_TYPE"),
c("DAYS_EMPLOYED","NAME_FAMILY_STATUS"),
c("DAYS_EMPLOYED","NAME_HOUSING_TYPE"),
c("DAYS_EMPLOYED","NAME_INCOME_TYPE"),
c("DAYS_EMPLOYED","OCCUPATION_TYPE"),
c("DAYS_EMPLOYED","ORGANIZATION_TYPE"),
c("DAYS_ID_PUBLISH","FLAG_CONT_MOBILE"),
c("DAYS_ID_PUBLISH","FLAG_EMAIL"),
c("DAYS_ID_PUBLISH","FLAG_EMP_PHONE"),
c("DAYS_ID_PUBLISH","FLAG_MOBIL"),
c("DAYS_ID_PUBLISH","FLAG_OWN_CAR"),
c("DAYS_ID_PUBLISH","NAME_EDUCATION_TYPE"),
c("DAYS_ID_PUBLISH","NAME_FAMILY_STATUS"),
c("DAYS_ID_PUBLISH","NAME_HOUSING_TYPE"),
c("DAYS_ID_PUBLISH","NAME_INCOME_TYPE"),
c("DAYS_ID_PUBLISH","OCCUPATION_TYPE"),
c("DAYS_ID_PUBLISH","ORGANIZATION_TYPE"),
c("FLAG_CONT_MOBILE","FLAG_EMAIL"),
c("FLAG_CONT_MOBILE","FLAG_EMP_PHONE"),
c("FLAG_CONT_MOBILE","FLAG_OWN_CAR"),
c("FLAG_CONT_MOBILE","NAME_EDUCATION_TYPE"),
c("FLAG_CONT_MOBILE","NAME_FAMILY_STATUS"),
c("FLAG_CONT_MOBILE","NAME_HOUSING_TYPE"),
c("FLAG_CONT_MOBILE","NAME_INCOME_TYPE"),
c("FLAG_CONT_MOBILE","OCCUPATION_TYPE"),
c("FLAG_CONT_MOBILE","ORGANIZATION_TYPE"),
c("FLAG_EMAIL","FLAG_EMP_PHONE"),
c("FLAG_EMAIL","FLAG_MOBIL"),
c("FLAG_EMAIL","FLAG_OWN_CAR"),
c("FLAG_EMAIL","NAME_EDUCATION_TYPE"),
c("FLAG_EMAIL","NAME_FAMILY_STATUS"),
c("FLAG_EMAIL","NAME_HOUSING_TYPE"),
c("FLAG_EMAIL","NAME_INCOME_TYPE"),
c("FLAG_EMAIL","OCCUPATION_TYPE"),
c("FLAG_EMAIL","ORGANIZATION_TYPE"),
c("FLAG_EMP_PHONE","FLAG_MOBIL"),
c("FLAG_EMP_PHONE","FLAG_OWN_CAR"),
c("FLAG_EMP_PHONE","NAME_EDUCATION_TYPE"),
c("FLAG_EMP_PHONE","NAME_FAMILY_STATUS"),
c("FLAG_EMP_PHONE","NAME_HOUSING_TYPE"),
c("FLAG_EMP_PHONE","NAME_INCOME_TYPE"),
c("FLAG_EMP_PHONE","OCCUPATION_TYPE"),
c("FLAG_EMP_PHONE","ORGANIZATION_TYPE"),
c("FLAG_MOBIL","FLAG_OWN_CAR"),
c("FLAG_MOBIL","NAME_EDUCATION_TYPE"),
c("FLAG_MOBIL","NAME_FAMILY_STATUS"),
c("FLAG_MOBIL","NAME_HOUSING_TYPE"),
c("FLAG_MOBIL","NAME_INCOME_TYPE"),
c("FLAG_MOBIL","OCCUPATION_TYPE"),
c("FLAG_MOBIL","ORGANIZATION_TYPE"),
c("FLAG_MOBIL","TARGET","FLAG_CONT_MOBILE"),
c("FLAG_OWN_CAR","NAME_EDUCATION_TYPE"),
c("FLAG_OWN_CAR","NAME_FAMILY_STATUS"),
c("FLAG_OWN_CAR","NAME_HOUSING_TYPE"),
c("FLAG_OWN_CAR","NAME_INCOME_TYPE"),
c("FLAG_OWN_CAR","OCCUPATION_TYPE"),
c("FLAG_OWN_CAR","ORGANIZATION_TYPE"),
c("NAME_EDUCATION_TYPE","NAME_FAMILY_STATUS"),
c("NAME_EDUCATION_TYPE","NAME_HOUSING_TYPE"),
c("NAME_EDUCATION_TYPE","NAME_INCOME_TYPE"),
c("NAME_EDUCATION_TYPE","OCCUPATION_TYPE"),
c("NAME_EDUCATION_TYPE","ORGANIZATION_TYPE"),
c("NAME_EDUCATION_TYPE","TARGET","NAME_INCOME_TYPE","DAYS_BIRTH","AMT_INCOME_TOTAL"),
c("NAME_FAMILY_STATUS","NAME_HOUSING_TYPE"),
c("NAME_FAMILY_STATUS","NAME_INCOME_TYPE"),
c("NAME_FAMILY_STATUS","OCCUPATION_TYPE"),
c("NAME_FAMILY_STATUS","ORGANIZATION_TYPE"),
c("NAME_HOUSING_TYPE","NAME_INCOME_TYPE"),
c("NAME_HOUSING_TYPE","OCCUPATION_TYPE"),
c("NAME_HOUSING_TYPE","ORGANIZATION_TYPE"),
c("OCCUPATION_TYPE","ORGANIZATION_TYPE"))
data.frame( implication=unlist(lapply(implications,tos)),
pvalue=unlist( lapply( implications, tst ) ) )
}
We do not support it currently. That's been on the desired features list for some time. Will add it for the December release.