ESTIMATE Statement

ESTIMATE item < , item …> < ,/ options > ;

The ESTIMATE statement computes estimates of functions of the parameters.

The ESTIMATE statement refers to the parameters estimated by the associated FIT statement (that is, to either the preceding FIT statement or, in the absence of a preceding FIT statement, to the following FIT statement). You can use any number of ESTIMATE statements.

Let $\mb {h} (\theta )$ denote the function of parameters that needs to be estimated. Let $\hat{\theta }$ denote the unconstrained estimate of the parameter of interest, ${\theta }$. Let ${\hat{\bV }}$ be the estimate of the covariance matrix of ${\theta }$. Denote

\[  \bA (\theta ) = {{\partial } h(\theta )}/{{\partial } \theta }~ |_{\hat{\theta }}  \]

Then the standard error of the parameter function estimate is computed by obtaining the square root of ${\bA (\hat{\theta }) \hat{\bV } {\bA }^{} (\hat{\theta })}$. This is the same as the variance needed for a Wald type test statistic with null hypothesis $h(\theta )=0$.

If the expression of the function in the ESTIMATE statement includes a variable, then the value used in computing the function estimate is the last observation of the variable in the DATA= data set.

If you specify options on the ESTIMATE statement, a comma is required before the / character that separates the test expressions from the options, since the / character can also be used within test expressions to indicate division. Each item is written as an optional name followed by an expression,

< "name" > expression

where "name" is a string used to identify the estimate in the printed output and in the OUTEST= data set.

Expressions can be composed of parameter names, arithmetic operators, functions, and constants. Comparison operators (such as = or <) and logical operators (such as &) cannot be used in ESTIMATE statement expressions. Parameters named in ESTIMATE expressions must be among the parameters estimated by the associated FIT statement.

You can use the following options in the ESTIMATE statement:


specifies the name of the data set in which the estimate of the functions of the parameters are to be written. The format for this data set is identical to the OUTEST= data set for the FIT statement.

If you specify a name in the ESTIMATE statement, that name is used as the parameter name for the estimate in the OUTEST= data set. If no name is provided and the expression is just a symbol, the symbol name is used; otherwise, the string _Estimate # is used, where # is the variable number in the OUTEST= data set.


writes the covariance matrix of the functions of the parameters to the OUTEST= data set in addition to the parameter estimates.


prints the covariance matrix of the functions of the parameters.


prints the correlation matrix of the functions of the parameters.

The following statements are an example of the use of the ESTIMATE statement in a segmented model and produce the output shown in Figure 19.21:

data a;
   input y x @@;
   .46 1  .47  2 .57  3 .61  4 .62  5 .68  6 .69  7
   .78 8  .70  9 .74 10 .77 11 .78 12 .74 13 .80 13
   .80 15 .78 16

title 'Segmented Model -- Quadratic with Plateau';
proc model data=a;

   x0 = -.5 * b / c;

   if x < x0 then y = a + b*x + c*x*x;
   else           y = a + b*x0 + c*x0*x0;

   fit y start=( a .45 b .5 c -.0025 );

   estimate 'Join point' x0 ,
            'plateau' a + b*x0 + c*x0**2 ;

Figure 19.21: ESTIMATE Statement Output

Segmented Model -- Quadratic with Plateau

The MODEL Procedure

Nonlinear OLS Estimates
Term Estimate Approx Std Err t Value Approx
Pr > |t|
Join point 12.7504 1.2785 9.97 <.0001 x0
plateau 0.777516 0.0123 63.10 <.0001 a + b*x0 + c*x0**2