{"action":"opened","issue":{"url":"https://api.github.com/repos/greenelab/xswap-analysis/issues/1","repository_url":"https://api.github.com/repos/greenelab/xswap-analysis","labels_url":"https://api.github.com/repos/greenelab/xswap-analysis/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/greenelab/xswap-analysis/issues/1/comments","events_url":"https://api.github.com/repos/greenelab/xswap-analysis/issues/1/events","html_url":"https://github.com/greenelab/xswap-analysis/issues/1","id":396058032,"node_id":"MDU6SXNzdWUzOTYwNTgwMzI=","number":1,"title":"General methods for incorporating permuted networks","user":{"login":"zietzm","id":7230303,"node_id":"MDQ6VXNlcjcyMzAzMDM=","avatar_url":"https://avatars1.githubusercontent.com/u/7230303?v=4","gravatar_id":"","url":"https://api.github.com/users/zietzm","html_url":"https://github.com/zietzm","followers_url":"https://api.github.com/users/zietzm/followers","following_url":"https://api.github.com/users/zietzm/following{/other_user}","gists_url":"https://api.github.com/users/zietzm/gists{/gist_id}","starred_url":"https://api.github.com/users/zietzm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zietzm/subscriptions","organizations_url":"https://api.github.com/users/zietzm/orgs","repos_url":"https://api.github.com/users/zietzm/repos","events_url":"https://api.github.com/users/zietzm/events{/privacy}","received_events_url":"https://api.github.com/users/zietzm/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-01-04T20:31:08Z","updated_at":"2019-01-04T20:31:08Z","closed_at":null,"author_association":"MEMBER","body":"I am trying to perform a simple example application of XSwap-permuted networks for generic inference tasks. The simplest example that came to mind is to take a simple network (call original network A), drop a fraction of edges (resulting in reduced network B), and attempt to predict the dropped edges. To make the method not dependent on the DWPC metric and gamma hurdle model for it, I'm using both DWPC as well as two other metrics, the Jaccard coefficient and the number of common neighbors for prediction. \r\n\r\nOverall, my hypothesis is that degree-preserving random networks contain information that is beneficial to the edge prediction task. Specifically, the permuted networks could provide a way to isolate the confounders of node degree and network density.\r\n\r\nIt's not obvious exactly how random networks should be incorporated, though. I have a few general ideas, though all have some downsides:\r\n\r\n1. Concatenate metrics based on B and average metrics based on permutations of B. Then compare performance of logistic regression on these features to performance on the B features alone. This is probably the easiest method, though it wouldn't be very interpretable and wouldn't capture any potential nonlinear relationships.\r\n\r\n2. Compute averages of metrics across permutations of B, then subtract averages from B metrics and predict edges. This makes some assumptions about the relationships between metrics and their averages, which may or may not be valid.\r\n\r\n3. Compare performance based on B metrics with performance on metrics of permuted B. This is basically the (delta AUROC) method used in Rephetio. Works well on the task for which it was designed, but I don't think it is appropriate here. We are only dealing with a single metaedge, and it's not clear what we could interpret from computing a delta AUROC here. \r\n\r\n4. (Not yet well-developed) Compute a prior edge probability or prior metric probability using permuted networks and update some conditional probability based either on B metrics themselves or logistic-regression derived probabilities. \r\n\r\n5. (Not yet well-developed) Somewhat like 4 but nonparametric. Rank potential connections using metrics computed on permuted networks. Somehow combine this information with B metrics (whether the metrics themselves or logistic-regression derived probabilities) to either get probabilities for each connection or at least rank potential connections. This would allow us to easily compute an AUROC value that could be compared to a simple no-permutation edge prediction method, though it's not clear how these data could be \"combined.\""}}
{"actor":{"display_login":"zietzm"}}