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

Constraint combination: blockdiag("gid")+odegrees #547

Open
benrosche opened this issue Jan 2, 2024 · 3 comments
Open

Constraint combination: blockdiag("gid")+odegrees #547

benrosche opened this issue Jan 2, 2024 · 3 comments

Comments

@benrosche
Copy link

benrosche commented Jan 2, 2024

~ Feature request ~

Dear statnet developers,

I would like to request the constraint combination ergm(..., constraints=~blockdiag("gid")+odegrees).

This constraint combination would not only be useful to me. I think it would allow us to better disentangle homophily and popularity mechanisms in grouped friendship networks. To differentiate homophily and popularity for a categorical attribute x, there are different possible model specifications:

  • nodematch(x)+nodeofactor(x)+nodeifactor(x). The issue with this specification is that it averages over homophily and popularity across different groups. In other words, it does not model differential homophily and popularity.
  • nodemix(x). One might see the diag() coefficients as measures of homophily and the off-diag() coefficients as measures of popularity. However, the issue with this specification is that different coefficient sizes across groups could either be because of differential sociality or differential popularity. In other words, this specification models differential homophily and popularity but conflates sociality and popularity.
  • nodemix(x)+nodeofactor(x) is not identified (at least, I get linear combination warnings)
  • ergm(g~nodemix(x), constraints=~blockdiag("gid")+odegrees) should work and this model would properly differentiate differential homophily and popularity with the diag() coefficients as homophily and off-diag() coefficients as popularity

Thank you very much for considering this extension. Best wishes, Ben

@krivit
Copy link
Member

krivit commented Jan 3, 2024

This should be fairly straightforward: we just need to hook the conditional degree proposals into the DyadGen API.

@krivit
Copy link
Member

krivit commented Jan 4, 2024

On further thought, the back-end data structure doesn't handle proposals that select multiple random edges very well.

@benrosche
Copy link
Author

So I probably should not get my hopes up for this feature to be implemented anytime soon, right?

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

No branches or pull requests

2 participants