netlogit                 package:sna                 R Documentation

_L_o_g_i_s_t_i_c _R_e_g_r_e_s_s_i_o_n _f_o_r _N_e_t_w_o_r_k _D_a_t_a

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

     'netlogit' performs a logistic regression of the network variable
     in 'y' on the network variables in set 'x'.  The resulting fits
     (and coefficients) are then tested against the indicated null
     hypothesis.

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

     netlogit(y, x, intercept=TRUE, mode="digraph", diag=FALSE,
          nullhyp=c("qap", "qapspp", "qapy", "qapx", "qapallx", 
         "cugtie", "cugden", "cuguman", "classical"), tol=1e-7,
         reps=1000)

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

       y: dependent network variable.  'NA's are allowed, and the data
          should be dichotomous. 

       x: the stack of independent network variables.  Note that 'NA's
          are permitted, as is dichotomous data. 

intercept: logical; should an intercept term be fitted?

    mode: string indicating the type of graph being evaluated. 
          '"digraph"' indicates that edges should be interpreted as
          directed; '"graph"' indicates that edges are undirected. 
          'mode' is set to '"digraph"' by default. 

    diag: boolean indicating whether or not the diagonal should be
          treated as valid data.  Set this true if and only if the data
          can contain loops.  'diag' is 'FALSE' by default. 

 nullhyp: string indicating the particular null hypothesis against
          which to test the observed estimands. 

     tol: tolerance parameter for 'qr.solve'. 

    reps: integer indicating the number of draws to use for quantile
          estimation.  (Relevant to the null hypothesis test only - the
          analysis itself is unaffected by this parameter.)  Note that,
          as for all Monte Carlo procedures, convergence is slower for
          more extreme quantiles.  By default, 'reps'=1000. 

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

     'netlogit' is primarily a front-end to the built-in 'glm.fit'
     routine.  'netlogit' handles vectorization, sets up 'glm' options,
     and deals with null hypothesis testing; the actual fitting is
     taken care of by 'glm.fit'.  

     Logistic network regression using is directly analogous to
     standard logistic regression elementwise on the appropriately
     vectorized adjacency matrices of the networks involved.  As such,
     it is often a more appropriate model for fitting dichotomous
     response networks than is linear network regression.  

     Because of the frequent presence of row/column/block
     autocorrelation in network data, classical hull hypothesis tests
     (and associated standard errors) are generally suspect.  Further,
     it is sometimes of interest to compare fitted parameter values to
     those arising from various baseline models (e.g., uniform random
     graphs conditional on certain observed statistics).  The tests
     supported by 'netlogit' are as follows:

     '_c_l_a_s_s_i_c_a_l' tests based on classical asymptotics. 

     '_c_u_g' conditional uniform graph test (see 'cugtest') controlling
          for order.

     '_c_u_g_d_e_n' conditional uniform graph test, controlling for order and
          density.

     '_c_u_g_t_i_e' conditional uniform graph test, controlling for order and
          tie distribution.

     '_q_a_p' QAP permutation test (see 'qaptest'); currently identical to
          'qapspp'. 

     '_q_a_p_a_l_l_x' QAP permutation test, using independent x-permutations.

     '_q_a_p_s_p_p' QAP permutation test, using Dekker's "semi-partialling
          plus" procedure. 

     '_q_a_p_x' QAP permutation test, using (single) x-permutations.

     '_q_a_p_y' QAP permutation test, using y-permutations.

     Note that interpretation of quantiles for single coefficients can
     be complex in the presence of multicollinearity or third variable
     effects.  Although 'qapspp' is known to be robust to these
     conditions in the OLS case, there are no equivalent results for
     logistic regression.  Caution is thus advised.  Reasonable
     printing and summarizing of 'netlogit' objects is provided by
     'print.netlogit' and 'summary.netlogit', respectively.  No plot
     methods exist at this time.

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

     An object of class 'netlogit'

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

     Carter T. Butts buttsc@uci.edu

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

     Butts, C.T., and Carley, K.M.  (2001).  ``Multivariate Methods for
     Interstructural Analysis.''  CASOS working paper, Carnegie Mellon
     University.

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

     'glm', 'netlm'

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

     #Create some input graphs
     x<-rgraph(20,4)

     #Create a response structure
     y.l<-x[1,,]+4*x[2,,]+2*x[3,,]   #Note that the fourth graph is 
                                     #unrelated
     y.p<-apply(y.l,c(1,2),function(a){1/(1+exp(-a))})
     y<-rgraph(20,tprob=y.p)

     #Fit a netlogit model
     nl<-netlogit(y,x,reps=100)

     #Examine the results
     summary(nl)

