QuantEcon / QuantEcon/lecture-python.myst

[hoist_failure] Two new exercises in #656 need re-scoping

Open
#1,027 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TeX
Stars
123
Forks
57
Avg merge
3d 10h
Merged PRs (30d)
11

Description

PR #656 adds two new exercises to hoist_failure.md. The lecture changes in that PR are good — it fixes several genuine errors in the mathematics — but both exercises have problems that should be resolved before or shortly after it merges.

Exercise 2 cannot be answered as posed

The exercise reads:

The rare event approximation assumes that $P(A_i) P(A_j)$ is negligible compared to $P(A_i) + P(A_j)$.

Using the computed distribution, calculate the expected value of the system failure rate and compare it to the sum of the expected values of the individual component failure rates.

How good is the rare event approximation in this case?

The comparison it asks for cannot speak to the quality of the approximation. The lecture builds the system failure rate as a sum of component rates — that construction is the rare event approximation, since the $P(A_i)P(A_j)$ cross terms have already been dropped. Comparing $E[\text{system}]$ with $\sum_i E[\text{component}_i]$ therefore just verifies linearity of expectation, which holds regardless.

The supplied solution concedes exactly this:

The expected value of the sum equals the sum of the expected values (by linearity of expectation), so these should match closely regardless of the rare event approximation.

Running it gives a relative difference of 0.03%, which is discretization error, not evidence about the approximation.

To actually assess the approximation you would need to compare against a system probability that retains the cross terms — e.g. contrasting $1 - \prod_i (1 - p_i)$ with $\sum_i p_i$ at the relevant magnitudes, which is where the approximation's accuracy genuinely lives.

Options: re-scope the exercise along those lines, or drop it.

Exercise 1 contradicts the lecture body

The solution concludes:

Beyond $p = 13$, the accuracy gains diminish while computational cost continues to grow

For this application, $p = 13$ provides a good balance between accuracy and efficiency

but the lecture itself sets $p = 15$. The computed output does support the claim — the median is 260.55 from $p = 13$ upward — so this is the exercise and the lecture disagreeing rather than an error in either.

Options: change the lecture to $p = 13$, or soften the exercise's conclusion to note that the lecture uses a larger grid for headroom.

Context

Both exercises are new in #656, so neither is a regression against main. They need an author decision, and @HumphreyYang has not been available. Flagging here so #656 is not blocked on it.

Everything else in that PR checks out: it corrects the lognormal definition ($y = \exp(x)$, not $\log(x)$), the convolution integrand ($f(\tau)$, not $f(z)$), the integration limits, the discrete convolution upper index, and the 0.95/0.05 quantile ratio ($e^{3.29\sigma}$, not $e^{1.645\sigma}$) — all of which are wrong on main today.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read hoist_failure.md and PR #656, then compare the two exercise statements and supplied solutions with the lecture body. Decide whether to re-scope or drop Exercise 2, and reconcile Exercise 1's p = 13 conclusion with the lecture's p = 15; done means the exercises and lecture no longer contradict each other and the approximation is assessed meaningfully.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.