You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: apply exact directive wording to README structural sections
Add the exact admissible_near_fit_set (Theta_A) definition; INSUFFICIENT_COVERAGE interpretation with cumulative_best_objective monotone non-increasing (search coverage separate from and not establishing structural underidentification); explicit conditional-on-trade statement (B>=S, not an unconditional expected sale outcome); simulated_trade_share_band = not_empirically_calibrated_to_observed_uyap_no_trade_outcomes; five TOKI benchmark moments observed / zero in SMM (no primary-market mechanism); UYAP/KAP/TOKI never converted into synthetic asking->closing ground truth.
Replace roadmap with the exact user-specified current-direction block; add cumulative incumbent-preserving numerical-search diagnostics to Methodology.
Verified: pytest -q -> 215 passed. Documentation only; no code, methodology, data, tests, or API behavior changed.
Copy file name to clipboardExpand all lines: README.md
+26-16Lines changed: 26 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -148,15 +148,23 @@ The **four** SMM moments currently in `m_obs` are:
148
148
3.`kap_log_ratio_mean`
149
149
4.`kap_log_ratio_sd`
150
150
151
+
**Five** genuine TOKİ external-benchmark moments are observed, but **zero** enter the current SMM objective — the simulator has **no primary-market mechanism** to produce a model-implied counterpart for them. UYAP, KAP and TOKİ records are **never** converted into synthetic ordinary-resale `asking → closing` ground truth.
152
+
151
153
**Identification.**`sold structural identify` computes a numerical moment Jacobian `J(θ) = ∂m_sim/∂θ'` (central differences, common random numbers) **restricted to genuinely-observed moments**, and reports per-source Jacobian ranks, singular values, condition number, weak directions, and per-parameter profiles. The current fit has **`rank(J) = 4`** for **`dim(θ) = 6`**, so the reported status is:
152
154
153
155
> **`identification_status = STRUCTURALLY_UNDERIDENTIFIED`** (an econometric statement about the moment structure — `rank(J) < dim(θ)`).
154
156
155
-
Because the model is underidentified, prediction runs in **sensitivity mode** across the **`admissible_near_fit_set` (`Θ_A`)** — the near-minimum SMM criterion level set. `Θ_A` is **not** a formally estimated identified set, confidence region, or coverage claim; it is an admissible near-fit region used to expose parameter sensitivity.
157
+
Because the model is underidentified, prediction runs in **sensitivity mode** across the **`admissible_near_fit_set` (`Θ_A`)**, defined as *the set of economically admissible structural parameter vectors whose SMM criterion lies within the documented near-fit tolerance of the best observed-moment fit*. `Θ_A` is explicitly **not** a formally estimated identified set, **not** a confidence region, and **not** a set with nominal coverage; it is an admissible near-fit region used only to expose parameter sensitivity.
158
+
159
+
**Search stability is reported separately from identification, and never conflated with it.** The numerical coverage of `Θ_A` by the descent-based sampler is a distinct question from econometric identification. The accepted cumulative, incumbent-preserving, common-threshold experiment (commit `3ef1208`) preserves the global incumbent as the search budget grows, so `cumulative_best_objective`**is monotone non-increasing** across increasing budgets. Its current diagnostic is:
160
+
161
+
> **`near_fit_search_stability = INSUFFICIENT_COVERAGE`** — the common-threshold parameter support is still materially expanding at the largest audited search budget. This makes a search-stability judgment premature. The numerical coverage diagnostic is **separate from and does not establish** structural underidentification.
156
162
157
-
**Search stability is reported separately.**The numerical coverage of `Θ_A` by the descent-based sampler is a distinct question from econometric identification. A cumulative, incumbent-preserving search (`near_fit_search_stability`, e.g. `INSUFFICIENT_COVERAGE`) is reported **independently**of `identification_status` — a numerical-search caveat is never conflated with the structural-identification statement.
163
+
**Prediction semantics.**For an ordinary listing, the asking price conditions the seller reservation; `B`/`S` are drawn; trades (`B ≥ S`) are retained; and a **`conditional_on_trade`**closing distribution is returned.
158
164
159
-
**Prediction semantics.** For an ordinary listing, the asking price conditions the seller reservation; `B`/`S` are drawn; trades (`B ≥ S`) are retained; and a **`conditional_on_trade`** closing distribution is returned. The prediction fields are:
165
+
> The transaction-price distribution is computed **conditional on the structural simulation producing trade, `B ≥ S`**. It is **not** an unconditional expected sale outcome.
166
+
167
+
The prediction fields are:
160
168
161
169
| Field | Meaning |
162
170
|---|---|
@@ -165,7 +173,7 @@ Because the model is underidentified, prediction runs in **sensitivity mode** ac
165
173
|`within_theta_negotiation_interval`| Bargaining dispersion **at a fixed `θ`** (buyer/seller heterogeneity) |
166
174
|`between_theta_near_fit_band`| Movement of the central estimate **across `Θ_A`** (parameter sensitivity) |
167
175
|`structural_sensitivity_range`| The combined envelope — a **structural sensitivity range, not a confidence interval**, with no frequentist coverage |
168
-
|`simulated_trade_share_band`|Model-implied Monte-Carlo share of draws with`B ≥ S`; **not**an empirically calibrated probability of sale, and not calibrated to observed UYAP no-trade outcomes|
176
+
|`simulated_trade_share_band`|The **model-implied Monte-Carlo share** of simulated draws satisfying`B ≥ S`. It is `not_empirically_calibrated_to_observed_uyap_no_trade_outcomes` — **not**a probability of sale, a sale likelihood, or an empirically estimated trade probability|
169
177
170
178
No prediction ever returns a `confidence_interval` or an `accuracy` field.
171
179
@@ -368,25 +376,27 @@ The methodology is a **structural econometric** one; the following foundations d
368
376
-**Housing search-and-bargaining models** — the economic framing of buyer/seller valuations, market tightness, and negotiated trade.
369
377
-**Local (moment-Jacobian) identification** — assessing identification numerically via the rank/conditioning of `∂m_sim/∂θ'`, and reporting structural underidentification honestly (`rank(J) = 4 < dim(θ) = 6`).
370
378
-**Set / near-fit sensitivity analysis** — reporting an admissible near-fit region (`Θ_A`) and prediction sensitivity across it, explicitly *not* a confidence region.
379
+
-**Cumulative, incumbent-preserving numerical-search diagnostics** — a common-threshold search-coverage study kept **separate** from econometric identification; `cumulative_best_objective` is monotone non-increasing across increasing budgets, and the current coverage is `INSUFFICIENT_COVERAGE`.
371
380
-**Appraisal-anchored (hedonic) fair value** — using TCMB appraisal levels as the fair-value anchor, with relative characteristic premiums only.
372
381
-**Source-specific mechanism moments** — UYAP completed-sale auctions and KAP negotiated corporate disposals contribute moments under their own mechanism; TOKİ is an external cross-mechanism benchmark.
373
382
374
383
> A formal, page-verified bibliography for these foundations is **future documentation work**; specific citations are intentionally not listed here rather than fabricated.
375
384
376
385
## Roadmap
377
386
378
-
-[ ] Expand the genuine, provenance-audited UYAP completed-auction evidence set (additional audited completed-sale auctions) to add independent variation in the weak Jacobian directions (`sigma_s`, `mu_s`, `eta`) — without changing `θ`, the SMM objective, the bargaining mechanism, or the identification thresholds.
379
-
-[ ] Add genuine audited UYAP censored / non-completed auction outcomes **only if** the public e-Satış taxonomy can define a comparable negative auction-trade class; otherwise keep `uyap_sale_prob` excluded rather than guessing a rate.
380
-
-[ ] Expand the genuine, provenance-audited KAP negotiated-disposal evidence set (additional non-related corporate disposals with documented currency / VAT normalization at official TCMB EVDS rates).
381
-
-[ ] Extend the structural model so the observed TOKİ external-benchmark cohort moments acquire a model-implied primary-market counterpart — only with a defensible mechanism, so TOKİ could move from external benchmark into SMM without inventing data.
382
-
-[ ] Drive identification toward `rank(J) = dim(θ) = 6` strictly through genuine audited evidence and/or defensible model structure — never by shrinking `θ` or relaxing the identification criterion.
383
-
-[ ] Improve `admissible_near_fit_set` (`Θ_A`) search coverage (raise `near_fit_search_stability` above `INSUFFICIENT_COVERAGE`) using the cumulative, incumbent-preserving design, without changing the production `Θ_A` definition.
384
-
-[ ] Acquire the first genuine real-world submission through the frozen consumer direct-label validation channel (current genuine count: **0**), keeping it strictly outside SMM.
385
-
-[ ] Broaden provincial coverage of the TCMB-anchored fair-value level and add genuine audited fair-value cross-checks.
386
-
-[ ] Strengthen automated provenance / audit tests and the fixture-vs-genuine separation as the evidence base grows.
387
-
-[ ] Complete a page-verified methodological bibliography (currently future documentation work) and keep `README.md` and `docs/DEVELOPMENT_HISTORY.md` aligned with the frozen core.
388
-
389
-
> The **structural and prediction-semantics core is frozen**, and the numerical search-approximation layer is frozen. These roadmap items expand genuine, provenance-audited evidence and documentation only — they do **not** modify the parameter vector, optimizer, bargaining mechanism, identification thresholds, or prediction terminology. Completed milestones have been moved to [docs/DEVELOPMENT_HISTORY.md](docs/DEVELOPMENT_HISTORY.md).
387
+
The structural and prediction-semantics core is frozen. Current work focuses on expanding genuine evidence and testing how sensitive the structural conclusions are to data and assumptions.
388
+
389
+
-[ ] Expand the genuine, provenance-audited UYAP completed-auction evidence set
390
+
-[ ] Expand the genuine KAP negotiated-disposal evidence set
391
+
-[ ] Recompute observed moments, Jacobian diagnostics, and `Theta_A` after each evidence expansion batch
-[ ] Run UYAP and KAP leave-one-out and source-removal robustness analyses
394
+
-[ ] Run structural-assumption sensitivity analyses for the asking-to-seller-signal specification, parameter bounds, distributional assumptions, and TCMB anchor perturbations
395
+
-[ ] Compare structural behavior with transparent baselines: asking price, fixed-markdown rules, and the TCMB fair-value anchor, without making unsupported accuracy claims
396
+
-[ ] Track how genuine evidence changes structural moments, Jacobian rank, near-fit parameter ranges, simulated trade-share behavior, and the structural sensitivity range
397
+
-[ ] Produce a reproducible research report documenting the model, public evidence, identification limits, numerical search diagnostics, robustness results, and limitations
398
+
399
+
_Completed pre-pivot and structural milestones are preserved in [docs/DEVELOPMENT_HISTORY.md](docs/DEVELOPMENT_HISTORY.md); the structural and prediction-semantics core and the numerical search-approximation layer are frozen._
0 commit comments