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

I am running 10 fixed two-way panel regressions of the following form on the same dataset:

 

proc panel data = input outest = output_est_1;
id gvkey rankyear;
model diff_1 = ind_1 ind_2 ind_3
/ fixtwo;
ods output FitStatistics = output_fit_1;
run;
quit;
proc panel data = input outest = output_est_2;
id gvkey rankyear;
model diff_2 = ind_1 ind_2 ind_3
/ fixtwo;
ods output FitStatistics = output_fit_2;
run;
quit;

...

That is, I repeat the same regression procedure with 10 different dependent variables. I then want to compare the estimated values of the independent variables across the 10 models. Put differently, I want to see if the value of ind_1/ind_2/ind_3 changes when the dependent variable changes.

 

Is there a way to do this efficiently in SAS? I was thinking about doing a basic t-test pairwise. However, I would have to do this (10*10)-10 = 90 times to cover all possible pairs. Is this the way to go and if so, how would I employ this efficiently using the regression outputs I get from the proc panel procedure.

 

Thanks in advance.

 

1 ACCEPTED SOLUTION

Accepted Solutions
PaigeMiller
Diamond | Level 26

Logically when you change the Y variable, the regression coefficients ought to change. The null hypothesis of no change in the regression coefficients does not make sense here. So, I don't think this is a logical test, and I do not know of any statistically valid way to do this.

--
Paige Miller

View solution in original post

5 REPLIES 5
PaigeMiller
Diamond | Level 26

Logically when you change the Y variable, the regression coefficients ought to change. The null hypothesis of no change in the regression coefficients does not make sense here. So, I don't think this is a logical test, and I do not know of any statistically valid way to do this.

--
Paige Miller
shenflow
Obsidian | Level 7

Yea I am aware of that. Nonetheless, the qualitative construct underlying the tests requires me to test it. Think of the following example: You have physical activity as an independent variable.  Now you have the muscle development of different parts of your body as your dependent variable. Muscle development in your right arm would be e.g. dependent variable 1, muscle development in your left arm would be e.g. dependent variable 2. You want to compare how the same independent variable, i.e. physical activity, affects different muscle parts of your body differently.

 

Of course, one can expect that when the dependent variable changes, i.e. muscle development of the respective bodypart, the relationship changes. Nonetheless there might be the need to determine wether the difference is statistically significant.

PaigeMiller
Diamond | Level 26

Okay, we don't agree on this. Maybe someone else thinks this makes sense and knows how to do this.

--
Paige Miller
shenflow
Obsidian | Level 7
I agree with you - sorry for the confusion. I misformulated my question and misinterpreted my problem. I will post another question reformulating the problem properly.
SteveDenham
Jade | Level 19

Consider a multivariate analysis of variance using PROC GLM.  Something like this:

 

proc glm data=have;
   class Yendpointname;
   model ind1 ind2 ind3= Yendpointname;
   manova h=_all_ / printe printh;
run;

You might wish to weight the different endpoints by 1/RMSError of the regression.  That would add a WEIGHT statement, and you would need to calculate this variable in a DATA step, where you create the dataset 'have'.  I won't give any guarantees, for two reasons.  First, you don't have any replication of the ind_ variables per endpoint (so you might have a singular matrix), and second, I am not sure you can actually combine a WEIGHT statement with a MANOVA statement.

 

SteveDenham

 

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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
  • 984 views
  • 0 likes
  • 3 in conversation