Turn on suggestions

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

Showing results for

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

Options

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

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 05-13-2013 04:53 AM
(1012 views)

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.;

1 REPLY 1

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

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.

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

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.