boolean               package:boolean               R Documentation

_P_a_r_t_i_a_l-_O_b_s_e_r_v_a_b_i_l_i_t_y _L_o_g_i_t _o_r _P_r_o_b_i_t _M_o_d_e_l_s _f_o_r _T_e_s_t_i_n_g 
_B_o_o_l_e_a_n _H_y_p_o_t_h_e_s_e_s

_D_e_s_c_r_i_p_t_i_o_n:

     Boolean logit and probit are a family of partial-observability
     _n_-variate models designed to permit researchers to model causal
     complexity, or multiple causal "paths" to a given outcome.

_U_s_a_g_e:

     boolean(structure, method, maxoptions = "", optimizer="nlm",
             safety=1, bootstrap=FALSE, bootsize=100, popsize=5000)

_A_r_g_u_m_e_n_t_s:

structure: Structure of equation to be estimated, in standard y ~ f(x)
          form, using '&' to represent the Boolean operator "and" and
          '|' to represent the Boolean operator "or."  (Note that the
          syntax requires that constants be entered explicitly; see the
          entry for 'boolprep' for details.)  Be sure to enter the
          correct functional form and balance parentheses; if in doubt,
          or just for convenience, use the 'boolprep' command to
          prepare structure prior to estimation. 

  method: Either "logit" or "probit". 

maxoptions: Maximization options (see 'nlm' or 'optim' for details). 

optimizer: Either "nlm", "optim", or "genoud". 

  safety: Number of search attempts.  The likelihood functions implied
          by Boolean procedures can become quite convoluted; in such
          cases, multiple searches from different starting points can
          be run. Works only when using 'nlm'. 

bootstrap: If TRUE, bootstraps standard errors. 

bootsize: Number of iterations if bootstrap=TRUE. 

 popsize: Population size if optimizer=genoud. 

_D_e_t_a_i_l_s:

     Boolean permits estimation of Boolean logit and probit models (see
     Braumoeller 2003 for derivation).  Boolean logit and probit are a
     family of partial-observability n-variate models designed to
     permit researchers to model causal complexity, or multiple causal
     "paths" to a given outcome.  The various "paths" are modeled as
     latent dependent variables that are multiplied together in a
     manner determined by the logic of their (Boolean) interaction. 
     If, for example, we wanted to model a situation in which diet OR
     smoking causes heart failure, we would use one set of independent
     variables (caloric intake, fat intake, etc.) to predict the latent
     probability of diet-related coronary failure (y1*), use another
     set of variables (cigarettes smoked per day, exposure to
     second-hand smoke, etc.) to predict the latent probability of
     smoking-related coronary failure (y2*), and model the observed
     outcome (y, or coronary failure) as a function of the Boolean
     interaction of the two: Pr(y=1) = 1-([1-y1*] x [1-y2*]). 
     Independent variables that have an impact on both latent dependent
     variables can be included in both paths.  Any combination of ANDs
     and ORs can be posited, and the interaction of any number of
     latent dependent variables can be modeled, although the procedure
     becomes exponentially more data-intensive as the number of latent
     dependent variables increases.

_V_a_l_u_e:

     Returns an object of class booltest, with slots @Calculus,
     @LogLik, @Variables, @Coefficients, @StandardErrors, @Iterations,
     @Hessian, @Gradient, @Zscore, @Probz, @Conf95lo, @Conf95hi,
     @pstructure, and @method (note that some slots may be left empty
     if the relevant information is not furnished by the maximizer).

_N_o_t_e:

     Examining profile likelihoods with 'boolprof' is highly
     recommended.  Boolean logit and probit are partial observability
     models, which are generically starved for information; as a
     result, maximum likelihood estimation can encounter problems with
     plateaus in likelihood functions even with very large n.

_A_u_t_h_o_r(_s):

     Bear F. Braumoeller, Harvard University, bfbraum@fas.harvard.edu 
      Jacob Kline, Harvard University, jkline@fas.harvard.edu

_R_e_f_e_r_e_n_c_e_s:

     Braumoeller, Bear F. (2003) "Causal Complexity and the Study of
     Politics." _Political Analysis_ 11(3): 209-233.

_S_e_e _A_l_s_o:

     'boolprep' to prepare structure of equation, 'boolfirst' to graph
     first differences after estimation, and 'boolprof' to produce
     profile likelihoods after estimation.

_E_x_a_m_p_l_e_s:

     library("boolean")
     set.seed(50)
     x1<-rnorm(1000)
     x2<-rnorm(1000)
     x3<-rnorm(1000)
     x4<-rnorm(1000)
     x5<-rnorm(1000)
     x6<-rnorm(1000)
     y<-1-(1-pnorm(-2+0.33*x1+0.66*x2+1*x3)*1-(pnorm(1+1.5*x4-0.25*x5)*pnorm(1+0.2*x6)))
     y <- y>runif(1000)
     answer <- boolean(y ~( ((cons+x1+x2+x3)|((cons+x4+x5)&(cons+x6))) ), method="probit")

     ## Examine coefficients, standard errors, etc.
     summary(answer)

     ## Examine "summary" output plus Hessian, gradient, etc.
     show(answer)

     ## Plot first differences for model
     plot(answer)

     ## Plot profiles
     plot(answer, panel="boolprof")

