Replies: 5 comments
-
Thanks @tmorguet . We will need more details about the analysis you are running in order to reproduce the problem. Please provide:
|
Beta Was this translation helpful? Give feedback.
-
Thank you @mbojan for your fast response and your willingness to help! I'm happy to provide you with all requested detailed information regarding our model: Model_03 <- ergm(Edgelist_Network~edges # Arc
+mutual #Reciprocity
+gwidegree(decay=0.2, fixed=T, attr=NULL,cutoff=30,levels=NULL) #Popularity spread (indegree)
+gwodegree(decay=0.2, fixed=T, attr=NULL,cutoff=30,levels=NULL) #Acitivty spread (outdegree)
+gwesp(decay=0.2, fixed=T, cutoff=30) #Transitive Closure
+gwdsp(decay=0.2, fixed=T, cutoff=30) # Mutiple 2-path (multiple connectivity)
#Control variable
+nodematch("var1")
#Actor relation effects
+absdiff("var2")+nodeocov("var2")+nodeicov("var2")
+absdiff("var3")+nodeocov("var3")+nodeicov("var3")
+absdiff("var4")+nodeocov("var4")+nodeicov("var4")
+absdiff("var5")+nodeocov("var5")+nodeicov("var5")
, control=control.ergm(MCMC.burnin = 40000, MCMC.samplesize = 4000, MCMC.interval = 4000, MCMLE.maxit = 21))
function (x, vertex.attr = NULL, vertex.attrnames = NULL, directed = TRUE,
hyper = FALSE, loops = FALSE, multiple = FALSE, bipartite = FALSE,
...)
{
g <- as.network(x, directed = directed, hyper = hyper, loops = loops,
multiple = multiple, bipartite = bipartite, ...)
if (!is.null(vertex.attr)) {
if (is.null(vertex.attrnames)) {
if (!is.null(names(vertex.attr)))
vertex.attrnames <- names(vertex.attr)
else {
vertex.attrnames <- 1:length(vertex.attr)
warning("Vertex attribute names not given; making some up.")
}
}
for (i in 1:length(vertex.attr)) g <- set.vertex.attribute(g,
vertex.attrnames[[i]], vertex.attr[[i]])
}
g
} Please let me know if I can provide you with more details. Otherwise I would be grateful for any hints to improve the model specification of our model_03 so that it runs. Thank you again and kind regards |
Beta Was this translation helpful? Give feedback.
-
Thanks @tmorguet . For item 3 I meant can you please upload the network data object you are trying to model ( Other than that, that's quite a complex model you are fitting so there are a lot of potential issues with respect to model specification versus data that can lead to the behavior you are describing. These are not necessarily technically a bug in the software. Did you try fitting simpler models? Did they converge? |
Beta Was this translation helpful? Give feedback.
-
Converting to discussion. Will create issue(s) as soon as one is identified. |
Beta Was this translation helpful? Give feedback.
-
Just as an observation (based on ongoing experience with the new 4.x platform), but it does appear that the new code is (1) faster (and perhaps higher quality?) when it works, but (2) overzealous about both hanging (when it doesn't think that the system has converged) and giving up (when it concludes that mixing is too slow and/or there is too much multicollinearity). Changing the convergence detection back to |
Beta Was this translation helpful? Give feedback.
-
Dear authors of the ergm package,
we have enthusiastically used your ergm package in R version 3.6.2 of 19/10/20 and RStudio version 1.2.5033 for our empirical studies and gained valuable insights.
In our most comprehensive ergm model including structural effects (~edges+mutual+gwidegree+gwodegree+gwesp+gwdsp), actor relation effects (+absdiff("")+nodeocov("")+nodeicov("")+nodematch("")), and control=control.ergm(MCMC.burnin = 40000, MCMC.samplesize = 4000, MCMC.interval = 4000, MCMLE.maxit = 21)), the step length converged twice after 16 iterations and the run time is 1.2 hours.
Unfortunately, after an update of R to version 4.1.2 it happened that the model did not start the first iteration despite it started the estimation. The same was the case when testing the codes on other computers with R versions 4.1.0 and 4.1.2.
Do you perhaps have an explanation why the estimation of our comprehensive ergm model does not run anymore or a hint what to consider when updating R regarding the ergm package? Does the ergm code have to be adapted in any way to run on newer R versions without problems?
The reason why we have to use a current R version is the desire to calculate further analyses based on our ergm models, specifically multilevel ergms (package mlergm), process analyses for ergms (package ergMargins), and frailty ergms (package fergm). Any additional advice on what to look for technically when calculating these models?
Any feedback would be greatly appreciated!
@handcock @drh20drh20 @CarterButts @sgoodreau @krivit @martinamorris
Beta Was this translation helpful? Give feedback.
All reactions