BookmarkSubscribeRSS Feed
sasgenie
Fluorite | Level 6

I'm running a QLIM analysis to analyze a panel data (shopper x store x time). I need to specify the random effects from two sources: shoppers and stores. I recognize that QLIM does not allow more than one random statement.

I need "shopper_id" and "store_id" to both act as subjects for the random effects. Is there any way to trick QLIM to run the following analysis?

proc qlim data=indata heckit;
class shopper_id store_id;
model choice = price promotion iv / DISCRETE;
model y = price promotion / SELECT(choice=1) ;
random Int / type=un subject=shopper_id store_id;
run;

 

3 REPLIES 3
sbxkoenk
SAS Super FREQ

Hello,

 

Are shoppers hierarchically nested within stores (not one shopper pops up in more than one store)?
In that case, you could try :
subject = shopper_id(store_id);

 

If not , can't you make a new variable to identify the cross-sectional units (an id for every unique shopper*store combination)?

Like here :

data _null_;
   separator='%%$%%';
   shopper_id='The Olympic  '; 
   store_id  ='   Arts Festival ';
   shopXstore_ID=catx(separator, shopper_id, store_id);
   put shopXstore_ID $char.; 
run;

Then do :

subject = shopXstore_ID;

 

BR,
Koen

sasgenie
Fluorite | Level 6

Thanks for the ideas. There is no nesting relationship between the two. Creating a cross variable would results in too many combinations (instead of m + n levels, this will create m*n levels), and my data does not have enough degrees of freedom to estimate it (imagine each shopper shops at each store at most once).

sbxkoenk
SAS Super FREQ

Hello,

 

I looked

  • at PROC HPQLIM (SAS 9.4 multi-threaded) and
  • at PROC CQLIM (SAS Viya using CAS engine)

, but these will not help you out.

 

Following support note will not help you out either , but it's a nice read :

Usage Note 67037: Estimating limited and discrete dependent variable models with random parameters or random effects using PROC QLIM
https://support.sas.com/kb/67/037.html

 

Koen

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 3 replies
  • 585 views
  • 0 likes
  • 2 in conversation