From: Spencer Graves <spencer.graves_at_pdf.com>

Date: Thu 08 Jul 2004 - 04:55:29 EST

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:01:24 2004

Date: Thu 08 Jul 2004 - 04:55:29 EST

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/
**> --------------------------------------------------------------------------------------------------
**>
**>
*

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:01:24 2004

*
This archive was generated by hypermail 2.1.8
: Fri 18 Mar 2005 - 02:34:54 EST
*