Path: news.mathworks.com!not-for-mail From: "Tom Lane" <tlane@mathworks.nospam.com> Newsgroups: comp.soft-sys.matlab Subject: Re: How to generate correlated data based on the given real data Date: Tue, 31 May 2011 12:58:16 -0400 Organization: The MathWorks, Inc. Lines: 29 Message-ID: <is36og$3qf$1@newscl01ah.mathworks.com> References: <is168a$fk1$1@newscl01ah.mathworks.com> <is1adh$p47$1@newscl01ah.mathworks.com> <is28c3$5hc$1@newscl01ah.mathworks.com> NNTP-Posting-Host: ah-tlane.dhcp.mathworks.com Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=response Content-Transfer-Encoding: 7bit X-Trace: newscl01ah.mathworks.com 1306861136 3919 172.31.57.120 (31 May 2011 16:58:56 GMT) X-Complaints-To: news@mathworks.com NNTP-Posting-Date: Tue, 31 May 2011 16:58:56 +0000 (UTC) In-Reply-To: <is28c3$5hc$1@newscl01ah.mathworks.com> X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 14.0.8089.726 X-MimeOLE: Produced By Microsoft MimeOLE V14.0.8089.726 Xref: news.mathworks.com comp.soft-sys.matlab:729529 > First of all, thank you very much for your help. My problem is that I need > to do the load modeling in a power system. In that power system, there are > around 40 loads. Furthermore, the loads should be modeled based on a > correlation matrix. The correlation matrix is already given due to the > standards. However, I have only one single load data which the size is > 1*15000. Depending on only that load data and given correlation matrix, I > want to generate other load data(s) in the system. I hope this is more > clear. Thank you in advance. You may want to look at the copularnd function. The general idea behind a copula is to separate the marginal distribution of each variable from the dependence (correlation) structure. When you generate a matrix U from copularnd, each column is a sample from a uniform distribution, but the columns are correlated. Then you can transform each column to the distribution that you prefer. (Other posters have given ideas about how to do that.) I assume you want each separate column to have roughly the same distribution as your original 15000 values. If that's not the case, I'd need more information about how you want to define the column distributions. This may get you going in the right direction. You should be aware, though, that the correlation matrix you provide will not be the same as the correlation of U, nor the same as the correlation after transforming each column. You'll have to decide if that's a problem for you. -- Tom