Skip to content

Instantly share code, notes, and snippets.

@stucchio
stucchio / basic_income_with_death_estimate.py
Created November 15, 2013 20:51
Same as https://gist.github.com/stucchio/7447067 but accounting for death rates, as suggested by a commenter on the blog.
from pylab import *
from scipy.stats import *
num_adults = 227e6
basic_income = 7.25*40*50
labor_force = 154e6
disabled_adults = 21e6
current_wealth_transfers = 3369e9
def jk_rowling(num_non_workers):
from pylab import *
from numpy import *
from numpy.linalg import solve
from scipy.integrate import odeint
from scipy.stats import norm, uniform, beta
from scipy.special import jacobi
a = 0.0
b = 3.0
theta=1.0
from pylab import *
from numpy import *
from numpy.linalg import solve
from scipy.integrate import odeint
from scipy.stats import norm, uniform, beta
from scipy.special import jacobi
a = 0.0
@stucchio
stucchio / simple_mortgage.py
Last active October 30, 2015 22:11
For a forthcoming blog post.
from pylab import *
from scipy.stats import uniform
gamma = 0.01/12.0
t = arange(0,360)
def compute_payout(payout):
return (payout * exp( - gamma * t)).sum()
def generate_payout():
from pylab import *
from scipy.stats import uniform
gamma = 0.01/12.0
t = arange(0,360)
num_mortgages=50
def compute_payout(payout):
return (payout * exp( - gamma * t)).sum()
from pylab import *
import random
from scipy.stats import beta, uniform
prior = beta(1,1)
class Bandit(object):
def __init__(self):
self.history = [(1.0,1.0), (1.0,1.0)]
import matplotlib
matplotlib.use("WXAgg")
from pylab import *
from scipy.stats import beta, uniform, norm
class BetaBandit(object):
def __init__(self, num_options=2, prior=(1.0,1.0)):
self.trials = zeros(shape=(num_options,), dtype=int)
self.successes = zeros(shape=(num_options,), dtype=int)
self.num_options = num_options
@stucchio
stucchio / bayesian_ab_test.py
Last active April 2, 2023 03:17
Bayesian A/B test code
from matplotlib import use
from pylab import *
from scipy.stats import beta, norm, uniform
from random import random
from numpy import *
import numpy as np
import os
# Input data
@stucchio
stucchio / bayesian_ab_test_empiritcs.py
Last active January 26, 2021 00:54
bayesian a/b test empirics
from pylab import *
from scipy.stats import beta, norm, uniform
from random import random
from numpy import *
import numpy as np
import os
# Input data
prior_params = [ (1, 1), (1,1) ]
@stucchio
stucchio / mle_compute_z.jl
Last active August 29, 2015 14:01
Maximum likelihood computation of ad probability
#Pkg.add("Optim")
using Optim
function logLikelihood(z::Float64, clicks::Array{Float64,1}, shows::Array{Float64,1}, alpha::Array{Float64,1})
@assert size(clicks) == size(shows)
@assert size(shows) == size(alpha)
az = z * alpha
return sum(clicks .* log(az) .+ (shows .- clicks) .* log(1-az))
end