<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: COV matrix incomplete in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368741#M275478</link>
    <description>&lt;P&gt;Hello.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So there are a few things going on here. &amp;nbsp;&lt;/P&gt;&lt;P&gt;The first thing I noticed is that after running a Proc Print, your _Name_ variable is being truncated as you can see below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Obs    _TYPE_     _NAME_     variable1    variable2    variable3     variable4

1      COV      variable       0.739      0.27611      0.10006         470.11
2      COV      variable       0.876      0.32743      0.64827           0.61
3      COV      variable       0.900      0.84827      0.16381           0.56
4      COV      variable     470.109      0.61195      0.35822     5474224.27&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To fix this issue, specify a length for the variable ($10. for example)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data RandomValueGeneratorStatistics (type=COV) ; 
input _TYPE_ $ _NAME_ $10. variable1 variable2 variable3 variable4; 
datalines ; 
COV variable1  0.739191357 0.276109171 0.100056621 470.1092606
COV variable2  0.876109171 0.327432304 0.648272489 0.611948925
COV variable3  0.900056621 0.848272489 0.163812314 0.558222994
COV variable4  470.1092606 0.611948925 0.358222994 5474224.269
MEAN           4.217123172 41.69388108 4.893316488 8606.147733
;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After making this change and running a Proc Print the output now looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Obs    _TYPE_     _NAME_      variable1    variable2    variable3     variable4

1      COV      variable1       0.739       0.2761      0.10006         470.11
2      COV      variable2       0.876       0.3274      0.64827           0.61
3      COV      variable3       0.900       0.8483      0.16381           0.56
4      COV      variable4     470.109       0.6119      0.35822     5474224.27
5      MEAN                     4.217      41.6939      4.89332        8606.15&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Making this change will fix the error you are currently getting but running the SIMNORM procedure will still produce other errors. &amp;nbsp;I'm not that familiar with the SIMNORM procedure but I believe that you need to make sure that your matrix is both symmetric and positive definite (Your current input matrix does not satisfy these parameters).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this at least helps you get going in the right direction&lt;/P&gt;</description>
    <pubDate>Tue, 20 Jun 2017 14:29:34 GMT</pubDate>
    <dc:creator>jdwaterman91</dc:creator>
    <dc:date>2017-06-20T14:29:34Z</dc:date>
    <item>
      <title>COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368465#M275476</link>
      <description>&lt;P&gt;I'm brand new to SAS, trying to use it to generate random values for four, normally-distributed, collinear variables. A colleague of mine has prepared the following code, but it throws "ERROR: COV matrix is incomplete in data set."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Data RandomValueGeneratorStatistics (type=COV) ; 
input _TYPE_ $ _NAME_ $ variable1 variable2 variable3 variable4; 
datalines ; 
COV variable1  0.739191357 0.276109171 0.100056621 470.1092606
COV variable2  0.876109171 0.327432304 0.648272489 0.611948925
COV variable3  0.900056621 0.848272489 0.163812314 0.558222994
COV variable4  470.1092606 0.611948925 0.358222994 5474224.269
MEAN           4.217123172 41.69388108 4.893316488 8606.147733
;
run; 

Proc Simnorm data=RandomValueGeneratorStatistics outsim=ssim 
numreal = 1000 
seed = 54321 ; 
var variable1 variable2 variable3 variable4 ; 
run;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using version 6.100.0.2870. Any ideas as to why? Please share. Thanks for your help!&lt;/P&gt;</description>
      <pubDate>Mon, 19 Jun 2017 20:10:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368465#M275476</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-19T20:10:10Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368732#M275477</link>
      <description>&lt;P&gt;I should say EG 6.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it possible that the variable names as specified are too long, and so causing the matrix to be read-in incorrectly?&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 14:16:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368732#M275477</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-20T14:16:10Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368741#M275478</link>
      <description>&lt;P&gt;Hello.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So there are a few things going on here. &amp;nbsp;&lt;/P&gt;&lt;P&gt;The first thing I noticed is that after running a Proc Print, your _Name_ variable is being truncated as you can see below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Obs    _TYPE_     _NAME_     variable1    variable2    variable3     variable4

1      COV      variable       0.739      0.27611      0.10006         470.11
2      COV      variable       0.876      0.32743      0.64827           0.61
3      COV      variable       0.900      0.84827      0.16381           0.56
4      COV      variable     470.109      0.61195      0.35822     5474224.27&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To fix this issue, specify a length for the variable ($10. for example)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data RandomValueGeneratorStatistics (type=COV) ; 
input _TYPE_ $ _NAME_ $10. variable1 variable2 variable3 variable4; 
datalines ; 
COV variable1  0.739191357 0.276109171 0.100056621 470.1092606
COV variable2  0.876109171 0.327432304 0.648272489 0.611948925
COV variable3  0.900056621 0.848272489 0.163812314 0.558222994
COV variable4  470.1092606 0.611948925 0.358222994 5474224.269
MEAN           4.217123172 41.69388108 4.893316488 8606.147733
;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;After making this change and running a Proc Print the output now looks like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;Obs    _TYPE_     _NAME_      variable1    variable2    variable3     variable4

1      COV      variable1       0.739       0.2761      0.10006         470.11
2      COV      variable2       0.876       0.3274      0.64827           0.61
3      COV      variable3       0.900       0.8483      0.16381           0.56
4      COV      variable4     470.109       0.6119      0.35822     5474224.27
5      MEAN                     4.217      41.6939      4.89332        8606.15&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Making this change will fix the error you are currently getting but running the SIMNORM procedure will still produce other errors. &amp;nbsp;I'm not that familiar with the SIMNORM procedure but I believe that you need to make sure that your matrix is both symmetric and positive definite (Your current input matrix does not satisfy these parameters).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I hope this at least helps you get going in the right direction&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 14:29:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368741#M275478</guid>
      <dc:creator>jdwaterman91</dc:creator>
      <dc:date>2017-06-20T14:29:34Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368751#M275479</link>
      <description>&lt;PRE&gt;COV matrix should be symmetric . And why not use IML ?  

Data RandomValueGeneratorStatistics (type=COV) ; 
input _TYPE_ $ _NAME_ $ variable1 variable2 variable3 variable4; 
datalines ; 
COV variable1  0.739191357 0.276109171 0.100056621 470.1092606
COV variable2  0.876109171 0.327432304 0.648272489 0.611948925
COV variable3  0.900056621 0.848272489 0.163812314 0.558222994
COV variable4  470.1092606 0.611948925 0.358222994 5474224.269
MEAN    .       4.217123172 41.69388108 4.893316488 8606.147733
;
run; 
proc iml;
use RandomValueGeneratorStatistics;
read all var{variable1 variable2 variable3 variable4} where(_TYPE_='MEAN') into mean;
read all var{variable1 variable2 variable3 variable4} where(_TYPE_='COV') into cov;
close;

n=1000;
call randseed(123456789);
x=randnormal(n,mean,cov);

create want from x;
append from x;
close;
quit;

proc corr data=want cov;
run;   &lt;/PRE&gt;</description>
      <pubDate>Tue, 20 Jun 2017 14:32:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368751#M275479</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-06-20T14:32:57Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368765#M275480</link>
      <description>&lt;P&gt;Thanks for your help &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp&lt;/a&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The matrix I'm actually using is in fact symmetric now. I don't have an IML license unfortunately. Any more ideas? Thanks for your help.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 14:49:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368765#M275480</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-20T14:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368818#M275481</link>
      <description>&lt;P&gt;Thanks for your help &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/137664"&gt;@jdwaterman91&lt;/a&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I adjusted the variable length parameter and made sure the matrix I'm actually using is symmetric (I had mistyped some entries).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What is meant by 'positive-definite'? Is this a reason, that my matrix is not such, I mean, that I still throw "ERROR: COV matrix is incomplete in data set?" Thanks for your help.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 16:41:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368818#M275481</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-20T16:41:57Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368855#M275482</link>
      <description>&lt;P&gt;A matrix is positive-definite if all of its eigenvalues are positive.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The SAS Log would write the following error message if your matrix was not positive-definite.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ERROR: Invalid covariance or conditional covariance matrix; matrix is not positive definite.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;As far as making sure that your matrix satisfies these parameters for your purposes, there are experts in this community that are far more experienced than I&amp;nbsp;and would probably do a lot better of a job explaining what exactly you need to do/possibly provide some alternative methods for achieving your result. I will defer to them.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 18:10:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368855#M275482</guid>
      <dc:creator>jdwaterman91</dc:creator>
      <dc:date>2017-06-20T18:10:55Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368862#M275483</link>
      <description>&lt;P&gt;Appreciate your help very much, thanks &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/137664"&gt;@jdwaterman91&lt;/a&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Am now using this matrix:&lt;/P&gt;&lt;PRE&gt;COV variable1 0.999368288 0.009398213 0.075083647 0.453177098
COV variable2 0.009398213 0.000155024 0.000878636 0.006372190
COV variable3 0.075083647 0.000878636 0.008894056 0.043200581
COV variable4 0.453177098 0.006372190 0.043200581 0.999368288
MEAN          3.217123172 42.69388108 3.893316488 8605.147733&lt;/PRE&gt;&lt;P&gt;receive 'ERROR: COV matrix incomplete in data set'.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is it possible that certain of the matrix items are so small that they are interpreted incorrectly, (e.g. 0.000155024)?&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 19:09:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368862#M275483</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-20T19:09:33Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368878#M275484</link>
      <description>&lt;P&gt;Due to your spacing try setting the length of the Name Variable = to $9. instead of $10.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 18:49:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368878#M275484</guid>
      <dc:creator>jdwaterman91</dc:creator>
      <dc:date>2017-06-20T18:49:58Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368879#M275485</link>
      <description>&lt;P&gt;I did do so..no luck unfortunately.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 18:52:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368879#M275485</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-20T18:52:41Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368881#M275486</link>
      <description>&lt;P&gt;This is the code I have based on what you've posted so far:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data RandomValueGeneratorStatistics (type=COV) ; 
input _TYPE_ $ _NAME_ $9. variable1 variable2 variable3 variable4; 
datalines ; 
COV variable1 0.999368288 0.009398213 0.075083647 0.453177098
COV variable2 0.009398213 0.000155024 0.000878636 0.006372190
COV variable3 0.075083647 0.000878636 0.008894056 0.043200581
COV variable4 0.453177098 0.006372190 0.043200581 0.999368288
MEAN          3.217123172 42.69388108 3.893316488 8605.147733
;
run; 

Proc Simnorm data=RandomValueGeneratorStatistics outsim=ssim 
numreal = 1000 
seed = 54321 ; 
var variable1 variable2 variable3 variable4 ; 
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;... And some of the results:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; Obs    variable1    variable2    variable3    variable4    Rnum

1     3.75650      42.7002      3.99283      8607.08       1
2     3.74764      42.7058      3.86268      8606.20       2
3     2.67129      42.6923      3.86041      8603.92       3
4     1.81036      42.6811      3.78579      8604.83       4
5     3.06134      42.6897      3.89000      8604.87       5
6     3.08770      42.6886      3.92196      8604.73       6
7     4.44447      42.6934      3.87695      8605.65       7
8     2.72725      42.6790      3.90519      8604.83       8
9     3.60691      42.6917      3.88077      8604.06       9
10     4.04193      42.7055      3.95174      8604.69      10
11     2.17955      42.6804      3.80562      8604.45      11
12     3.15123      42.6909      3.94730      8605.94      12&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Is this what you are looking for?&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 18:56:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368881#M275486</guid>
      <dc:creator>jdwaterman91</dc:creator>
      <dc:date>2017-06-20T18:56:53Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368885#M275487</link>
      <description>&lt;P&gt;Precisely the code I have! I'm not sure why it's not working for me the same. That's exactly the result I'm looking for!&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 19:00:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368885#M275487</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-20T19:00:32Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368888#M275488</link>
      <description>&lt;P&gt;What error message is the log giving you?&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 19:06:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368888#M275488</guid>
      <dc:creator>jdwaterman91</dc:creator>
      <dc:date>2017-06-20T19:06:32Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368896#M275489</link>
      <description>&lt;P&gt;Same as before: "ERROR: COV matrix incomplete in data set..."&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My variable names are actually written with capital 'V'. Could that be a problem? I'll just copy-paste the code you kindly provided before and try..&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 19:14:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368896#M275489</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-20T19:14:52Z</dc:date>
    </item>
    <item>
      <title>Re: COV matrix incomplete</title>
      <link>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368905#M275490</link>
      <description>&lt;P&gt;Works like a charm!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you very much for your help through this &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/137664"&gt;@jdwaterman91&lt;/a&gt;.&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2017 19:20:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/COV-matrix-incomplete/m-p/368905#M275490</guid>
      <dc:creator>PBG</dc:creator>
      <dc:date>2017-06-20T19:20:37Z</dc:date>
    </item>
  </channel>
</rss>

