PacktPublishing / PacktPublishing/Causal-Inference-and-Discovery-in-Python
Chapter 6: u_y unused
Nobody has claimed this yet.
- Dominant language
- Jupyter Notebook
- Stars
- 1k
- Forks
- 358
- PR merge metrics
- No merged PRs in 30d
Description
Hi, I noticed that u_y is unused in chapter 6's GPSMemorySCM class. Should it be included in line memory = 0.7*hippocampus + 0.25*u like memory = u_y + 0.7*hippocampus + 0.25*u (or with 0.25*)?
# First, we'll build a structural causal model (SCM)
class GPSMemorySCM:
def __init__(self, random_seed=None):
self.random_seed = random_seed
self.u_x = stats.truncnorm(0, np.infty, scale=5)
self.u_y = stats.norm(scale=2)
self.u_z = stats.norm(scale=2)
self.u = stats.truncnorm(0, np.infty, scale=4)
def sample(self, sample_size=100, treatment_value=None):
"""Samples from the SCM"""
if self.random_seed:
np.random.seed(self.random_seed)
u_x = self.u_x.rvs(sample_size)
u_y = self.u_y.rvs(sample_size)
u_z = self.u_z.rvs(sample_size)
u = self.u.rvs(sample_size)
if treatment_value:
gps = np.array([treatment_value]*sample_size)
else:
gps = u_x + 0.7*u
hippocampus = -0.6*gps + 0.25*u_z
memory = 0.7*hippocampus + 0.25*u
return gps, hippocampus, memory
def intervene(self, treatment_value, sample_size=100):
"""Intervenes on the SCM"""
return self.sample(treatment_value=treatment_value, sample_size=sample_size)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read and run the Chapter 6 notebook around the GPSMemorySCM class, then compare the declared u_y variable with the SCM equations and surrounding explanation. Done means the intended role of u_y and its coefficient are decided and the example's outputs remain consistent with that decision.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- machine-learning
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100