-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CRAN Task View: NetworkAnalysis #61
Comments
Thanks for the proposal Fabio @FATelarico & Co! I appreciate that you have compiled this list of packages along with the corresponding description. This is a useful overview of a collection of packages on block modeling. However, I think that this is too specialized and not substantial enough for a standalone task view. I'm also cc'ing Bettina @bettinagruen as the principal maintainer of the "Cluster" task view to see what she thinks and whether this could become a section in the "Cluster" task view. However, overall my feeling is that this would better fit a "Network Analysis" task view which we currently do not have. Also I'm cc'ing Søren @hojsgaard in case he has any thoughts or recommendations. |
I agree that this would be best suited for a Network Analysis task view. The Cluster task view contains already a number of sections. One could thus rather easily add a section on block modeling. However, the description of the packages would need to be more detailed covering each package separately to be in line with how other packages are described in the task view. Presumably none of the packages would then also qualify as core for this more general task view. |
Following on your suggestions the porposed task view was updated to address the entire field of network analysis |
Thank you @FATelarico ! I checked your new proposal and to me, the core packages are well identified and relevant. However,
|
Fabio, thanks for all the work and the quick revision! This is a useful start for a network analysis task view. In addition to Nathalie's comments a few additional thoughts:
|
Thanks to the editors for their comments.
|
Thanks! I liked the new version. However, I am not convinced by your section on "Bio-Chemical Networks": In your answer above, you explain that network inference is out-of-the-scope of your TV (and I could agree with that) but you are citing three packages for network inference that are far from being the most known and used (citing A few additional minor remarks:
|
I agree that there is good progress here. However, I feel that the inclusion/exclusion criteria are not as clear yet as they should be. Getting contributions/feedback from someone with more ergm expertise would probably be good. And the separation with graphical models has also some room for improvement. Hence, I'm pinging Søren @hojsgaard again: Could you please have a look at the proposal? And I suggest that we wait until you have feedback/suggestions from two more potential co-maintainers who can increase the diversity among the maintainer team. |
Pavel Krivitsky from Statnet here. Thank you, @FATelarico, for inviting me. I'll read through the discussion and the draft in detail later, but I want to flag a few items as a matter of first impression.
|
Pavel @krivit, thank you for your inputs, this is very much appreciated! I think it would be great if you could change the team of co-maintainers of the task view, in order to bring a new perspective to the team based on your expertise. For a short introduction to the idea of CRAN task views and the corresponding file format, see Documentation.md. If you are interested in more details and some background information, see doi:10.48550/arXiv.2305.17573. Some quick feedback regarding the points you raised:
Thanks & best wishes! |
@FATelarico , if I want to make edits, should I use PRs or push to the repository directly?
Thanks!
This is more about functionality rather than endorsement. The short of it is that
I don't think there is any harm in doing both.
A good phrasing might be challenging to come up with, but I suppose we can play around with it and see what happens. |
Re: In this case, my feeling is that the scope of the package belongs rather clearly to "Epidemiology" and thus I would avoid the duplication. Feel free to iterate, if I'm missing something here (e.g., if If you feel that the "Epidemiology" task view should have a dedicated section on disease networks, I would encourage you to raise this with the Epidemiology task view maintainers. |
@krivit pushing to the main branch is okay, I have a local copy indexed by version being download after every commit.
I agree. As mentioned in the currnt draft, |
A new draft is online, I apologise for the delay.
The choice was quite arbitrary because none of us is directly involved in this field, but several colleagues highlighted these packages as the 'most relevant'. Incidentially,
I started by adding them either under
Taking also into account @zeileis arguments, I added only a brief metion of
The fact that ERGM is about modeling, simulation, and everything in between makes it difficult to slap a label on it or even put it on par with other approaches. But if you feel there is a satisfactory way to do so, the result would be incredibly useful for new users! Thanks everyone for the feedback and active involvement! |
For previous release's changelog see: cran-task-views/ctv#61 (comment)
Dear all, I am not entirely sure I understand the proposal. Regarding the GraphicalModels task view my approach has been very pragmatic: Package authors contact me to have their package on the task view and I usually add it. If a few packages appear in more than one task view, then I do not see that as a problem. Another topic: Perhaps it could be an idea to agree on how packages are described on the task views? I generally copy the package description unless it is too lengthy. Maybe there are other practices? Best |
Søren, thanks for your feedback. Regarding your comments:
|
Apologies for the silence; down with COVID at the moment.
@FATelarico, I don't think I have push access. I just tried it on a test branch.
In my experience, the line between graphical models and network analysis that in graphical models (and neural network models, for that matter), the graph is a prespecified component of the model specification that does not depend on the data; whereas in network analysis the graph is the object being observed and summarised or modelled. |
In response to @krivit: If you have a database / dataset and do a model search for a graphical model (as e.g. the gRim package can do) then I do believe the graph is not specified on beforehand? So this is perhaps not the best way ahead for discriminating between graphical models and network analysis. A more general comment: In graphical models (at least traditionally), focus is on some kind of (conditional) independence restriction which is a probabilistic statement. A missing edge represent a conditional independence restriction. That is the classical connection between a graph and a probabilistic model. In larger models with many variables, the graphs become less interesting as visual objects. It is hard to make sense of a graph with 1000 variables :) So in the distinction between graphical models and network analysis, one view is that it comes down to what is being analyzed? What is the key component in network analysis? Is that conditional independence? Is it another well defined mathematical / statistical concept? Perhaps, I can say it more directly: I am uncertain what network analysis really is... In response to @zeileis: You are right that small overlaps between task views are desirable but also that overlaps are unavoidable. Would it be feasible to have a package "belonging" primarily to one specific task view and then one can refer to that from any other task view? In addition to standardizing the description of packages one thing that perhaps could be nice is to be able to automatically generate an "update history" for each package just to give people an idea about how active a package is maintained. |
I am aware of this type of problem, but I didn't want to get too far into the weeds; the main distinction is that the graph is not the object of observation or analysis. I would classify this problem as a model selection problem for graphical models, rather than a network analysis problem. However, if one then, as you say, tries to understand the properties of this graph, say by visualising it or by detecting groups of variables with similar structural roles in the graph, then it it becomes a network analysis problem. The tools one would use would often be agnostic to whether the graph represents friendships between people or conditional dependence between variables. I know there are also other intermediate cases. For example, Frank and Strauss (1986) "Markov Graphs" specified a probability model for network structure by constructing a conditional dependence graph (i.e., a graphical model) for edge variables and then using Hammersley-Clifford Theorem to derive the form for the probability of a given graph under the model. This approach and its extensions were then used to infer social forces affecting the structure of the network ever since. |
I think the issue in understanding the connection (and difference) between NetworkAnalysis and GraphicalModels is that the former offers tools that are not limited to 'describe statistical models as graphs/networks'. Rather, as @krivit pointed out (rightly, in my humble opinion), network analysis allows to deal with networks representing a/some connection/s between a/some defined set/s of entities. If the entities happen to be variables and the connection between them is conditional dependence (with independence being implied by lack of ties), then you get a graphical model. Obviously, Markovian graphs lie in somewhat of a gray area, but since they are covered in the GraphicalModels CTV, we are not dealing with them.
Wish you a speedy recovery!
It should be fixed now. Let me know |
Thanks for the clarifications @FATelarico @krivit @hojsgaard, I think this is very useful and something to build upon. I suggest that you review the description of the scope of the NetworkAnalysis view to make it sharper with respect to this distinction. Also add a cross-reference to the GraphicalModels task view. When the NetworkAnalysis task view is published, its scope description should be adapted correspondingly. Similarly, the first section ("Representation, manipulation and display of graphs") should be streamlined (with yet another cross-reference) once NetworkAnalysis is available. |
Thank you for the interesting discussion. As @zeileis I think that, for readers, it is important that the distinction is clearly made at the beginning of both task views with cross references: that will help them identify which TV they have to read to answer their specific question. Also, I share the view that GraphicalModels includes packages dealing with graphs as a way to represent some kind of conditional dependency structure between variables (nodes). For me, Markovian graphs and Bayesian networks are more in this task view than in NetworkAnalysis for instance but I agree that the distinction is not easy and clear to make (at least, that is where I would search for information on this topic). However, I am under the impression that a coordination between the two TV is necessary (maybe if you could find someone to be a maintainer of both TV, that would help). Finally, just a minor comment: |
Renamed a section to Biology and (Bio)-Chemistry Networks in agreement to cran-task-views/ctv#61 (comment)
Improving the inclusion/exclusion criterion in agreement with - cran-task-views/ctv#61 (comment) - cran-task-views/ctv#61 (comment) - cran-task-views/ctv#61 (comment) - cran-task-views/ctv#61 (comment)
Thank you for your continued feedback. With the last two edits I improved on the following aspects:
Regarding coordination, I agree that it may be useful. Perhaps @hojsgaard could join our team if he feels okay with it. |
@FATelarico : Thanks! you might also want to correct "Notably, the underlying data mining approach has been used beyond biochemistry."? (I was referring to this sentence actually.) Regarding the rest, I think that it heads in the right direction. I also think that we should wait until the team of maintainers is completely set. |
…ges (rem, relevent, dnr, RSiena, lolog). references cran-task-views/ctv#61
…ges (rem, relevent, dnr, RSiena, lolog). references cran-task-views/ctv#61
I've drafted a dynamic network modelling subsection, though it does lead to more questions about how to organise things. What do you think? |
@krivit : sorry for my very late answer! The current proposal sounds good to me. Do you have any suggestions for additional maintainers who could help cover the diversity of the topic more broadly? |
As a minor note, in your repository, the task view file should be named 'NetworkAnalysis.md |
Wow, time flies... Since nobody objected, I went ahead and merged it into |
Perhaps someone from Stocnet (https://github.com/stocnet/)?
Done. |
Thanks @krivit ! For me it's all good, including your proposition for another maintainer. We need to wait that other editors react as well and we can proceed to the publication. |
Thank you for your patience @tuxette and every one on the team! As @krivit also noticed, time really flies during the summer! I was in touch with some people to expand the editing team, but they could not commit the time. I just sent an email to Alvaro Uzaheta, one of the maintainers of goldfish who seems to be quite active in the community. Possibly, you will see him pop up here soon! |
I welcome @jhollway and @auzaheta from the They replied to out invitation with a keen interest in our project, for which I sincerely thank them both. Based on our conversation, I would expect an enrichment of the draft to incorporate their ideas. A further round of commenting by the entire maintainer team shall follow. Then, based also on the previous comments of the editing team (and if there are no new remarks) we should be ready to get the ball rolling. |
Thanks @FATelarico and welcome @jhollway and @auzaheta ! The best would be that you tell us when you are happy with the task view and we can proceed to its final review, endorsement and publication. |
Scope
The proposed CRAN Task View contains a list of packages that can be used for dealing with networks (also known as relational data and graphs).
Packages
Core packages include:
intergraph
igraph
statnet
sna
network
The other packages:
graph
BoolNet
egor
ionet
networkDynamic
tidygraph
centiserve
birankr
goldfish
amen
ergm
ergm.count
ergm.ego
ergm.multi
ergm.rank
ergmgp
ergmito
biergm
dnr
bootnet
localboot
dyads
fastnet
multinets
nda
baycn
BayesianNetwork
implements
bgms
bnma
econetwork
AnimalHabitatNetwork
aniSNA
assocInd
ATNr
BIEN
bipartite
cassandRa
bibliometrix
bibliometrixData
biblionetwork
Diderot
c3net
Ac3net
ahnr
BASiNET
bionetdata
Cascade
evolqg
NetworkToolbox
qgraph
HospitalNetwork
geonetwork
chessboard
epanet2toolkit
intensitynet
epinet
hybridModels
netdiffuseR
FinNet
ITNr
modnets
multinet
visNetwork
networkD3
bipartiteD3
diagram
ndtv
neatmaps
ggnetwork
ggraph
ggsom
graphlayouts
cencrne
linkcomm
concoR
blockmodeling
BlockmodelingGUI
kmBlock
dBlockmodeling
signnet
blockmodels
sbm
dynsbm
MLVSBM
StochBlock
GREMLINS
Overlap
The only TaskView that could overlap with thematic ones (e.g.,
epanet2toolkit
is also in the hidrology TaskView), but this is ineherent ot a method-oriented CTV as sopposed to a substantive one.In general, there does not appear to be substantial overlap with existing CRAN task views.
Maintainers
The text was updated successfully, but these errors were encountered: