My question is as follows Y~N(mu2,sigma2^2), i.e. Y has cdf F2 X generates from: X=F2^{-1}(u)+a*|u-tau|^b*I(u>0.75), where u~U(0,1)
Given tau=0.75, I want to find a and b such that E(X)-E(Y)=2 and Var(X)/Var(Y)=3 I try optim and grid seaching and get different results, any solution? Thanks, Kate ########## #R code: mu2=0.4 sigma2=4 tau=0.75 mean.diff=2 var.ratio=3 #Use optim: parameter<-function(c) { a<-c[1] b<-c[2] u<-runif(10000) Y<-qnorm(u,mean=mu2,sd=sigma2) u<-runif(10000) X<-qnorm(u,mean=mu2,sd=sigma2)+a*abs(u-tau)^b*(u>tau) return((abs(mean(X)-mean(Y))-mean.diff)^2+(var(X)/var(Y)-var.ratio)^2) } c0<-c(3,1) cstar<-optim(c0,parameter)$par astar<-cstar[1] #4.1709 bstar<-cstar[2] #-0.2578 #Use grid seaching (I randomly assign a rage (-10,100)): parameter.X<-function(a,b) { TSE<-matrix(0, length(a),length(b)) u<-runif(10000) Y<-qnorm(u,mean=mu2,sd=sigma2) u<-runif(10000) for(i in 1: length(a)) { for(j in 1: length(b)) { X<-qnorm(u,mean=mu2,sd=sigma2)+a[i]*abs(u-tau)^b[j]*(u>tau) TSE[i,j]<-(abs(mean(X)-mean(Y))-mean.diff)^2+(var(X)/var(Y)-var.ratio)^2 } } minTSE<-min(TSE) a.optimal<-a[which(TSE==min(TSE),arr.ind = TRUE)[1]] b.optimal<-b[which(TSE==min(TSE),arr.ind = TRUE)[2]] return(list(a.optimal=a.optimal,b.optimal=b.optimal,minTSE=minTSE)) } a0<-seq(-10,100,,50) b0<-seq(-10,100,,50) tse1<-parameter.X(a0,b0) astar<-tse1$a.optimal # 84.28571 bstar<-tse1$b.optimal #1.224490 ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.