Skip to content

Instantly share code, notes, and snippets.

View deephavendatalabs's full-sized avatar

Deephaven Data Labs deephavendatalabs

View GitHub Profile
@deephavendatalabs
deephavendatalabs / manning7.py
Created August 7, 2020 20:21
Peyton Manning Seasonal Dataset
weekly = pm.auto_arima(training.y, start_p=1, start_q=1,
max_p=7, max_q=7, # maximum p and q
m=7, # frequency of series
d=0, # order of differencing
seasonal=True, # Yes Seasonality
error_action='ignore',
suppress_warnings=True,
)
@deephavendatalabs
deephavendatalabs / manning6.py
Created August 7, 2020 20:21
Peyton Manning Seasonal Dataset
# 7,0,7 ARIMA Model
model = ARIMA(training.y, order=(7,0,7))
model_fit = model.fit(disp=0)
@deephavendatalabs
deephavendatalabs / manning5.py
Created August 7, 2020 20:20
Peyton Manning Season Dataset
# ACF plot of 1st differenced series
fig, axes = plt.subplots(1, 2, sharex=True)
axes[0].plot(df['y'].diff()); axes[0].set_title('1st Differencing')
axes[1].set(ylim=(0,2),xlim=(-1,50))
plot_acf((df['y'].diff()).dropna(), ax=axes[1])
plt.show()
@deephavendatalabs
deephavendatalabs / manning4.py
Created August 7, 2020 20:20
Peyton Manning Seasonal Dataset
# PACF plot of differenced series
plt.rcParams.update({'figure.figsize':(9,3), 'figure.dpi':120})
fig, axes = plt.subplots(1, 2, sharex=True)
axes[0].plot(df['y'].diff()); axes[0].set_title('1st Differencing')
axes[1].set(ylim=(0,2),xlim=(-1,40))
plot_pacf((df['y'].diff()).dropna(), ax=axes[1])
plt.show()
@deephavendatalabs
deephavendatalabs / manning3.py
Created August 7, 2020 20:19
Peyton Manning Seasonal Dataset
adf_stats = adfuller(df['y'])
'ADF Statistic: %f' % adf_stats[0]
'p-value: %f' % adf_stats[1]
@deephavendatalabs
deephavendatalabs / manning2.py
Created August 7, 2020 20:19
Peyton Manning Seasonal Dataset
def dh_plotter(training,testing,forecast,title):
# Add testing/training tables
train_table =createTableFromData({'Date':training.ds,'Training':training.y,
'Testing':[0.0],'Forecast':[0.0]}, columns=None, convertUnknownToString=False)
test_table = createTableFromData({'Date':testing.ds,'Training':[0.0],'Testing'
:testing.y,'Forecast':forecast}, columns=None, convertUnknownToString=False)
# Merge together to create output table
output_table = ttools.merge(train_table,test_table)\
@deephavendatalabs
deephavendatalabs / manning1.py
Created August 7, 2020 20:18
Peyton Manning Seasonal Dataset
manning_table = createTableFromData({'Date':df.ds,'Search Frequency':df.y},\
columns=None, convertUnknownToString=False)\
.update('Date=convertDateTime(Date+`T16:30 NY`)')
manning_plot = Plot.plot("Search Frequency", manning_table, 'Date','Search_Frequency')\
.chartTitle("Peyton Manning Search Frequency")\
.xLabel('Date')\
.yLabel('Search Frequency')\
.figure
@deephavendatalabs
deephavendatalabs / covidModel5.py
Created August 7, 2020 14:34
COVID-19 Model Implementation
# specifying model conditions
step = pm.NUTS(target_accept=.99)
start = pm.find_MAP()
# execute sampling
modelTrace pm.sample(draws=500, tune=500, step=step, start=start, chains=5)
@deephavendatalabs
deephavendatalabs / covidModel4.py
Created August 7, 2020 14:33
COVID-19 Model Implementation
# create variance prior
sigma = pm.HalfCauchy('sigma', beta=2)
# create likelihood with modelled counts and observed counts
obsDeath = pm.TruncatedNormal('obsDeath', mu=sirDeath, sigma=sigma, lower=0, upper=pop,
observed=dataDeath)
@deephavendatalabs
deephavendatalabs / covidModel3.py
Created August 7, 2020 14:32
COVID-19 Model Implementation
# create number of removed based on analytic solution and above parameters
sirRem = pm.Deterministic('sirRem',
pop - ((s0 + i0)**(beta/(beta - gamma)))*
(s0 + i0*tt.exp(time*(beta - gamma)))**(-gamma/(beta - gamma)))
# create number of deaths as a proportion of the number of removed
sirDeath = pm.Deterministic('sirDeath', rho*sirRem)