コード例 #1
0
    ccdf_parent = ccdf_from_data(deg_parent)
    ccdf_traced = {}
    for k in top_list:
        ccdf_traced[k] = ccdf_from_data(deg_traced[k])

    ccdf_samp["type"] = "infected"
    ccdf_parent["type"] = "parent"
    tables = [ccdf_samp, ccdf_parent]
    for k, tb in ccdf_traced.items():
        tb["type"] = "traced_%d" % k
        tables += [ccdf_traced[k]]

    pk = pk_from_data(deg_list)

    avg_deg = np.mean(deg_list)
    rk_norm = EoN.get_PGFDPrime(pk)(1)

    qk = dict((k - 1, k * p / avg_deg) for k, p in pk.items())
    rk = dict((k - 2, k * (k - 1) * p / rk_norm) for k, p in pk.items())

    pk_ccdf = ccdf_from_pk(pk)
    qk_ccdf = ccdf_from_pk(qk)
    rk_ccdf = ccdf_from_pk(rk)
    pk_ccdf["type"] = "pk"
    qk_ccdf["type"] = "qk"
    rk_ccdf["type"] = "rk"

    tables += [pk_ccdf, qk_ccdf, rk_ccdf]
    table = pd.concat(tables, ignore_index=True)
    table.to_csv(OUTPUT, sep="\t", index=False)
コード例 #2
0
            tree = sim_data_list[gid]["tree"]
            isolated, parents, traced = run_contact_tracing(G,
                                                            sim_data,
                                                            tree,
                                                            n=n,
                                                            **interv_params)
            isolated_list += [isolated]
            parent_list += [parents]
            traced_list += [traced]

    isolated = pd.concat(isolated_list, ignore_index=True)
    traced = pd.concat(traced_list, ignore_index=True)
    parents = pd.concat(parent_list, ignore_index=True)

    avg_deg = np.mean(list(G.degree), axis=0)[1]
    rk_norm = EoN.get_PGFDPrime(EoN.get_Pk(G))(1)

    pk = dict(sorted(EoN.get_Pk(G).items()))
    qk = dict((k - 1, k * p / avg_deg) for k, p in pk.items())
    rk = dict((k - 2, k * (k - 1) * p / rk_norm) for k, p in pk.items())

    pk_ccdf = ccdf_from_pk(pk)
    qk_ccdf = ccdf_from_pk(qk)
    rk_ccdf = ccdf_from_pk(rk)

    nmax = parents["n"].max()
    parents_ccdf = ccdf_from_data(parents[parents["n"] == nmax]["deg"].values)
    isolated_ccdf = ccdf_from_data(
        isolated[isolated["n"] == nmax]["deg"].values)
    traced_n_ccdf = {}
    for n in nlist: