Skip to content

[lq_robust_bewley] verify observational equivalence - #1040

Merged
mmcky merged 1 commit into
mainfrom
lq-robust-bewley-verification
Aug 24, 2026
Merged

[lq_robust_bewley] verify observational equivalence#1040
mmcky merged 1 commit into
mainfrom
lq-robust-bewley-verification

Conversation

@mmcky

@mmcky mmcky commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

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:

  • 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

…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>
Copilot AI lite review requested due to automatic review settings August 24, 2026 02:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@mmcky

mmcky commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

thanks @thomassargent30

@github-actions

Copy link
Copy Markdown

📖 Netlify Preview Ready!

Preview URL: https://pr-1040--sunny-cactus-210e3e.netlify.app

Commit: cb163d5

📚 Changed Lectures


Build Info

@mmcky
mmcky merged commit e25fdf2 into main Aug 24, 2026
2 of 3 checks passed
@mmcky
mmcky deleted the lq-robust-bewley-verification branch August 24, 2026 03:08
@mmcky

mmcky commented Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

✅ Translation sync completed (zh-cn)

Target repo: QuantEcon/lecture-python.zh-cn
Translation PR: QuantEcon/lecture-python.zh-cn#269
Files synced (1):

  • lectures/lq_robust_bewley.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants