Learn R Programming

sna (version 0.4)

lnam: Fit a Linear Network Autocorrelation Model

Description

lnam is used to fit linear network autocorrelation models. These include standard OLS as a special case, although lm is to be preferred for such analyses.

Usage

lnam(y, x = NULL, W1 = NULL, W2 = NULL, theta.seed = NULL, 
    null.model = c("meanstd", "mean", "std", "none"), method = "BFGS", 
    control = list())

Arguments

y
a vector of responses.
x
a vector or matrix of covariates; if the latter, each column should contain a single covariate.
W1
a (possibly valued) adjacency matrix on the elements of y.
W2
another (possibly valued) adjacency matrix on the elements of y.
theta.seed
an optional seed value for optim.
null.model
the null model to be fit; must be one of "meanstd", "mean", "std", or "none".
method
method to be used with optim.
control
optional control parameters for optim.

Value

  • An object of class "lnam" containing the following elements:
  • ythe response vector used.
  • xif supplied, the coefficient matrix.
  • W1if supplied, the W1 matrix.
  • W2if supplied, the W2 matrix.
  • modela code indicating the model terms fit.
  • infomatthe estimated Fisher information matrix for the fitted model.
  • acvmthe estimated asymptotic covariance matrix for the model parameters.
  • null.modela string indicating the null model fit.
  • lnlik.nullthe log-likelihood of y under the null model.
  • df.null.residthe residual degrees of freedom under the null model.
  • df.nullthe model degrees of freedom under the null model.
  • null.paramparameter estimates for the null model.
  • lnlik.modelthe log-likelihood of y under the fitted model.
  • df.modelthe model degrees of freedom.
  • df.residualthe residual degrees of freedom.
  • df.totalthe total degrees of freedom.
  • rho1if applicable, the MLE for rho1.
  • rho1.seif applicable, the asymptotic standard error for rho1.
  • rho2if applicable, the MLE for rho2.
  • rho2.seif applicable, the asymptotic standard error for rho2.
  • sigmathe MLE for sigma.
  • sigma.sethe standard error for sigma
  • betaif applicable, the MLE for beta.
  • beta.seif applicable, the asymptotic standard errors for beta.
  • fitted.valuesthe fitted mean values.
  • residualsthe residuals (response minus fitted); note that these correspond to $\hat{e}$ in the model equation, not $\hat{\nu}$.
  • disturbancesthe estimated disturbances, i.e., $\hat{\nu}$.
  • callthe matched call.

Details

lnam fits the linear network autocorrelation model given by $$y = \rho_1 W_1 y + X \beta + e, \quad e=\rho_2 W_2 e + \nu$$

where $y$ is a vector of responses, $X$ is a covariate matrix, $W_1$ and $W_2$ are (possibly valued) adjacency matrices, and $\nu \sim N(0,\sigma^2)$. Intuitively, $\rho_1$ is an ``AR''-like parameter (parameterizing the autoregression of each $y$ value on its neighbors in $W_1$) while $\rho_2$ is an ``MA''-like parameter (parameterizing the autocorrelation of each disturbance in $y$ on its neighbors in $W_2$). In general, the two models are distinct, and either or both effects may be selected by including the appropriate matrix arguments.

Model parameters are estimated by maximum likelihood, and asymptotic standard errors are provided as well; all of the above (and more) can be obtained by means of the appropriate print and summary methods. A plotting method is also provided, which supplies fit basic diagnostics for the estimated model. For purposes of comparison, fits may be evaluated against one of four null models:

  1. meanstd: mean and standard deviation estimated (default).
  2. mean: mean estimated; standard deviation assumed equal to 1.
  3. std: standard deviation estimated; mean assumed equal to 0.
  4. none: no parameters estimated; data assumed to be drawn from a standard normal density.

The default setting should be appropriate for the vast majority of cases, although the others may have use when fitting ``pure'' autoregressive models (e.g., without covariates). Although a major use of the lnam is in controlling for network autocorrelation within a regression context, the model is subtle and has a variety of uses. (See the references below for suggestions.)

References

Leenders, T.Th.A.J. (2002) ``Modeling Social Influence Through Network Autocorrelation: Constructing the Weight Matrix'' Social Networks, 24(1), 21-47.

Anselin, L. (1988) Spatial Econometrics: Methods and Models. Norwell, MA: Kluwer.

See Also

lm, optim

Examples

Run this code
#Construct a simple, random example:
w1<-rgraph(100)               #Draw the AR matrix
w2<-rgraph(100)               #Draw the MA matrix
x<-matrix(rnorm(100*5),100,5) #Draw some covariates
r1<-0.2                       #Set the model parameters
r2<-0.1
sigma<-0.1
beta<-rnorm(5)
#Assemble y from its components:
nu<-rnorm(100,0,sigma)          #Draw the disturbances
e<-qr.solve(diag(100)-r2*w2,nu) #Draw the effective errors
y<-qr.solve(diag(100)-r1*w1,x%*%beta+e)  #Compute y

#Now, fit the autocorrelation model:
fit<-lnam(y,x,w1,w2)
summary(fit)
plot(fit)

Run the code above in your browser using DataLab