Profile loglikelihood function of selmclass objects
Description
One or twodimensional profile (penalized) loglikelihood function of a
selm
fit and corresponding confidence interval or regions
Usage
1 2 3 4 
Arguments
fitted 
an object of class 
param.type 
a character string with the required parameterization; it must be either

param.name 
either a single character string or a vector of two such terms with the
name(s) of the parameter(s) for which the profile loglikelihood is
required; these names must match those appearing in

param.values 
in the oneparameter case, a numeric vector with
the values where the loglikelihood must be evaluated; in the twoparameter
case, a list of two such vectors used to build a grid of coordinates
of points. Their range must identify an interval or a rectangle which
includes the MLE or MPLE obtained by 
npt 
in case the vector or any of the vectors of argument 
opt.control 
an optional list passed as argument 
plot.it 
a logical value; if 
log 
a logical value (default: 
level 
a single probability value (in the oneparameter case) or a vector of such values (in the twoparameter case) for which the confidence interval or region is requited; see ‘Details’ for more information. 
trace 
a logical value (default: 
... 
optional graphical parameters passed to the plotting functions. 
Details
For each chosen point of the parameter(s) to be profiled, the
loglikelihood is maximized with respect to the remaining parameters.
The optimization process is accomplished using the optim
optimization function, with method="BFGS"
. This step can be regulated by
the user via opt.control
which is passed to optim
as control
argument, apart from element fnscale
whose use is
reserved.
If the original fitted
object included a fixed parameter value,
this is kept fixed here. If the estimation method was "MPLE"
,
that choice carries on here; in case the penalty function was userdefined,
it must still be accessible.
For plotting purposes and also in the numerical output, the deviance function D is used, namely
D = 2*[max(log L) log L]
where L denotes the likelihood.
The range of param.values
must enclose the maximum (penalized)
likelihood estimates (MLE or MPLE) by an adequate extent
such that suitable confidence intervals or regions can be established from
standard asymptotic theory.
For the SN family and DP parameterization, the asymptotic
theory is actually nonstandard near the important point α=0,
but the correspondence with the regular case of the CP
parameterization, still allows to derive confidence regions using standard
procedures; for more information on this point, see Section 3.1.6 of
Azzalini and Capitanio (2014).
When the MLE occurs on the frontier of the parameter space,
a message is issued and no confidence interval is produced, while in the
twoparameter case the plot is not labelled with probability values, but only
with deviance levels.
Value
An invisible list whose components, described below, are partly different in the one and the twoparameter cases.
call 
the calling statement 
<param1> 
values of the first parameter 
<param2> 
values of the second parameter (in a twoparameter case) 
logLik 
numeric vector or matrix of the profile loglikelihood values 
confint 
in the oneparameter case, the confidence interval 
level 
in the oneparameter case, the confidence level 
deviance.contour 
in the twoparameter case, a list of lists whose elements identify each curve of the contour plot 
Warnings
This function is experimental and changes in future versions of the package may occur. Users should not rely on the persistence of the same user interface or the same name.
It is a known fact that, in some critical situations, peculiar outcomes are produced.
Author(s)
Adelchi Azzalini
References
Azzalini, A. with the collaboration of Capitanio, A. (2014). The SkewNormal and Related Families. Cambridge University Press, IMS Monographs series.
See Also
selm
, summary.selm
,
makeSECdistr
for the CP/DP parameterizations,
optim
for its control
argument
Examples
1 2 3 4 5 6 7 8 9 10 11  data(ais)
m1 < selm(log(Fe) ~ BMI + LBM, family = "sn", data = ais)
pll < profile(m1, "dp", param.name="alpha", param.val=c(3,2))
profile(m1, "cp", param.name="gamma1", param.val=seq(0.7, 0.4, by=0.1))
# in the next example, we reduce grid points to save execution time
pll < profile(m1, "cp", param.name=c("(Intercept.CP)", "gamma1"),
param.val=list(c(1.5, 4), c(0.8, 0.5)), npt=c(11,16) )
