# The PANEL Procedure

### Example 20.6 The Cigarette Sales Data: Dynamic Panel Estimation with GMM

In this example, a dynamic panel demand model for cigarette sales is estimated. It illustrates the application of the method described in the section Dynamic Panel Estimator. The data are a panel from 46 American states over the period 1963–92. For data description see: Baltagi and Levin (1992); Baltagi (1995). All variables were transformed by taking the natural logarithm. The data set CIGAR is shown in the following statements.

```data cigar;
input state year price pop pop_16 cpi ndi sales pimin;
label
state  = 'State abbreviation'
year   = 'YEAR'
price  = 'Price per pack of cigarettes'
pop    = 'Population'
pop_16 = 'Population above the age of 16'
cpi    = 'Consumer price index with (1983=100)'
ndi    = 'Per capita disposable income'
sales  = 'Cigarette sales in packs per capita'
pimin  = 'Minimum price in adjoining states per pack of cigarettes';
datalines;
1 63 28.6 3383 2236.5 30.6 1558.3045298 93.9 26.1
1 64 29.8 3431 2276.7 31.0 1684.0732025 95.4 27.5
1 65 29.8 3486 2327.5 31.5 1809.8418752 98.5 28.9
1 66 31.5 3524 2369.7 32.4 1915.1603572 96.4 29.5
1 67 31.6 3533 2393.7 33.4 2023.5463678 95.5 29.6
1 68 35.6 3522 2405.2 34.8 2202.4855362 88.4 32
1 69 36.6 3531 2411.9 36.7 2377.3346665 90.1 32.8
1 70 39.6 3444 2394.6 38.8 2591.0391591 89.8 34.3
1 71 42.7 3481 2443.5 40.5 2785.3159706 95.4 35.8
1 72 42.3 3511 2484.7 41.8 3034.8082969 101.1 37.4

... more lines ...

```

The following statements sort the data by STATE and YEAR variables.

```proc sort data=cigar;
by state year;
run;
```

Next, logarithms of the variables required for regression estimation are calculated, as shown in the following statements:

```data cigar;
set cigar;
lsales = log(sales);
lprice = log(price);
lndi = log(ndi);
lpimin = log(pimin);
label lprice = 'Log price per pack of cigarettes';
label lndi = 'Log per capita disposable income';
label lsales = 'Log cigarette sales in packs per capita';
label lpimin = 'Log minimum price in adjoining states
per pack of cigarettes';
run;
```

The following statements create the CIGAR_LAG data set with lagged variable for each cross section.

```proc panel data=cigar;
id state year;
clag lsales(1) / out=cigar_lag;
run;
```
```data cigar_lag;
set cigar_lag;
label lsales_1 = 'Lagged log cigarette sales in packs per capita';
run;
```

Finally, the model is estimated by a two step GMM method. Five lags (MAXBAND=5) of the dependent variable are used as instruments. NOLEVELS options is specified to avoid use of level equations, as shown in the following statements:

```proc panel data=cigar_lag;
inst depvar;
model lsales = lsales_1 lprice lndi lpimin
/ gmm2 nolevels maxband=5 noint;
id state year;
run;
```

Output 20.6.1: Estimation with GMM

 '

The PANEL Procedure
GMM: First Differences Transformation

Dependent Variable: lsales Log cigarette sales in packs per capita

Model Description
Estimation Method GMM2
Number of Cross Sections 46
Time Series Length 30
Estimate Stage 2
Maximum Number of Time Periods (MAXBAND) 5

Fit Statistics
SSE 2187.5988 DFE 1284
MSE 1.7037 Root MSE 1.3053

Parameter Estimates
Variable DF Estimate Standard
Error
t Value Pr > |t|
lsales_1 1 0.572219 0.000981 583.51 <.0001
lprice 1 -0.23464 0.00306 -76.56 <.0001
lndi 1 0.232673 0.000392 593.69 <.0001
lpimin 1 -0.08299 0.00328 -25.29 <.0001

If the theory suggests that there are other valid instruments, PREDETERMINED, EXOGENOUS and CORRELATED options can also be used.