*! version 1.0.0 30jul2013
help clr3bound

Title

clr3bound -- Compute two-sided bound estimates by inverting clrtest

Syntax

clr3bound ((lowerdepvar1 indepvars1 range1)
( lowerdepvar2 indepvars2 range2 ) ...
( lowerdepvarN indepvarsN rangeN ))
(( upperdepvarN+1 indepvarsN+1 rangeN+1 )
( upperdepvarN+2 indepvarsN+2 rangeN+2 ) ...
( upperdepvarN+M indepvarsN+M rangeN+M ))
[if] [in]
[,
stepsize(#)
method("series"|"local")
notest
null(real)
level(numlist)
noais
minsmooth(#)
maxsmooth(#)
noundersmooth
bandwidth(numlist)
rnd(#)
norseed
seed(#)
]

Description

clr3bound estimates the two-sided intersection bound of a parameter
by carrying out pointwise tests using the clrtest command.
Note that when one-sided intersection bounds are concerned,
there is no need to implement pointwise tests. In this case, the command clrbound estimates tight bounds.

Since this command is only relevant for two-sided intersection bounds, a user should input variables for both lower and upper bounds to calculate the bound. The variables are defined similarly as in the clr2bound. This command generally provides tighter bounds than
those provided by the clrtest command over equi-spaced grids, which employ Bonferroni's inequality.
Unlike the previous commands, clr3bound can only deal with one confidence level.
The clr3bound requires package moremata; see moremata.

Options

stepsize(#) specifies the distance between two consecutive grid points.
The procedure divides Bonferroni's bound into equi-distanced grids and
implements the clrtest command for each grid point to determine a possible tighter bound.
The default is stepsize(0.01).

method(string) specifies the method of estimation. By default, clr2bound will conduct parametric estimation. Specifying method("series"), clr2bound will conduct series estimation with cubic B-splines. Specifying
method("local"), will result in local linear estimation.

notest determines whether clr2bound conducts a test or not. clr2bound provides a test for the null hypothesis that the specified value is in the intersection bounds at the confidence levels specified in the level
option below. By default, clr2bound conducts the test. Specifying this option causes clr2bound to output Bonferroni bounds only.

null(real) specifies the value for the parameter under the null hypothesis of the test we described above. The default value is null(0).

level(#) specifies the confidence level of the estimation. Different from previous commands, clr3bound can only deal with one confidence level. The default is level(0.95).

noais determines whether the adaptive inequality selection would be applied or not. The adaptive inequality selection (AIS) helps to get sharper bounds by using the problem-dependent cutoff to drop irrelevant grid points of the
range. The default is to use AIS.

minsmooth(#) and
maxsmooth(#)
specify the minimum and maximum possible numbers of approximating functions considered in the cross validation procedure for B-splines.
Specifically, the number of approximating functions is set to the minimizer of the leave-one-out least squares cross validation score within this range.
For example, if a user inputs minsmooth(5) and maxsmooth(9), the number of approximating functions is chosen from the set {5,6,7,8,9}.
The procedure calculates this number separately for each inequality. The default is minsmooth(5) and maxsmooth(20). If under-smoothing is performed, the number of approximating functions ultimately used will be given by the largest integer smaller than ( the number of approximating functions times the under-smoothing factor ), see option noundersmooth below. This option is only available for series estimation.

bandwidth(#) specifies the value of the bandwidth used in the local linear estimation. By default, clr2bound calculates a bandwidth for each inequality. With undersmoothing, we use the rule of thumb bandwidth When the bandwidth(#) is specified, clr2bound uses the given bandwidth as the global bandwidth for every inequality. This option is only available for local linear estimation.

noundersmooth determines whether under-smoothing is carried out, with the default being to under-smooth. In series estimation, under-smoothing is implemented by first computing the number of approximating functions as the minimizer of the leave-one-out least squares cross validation score. The noundersmooth option simply uses this number. Without this option, we then set the number of approximating functions to K, given by the largest integer which is smaller than or equal to ( the number of approximating functions times n^1/5 times n^-2/7. For local linear estimation under-smoothing is done by using the bandwidth which is multiplied by n^1/5 times n^-2/7 from origianl bandwith. This option is only available for series and local linear estimation.

rnd(#) specifies the number of columns of the random matrix generated from the standard normal distribution. This matrix is used for computation of critical values. For example, if the number is 10000 and the level is 0.95, we choose the 0.95 quantile from 10000 randomly generated elements. The default is rnd(10000).

norseed determines whether the seed number for the simulation used in the calculation would be reset. If a user wants to use this command for simulations such as Monte Carlo method, he can prevent the command from resetting the seed number every lap by using this option. The default is to reset the seed number.

seed(#) specifies the seed number for the random number generation described above. To prevent the estimation result from changing one particular values to another randomly, clr2bound always conducts set seed # initially.
The default is seed(0).