Shared Concepts

Polynomial Effects

You use a polynomial parameter to define effects that are constructed as multiples of powers of numeric variables. The variables specified in the vars subparameter 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 following two action parameters (displayed in the CASL language) yield the identical analysis:

   polynomial={name='MyPoly', vars={'x1','x2','x3'}, degree='2'},
   effects={ {vars={'x1','x2','x3'}, interaction='BAR', maxinteract='2'},
             {vars={'x1','x1'}, interaction='CROSS'},
             {vars={'x2','x2'}, interaction='CROSS'},
             {vars={'x3','x3'}, interaction='CROSS'}}}

The subparameters that you can specify are described in the Syntax section of the specific action chapters. The following list provides more detail about these subparameters using the CASL language.

degree=n

specifies the degree of the polynomial, where n must be a positive integer and is typically a small integer, such as 1, 2, or 3. By default, degree=1.

details=TRUE | FALSE

when set to True, displays a table that shows the details of the specified polynomial, including the number of terms generated. If you also specify the standardize subparameter, then a table that shows the standardization details is also produced.

labelStyle={style-opts}

specifies how to label the terms in the polynomial. By default, powers are shown with ^ as the exponentiation operator and * as the multiplication operator. For example, a polynomial term such as x 1 cubed x 2 x 3 squared is labeled x1^3*x2*x3^2. You can change the style of the label by using the following style-opts within parentheses:

expand=TRUE | FALSE

when set to True, writes each variable whose exponent is greater than 1 as products of that variable. For example, the term x 1 cubed x 2 x 3 squared receives the label x1*x1*x1*x2*x3*x3.

exponent=quoted-string

writes each variable whose exponent is greater than 1 by using exponential notation and by using the quoted-string as the exponentiation operator. By default, ^ is the exponentiation operator. For example, if you specify the following, then the term x 1 cubed x 2 x 3 squared receives the label x1**3*x2*x3**2:

LABELSTYLE=(EXPONENT="**")
includeName=TRUE | FALSE

when set to True, uses the name of the effect, followed by an underscore, as a prefix for term labels. For example, the following CASL language statement generates terms whose labels are MyPoly_x1 and MyPoly_x1^2:

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

The includeName subparameter is ignored if you also specify the noSeparate subparameter in the polynomial parameter.

productSymbol='NONE' | quoted-string

specifies the product symbol. You can specify the following values:

quoted-string

specifies a quoted string to be used as the product symbol. For example, the following CASL language statement generates terms whose labels are x1, x2, and x1 x2:

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

forms the labels by juxtaposing the constituent variable names.

mDegree=n

specifies the maximum degree of any variable in a term of the polynomial, where n must be a positive integer. The default is the degree of the specified polynomial. For example, the following CASL language statement generates the terms x 1, x 2, x 1 squared, x 1 x 2, x 2 squared, x 1 squared x 2, x 1 x 2 squared, and x 1 squared x 2 squared:

polynomial={name='MyPoly', vars={x1 x2}, degree=4, mdegree=2};
noSeparate=TRUE | FALSE

when set to True, treats the polynomial as a single effect that has multiple degrees of freedom. The value of the name subparameter 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={stdize-opts}

standardizes the variables that define the polynomial. The stdize-opts include the prefix, method, and options subparameters.

By default, the standardized variables receive prefix "s_" in the variable names. You can use the prefix subparameter to control this prefix as follows:

prefix='none' | quoted-string

specifies the prefix that is appended to standardized variables when forming the term labels. You can specify the following values:

quoted-string

specifies the prefix

NONE

does not apply a prefix

method='moments' | 'mrange' | 'wmoments'

controls how the center and scale are estimated. You can specify the following methods:

moments

estimates the center by the variable mean and the scale by the standard deviation. If a weight variable is specified using a weight parameter, the weights are not used in the computation of the mean and standard deviation, and observations that have invalid weights are ignored. Only observations that are used in performing the analysis are used for the standardization.

mrange

estimates the center by the midpoint of the variable range and the scale as half the variable range. Any observation that has a missing value for any regressor used in the model is ignored when the range of variables in a polynomial effect is computed. Observations that have valid regressor values but missing or invalid values of frequency variables, weight variables, or dependent variables are used in computing variable ranges. By default, method=MRANGE.

wmoments

is the same as moments except that weighted means and weighted standard deviations are used.

Let

StartLayout 1st Row 1st Column n 2nd Column equals 3rd Column normal n normal u normal m normal b normal e normal r normal o normal f normal o normal b normal s normal e normal r normal v normal a normal t normal i normal o normal n normal s normal u normal s normal e normal d normal i normal n normal t normal h normal e normal a normal n normal a normal l normal y normal s normal i normal s 2nd Row 1st Column w 2nd Column equals 3rd Column normal w normal e normal i normal g normal h normal t normal v normal a normal r normal i normal a normal b normal l normal e 3rd Row 1st Column f 2nd Column equals 3rd Column normal f normal r normal e normal q normal u normal e normal n normal c normal y normal v normal a normal r normal i normal a normal b normal l normal e 4th Row 1st Column x 2nd Column equals 3rd Column normal v normal a normal r normal i normal a normal b normal l normal e normal t normal o normal b normal e normal s normal t normal a normal n normal d normal a normal r normal d normal i normal z normal e normal d 5th Row 1st Column x Subscript left-parenthesis n right-parenthesis 2nd Column equals 3rd Column Max Subscript i equals 1 Superscript n Baseline left-parenthesis x Subscript i Baseline right-parenthesis 6th Row 1st Column x Subscript left-parenthesis 1 right-parenthesis 2nd Column equals 3rd Column Min Subscript i equals 1 Superscript n Baseline left-parenthesis x Subscript i Baseline right-parenthesis 7th Row 1st Column upper F 2nd Column equals 3rd Column normal s normal u normal m normal o normal f normal f normal r normal e normal q normal u normal e normal n normal c normal i normal e normal s 8th Row 1st Column Blank 2nd Column equals 3rd Column normal upper Sigma Subscript i equals 1 Superscript n Baseline f Subscript i 9th Row 1st Column normal upper W normal upper F 2nd Column equals 3rd Column normal s normal u normal m normal o normal f normal w normal e normal i normal g normal h normal t normal e normal d normal f normal r normal e normal q normal u normal e normal n normal c normal i normal e normal s 10th Row 1st Column Blank 2nd Column equals 3rd Column normal upper Sigma Subscript i equals 1 Superscript n Baseline w Subscript i Baseline f Subscript i EndLayout

Table 4 shows how the center and scale are computed for each of the supported methods.

Table 4: Center and Scale Estimates by Method

Method Center Scale
mrange left-parenthesis x Subscript left-parenthesis n right-parenthesis Baseline plus x Subscript left-parenthesis 1 right-parenthesis Baseline right-parenthesis slash 2 left-parenthesis x Subscript left-parenthesis n right-parenthesis Baseline minus x Subscript left-parenthesis 1 right-parenthesis Baseline right-parenthesis slash 2
moments x overbar equals normal upper Sigma Subscript i equals 1 Superscript n Baseline f Subscript i Baseline x Subscript i Baseline slash upper F StartRoot normal upper Sigma Subscript i equals 1 Superscript n Baseline f Subscript i Baseline left-parenthesis x Subscript i Baseline minus x overbar right-parenthesis squared slash left-parenthesis upper F minus 1 right-parenthesis EndRoot
wmoments x overbar Subscript w Baseline equals normal upper Sigma Subscript i equals 1 Superscript n Baseline w Subscript i Baseline f Subscript i Baseline x Subscript i Baseline slash normal upper W normal upper F StartRoot normal upper Sigma Subscript i equals 1 Superscript n Baseline w Subscript i Baseline f Subscript i Baseline left-parenthesis x Subscript i Baseline minus x overbar Subscript w Baseline right-parenthesis squared slash left-parenthesis upper F minus 1 right-parenthesis EndRoot


options='center' | 'centerscale' | 'none' | 'scale'

controls whether the standardization is to center, scale, or both center and scale. You can specify the following values:

center

centers but does not scale the variables. For a variable x,

s normal bar x equals x minus center
centerscale

centers and scales the variables. This is the default. For a variable x,

s normal bar x equals StartFraction x minus center Over scale EndFraction
none

performs no standardization.

scale

scales but does not center the variables. For a variable x,

s normal bar x equals StartFraction x Over scale EndFraction

Last updated: March 05, 2026