From 8e09ca6ca68c71bdab65525b529e2adfa281823c Mon Sep 17 00:00:00 2001 From: Ben Green Date: Wed, 1 Jul 2015 00:49:23 -0400 Subject: Got predict-victims running in parallel, drastically reducing the time for each test. Also changed how we get the rankings of infected individuals each day. --- R Scripts/find-parents.R | 15 +++++++++++---- R Scripts/generate-network.R | 40 ++++++++++++++++++++------------------- R Scripts/predict-victims-plots.R | 9 +++++---- R Scripts/predict-victims.R | 39 ++++++++++++++++++++++---------------- 4 files changed, 60 insertions(+), 43 deletions(-) (limited to 'R Scripts') diff --git a/R Scripts/find-parents.R b/R Scripts/find-parents.R index 3ec8809..023d7ba 100644 --- a/R Scripts/find-parents.R +++ b/R Scripts/find-parents.R @@ -6,8 +6,8 @@ # source('criminal_cascades/R Scripts/structural.R') ##### Initialize parameters based on what ml2 found -alpha = 0.061 -delta = 0.082 +alpha = 0.18 +delta = 0.09 ##### Get weights edges = dag_dat_test[!is.na(dag_dat_test$t2),] @@ -21,20 +21,27 @@ weights = p/p_tilde edges$weight = weights ##### Find most likely parents -parents = data.frame(vic=0,Npars=0,par_rank=0) +parents = data.frame(vic=0,Npars=0,par_rank=0,rand_rank=0) vics = setdiff(vic_ids,seeds) +print(length(vics)) for (u in vics){ + if(which(vics==u) %% 500 == 0) print(which(vics==u)) u_parents = edges[edges$to==u,] u_parents = u_parents[order(u_parents$weight,decreasing=T),] Nparents = dim(u_parents)[1] infector = V(g)$infector[u] infectorID = which(u_parents$from==infector) - parents[which(vics==u),] = c(u, Nparents, infectorID) + randID = sample(1:Nparents,1) + parents[which(vics==u),] = c(u, Nparents, infectorID, randID) } ##### Get some summary statistics on how well +mean(parents$par_rank==1) median(parents$par_rank[parents$Npars>9]) median(parents$par_rank[parents$Npars>99]) +edges[edges$to==2847,] +## baseline alg +# for each vic, find potential parents, pick one at random diff --git a/R Scripts/generate-network.R b/R Scripts/generate-network.R index 3b40969..dab81a4 100644 --- a/R Scripts/generate-network.R +++ b/R Scripts/generate-network.R @@ -3,20 +3,20 @@ setwd("~/Documents/Cascade Project/") source('criminal_cascades/R Scripts/temporal.R') source('criminal_cascades/R Scripts/structural.R') -alpha = 1/100 -beta = 0.02 -delta = 0.15 +alpha = 1/10 +beta = 0.01 +delta = 0.25 # lmbda = 1/10 t_max = 1000 N = 5000 g = forest.fire.game(nodes=N, fw.prob=0.3, ambs=1, directed=F) -plot(g, vertex.size=5, vertex.label=NA) +plot(g, vertex.size=3, vertex.label=NA) V(g)$seed = runif(vcount(g))