From: Stephane DRAY <stephane.dray_at_umontreal.ca>

Date: Thu 08 Jul 2004 - 05:28:45 EST

https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Jul 08 05:32:17 2004

Date: Thu 08 Jul 2004 - 05:28:45 EST

Thanks but it does not solve my problem because I would like to generate Q (X2) for a given X(X1). X is fixed. But It seems hard to do it and perhaps It would be easier to change my approach.

Thanks again for your help

At 14:55 07/07/2004, Spencer Graves wrote:

> How about generating matrices (X1|X2), dim(X1) = c(n, k1), dim(X2) =

*> c(n, k2), with mean 0 and covariance matrix as follows:
**>(S11 | S12)
**>(S21 | S22),
**>
**>with S12 = W, S22 = Z and S11 = whatever you want? With X = t(X1), and Q
**>= X2, we have E(XQ) = W and E(Q'Q) = Z.
**> This can be done using rmvnorm in package mvtnorm.
**> hope this helps. spencer graves
**>
**>Stephane DRAY wrote:
**>
**>>thanks,
**>>I want to create matrices for simulation purpose (in order to evaluate
**>>the efficiency of different methods on this simulated data set). So, I
**>>want to create a data matrix Q (m individuals and r variables). I want to
**>>specify the variance-covariance structure for this matrix (t(Q)%*%Q=Z )
**>>but I want also to create another constraint due to another matrix of
**>>data. I want that the covariance of Q and X are equal to those given in W
**>>(XQ=W).
**>>The example I gave is just to illustrate my problem and perhaps it has no
**>>solution (I cannot see it because I have no idea how to construct Q such
**>>as Q=Q1=Q2)
**>>
**>>
**>>
**>>
**>>At 00:00 07/07/2004, Spencer Graves wrote:
**>>
**>>> Is a solution even possible for the matrices in your example?
**>>>I've tried a few things that have suggested that a solution may not be
**>>>possible.
**>>> What can you tell us of the problem that you've translated into
**>>> this? I see a minimization problem subject to constraints, but I'm not
**>>> certain which are the constraints and what is the objective function.
**>>>For example, are you trying to find Q to minimize sum((Z-X'X)^2) subject
**>>>to XQ=W or do you want to minimize sum((XQ-W)^2) subject to Q'Q=Z or
**>>>something else?
**>>> If it were my problem, I think I would work for a while with the
**>>> singular value decompositions of X, W and Z, and see if that would lead
**>>> me to more information about Q, including conditions under which a
**>>> solution existed, expressions for Q when multiple solutions existed,
**>>> and a solution minimizing your chosen objective function when solutions
**>>> do not exist. (A google search produced many hits for "singular value
**>>> decomposition", implemented as "svd" in R.)
**>>> hope this helps. spencer graves
**>>>
**>>>Stephane DRAY wrote:
**>>>
**>>>>Hello,
**>>>>I have a question that is not directly related to R ... but I try to do
**>>>>it in R ;-) :
**>>>>
**>>>>I would like to generate a matrix Q satisfying (for a given Z, X and W)
**>>>>the two following conditions:
**>>>>
**>>>>t(Q)%*%Q=Z (1)
**>>>>XQ=W (2)
**>>>>
**>>>>where:
**>>>>Q is m rows and r columns
**>>>>X is p rows and m columns
**>>>>D is p rows and r columns
**>>>>C is r rows and r columns
**>>>>with m>p,r
**>>>>
**>>>>
**>>>>e.g:
**>>>>m=6,
**>>>>p=2
**>>>>r=3
**>>>>
**>>>>Z=matrix(c(1,.2,.5,.2,1,.45,.5,.45,1),3,3)
**>>>>X=matrix(c(.1,.3,.5,.6,.2,.1,.8,1,.4,.2,.2,.9),2,6)
**>>>>W=matrix(c(0,.8,.4,.6,.2,0),2,3)
**>>>>
**>>>>#Create a matrix satisfying (1) is easy:
**>>>>
**>>>>A=matrix(runif(18),6,3)
**>>>>Q1=svd(A)$u%*%chol(Z)
**>>>>
**>>>>
**>>>>#For the second condition (2), a solution is given by
**>>>>
**>>>>Q2=A%*%ginv(X%*%A)%*%W
**>>>>
**>>>>
**>>>>
**>>>>
**>>>>
**>>>>I do not know how to create a matrix Q that satisfies the two
**>>>>conditions. I have try to construct an iterative procedure without
**>>>>success (no convergence):
**>>>>
**>>>>eps=10
**>>>>i=0
**>>>>while(eps>.5)
**>>>>{
**>>>>Q1=svd(Q2)$u%*%chol(Z)
**>>>>Q2=Q1%*%ginv(X%*%Q1)%*%W
**>>>>eps=sum(abs(Q1-Q2))
**>>>>cat(i,":",eps,"\n")
**>>>>i=i+1
**>>>>}
**>>>>
**>>>>Perhaps someone could have any idea to solve the problem, or a
**>>>>reference on this kind of question or the email of another list where I
**>>>>should ask this question.
**>>>>
**>>>>Thanks in advance,
**>>>>
**>>>>Sincerely.
**>>>>
**>>>>Stéphane DRAY
**>>>>--------------------------------------------------------------------------------------------------
**>>>>
**>>>>Département des Sciences Biologiques
**>>>>Université de Montréal, C.P. 6128, succursale centre-ville
**>>>>Montréal, Québec H3C 3J7, Canada
**>>>>
**>>>>Tel : 514 343 6111 poste 1233
**>>>>E-mail : stephane.dray@umontreal.ca
**>>>>--------------------------------------------------------------------------------------------------
**>>>>
**>>>>Web
**>>>>http://www.steph280.freesurf.fr/
**>>>>
**>>>>______________________________________________
**>>>>R-help@stat.math.ethz.ch mailing list
**>>>>https://www.stat.math.ethz.ch/mailman/listinfo/r-help
**>>>>PLEASE do read the posting guide!
**>>>>http://www.R-project.org/posting-guide.html
**>>>
**>>
**>>Stéphane DRAY
**>>--------------------------------------------------------------------------------------------------
**>>
**>>Département des Sciences Biologiques
**>>Université de Montréal, C.P. 6128, succursale centre-ville
**>>Montréal, Québec H3C 3J7, Canada
**>>
**>>Tel : 514 343 6111 poste 1233
**>>E-mail : stephane.dray@umontreal.ca
**>>--------------------------------------------------------------------------------------------------
**>>
**>>Web
**>>http://www.steph280.freesurf.fr/
**>>--------------------------------------------------------------------------------------------------
**>>
*

Stéphane DRAY

Département des Sciences Biologiques

Université de Montréal, C.P. 6128, succursale centre-ville
Montréal, Québec H3C 3J7, Canada

Tel : 514 343 6111 poste 1233

E-mail : stephane.dray@umontreal.ca

Web http://www.steph280.freesurf.fr/ ______________________________________________R-help@stat.math.ethz.ch mailing list

https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Jul 08 05:32:17 2004

*
This archive was generated by hypermail 2.1.8
: Wed 03 Nov 2004 - 22:54:45 EST
*