logLik-methods              package:vsn              R Documentation

_C_a_l_c_u_l_a_t_e _t_h_e _l_o_g _l_i_k_e_l_i_h_o_o_d _a_n_d _i_t_s _g_r_a_d_i_e_n_t _f_o_r
_t_h_e _v_s_n _m_o_d_e_l

_D_e_s_c_r_i_p_t_i_o_n:

     'logLik' calculates the log likelihood and its gradient for the
     vsn model. 'plotVsnLogLik' makes a false color plot for a 2D
     section of the likelihood landscape.

_U_s_a_g_e:

     ## S4 method for signature 'vsnInput':
     logLik(object, p, mu=numeric(0), sigsq=as.numeric(NA))

     plotVsnLogLik(object, p, whichp=1:2, expand=1, ngrid=31L, fun=logLik, ...)

_A_r_g_u_m_e_n_t_s:

  object: A 'vsnInput' object.

       p: For 'plotVsnLogLik', a vector or a 3D array with the point in
          parameter space around which to plot the likelihood. For
          'logLik', a matrix whose columns are the set of parameters at
          which the likelihoods are to be evaluated.

      mu: Numeric vector of length 0 or 'nrow(object)'. If the length
          is 0, there is no reference and 'sigsq' must be 'NA' (the
          default value). See 'vsn2'.

   sigsq: Numeric scalar.

  whichp: Numeric vector of length 2, with the indices of those two
          parameters in 'p' along which the section is to be taken.

  expand: Numeric vector of length 1 or 2 with expansion factors for
          the plot range. The range is auto-calculated using a
          heuristic, but manual adjustment can be useful; see example.

   ngrid: Integer scalar, the grid size.

     fun: Function to use for log-likelihood calculation. This
          parameter is exposed only for testing purposes.

     ...: Arguments that get passed on to 'fun', use this for 'mu' and
          'sigsq'.

_D_e_t_a_i_l_s:

     'logLik' is an R interface to the likelihood computations in vsn
     (which are done in C).

_V_a_l_u_e:

     For 'logLik', a numeric matrix of size 'nrow(p)+1' by 'ncol(p)'.
     Its columns correspond to the columns of 'p'. Its first row are
     the likelihood values, its rows '2...nrow(p)+1' contain the
     gradients. If 'mu' and 'sigsq' are specified, the ordinary
     negative log likelihood is calculated using these parameters as
     given. If they are not specified, the profile negative log
     likelihood is calculated.

     For 'plotVsnLogLik', a dataframe with the 2D grid coordinates and
     log likelihood values.

_A_u_t_h_o_r(_s):

     Wolfgang Huber <URL: http://www.ebi.ac.uk/huber>

_S_e_e _A_l_s_o:

     'vsn2'

_E_x_a_m_p_l_e_s:

     data("kidney")

     v = new("vsnInput", x=exprs(kidney),
       pstart=array(as.numeric(NA), dim=c(1, ncol(kidney), 2)))
      
     fit = vsn2(kidney)
     print(coef(fit))

     p = sapply(seq(-1, 1, length=31), function(f) coef(fit)+c(0,0,f,0))

     ll = logLik(v, p)

     plot(p[3, ], ll[1, ], type="l", xlab=expression(b[1]), ylab=expression(-log(L)))
     abline(v=coef(fit)[3], col="red")

     plotVsnLogLik(v, coef(fit), whichp=c(1,3), expand=0.2)

