Skip to content

Instantly share code, notes, and snippets.

View MJacobs1985's full-sized avatar

Marc Jacobs MJacobs1985

View GitHub Profile
@MJacobs1985
MJacobs1985 / Node Introduction
Last active September 29, 2021 08:13
Network Graphs for Epidemiology
import networkx as nx
G = nx.Graph()
G.add_node(1)
nx.draw(G, with_labels=True, font_weight='bold', font_color='white', node_color='black', node_size=500)
G.add_nodes_from([2, 3])
nx.draw(G, with_labels=True, font_weight='bold', font_color='white', node_color='black', node_size=500)
H = nx.path_graph(10)
G.add_nodes_from(H)
@MJacobs1985
MJacobs1985 / Edge Introduction
Created September 29, 2021 08:09
Network Graphs for Epidemiology
G = nx.Graph()
G.add_edge(1, 7)
e = (2, 3)
G.add_edge(*e)
nx.draw(G, with_labels=True, font_weight='bold', font_color='white', node_color='black', node_size=500, alpha=0.8, edge_color='orange')
G.add_edges_from([(1, 2), (1, 3)])
nx.draw(G, with_labels=True, font_weight='bold', font_color='white', node_color='black', node_size=500, alpha=0.8, edge_color='orange')
H = nx.path_graph(10)
@MJacobs1985
MJacobs1985 / Build-in Graph Networks
Created September 29, 2021 08:15
Network Graphs for Epidemiology
K_5 = nx.complete_graph(5)
nx.draw(K_5, with_labels=True, font_weight='bold', font_color='white', node_color='black', node_size=500, alpha=0.8, edge_color='orange')
K_3_5 = nx.complete_bipartite_graph(3, 5)
nx.draw(K_3_5, with_labels=True, font_weight='bold', font_color='white', node_color='black', node_size=500, alpha=0.8, edge_color='orange')
barbell = nx.barbell_graph(10, 10)
nx.draw(barbell , with_labels=True, font_weight='bold', font_color='white', node_color='black', node_size=500, alpha=0.8, edge_color='orange')
lollipop = nx.lollipop_graph(10, 20)
@MJacobs1985
MJacobs1985 / Geometric Graph
Created September 29, 2021 08:44
Network Graphs for Epidemiology
# Visualization
import networkx as nx
import matplotlib.pyplot as plt
import warnings
warnings.filterwarnings("ignore")
%matplotlib inline
# Network topology
g = nx.random_geometric_graph(1000, 0.1, seed=896803) # Random Clustered graph 1000 nodes - distance =0.05, no self loops
@MJacobs1985
MJacobs1985 / SEIR model
Last active September 29, 2021 09:45
Network Graphs for Epidemiology
import networkx as nx
import ndlib.models.ModelConfig as mc
import ndlib.models.epidemics as ep
from ndlib.viz.mpl.DiffusionTrend import DiffusionTrend
# Network topology
g = nx.erdos_renyi_graph(1000, 0.1) # 1000 nodes with 10% probability of edge creation
# Model selection
model = ep.SEIRModel(g)
@MJacobs1985
MJacobs1985 / Multiple models
Created September 29, 2021 09:49
Network Graphs for Epidemiolgy
import networkx as nx
import matplotlib.pyplot as plt
import dynetx as dn
import ndlib.models.ModelConfig as mc
import ndlib.models.dynamic as dm
from past.builtins import xrange
import ndlib.models.epidemics as ep
from ndlib.utils import multi_runs
from ndlib.viz.mpl.DiffusionTrend import DiffusionTrend
from ndlib.viz.mpl.TrendComparison import DiffusionTrendComparison
@MJacobs1985
MJacobs1985 / Interaction simulation
Created September 29, 2021 18:15
Simulations in SAS
%let ErrorVariance=1000;
%let BlockVariance=3000;
%let block=18;
%let nsim=1;
data factor;
length Treatment $30;
call streaminit(123);
do isim = 1 to ≁
do block=1 to █
rndBlock=rand("Normal",0,sqrt(&BlockVariance)); /* create block specific deviates */
@MJacobs1985
MJacobs1985 / R-Squared
Created September 29, 2021 18:24
Simulations in SAS
data Rsquared;
do i=1 to 1000 by 1;
x=rand("Normal");
y=1-2*x + 1*x*x + rand("Normal");
output;
end;
proc sgplot data=Rsquared;
scatter x=x y=y;
run;
proc reg data=Rsquared plots=fitplot;
@MJacobs1985
MJacobs1985 / Random Blocks
Created September 29, 2021 18:29
Simulations in SAS
%let ErrorVariance=2720;
%let BlockVariance=4851;
%let block=20;
%let nsim=1;
DATA RCBD;
call streaminit(123);
do isim = 1 to ≁
do block=1 to █
rndBlock=rand("Normal",0,sqrt(&BlockVariance)); /* create block specific deviates */
do trt=1 to 2;
@MJacobs1985
MJacobs1985 / Fallacy of a single experiment
Last active September 29, 2021 18:35
Simulations in SAS
data normal;
call streaminit(123);
length simulation 4 i 3;
do simulation = 1 to 1000;
do i = 1 to 100;
group='A';
x = rand('normal');
output;
group='B';
x = rand('normal');