Description Usage Arguments Details Value MEclustnet functions References See Also Examples
The main function of interest is MEclustnet which will fit a mixture of experts latent position cluster model to a binary network.
MEclustnet will fit a mixture of experts latent position cluster model to a binary network.
1 2 3 4 |
Y |
An n x n binary matrix of links between n nodes, with 0 on the diagonal and 1 indicating a link. |
covars |
An n x p data frame of node specific covariates. Categorical variables should be factors. First column should be a column of 1s, and should always be passed in. |
link.vars |
A vector of the column numbers of the data frame |
mix.vars |
A vector of the column numbers of the data frame |
G |
The number of clusters in the model to be fitted. |
d |
The dimension of the latent space. |
itermax |
Maximum number of iterations in the MCMC chain. |
uphill |
Number of iterations for which uphill only steps in the MCMC chain should be run to find maximum a posteriori estimates. |
burnin |
Number of burnin iterations in the MCMC chain. |
thin |
The degree of thinning to be applied to the MCMC chain. |
rho.input |
Scaling factor to achieve desirable acceptance rates in Metropolis-Hastings steps. |
verbose |
Print progress updates to screen? Recommended as the models are slow to run. |
... |
Additional arguments. |
This function fits the mixture of experts latent position cluster model to a binary network via a Metropolis-within-Gibbs sampler. Covariates can influence either the link probabilities between nodes and/or the cluster memberships of nodes.
An object of class MEclustnet
, which is a list containing:
An n x d x store.dim array of sampled latent location matrices, where store.dim is the number of post burnin thinned iterations.
A store.dim x p matrix of sampled beta vectors, the logistic regression parameters of the link probabilities model.
A store.dim x n matrix of sampled cluster membership vectors.
A G x d x store.dim array of sampled cluster mean latent location matrices.
A store.dim x G matrix of sampled cluster variances.
An n x G x store.dim array of sampled mixing proportion matrices.
A G x s x store.dim array of sampled tau vectors, the logistic regression parameters of the mixing proportions model, where s is the length of tau.
A vector of length store.dim storing the loglikelihood from each stored iteration.
The number of clusters fitted
The dimension of the latent space
Count of accepted beta values
Count of accepted tau values
MEclustnet
Isobel Claire Gormley and Thomas Brendan Murphy. (2010) A Mixture of Experts Latent Position Cluster Model for Social Network Data. Statistical Methodology, 7 (3), pp.385-405.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #################################################################
# An example from the Gormley and Murphy (2010) paper, using the Lazega lawyers friendship network.
#################################################################
# Number of iterations etc. are set to low values for illustrative purposes.
# Longer run times are likely to be required to achieve sufficient mixing.
library(latentnet)
data(lawyers.adjacency.friends)
data(lawyers.covariates)
link.vars = c(1)
mix.vars = c(1,4,5)
fit = MEclustnet(lawyers.adjacency.friends, lawyers.covariates,
link.vars, mix.vars, G=2, d=2, itermax = 500, burnin = 50, uphill = 1, thin=10)
# Plot the trace plot of the mean of dimension 1 for each cluster.
matplot(t(fit$mustore[,1,]), type="l", xlab="Iteration", ylab="Parameter")
# Compute posterior summaries
summ = summaryMEclustnet(fit, lawyers.adjacency.friends)
plot(summ$zmean, col=summ$Kmode, xlab="Dimension 1", ylab="Dimension 2", pch=summ$Kmode,
main = "Posterior mean latent location for each node.")
# Plot the resulting latent space, with uncertainties
plotMEclustnet(fit, lawyers.adjacency.friends, link.vars, mix.vars)
#################################################################
# An example analysing a 2016 Twitter network of US politicians.
#################################################################
# Number of iterations etc. are set to low values for illustrative purposes.
# Longer run times are likely to be required to achieve sufficient mixing.
library(latentnet)
data(us.twitter.adjacency)
data(us.twitter.covariates)
link.vars = c(1)
mix.vars = c(1,5,7,8)
fit = MEclustnet(us.twitter.adjacency, us.twitter.covariates,
link.vars, mix.vars, G=4, d=2, itermax = 500, burnin = 50, uphill = 1, thin=10)
# Plot the trace plot of the mean of dimension 1 for each cluster.
matplot(t(fit$mustore[,1,]), type="l", xlab="Iteration", ylab="Parameter")
# Compute posterior summaries
summ = summaryMEclustnet(fit, us.twitter.adjacency)
plot(summ$zmean, col=summ$Kmode, xlab="Dimension 1", ylab="Dimension 2", pch=summ$Kmode,
main = "Posterior mean latent location for each node.")
# Plot the resulting latent space, with uncertainties
plotMEclustnet(fit, us.twitter.adjacency, link.vars, mix.vars)
# Examine which politicians are in which clusters...
clusters = list()
for(g in 1:fit$G)
{
clusters[[g]] = us.twitter.covariates[summ$Kmode==g,c("name", "party")]
}
clusters
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.