EoN.estimate_nonMarkov_SIR_prob_size_with_timing¶
-
EoN.
estimate_nonMarkov_SIR_prob_size_with_timing
(G, trans_time_fxn, rec_time_fxn, trans_time_args=(), rec_time_args=())[source]¶ estimates probability and size for user-input transmission and recovery time functions.
Arguments: - G Networkx Graph
- the input graph
- trans_time_fxn function
- trans_time_fxn(u, v, *trans_time_args) returns the delay from u’s infection to transmission to v.
- rec_time_fxn function
- rec_time_fxn(u, *rec_time_args) returns the delay from u’s infection to its recovery.
- trans_time_args tuple
- any additional arguments required by trans_time_fxn. For example weights of nodes.
- rec_time_args tuple
- any additional arguments required by rec_time_fxn
Returns: - PE, AR numbers (between 0 and 1)
- Estimates of epidemic probability and attack rate found by finding largest strongly connected component and finding in/out components.
SAMPLE USE: #mimicking the standard version with transmission rate tau #and recovery rate gamma #equivalent to #PE, AR = EoN.estimate_SIR_prob_size(G, tau, gamma) import networkx as nx import EoN import random from collections import defaultdict G=nx.fast_gnp_random_graph(1000,0.002) tau = 2 gamma = 1 def trans_time_fxn(u,v, tau): return random.expovariate(tau) def rec_time_fxn(u, gamma): return random.expovariate(gamma) PE, AR = EoN.estimate_nonMarkov_SIR_prob_size(G, trans_time_fxn=trans_time_fxn, rec_time_fxn = rec_time_fxn, trans_time_args = (tau,), rec_time_args = (gamma,) )