##################################################
## Exp 1
##################################################
set.seed(123)
n <- 500
eps1 <- sign(rnorm(n)) * sqrt(abs(rnorm(n)))
eps2 <- runif(n) - 0.5
x2 <- eps2
x1 <- 0.9*x2 + eps1
X <- cbind(x1,x2)
trueDAG <- cbind(c(0,1),c(0,0))
## x1 <- x2
## adjacency matrix:
## 0 0
## 1 0
estDAG <- LINGAM(X, verbose = TRUE)
cat("true DAG:
")
show(trueDAG)
cat("estimated DAG:
")
show(estDAG$Adj)
##################################################
## Exp 2
##################################################
set.seed(123)
n <- 500
eps1 <- sign(rnorm(n)) * sqrt(abs(rnorm(n)))
eps2 <- runif(n) - 0.5
eps3 <- sign(rnorm(n)) * abs(rnorm(n))^(1/3)
eps4 <- rnorm(n)^2
x2 <- eps2
x1 <- 0.9*x2 + eps1
x3 <- 0.8*x2 + eps3
x4 <- -0.9*x3 - x1 + eps4
X <- cbind(x1,x2,x3,x4)
trueDAG <- cbind(c(0,1,0,0),c(0,0,0,0),c(0,1,0,0),c(1,0,1,0))
## x4 <- x3 <- x2 -> x1 -> x4
## adjacency matrix:
## 0 0 0 1
## 1 0 1 0
## 0 0 0 1
## 0 0 0 0
estDAG <- LINGAM(X, verbose = TRUE)
cat("true DAG:
")
show(trueDAG)
cat("estimated DAG:
")
show(estDAG$Adj)
Run the code above in your browser using DataLab