BookmarkSubscribeRSS Feed
Moshood
Fluorite | Level 6

Dear All,

I am trying to fit various spatial covariance model such as spherical, exponential, gaussian, power, linear, linear log and other anisotropic structure using proc mixed. The spatial data has west longitude, latitude, and yield. I converted the spatial coordinates into easting and northing for efficient statistical analysis. Each time I run my SAS script for the entire data set which 12009 observations, I got insufficient memory despite running the script on system with 24 GB of RAM. I suspect the inability of REML algorithm to fit the 12009 x 12009 variance-covariance structure of R matrix of the residual term. Please see my script

  %spatialcov(var= cov=)

      proc mixed

         model &var=/ddfm=residual;

         repeated/subject=intercept type=sp(&cov)(easting northing);

         parms (25) (20);

      run;

      quit;

    %mend spatialcov;

%spatialcov(var=yield cov=sph)

%spatialcov(var=yield cov=exp)

%spatialcov(var=yield cov=gau)

%spatialcov(var=yield cov=pow)

%spatialcov(var=yield cov=lin)

%spatialcov(var=yield cov=linl)

I have to substract a constant 321000 and 5708000 from easting and northing respectively when I discovered that the values are extremely high to facilitate the computation but all effort in vain. Please could any one advise me on better approach? Does it mean PROC MIXED can not fit spatial model with a very large dataset? Could anyone suggest alternative approach or how to modify my SAS code? Look forward to reading from you.

5 REPLIES 5
1zmm
Quartz | Level 8

Can you take multiple random samples of your data, run PROC MIXED on each of these samples, and then summarize the results across the samples?  If your sample were one-half the size of your original data set, the corresponding matrices would be only one-fourth the size as those from your original data set.

Or can you group observations near to one another and summarize/average their yields to reduce your sample size?

lvm
Rhodochrosite | Level 12 lvm
Rhodochrosite | Level 12

You are probably running SAS 9.3. There is a 2 GB software memory limit in MIXED, not matter how much memory you have on your machine. Starting with SAS/STAT 12.1, this restriction has been eliminated.

Moshood
Fluorite | Level 6

Dear lvm,

I appreciate your informative response to my request. I would like to ask if SAS/STAT 12.1 is available for use now. I  have to think of alternative now that the usage of PROC MIXED is not feasible for my analysis. Could you please suggest any other approach? It is better I work with the entire data rather than subset.

My contact email is bakare@ualberta.ca

Let us keep in touch please.

lvm
Rhodochrosite | Level 12 lvm
Rhodochrosite | Level 12

12.1 has been available for about a year. But, your installation may not have it yet -- it depends when your installation gets the updates. Note, SAS/STAT 12.1 runs with SAS/Base 9.There is a cost for the increased memory: programs may run an extremely long time to reach convergence.

I would suggest you consider sampling of your dataset.

SteveDenham
Jade | Level 19

The OP may also want to look at PROC KRIGE2D.  I think all (or almost all) of the spatial forms in the macro are available in that procedure.  I have to admit that I have never used it, but looking through the documentation examples, it seems like a possible alternative.

Steve Denham

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 5 replies
  • 1889 views
  • 0 likes
  • 4 in conversation