Skip to content

Instantly share code, notes, and snippets.

View ckrapu's full-sized avatar

Christopher Krapu ckrapu

View GitHub Profile
import theano
import theano.tensor as tt
import numpy as np
import pymc3 as pm
print(theano.__version__)
x = np.asarray([0,1])
print(x.dtype)
import pymc3 as pm
import numpy as np
def sigmoid(x):
return np.exp(x) / (1. + np.exp(x))
# Create toy dataset
n = 100
n_components = 2
p = 2
import numpy as np
import pymc3 as pm
n = 4
X_2D_train = np.random.randn(n,2)
X_2D_star = np.random.randn(n-1, 2)
y = np.random.randn(n,1)
with pm.Model() as model:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
from theano import shared
import scipy.stats as stats
from scipy.stats import gamma, norm
import pymc3 as pm
import theano.tensor as tt
import arviz as az
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
from theano import shared
import scipy.stats as stats
from scipy.stats import gamma, norm
import pymc3 as pm
import theano.tensor as tt
import arviz as az
import pymc3 as pm
from time import time
traces = []
t1 = time()
with pm.Model() as model:
RVS = []
for i in range(20):
RVS.append(pm.Normal('var_{0}'.format(i)))
@ckrapu
ckrapu / gist:8be4da91a70763ee62f889c6cd98f700
Created October 28, 2020 14:43
conjugate-sampling-custom-step
from pymc3.step_methods.arraystep import BlockedStep
from pymc3.distributions.transforms import stick_breaking
from pymc3.model import modelcontext
import pymc3 as pm
import numpy as np
def sample_dirichlet(c):
gamma = np.random.gamma(c)
p = gamma/gamma.sum(axis=-1, keepdims=True)
@ckrapu
ckrapu / gist:9fb7337ff13005b596317021a40d98d1
Created November 15, 2020 02:26
replace-dirichlet-gamma
import numpy as np
import pymc3 as pm
from pymc3.distributions.transforms import StickBreaking
genus_counts = np.random.multinomial(10, np.ones(5)/5, 20)
with pm.Model() as model:
k = 3
n, p = genus_counts.shape
profile_gamma = pm.Gamma('profile_gamma', alpha=np.ones((k, p)), beta=np.ones((k, p)), shape=(k,p))
@ckrapu
ckrapu / gist:1807577fcb79f0522c87552bfb0ebf76
Last active December 17, 2020 18:09
Use OSM API to download buildings and turn them into GeoPandas geodataframes
import geopandas as gpd
import numpy as np
import pandas as pd
import requests
save_directory = '../data/'
osm_api_url_base = 'http://overpass.openstreetmap.ru/cgi/xapi_meta?'
regions = {
@ckrapu
ckrapu / spacetimekron.py
Created February 21, 2021 18:06
Short example of a space/time Kronecker Gaussian process in PyMC3
import numpy as np
import pymc3 as pm
N, T = 20, 10
min_lat, max_lat = 35, 40
min_long, max_long = 30, 35
lat_interval = max_lat - min_lat
long_interval = max_long - min_long