################################################### # # # Simulation: Curve Data (Chen&Li, 1998) # # Author: Han-Ming Wu # # 2007/05/23 # ################################################### # model formula # y=sign(beta1'X + sigma * epsilon1)*log(|beta2'X + alpha + sigma2*epsilon2|) # x=(x1,...,x15) ~iid Normal(0, 1) # epsilon1, epsilon2 ~iid Normal(0, 1) # n=300, p=15 beta1 <- matrix(c(1,1,1,1,1,1,1,1,1,0,0,0,0,0,0), ncol=1) beta2 <- matrix(c(0,0,0,0,0,0,0,0,0,1,1,1,1,1,1), ncol=1) alpha <-5 p <-15 n <-300 epsilon1 <- matrix(c(rnorm(n)), ncol=1) epsilon2 <- matrix(c(rnorm(n)), ncol=1) x <- matrix(0, nrow=n, ncol=p) for(i in 1:p){ x[,i] <- rnorm(n) } sigma1 <-1 sigma2 <-1 y <- sign(x%*%beta1 + sigma1*epsilon1)*log(abs(x%*%beta2+alpha +sigma2*epsilon2)) mydataF <- data.frame(y, x) write.table(mydataF, "Curves_300x15.txt", quote=FALSE, sep='\t') mylm <- lm(y~., data=mydataF) print(summary(mylm)$r.squared)