turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Forecasting
- /
- Proc panel with GMM and two regressions

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-13-2013 04:53 AM

I am trying to model an Almost Ideal Demand System on dynamic panel data SAS/ETS Examples -- Estimating an Almost Ideal Demand System Model

I am using a data set that consists of observations over 20 years and 18 cohorts (age groups). I need to use a GMM method since it is a dynamic equation. However, I have to model two regressions at once, and I am really quite not sure how I do that with proc panel? Do I repeat the model statement twice? Any help will be greatly appreciated! Here come the eqautions and the RESTRICTIONS.

Since I have 18 cohorts, I would like to regress this for EACH cohort (each group age). Do I use the BY statement for that purpose?

**mean_w_alco = a10 + g11*log(norm_p_alco/norm_p_other) + g12*log(norm_p_toba/norm_p_other) + g1*log(norm_p_other) + b1*log(exp_tot/Laspeyres) + c1*z**

**mean_w_toba = a20 + g21*log(norm_p_alco/norm_p_other) + g22*log(norm_p_toba/norm_p_other) + g2*log(norm_p_other) + b2*log(exp_tot/Laspeyres) + c2*z**

restrictions:

**g12=-g11;**

**g21=-g22;**

**g12=g21;**

**b2=-b1;**

**c2=-c1;**

**a20=1-a10;**

Would I do :

proc panel data=equa1;

by age;

model

mean_w_alco = a10 + g11*log(norm_p_alco/norm_p_other) + g12*log(norm_p_toba/norm_p_other) + g1*log(norm_p_other) + b1*log(exp_tot/Laspeyres) + c1*z+e+E1

mean_w_toba = a20 + g21*log(norm_p_alco/norm_p_other) + g22*log(norm_p_toba/norm_p_other) + g2*log(norm_p_other) + b2*log(exp_tot/Laspeyres) + c2*z+e+E2;

g12=-g11;

g21=-g22;

g12=g21;

b2=-b1;

c2=-c1;

a20=1-a10;

solve g12 g11 g21 g22 b2 b1 c2 c1 a20 a10;

run;

quit;

? It doesn't seem to work when I run this on SAS.;

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-22-2013 03:00 PM

Hello -

Sharing feedback from one of my colleagues in SAS R&D who works on the new SSM procedure, which you may find useful.

Note that SSM is experimental with 12.1: http://support.sas.com/documentation/cdl/en/etsug/63939/HTML/default/viewer.htm#ssm_toc.htm

Thanks,

Udo

The user has two response variables, say Y1 and Y2 and response variables X1-X4 and Z. The models are:

Y1 = a1 + g11 X1 + g12 X2 + g1 X3 + b1 X4 + c1 Z + e1

Y2 = (1-a1) + g21 X1 + g22 X2 + g2 X3 + b2 X4 + c2 Z + e2

Where

1. g11 = -g12 and g21 = -g22

2. G12 = g21

3. B2 = -b1

4. C2 = -c1

These restrictions can be imposed by redefining some variables:

The first restriction can be achieved by using (X1 – X2) as a single variable in place of X1 and X2. Let us call this its coefficient as G. Now the second restriction says that the coefficient G is to be the same for the two models (Y1 and Y2).

This can be achieved in SSM by treating the regression coefficient as a state element. See the section “Regression Variable Specification in Multivariate Models” in the SSM doc (Details->Overview of Model Specification Syntax).

Similar things can be done for a,B and C parameters. The user’s models appear simple reg models. He can specify more general error structures to account for time variation if that is desired.