BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Sunny_Sun
Calcite | Level 5

Hi,

With data A, I run a regression and save coefficients. Then I start to work with data B. I want to reference the saved coefficients using data A. How can I do that in SAS?

Thanks,

Sunny

1 ACCEPTED SOLUTION

Accepted Solutions
ets_kps
SAS Employee

Hi Sunny,

The closest we have to this in SAS is utilizing item stores for models estimated by certain models. 

Here is an example.

%let nObs = 5000;

%let nVars = 100;

data SimuData;

  array x{&nVars};

  do obsNum=1 to &nObs;

  do j=1 to &nVars;

  x{j}=ranuni(1);

  end;

  linp = 10 + 11*x1 - 10*sqrt(x2) + 2/x3 - 8*exp(x4) + 7*x5*x5

  - 6*x6**1.5 + 5*log(x7) - 4*sin(3.14*x8) + 3*x9 - 2*x10;

  TrueProb = 1/(1+exp(-linp));

  if ranuni(1) < TrueProb then y=1;

  else y=0;

  output;

  end;

run;

proc logistic data=SimuData;

  effect splines = spline(x1-x&nVars/separate);

  model y = splines/selection=stepwise;

  store sasuser.SimuModel;

run;

data test;

  array x{&nVars};

  do j=1 to &nVars;

  x{j}=0.15;

  end;

  drop j;

  output;

run;

proc plm restore=sasuser.SimuModel;

  score data=test out=testout predicted / ilink;

run;

data testout;

  set testout(drop=x1-x&nVars);

run;

proc print data=testout;

run;

You can find other examples here.

SAS/STAT 13.2 User's Guide Example Programs (Sample Library)

View solution in original post

2 REPLIES 2
ets_kps
SAS Employee

Hi Sunny,

The closest we have to this in SAS is utilizing item stores for models estimated by certain models. 

Here is an example.

%let nObs = 5000;

%let nVars = 100;

data SimuData;

  array x{&nVars};

  do obsNum=1 to &nObs;

  do j=1 to &nVars;

  x{j}=ranuni(1);

  end;

  linp = 10 + 11*x1 - 10*sqrt(x2) + 2/x3 - 8*exp(x4) + 7*x5*x5

  - 6*x6**1.5 + 5*log(x7) - 4*sin(3.14*x8) + 3*x9 - 2*x10;

  TrueProb = 1/(1+exp(-linp));

  if ranuni(1) < TrueProb then y=1;

  else y=0;

  output;

  end;

run;

proc logistic data=SimuData;

  effect splines = spline(x1-x&nVars/separate);

  model y = splines/selection=stepwise;

  store sasuser.SimuModel;

run;

data test;

  array x{&nVars};

  do j=1 to &nVars;

  x{j}=0.15;

  end;

  drop j;

  output;

run;

proc plm restore=sasuser.SimuModel;

  score data=test out=testout predicted / ilink;

run;

data testout;

  set testout(drop=x1-x&nVars);

run;

proc print data=testout;

run;

You can find other examples here.

SAS/STAT 13.2 User's Guide Example Programs (Sample Library)

Sunny_Sun
Calcite | Level 5

many thanks!

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

Discussion stats
  • 2 replies
  • 1805 views
  • 0 likes
  • 2 in conversation