generalizing
implements methods for generalizing experimental results
leveraging the invariance of probabilities of causation, as discussed in
Cinelli, C. and Pearl, J. (2020+) “Generalizing Experimental Results By
Leveraging Knowledge of Mechanisms.” European Journal of Epidemiology
(accepted).
To install the development version on GitHub make sure you have the
package devtools
installed.
# install.packages("devtools")
devtools::install_github("carloscinelli/generalizing")
The CRAN version should be available soon.
# loads package
library(generalizing)
# loads data
data("Aceh")
data("West.Java")
data("Sarlahi")
#### ACEH to WEST JAVA
# flat prior
Aceh_to_WJ <- generalize(sources = Aceh, target = West.Java, n.iter = 1e5)
# monotonic prior
Aceh_to_WJ_m <- generalize(sources = Aceh, target = West.Java,
monotonic = TRUE, n.iter = 1e5)
# posterior samples histograms
par(mfrow = c(1,2))
mark <- West.Java$n1/West.Java$N1
## hist of P(Y1 = 1) for West Java -- flat prior
hist(Aceh_to_WJ, main = "Flat prior")
abline(v = mark, col = "red", lty = 2, lwd = 2)
## hist of P(Y1 = 1) for West Java -- monotonic prior
hist(Aceh_to_WJ_m, main = "Monotonic prior")
abline(v = mark, col = "red", lty = 2, lwd = 2)
#### ACEH + WEST JAVA to SARLAHI
AcehWJ_to_Sarlahi <- generalize(sources = list(Aceh, West.Java),
target = Sarlahi,
n.iter = 1e5)
# posterior samples histograms
par(mfrow = c(1, 3))
mark <- Sarlahi$n1/Sarlahi$N1
## hist prob of sufficient for saving
hist(AcehWJ_to_Sarlahi, var = "PS01")
## hist prob of sufficient for harming
hist(AcehWJ_to_Sarlahi, var = "PS10")
## hist of P(Y1 = 1) for Sarlahi
hist(AcehWJ_to_Sarlahi, var = "P11s")
abline(v = mark, col = "red", lty = 2, lwd = 2)