### Goals

This tutorial introduces the use of `gmmFit`

and `gmmFitIV`

to estimate GMM models. After this tutorial, you should be able to estimate a basic model using either:

as your data inputs.

## Basic usage with a formula string

The `gmmFitIV`

procedure accepts dataset names and formula strings as direct inputs. This allows you to tell `gmmFitIV`

which data to load, saving the extra step of manually loading your data into matrices. For example, consider using data from the dataset `auto2.dta`

in `gmmFitIV`

to fit the model:

$$mpg = \alpha + \beta * weight$$

```
// Create string with full path to dataset
dataset = getGAUSSHome() $+ "examples/auto2.dta";
// Estimate the model
call gmmFitIV(dataset, "mpg ~ weight");
```

This code will produce the following output

Generalized Method of Moments Valid cases: 74 Number of Moments: 0 Degrees of freedom: 72 Dependent Variable: mpg Number of Parameters: 2 Standard Prob Variable Estimate Error t-value >|t| ----------------------------------------------------- CONSTANT 39.440284 1.961267 20.110 0.000 weight -0.006009 0.000576 -10.429 0.000 Instruments: weight, Constant

## Basic usage with matrix inputs

The `gmmFitIV`

procedure can also accept matrix inputs. We demonstrate using the same model as before. However, this time we:

- Load the variables
`mpg`

and`weight`

from the`auto2.dta`

dataset into a GAUSS matrix,`data`

. - Create two separate data matrices
`mpg`

and`weight`

. - Use the matrices
`mpg`

and`weight`

as the dependent and independent variable inputs, respectively, in the`gmmFitIV`

function call.

```
// Create string with full path to dataset
dataset = getGAUSSHome() $+ "examples/auto2.dta";
// Load specified variables into a GAUSS matrix.
data = loadd(dataset, "mpg + weight");
// Create separate column vectors for each variable.
// This step is not necessary but is shown for
// didactic purposes.
mpg = data[.,1];
weight = data[.,2];
// Estimate the model with matrix inputs
call gmmFitIV(mpg, weight);
```

This code will give us the same estimates as above but will use generic names for the variables, since GAUSS matrices do not store variable names.

Generalized Method of Moments Valid cases: 74 Number of Moments: 0 Degrees of freedom: 72 Dependent Variable: Y Number of Parameters: 2 Standard Prob Variable Estimate Error t-value >|t| ----------------------------------------------------------- Beta1 39.440284 1.961267 20.110 0.000 Beta2 -0.006009 0.000576 -10.429 0.000 Instruments: Z1, Z2

### Conclusion

This tutorial showed you how to estimate the parameters of a simple linear model using a dataset name and formula string or matrix inputs.

The next tutorial will demonstrate the use of `gmmFit`

to estimate GMM models with user-specified moment procedures.