Previous Page | Next Page

Shared Concepts and Topics

Polynomial Effects

This section discusses the construction of multivariate polynomial effects through the experimental EFFECT statement in the GLIMMIX and GLMSELECT procedures. You request a polynomial effect with the syntax

EFFECT name=POLYNOMIAL(var-list </ polynomial-options>) ;
EFFECT name=POLY(var-list </ polynomial-options>) ;

The variables in var-list must be numeric. A design matrix column is generated for each term of the specified polynomial. By default, each of these terms is treated as a separate effect for the purpose of model building. For example, the statements

    proc glmselect;
       effect MyPoly = polynomial(x1-x3/degree=2);
       model y = MyPoly;

yield the identical analysis to the statements

    proc glmselect;
       model y = x1 x2 x3 x1*x1 x1*x2 x1*x3 x2*x2 x2*x3 x3*x3;

You can specify the following polynomial-options after a slash (/):


specifies the degree of the polynomial. The degree must be a positive integer. The degree is typically a small integer, such as 1, 2, or 3. The default is DEGREE=1.


requests a table showing the details of the specified polynomial, including the number of terms generated. If you specify the STANDARDIZE option, then a table showing the standardization details is also produced.


specifies how the terms in the polynomial are labeled. By default, powers are shown with as the exponentiation operator and as the multiplication operator. For example, a polynomial term such as is labeled x13*x2*x32. You can change the style of the label by using the following style-opts within parentheses. If you specify a single style-opt, then you can omit the enclosing parentheses.


specifies that each variable with an exponent greater than one is written as products of that variable. For example, the term receives the label x1*x1*x1*x2*x3*x3.

EXPONENT <=quoted string>

specifies that each variable with an exponent greater than one is written using exponential notation. By default, the symbol is used as the exponentiation operator. If you supply the optional quoted string after an equal sign, then that string is used as the exponentiation operator. For example, if you specify


then the term receives the label x1**3*x2*x3**2.


specifies that the name of the effect followed by an underscore is used as a prefix for term labels. For example, the statement

   EFFECT MyPoly=POLYNOMIAL(x1/degree=2 labelstyle=INCLUDENAME)

generates terms with labels MyPoly_x1 and MyPoly_x12. The INCLUDENAME option is ignored if you specify the NOSEPARATE option in the EFFECT=POLYNOMIAL statement.

PRODUCTSYMBOL =NONE | quoted string

specifies that the supplied string be used as the product symbol. For example, the statement

   EFFECT MyPoly=POLYNOMIAL(x1 x2 / degree=2 mdegree=1 
                                    labelstyle=(PRODUCTSYMBOL=" "))

generates terms with labels x1, x2, and x1 x2.

If you specify PRODUCTSYMBOL=NONE, then the labels are formed by juxtaposing the constituent variable names.


specifies the maximum degree of any variable in a term of the polynomial. This degree must be a positive integer. The default is the degree of the specified polynomial. For example, the statement

   EFFECT MyPoly=POLYNOMIAL(x1 x2/degree=4 MDEGREE=2);

generates the terms , , , , ,, and .


specifies that the polynomial is treated as a single effect with multiple degrees of freedom. The effect name that you specify is used as the constructed effect name and the labels of the terms are used as labels of the corresponding parameters.

STANDARDIZE <(centerscale-opts)> <= standardize-opt>

specifies that the variables defining the polynomial are standardized. By default, the standardized variables receive prefix "s_" in the variable names.

You can use the following centerscale-opts to specify how the center and scale are estimated:

specifies that the center is estimated by the variable mean and the scale is estimated by the standard deviation. Note that if a weight variable is specified using a WEIGHT statement, the observations with invalid weights are ignored when forming the mean and standard deviation, but the weights are otherwise not used. Note that only observations that are used in performing the analysis are used for the standardization.


specifies that the center is estimated by the midpoint of the variable range and the scale is estimated as half the variable range. Any observation that has a missing value for any regressor used in the model is ignored when computing the range of variables in a polynomial effect. Observations with valid regressor values but missing or invalid values of frequency variables, weight variables, or dependent variables are used in computing variable ranges. The default (if you do not specify the METHOD= suboption) is METHOD=RANGE.


is the same as METHOD=MOMENTS except that weighted means and weighted standard deviations are used.



Table 18.9 shows how the center and scale are computed for each of the supported methods:

Table 18.9 Center and Scale Estimates by Method







PREFIX=NONE | quoted string

specifies the prefix that is appended to standardized variables when forming the term labels. If you omit this option, the default prefix is "s_". If you specify PREFIX=NONE, then standardized variables are not prefixed.

You can control whether the standardization is to center, scale, or both center and scale by specifying a standardize-opt:


specifies that variables are centered but not scaled. For a variable ,


specifies that variables are centered and scaled. This is the default if you do not specify a standardization-opt. For a variable ,


specifies that no standardization is performed.


specifies that variables are scaled but not centered. For a variable ,

Previous Page | Next Page | Top of Page