Skip to content

Instantly share code, notes, and snippets.

View alexhallam's full-sized avatar
🚀
Launching Code

Alex Hallam alexhallam

🚀
Launching Code
View GitHub Profile
@alexhallam
alexhallam / seas.py
Created May 28, 2022 17:24
seasonal naive
import tablespoon as tbsp
from tablespoon.data import SEAS
sn = tbsp.Snaive()
df_sn = sn.predict(
SEAS, horizon=7 * 4, frequency="D", lag=7, uncertainty_samples=800
).assign(model="snaive")
df_sn.head(10)
theme_set(theme_538)
palette = ["#000000", "#ee1d52"]
df_actuals_forecasts_n = pd.concat([df_APPLE, df_n])
p = (
ggplot(df_actuals_forecasts_n, aes(x="ds", y="y"))
+ geom_line(aes(y = 'y'), color = palette[0])
+ geom_point(aes(y = 'y_sim'), color = palette[1], size = 0.1, alpha = 0.1)
+ scale_x_datetime(breaks=date_breaks("1 month"))
+ theme(axis_text_x=element_text(angle=45))
+ xlab("")
@alexhallam
alexhallam / apple_naive.py
Created May 28, 2022 17:13
naive forecast on apple
n = tbsp.Naive()
df_n = (n.predict(df_APPLE, horizon=7*4, frequency="D", lag = 1, uncertainty_samples = 500).assign(model = 'naive'))
df_n.head()
@alexhallam
alexhallam / apple_data.py
Created May 28, 2022 17:13
show apple data
import pandas as pd
import tablespoon as tbsp
from tablespoon.data import APPL
from mizani.breaks import date_breaks
from plotnine import *
from datetime import datetime
# make date string a date object
df_APPLE = APPL
@alexhallam
alexhallam / torches.py
Created May 13, 2022 18:54
PyTorch Learning
import torch
import torch.nn as nn
import numpy as np
from sklearn import datasets
import matplotlib.pyplot as plt
from torch.distributions.normal import Normal
from torch.distributions.uniform import Uniform
from pprint import pprint
# 0) Prepare data
X_numpy, y_numpy = datasets.make_regression(n_samples=100, n_features=1, noise=20, random_state=4)
@alexhallam
alexhallam / font5x7.py
Created December 21, 2021 19:14
font in 5x7
import numpy as np
font = {
"A": np.array(
[
[0, 0, 1, 0, 0],
[0, 1, 0, 1, 0],
[1, 0, 0, 0, 1],
[1, 0, 0, 0, 1],
@alexhallam
alexhallam / tuple_parallel_map.py
Created November 29, 2021 21:33
use tuple products and parallel map.py
import numpy as np
from itertools import product
from multiprocessing import Pool
def smash(a_tuple):
"""
smash some strings and numbers together and return final string
"""
return a_tuple[0] + str(a_tuple[1]) + a_tuple[2] + str(a_tuple[3])
@alexhallam
alexhallam / concat.rs
Created October 5, 2021 16:31
join paths
use directories::{BaseDirs};
use std::fs::{create_dir};
fn main() {
if let Some(base_dirs) = BaseDirs::new() {
let config_path = base_dirs.config_dir();
let more_path = create_dir(config_path + "/some/dir").unwrap();
println!("{:?}",base_dirs.config_dir());
// Linux: $XDG_CONFIG_HOME or $HOME/.config
// Windows: {FOLDERID_RoamingAppData}
@alexhallam
alexhallam / monte_carlo_sum.R
Created June 28, 2021 11:20
Monte Carlo Addition of Random Variables
# calculate the sum of a, b, b2
n <- 1000
m <- 10
a <- rnorm(n, 10)
b <- rnorm(n, 20)
b2 <- .1*a + .1*b
c <- sample(a, size = m*n, replace=T) + sample(b, size = m*n, replace=T) + sample(b2, size = m*n, replace=T)
n <- 1e8
x <- runif(n)
y <- runif(n)
r = sqrt(x^2 + y^2)
data.frame(x,y,r) %>% mutate(in_circle = ifelse(r^2 <= 1, 1, 0)) %>%
summarise(4*sum(in_circle)/n)