from pathlib import Path
import sys
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import lapylace as lp
sys.path.append(str(Path.cwd().parent / 'python'))
from data import ros_pathFake dataset of a randomized experiment on student grades
Fake dataset of a randomized experiment on student grades. See Chapter 16 in Regression and Other Stories.
Source: FakeMidtermFinal/SimulationBasedDesign.Rmd.
The Python version keeps data handling explicit and uses lapylace for Stan-backed generalized linear models, so the statistical model can be read from a formula rather than from handwritten Stan.
Models
The formulas below are the Python counterparts of the model formulas in the source example. Use lapylace for the Stan-backed Bayesian fit with the same formula interface.
# fit = lp.stan_glm('y ~ z', data=df, family=lp.gaussian(), chains=4, iter_sampling=1000)
# fit = lp.stan_glm('y ~ z + x', data=df, family=lp.gaussian(), chains=4, iter_sampling=1000)
# fit = lp.stan_glm('y ~ z', data=df, family=lp.gaussian(), chains=4, iter_sampling=1000)
# fit = lp.stan_glm('y ~ z + x', data=df, family=lp.gaussian(), chains=4, iter_sampling=1000)
# fit = lp.stan_glm('y ~ z', data=df, family=lp.gaussian(), chains=4, iter_sampling=1000)
# fit = lp.stan_glm('y ~ z + x', data=df, family=lp.gaussian(), chains=4, iter_sampling=1000)Notes
- Source computation blocks represented: 4.
- Data paths are expressed through the shared
ros_path()helper. - Formula-based Bayesian regressions are routed through
lapylace.stan_glm(). - Plotting and simulation work uses NumPy, pandas, matplotlib idioms.