Skip to content

Instantly share code, notes, and snippets.

View arimitramaiti's full-sized avatar

Arimitra Maiti arimitramaiti

View GitHub Profile
@arimitramaiti
arimitramaiti / discrete pmf
Created June 25, 2020 04:10
An example to evaluate discrete pmf values
import math
x = 0 #it would be 0 for 0 heads, 1 for 1 heads, 2 for 2 heads, 3 for 3 heads
n = 3 #number of trials expected to run
prob = 0.5 #probability of success or failure
def combination(n,r):
fac = math.factorial
return fac(n) / fac(r) / fac(n-r)
pmf_probability = combination(n,x) * (prob**x) * ( (1-prob)**(n-x) )
@arimitramaiti
arimitramaiti / continuous distributions
Created July 2, 2020 08:14
An example to illustrate continuous distributions
##import required modules
import matplotlib.pyplot as plt
import numpy as np
import scipy.stats as stats
import math
from matplotlib.ticker import StrMethodFormatter
###Python-Graph-1 in article titled Jump from discrete to a continuous distribution
##Create the grid
fig, axes = plt.subplots(2, 2, figsize=(10,8))
@arimitramaiti
arimitramaiti / norm cdf
Created July 9, 2020 04:46
A formula to get 95% cdf
##import required modules
import numpy as np
import scipy.stats as stats
import math
x = round(stats.norm.ppf(0.975),2) #x gives us 1.96 instead of 2.0
b = stats.norm.cdf(x)
a = stats.norm.cdf(-x)
y = round(b-a, 6)
print(y)
@arimitramaiti
arimitramaiti / sandwich example
Created July 9, 2020 08:09
An example to share population proportion estimation
##import required modules
import numpy as np
import scipy.stats as stats
import math
sample_size = 40 #known from the sample collected by the manager
sample_success = 25 #known from the sample collected by the manager
proportion = sample_success/sample_size #sample proportion who rated more 6 or more
point_estmate = proportion #similar to proportion of the sample
standard_error = np.sqrt((proportion * (1-proportion))/sample_size) #formula is slightly different relative to population mean estimation
@arimitramaiti
arimitramaiti / serving time example
Created July 9, 2020 12:26
An example to share population mean estimation
##import required modules
import numpy as np
import scipy.stats as stats
import math
sample_size = 30 #known from the sample collected by the manager
population_size = 1184 #known in this specific case therefore required for fpc calc
sample_std = 4.46 #standard deviation of all sample means
point_estmate = 55.45 #as we take more and more samples the sample mean would converge to population mean
@arimitramaiti
arimitramaiti / mumbai_local_empirical_network_graph
Last active July 28, 2020 11:52
Generate Empirical Network using R-igraph
#install.packages("readr")
library(readr)
data <- read.csv("https://raw.githubusercontent.com/arimitramaiti/datasets/master/articles/adjacency_matrix_mumbailocal.csv", header = TRUE, sep = ",")
mat <- as.matrix(data[, -1L])
rownames(mat) <- unlist(data[,1L])
#install.packages("igraph")
library("igraph")
#Create graph object using igraph library
@arimitramaiti
arimitramaiti / mumbai_local_centrality_correlation_matrix
Created July 28, 2020 10:59
Correlation Matrix of Centrality Scores Mumbai Local Network
##Import required modules
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import scipy.stats as stats
import math
##Read the centrality scores generated from empirical network of mumbai local rail
@arimitramaiti
arimitramaiti / mumbai_local_centrality_distribution
Created July 28, 2020 11:05
Plot centrality distribution of empirical network of Mumbai Local Rail
##Import required modules
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import scipy.stats as stats
import math
##Read the centrality scores generated from empirical network of mumbai local rail
@arimitramaiti
arimitramaiti / mumbai_local_random_simulations
Created July 28, 2020 11:13
Simulate Random Graph Model for Mumbai Local Rail Network
#install.packages("igraph")
library("igraph")
#Create empty list
degree_list = list()
closeness_list = list()
betweenness_list = list()
eigen_list = list()
for (i in 1:100) {
@arimitramaiti
arimitramaiti / mumbai_local_random_compare_dist
Last active July 28, 2020 11:27
Plot Centrality Distribution of Random Graph Model for Mumbai Local Rail Network
##Import required modules
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import scipy.stats as stats
import math
##Read the centrality scores generated from empirical network of mumbai local rail