I am trying to solve this issue and I am very new to sas. Can someone please help me?
Simulate 200 observations from the following linear model: Y = alpha + beta1 * X1 + beta2 * X2 + noise
where
• alpha=1, beta1=2, beta2=-1.5
• X1 ~ N(1, 4), X2 ~ N(3,1), noise ~ N(0,1)
I have this so far but do not think its right.
DATA ONE;
alpha = 1;
beta1 = 2;
beta2 = -1.5;
RUN;
DATA CALC;
SET ONE;
DO i = 1 to 200;
Y=alpha+beta1*X1+beta2*X2+Noise;
X1=Rannor(1);
X2=rannor(3);
Noise=ranuni(0);
OUTPUT;
END;
RUN;
PROC PRINT DATA=CALC;
RUN;
It is X~N(mu,sigma^2) ,right ? DATA CALC; alpha = 1; beta1 = 2; beta2 = -1.5; call streaminit(1234); DO i = 1 to 200; X1=rand('normal',1,2); X2=rand('normal',3,1); Noise=rand('normal'); Y=alpha+beta1*X1+beta2*X2+Noise; OUTPUT; END; RUN; PROC PRINT DATA=CALC; RUN;
Yeah, I don't think so either. Hopefully this helps provide you with some more direction:
X1 ~ N(1, 4) -> X is Normally distributed with a mean of 1 and standard deviation of 4.
RANNOR (Seed)
The RANNOR function returns a variate that is generated from a normal distribution with mean 0 and variance 1. The Box-Muller transformation of RANUNI uniform variates is used.
Reading further into the documentation:
x=MU+sqrt(S2)*rannor(seed);
Your order is also incorrect. You need to create the random variables X1/X2/Noise before you apply the formula.
It is X~N(mu,sigma^2) ,right ? DATA CALC; alpha = 1; beta1 = 2; beta2 = -1.5; call streaminit(1234); DO i = 1 to 200; X1=rand('normal',1,2); X2=rand('normal',3,1); Noise=rand('normal'); Y=alpha+beta1*X1+beta2*X2+Noise; OUTPUT; END; RUN; PROC PRINT DATA=CALC; RUN;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.