Skip to content
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

All about weights #86

Open
BenKaehler opened this issue Sep 5, 2023 · 0 comments
Open

All about weights #86

BenKaehler opened this issue Sep 5, 2023 · 0 comments

Comments

@BenKaehler
Copy link
Owner

As of right now, Louvain community detection uses edge weights, but centrality calculations discard weight information.

It would be better if weight information were used consistently. That is Louvain community detection should optionally allow unweighted calculation, and centrality calculations should use weights by default but optionally allow unweighted calculations.

But there are some complications. I'll collect them here to help with future unravelling.

SpiecEasi MB, SpiecEasi Glasso, and FlashWeave all return different "weights". They appear to be:

  • MB - beta coefficients from lasso regressions, so they probably control for "by-stander effects" as they call it them in the FlashWeave paper
  • Glasso - straight-up correlation, so doesn't control for by-stander effects, except that it's set to zero if it's not significant using an algorithm that does account for by-stander effects
  • FlashWeave - parameters from their model that attempts to grow networks that control for by-stander effects, so opaque in terms of how they should be compared or interpretted.

So while there is some doubt about the specific interpretation of each weight, they all seem to be "correlation-like". That is, larger in absolute value implies a stronger connection. I compare correlation-like to "distance-like", where a stronger connection would be implied by a smaller value.

Reviewing how weights are handled in our centrality statistics:

  • degree - not weighted
  • betweenness - weights are interpretted as distances
  • closeness - weights are interpretted as distances
  • eigenvector - weights are interpretted as connection strength
  • associativity - weights degree is replaced by the sum of the weights incident on a node

So correlation-like weights are probably appropriate for the latter two, but should be flipped for the second and third. For the first it doesn't matter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant