[marimon_mcgrattan_sargent] A2.1 lock-in is not always temporary on seeds outside 0–19
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 15/100
- Tipo di issue
- Documentazione
- Chiarezza
- Da chiarire
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- documentation
Direzione di ricerca
The claims to revise are in lectures/marimon_mcgrattan_sargent.md: the A2.1 passage near L1348 and L1363, the overview at L82-88, the B.1 figure at L1670, and the summary at L2197-2201. Reproducing the multi-seed numbers requires the lecture's A2.1 code, run for seeds 20-39 with a 5,000-period continuation. The maintainer has not chosen between narrowing the wording, describing a second lock-in, or rerunning more seeds, so the first step is to ask which option to take. Done means the chosen option is applied and the affected numbers match the reproduction output.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
@thomassargent30 — while reviewing #1101 we found a claim in the revised marimon_mcgrattan_sargent lecture that holds for the 20 seeds the lecture runs, but not for other seeds. The right fix depends on how you want the lecture to read, so I'm raising it here instead of editing it on the branch.
The claim
After diagnosing the A2.1 runs that are not near the fundamental pattern at t = 1000, the lecture says the refusal rule's average does eventually sink below zero, "so these runs are slow rather than stuck for good" (L1348). After continuing those runs for 5,000 more periods it says "All of them reach the fundamental pattern by t = 6000" (L1363). The overview (L82–84) and the summary (L2199–2201) carry the same message.
What other seeds show
We ran the lecture's own A2.1 code on seeds 20–39:
| Runs | |
|---|---|
| Off the fundamental pattern at t = 1000 | 16 of 20 |
| Back on it by t = 6000 | 13 of those 16 |
| Still off at t = 6000 | 3: seeds 24 and 26 (distance 0.5) and seed 32 (0.98) |
Across seeds 20–59, six runs are still off at t = 6000. Of those, seeds 24, 26 and 32 are still off at t = 24,000.
It is a different lock-in from the one the lecture describes
In seeds 24 and 26, type 3 does accept good 3. The problem is type 2. It trades good 3 for good 1, about 0.33 times per agent per period. But then it eats the good 1 every time, instead of keeping it to trade with type 1 for good 2.
The winning consumption rule is the general rule ##0 -> 1, which covers both good 1 and good 2. Its strength is high because of what it earns eating good 2. A specific rule 100 -> 0 would start at zero and never win the argmax auction against it, so this looks permanent rather than slow.
Type 2's winning consumption rules for seed 24 at t = 6000 (winners(sim, 1, exchange=False)):
| Holding | Winning rule | Strength | Times used |
|---|---|---|---|
| good 1 | ##0 -> 1 |
146.86 | 123,378 |
| good 2 | ##0 -> 1 |
146.86 | 123,378 |
| good 3 | 001 -> 0 |
−12.61 | 175,852 |
Seed 26 is the same, with the general rule at strength 175.29.
Type 1 never speculates in any of the 60 seeds. So the lecture's main A2 verdict stands: the agents settle on the fundamental pattern, not on A2's speculative equilibrium. What fails is only the claim that every run gets there.
Related: Economy B.1
The overview and summary say the agents select the fundamental equilibrium "in nearly every run" (L87–88, L2197–2198). The 18 of 20 figure at L1670 is right for seeds 0–19. On seeds 20–59 it is 31 of 40 runs within 0.1 of the fundamental pattern. Four runs sit at distance 0.586 because type 3 is locked holding good 2. None is near the speculative equilibrium.
Options
- Narrow the claims to the seeds shown ("in all 20 of our runs …") and add a sentence that other seeds can show a second, persistent lock-in. This is the smallest change.
- Describe the second lock-in as a failure mode in its own right. It is the generalization counterpart of optimistic initialization: a general rule kept strong by one state wins in another state where its action is wrong, and the argmax auction never lets the specific rule in. This changes the lecture's story most, but it may be the more instructive point.
- Run more seeds or longer horizons in the lecture and report frequencies. This costs build time; the A2.1 continuation cell takes about 10 s now.
To reproduce
Run the lecture through the A2.1 section, then:
seeds = range(20, 40)
sims = across_seeds(economy_a21, 1000, seeds=seeds)
d = distance(final_holdings(sims), fundamental)
slow = [(s, sim) for s, sim, dist in zip(seeds, sims, d) if dist >= 0.1]
for s, sim in slow:
sim.run(5000)
d6000 = distance(final_holdings([sim for _, sim in slow]), fundamental)
print({s: round(float(x), 3) for (s, _), x in zip(slow, d6000)})
sim = Simulation(economy_a21, 24)
sim.run(6000)
print(eating_rates(sim))
print(winners(sim, 1, exchange=False))
The other review fixes for #1101 are being pushed to that branch separately. This issue only tracks the A2.1 and B.1 wording.
🤖 Generated with Claude Code
- Lingua principale
- TeX
- Stelle
- 129
- Fork
- 59
- Merge medio
- 2g 10h
- PR unite (30g)
- 11
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di QuantEcon/lecture-python.myst
-
phillips_drifts_volatilities: `kalman_forward` pairs each observation with the previous date's volatilityForse già presa @bennibyx l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
QuantEcon/lecture-python.myst#1108 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Link Checker ReportApertaautomated issue linkchecker report
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
QuantEcon/lecture-python.myst#1098 ·
I maintainer di solito rispondono entro 1 giorno
-
Link Checker ReportApertaautomated issue linkchecker report
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
QuantEcon/lecture-python.myst#1094 ·
I maintainer di solito rispondono entro 1 giorno
-
Link Checker ReportApertaautomated issue linkchecker report
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
QuantEcon/lecture-python.myst#1062 ·
I maintainer di solito rispondono entro 1 giorno
-
bug content
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
QuantEcon/lecture-python.myst#1021 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di QuantEcon/lecture-python.myst
Issue simili
-
Methodology pageApertadocumentation site texts
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
Krasnopjorovs/temet#66 ·
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
CopilotKit/CopilotKit#8283 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
hololinked-dev/hololinked#213 ·