[lq_robust_bewley] verify observational equivalence - #1040
Merged
Conversation
…ization The observational-equivalence demonstration was circular: it imposed the benchmark consumption rule on every type and then reported that the resulting paths coincided. The loop body never used the type index, so the reported difference of zero was forced and would have printed identically had the proposition been false. Replace it with a genuine test. Each type's robust LQ problem is now solved separately at its own (sigma_i, beta_i), facing the common market rate R = 1/beta, using the risk-sensitive solver of robust_permanent_income. Every coefficient of every type's rule matches the benchmark to 1e-12 or better. A falsification step moves each discount factor one percent off the locus and recovers deviations of order 0.1 to 1, so the agreement is not an artifact. The path simulation now runs each type under its own solved rule, and the cross-section experiment gives each agent its own solved problem rather than drawing a type and discarding it. Fix a normalization inconsistency this uncovered. The stated objective carried a factor of 1/2 while the sigma in the observational-equivalence locus is normalized to a period return of -(c-b)^2; numerically the two differ by exactly a factor of two in the implied locus. Also: - give the breakdown point an interpretation: zeta(sigma_lo) = 1/beta = R, so it is where the feared growth in marginal utility reaches the gross interest rate and the worst-case objective ceases to converge - correct zeta_i > 1 to zeta_i >= 1, with equality at sigma_i = 0 - state Proposition part 2 as existence rather than uniqueness, since the locus is itself constructed at R = 1/beta - explain why heterogeneous discounting does not degenerate the wealth distribution here - raise the detection-error target in the last exercise from 0.20 to 0.25; the DEP at the breakdown point is 0.1999, so the old target made the exercise's conclusion depend on the random seed - align the state timing label with eq:rbew-law Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
Author
|
thanks @thomassargent30 |
📖 Netlify Preview Ready!Preview URL: https://pr-1040--sunny-cactus-210e3e.netlify.app Commit: 📚 Changed LecturesBuild Info
|
Contributor
Author
✅ Translation sync completed (zh-cn)Target repo: QuantEcon/lecture-python.zh-cn
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Verify observational equivalence, fix sigma normalisation
The observational-equivalence demonstration was circular: it imposed the benchmark consumption rule on every type and then reported that the resulting paths coincided. The loop body never used the type index, so the reported difference of zero was forced and would have printed identically had the proposition been false.
Replace it with a genuine test. Each type's robust LQ problem is now solved separately at its own (sigma_i, beta_i), facing the common market rate R = 1/beta, using the risk-sensitive solver of robust_permanent_income. Every coefficient of every type's rule matches the benchmark to 1e-12 or better. A falsification step moves each discount factor one percent off the locus and recovers deviations of order 0.1 to 1, so the agreement is not an artifact. The path simulation now runs each type under its own solved rule, and the cross-section experiment gives each agent its own solved problem rather than drawing a type and discarding it.
Fix a normalization inconsistency this uncovered. The stated objective carried a factor of 1/2 while the sigma in the observational-equivalence locus is normalized to a period return of -(c-b)^2; numerically the two differ by exactly a factor of two in the implied locus.
Also: