SPB Git forge

spb/wp20_uqo

Public
1commits 1branches 0releases
2.8 MBsize
maindefault branch
yesterdaylast push
TeX 59% Python 40.8%
24.0 KB · 137 lines python
Raw Blame History
1#!/usr/bin/env python32"""Build docs/literature_matrix.csv: verified bibliographic metadata (docs/verification/verified.csv) joined with the3research team's reading notes (method/data, identification or validation, findings, limitations, relevance to WP20).4Bibliographic metadata were verified in this session; the content notes come from the team's prior knowledge of each5work (abstract level) and were NOT re-read in this session — the manuscript therefore cites each work only for its general6contribution, never for specific numbers."""7import csv8from pathlib import Path910ROOT = Path(__file__).resolve().parents[1]1112# key: (method/data, validation, key finding, limitation, relevance, read)13N = {14 "rosen1974hedonic": ("Theory of implicit markets for differentiated goods", "Analytical", "Prices of characteristics are revealed by equilibrium bids and offers; the hedonic function is an envelope, not a demand or cost function", "No guidance on measurement of characteristics", "Foundation for distinguishing a price surface from a cost schedule: WP20 does not estimate implicit prices but a cost identity", "full"),15 "hulten1981estimation": ("Vintage asset prices, US structures and equipment", "Box–Cox on used-asset prices", "Economic depreciation is approximately geometric; rates estimated by asset class", "Market prices of used assets conflate depreciation and revaluation", "Reference for the economic-depreciation concept used in the D term", "full"),16 "malpezzi1987microeconomic": ("Hedonic regressions, US metropolitan rent/value data (AHS)", "Cross-section with age terms", "Gross depreciation of housing ≈ 0.5–1 %/year, varying by metro and tenure", "Age effects confound vintage and quality", "Benchmark magnitudes for age–life assumptions; justifies sensitivity on economic life", "abstract"),17 "shilling1991measuring": ("Hedonic and repeat-sales, Baton Rouge rental and owner housing", "Cross-section/time", "Rental housing depreciates faster than owner-occupied; rates near 1–2 %/year", "Local sample", "Depreciation differs by tenure and maintenance: WP20's condition-adjusted effective age", "abstract"),18 "knight1996depreciation": ("Hedonic with maintenance indicators, US MLS", "Cross-section", "Observed maintenance level offsets age-related depreciation substantially", "Maintenance proxied by broker ratings", "Direct precedent for conditioning depreciation on observed condition, here extracted from photographs", "abstract"),19 "goodman1998dwelling": ("Repeat-sales with age heteroskedasticity, US", "Repeat sales", "Price-equation residual variance rises with dwelling age", "No cost decomposition", "Motivates age-band subgroup diagnostics and wider intervals for old houses", "abstract"),20 "clapp1998residential": ("Hedonic age effects with rational expectations, Connecticut", "Cross-section/time", "Age coefficients mix depreciation, vintage and expected redevelopment", "Identification requires strong assumptions", "Why age alone is a poor depreciation proxy; supports effective-age adjustment", "abstract"),21 "harding2007depreciation": ("Repeat-sales with maintenance survey, AHS", "Repeat sales", "Gross depreciation ≈ 2.5 %/year; maintenance offsets about 1 point", "Survey-based maintenance", "Quantitative anchor for the effective-age mapping and its sensitivity", "full"),22 "wilhelmsson2008house": ("Hedonic, Sweden, maintenance level", "Cross-section", "Depreciation rate depends on maintenance level; well-maintained houses depreciate slowly", "Self-reported maintenance", "Condition-conditional depreciation as in WP20's condition factor", "abstract"),23 "coulson2008estimating": ("Hedonic decomposition of time, age and vintage, Chicago", "Repeat cross-sections", "Separates age, vintage and time effects under identifying restrictions", "Collinearity requires restrictions", "Frames the time/age/vintage identification problem behind roll-vintage indexing", "abstract"),24 "chau2005adjusting": ("Repeat-sales index with non-linear age, Hong Kong", "Repeat sales", "Ignoring age effects biases repeat-sales indices; non-linear age adjustment", "High-rise context", "Non-linear age effects support capping physical depreciation", "abstract"),25 "francke2017land": ("Hierarchical repeat-sales decomposition of land and structure, Netherlands", "Bayesian time series", "Structure depreciation and land appreciation can be separated with vintage data; depreciation ≈ 1 %/year net", "Requires rich panel", "Land/structure split is the backbone of the cost identity; roll land values play that role here", "full"),26 "bokhari2018characteristics": ("Depreciation of commercial/multifamily property, US transactions", "Hedonic/vintage", "Depreciation is front-loaded and differs by property type; land share matters", "Commercial focus", "Depreciation shape and land share considerations for the D term", "abstract"),27 "yoshida2020economic": ("Economic depreciation of real estate, Japan and US", "Cross-sectional variation", "Depreciation rates vary across locations and relate to returns", "Non-Canadian", "Regional heterogeneity of depreciation: motivates CMA subgroup analysis", "abstract"),28 "diewert2017alternative": ("Commercial property price indexes, Tokyo", "Builder's model decomposition", "Decomposes property value into land and depreciated structure using construction cost", "Commercial, Tokyo", "The builder's model is the econometric mirror of the cost approach used here", "abstract"),29 "davis2007price": ("Land/structure decomposition, aggregate US", "Replacement-cost residual", "Residential land value = house value − replacement cost of structures; land share rose over time", "Aggregate", "Residual method shows the sensitivity of the land/structure split to RCN assumptions", "full"),30 "davis2008price": ("Land prices in 46 US metros", "Replacement-cost residual", "Land share of value varies widely across cities", "Aggregate metro level", "Supports regional heterogeneity in land shares observed across CMAs", "abstract"),31 "glaeser2005why": ("Price vs construction cost, US metros", "Descriptive", "House prices exceed construction cost mainly where regulation restricts supply", "Aggregate", "Interpretation of price-to-cost ratios: a market/cost gap is not an error of the cost approach", "full"),32 "gyourko2006construction": ("Construction costs and housing supply, US", "Panel", "Construction costs vary modestly across cities relative to prices; supply elasticity", "US", "Regional cost adjustment should be modest relative to land differences", "abstract"),33 "somerville1999residential": ("Construction cost indexes and new housing supply", "Econometric", "Published construction cost indexes are endogenous and biased for supply estimation", "Macro focus", "Caution on construction cost indices as exogenous inputs; sensitivity on index use", "abstract"),34 "pagourtzi2003real": ("Review of valuation methods", "Narrative review", "Classifies traditional (comparison, cost, income) and advanced (hedonic, ANN, spatial) methods", "Dated", "Positions the cost approach among valuation methods", "full"),35 "crosby2000valuation": ("Valuation accuracy, variation and bias", "Conceptual/empirical review", "Valuations deviate from prices and from each other; standards tolerate margins", "UK commercial", "Frames expectations of dispersion between indications and prices", "abstract"),36 "mcmillen2020assessment": ("Assessment regressivity, US", "Quantile/IV", "Assessment ratios are regressive; measurement of error matters", "US", "Assessor values are judgments with systematic error: benchmark, not truth", "abstract"),37 "paglin1972equity": ("Property-tax equity measures", "Conceptual", "Introduces measures of assessment regressivity", "Dated", "Origin of ratio-study metrics (COD, PRD) used for assessor alignment", "abstract"),38 "malpezzi2003hedonic": ("Review of hedonic models", "Narrative review", "Hedonic practice, functional forms, pitfalls", "Review", "Methodological background on characteristic measurement", "full"),39 "hill2013hedonic": ("Survey of hedonic house price indexes", "Taxonomy", "Classifies hedonic index methods and their assumptions", "Index focus", "Background for the market index used to update roll land values", "abstract"),40 "case2004modeling": ("Four house-price models compared, Fairfax", "Out-of-sample", "Spatial models improve prediction over OLS", "Single county", "Baseline AVM comparison practice (out-of-sample, spatial)", "abstract"),41 "bourassa2010predicting": ("Spatial dependence methods compared, Louisville", "Out-of-sample", "Geostatistical and lattice methods improve accuracy", "US", "Comparables/spatial baselines in AVMs", "abstract"),42 "zurada2011comparison": ("Regression vs AI mass-appraisal methods", "Out-of-sample", "AI methods do not uniformly dominate regression", "Dated AI methods", "Mass-appraisal benchmarking norms", "abstract"),43 "kok2017big": ("AVMs with big data, US", "Out-of-sample", "Machine learning AVMs reach ≈ 9 % median error; feature breadth matters", "Industry data", "Shows feature engineering is the frontier for AVMs — WP20 engineers appraisal features from media", "full"),44 "mayer2019estimation": ("Hedonic estimation and updating, Switzerland", "Rolling out-of-sample", "Gradient boosting with frequent updating performs best", "Swiss", "AVM accuracy reference (MdAPE levels)", "abstract"),45 "pace2020examining": ("Residual information in hedonic/spatial models", "Trees on residuals", "Tree methods extract residual structure missed by hedonic models", "US", "Unobserved quality in residuals: what images could measure", "abstract"),46 "krause2020uncertainty": ("Uncertainty in AVMs", "Error- vs model-based intervals", "Model-based intervals are better calibrated than error-based ones", "US", "Interval reporting and calibration for valuation outputs (Experiment 14)", "full"),47 "bogin2019property": ("Renovations and house price indexes, US", "Repeat sales with permits", "Unobserved renovations bias indexes; renovation share is substantial", "Permit data", "Renovations are a major unobserved; WP20 extracts renovation evidence from images and text", "abstract"),48 "shen2021information": ("Property descriptions and prices, ML", "Out-of-sample", "Text descriptions carry information beyond structured fields", "US", "Text channel information value (B1)", "full"),49 "nowak2017textual": ("Textual analysis of listing remarks", "Hedonic", "Remarks contain price-relevant information (and agent language)", "US MLS", "Text channel and leakage concerns", "abstract"),50 "baur2023automated": ("ML valuation with property descriptions, Germany", "Out-of-sample", "Text features improve ML valuation", "Germany", "Text extraction precedent", "abstract"),51 "levitt2008market": ("Agent information advantage", "Comparison agent-owned vs client homes", "Agents exploit information advantages in listing", "US", "Seller/agent incentives in presentation (photo selection)", "abstract"),52 "oust2025assessing": ("Dwelling condition in AVMs, Norway", "Out-of-sample", "Condition attributes from inspection reports improve all AVMs", "Norway", "Condition is valuable; WP20 measures it from photos instead of reports", "abstract"),53 "ahmed2016house": ("Visual + textual features for price, CNN", "Out-of-sample", "Images add predictive power", "Small dataset", "Early CV-for-price evidence", "abstract"),54 "poursaeed2018vision": ("Luxury level from interior/exterior photos, CNN", "Out-of-sample", "Luxury classification of rooms improves price estimation", "US listings", "Room-level luxury grading ≈ WP20 finish grade", "full"),55 "bency2017beyond": ("Satellite imagery for prices", "Out-of-sample", "Neighbourhood imagery predicts prices", "Satellite only", "Location vs building information", "abstract"),56 "law2019take": ("Street view and satellite images, London", "Out-of-sample", "Images improve hedonic prediction and are interpretable via attention", "London", "Visual features as hedonic covariates", "full"),57 "glaeser2018computer": ("Computer vision of exterior photos, Boston", "Hedonic", "Exterior appearance predicts prices; incentives shape looks", "US", "Looks vs cost: appearance is partly strategic", "full"),58 "naik2014streetscore": ("Perceived safety from street images", "Crowdsourced labels", "CV can scale human perception judgments", "Perception", "Human-label scaling paradigm for visual quality proxies", "abstract"),59 "lindenthal2021machine": ("Architectural styles from photos, Cambridge UK", "Hedonic", "Style classification from facades carries price premia", "UK", "Facade attributes as valuation inputs", "abstract"),60 "johnson2020valuing": ("Curb appeal, Google Street View ratings", "Hedonic", "Curb appeal commands a premium", "Human ratings", "Exterior condition/appeal valuation", "abstract"),61 "kang2021understanding": ("Multi-source geo-data and ML", "Out-of-sample", "Street view and POI data explain appreciation", "China/US", "Imagery for neighbourhood externalities (external obsolescence)", "abstract"),62 "nouriani2022vision": ("Interior, exterior, satellite images for prices", "Out-of-sample", "Multi-view imagery improves estimation", "US", "Multi-image aggregation", "abstract"),63 "koch2018visual": ("Building condition from facade patches, CNN", "Expert labels", "Patch-level networks estimate condition classes", "Small expert set", "Direct precedent for visual condition estimation; WP20 uses VLM zero-shot", "full"),64 "zeppelzauer2018automatic": ("Building age from photographs", "Expert labels", "Construction epoch can be predicted from facades with moderate accuracy", "Austria", "Shows limits of inferring age from images — WP20 uses the roll instead", "full"),65 "despotovic2019prediction": ("Heating energy demand from photos", "Energy certificates", "Exterior images predict energy demand classes", "Austria", "Images as proxies for latent building characteristics", "abstract"),66 "almaas2026giving": ("Interior condition from listing images, Oslo condominiums", "Hedonic + XGBoost", "Image-based condition improves AVM accuracy; strategic image selection flagged", "Condos, Norway", "Closest prior work; WP20 extends to detached houses, cost approach, MNAR measurement", "abstract"),67 "jerer2024platforms": ("Condition prediction via CV in pricing models", "Hedonic", "CNN condition classes replicate expert classes and improve pricing", "Platform data", "Condition classes as pricing inputs", "abstract"),68 "benefield2011relationship": ("Photos in MLS, price and time on market", "Hedonic/duration", "Photos relate to higher prices and longer marketing time", "US", "Photo presentation effects; photos as strategic choice", "abstract"),69 "you2017image": ("Image-based appraisal with LSTM over neighbourhood images", "Out-of-sample", "Images of neighbours improve appraisal", "US", "Visual appraisal literature", "abstract"),70 "kucklick2023tackling": ("Interpretable deep learning for satellite-based appraisal", "Out-of-sample", "Interpretable models approach black-box accuracy", "Satellite", "Interpretability requirement in appraisal AI", "abstract"),71 "geerts2025performance": ("LLMs for real-estate appraisal", "Benchmarks", "LLM appraisals are sensitive to prompting and anchoring", "Text-only", "LLM behaviour in valuation tasks; leakage/anchoring risks", "abstract"),72 "ji2023survey": ("Survey of hallucination in NLG", "Survey", "Taxonomy of intrinsic/extrinsic hallucination and mitigation", "Text", "Hallucination risk framing for extraction", "full"),73 "li2023evaluating": ("Object hallucination in LVLMs (POPE)", "Benchmark", "LVLMs hallucinate frequent objects", "Benchmarks", "Visual hallucination: why 'not_visible' abstention is required", "full"),74 "angelopoulos2023conformal": ("Conformal prediction introduction", "Tutorial", "Distribution-free prediction intervals", "Method", "Future calibration of valuation intervals", "full"),75 "antol2015vqa": ("Visual question answering", "Benchmark", "Defines VQA task", "Benchmark", "Extraction as structured VQA", "abstract"),76 "dagdelen2024structured": ("Structured extraction from scientific text with LLMs", "Expert-annotated", "Schema-constrained extraction achieves high fidelity", "Science text", "Schema-based LLM extraction precedent", "abstract"),77 "mosqueirarey2023human": ("Human-in-the-loop ML survey", "Survey", "Taxonomy of human involvement", "Survey", "Design of the proposed expert review", "abstract"),78 "schennach2016recent": ("Measurement error review", "Survey", "Nonclassical measurement error and identification", "Theory", "Attribute extraction error as measurement error in cost inputs", "full"),79 "hausman2001mismeasured": ("Measurement error overview", "Expository", "Attenuation and misclassification effects", "Expository", "Misclassification in categorical attributes", "full"),80 "bound2001measurement": ("Measurement error in survey data", "Handbook chapter", "Nature and consequences of reporting error", "Survey focus", "Broker-reported fields as error-prone references", "abstract"),81 "rubin1976inference": ("Missing data mechanisms", "Theory", "MCAR/MAR/MNAR definitions", "Theory", "Photo selection as MNAR", "full"),82 "heckman1979sample": ("Sample selection bias", "Econometric", "Selection as specification error", "Theory", "Selection in listings/images", "full"),83 "kapoor2023leakage": ("Leakage in ML-based science", "Survey", "Taxonomy of leakage and reproducibility failures", "Survey", "Price masking and leakage audit", "full"),84 "howell2021increasing": ("Racial composition and appraised values, US", "Panel", "Neighbourhood racial composition increasingly affects values", "US", "Fairness concerns in valuation inputs", "abstract"),85 "mehrabi2021survey": ("Bias and fairness in ML survey", "Survey", "Sources and definitions of bias", "Survey", "Fairness across housing segments", "abstract"),86 "rudin2019stop": ("Interpretable models for high-stakes decisions", "Position", "Prefer inherently interpretable models", "Position", "Transparent cost schedule over black-box valuation", "full"),87 "lipton2018mythos": ("Model interpretability", "Conceptual", "Interpretability has multiple meanings", "Conceptual", "Defines WP20's interpretability claim", "full"),88 "kim2004comparison": ("Construction cost estimating models", "Out-of-sample", "ANN and CBR vs regression for early cost estimates", "Korea", "Cost estimation modelling precedent", "abstract"),89 "elfaki2014using": ("Intelligent techniques for construction cost: survey", "Survey", "AI cost estimation methods and data needs", "Survey", "Cost-model transferability", "abstract"),90 "gunaydin2004neural": ("Early cost estimation of structural systems", "Out-of-sample", "ANN early estimates within ≈ 7 % error", "Turkey", "Feasibility of parametric cost estimation", "abstract"),91 "hwang2009dynamic": ("Dynamic regression for construction cost indices", "Time series", "Dynamic models forecast cost indices", "US", "Temporal cost indexing", "abstract"),92 "desrosiers2002landscaping": ("Landscaping and house values, Québec City", "Hedonic", "Landscaping features capitalize into prices", "Québec", "Québec hedonic literature; site improvements", "abstract"),93 "theriault2003modelling": ("Location interactions with attribute values, Québec", "Hedonic", "Attribute values vary with location", "Québec", "Regional heterogeneity in Québec", "abstract"),94 "desrosiers2001size": ("School proximity and house values, Québec", "Hedonic", "School size/proximity effects", "Québec", "Québec data context", "abstract"),95 "dube2014spatial": ("Spatial DiD and transit, Montréal", "Spatial DiD", "Transit effects on prices", "Montréal", "Québec spatial econometrics", "abstract"),96 "cohen1960coefficient": ("Kappa statistic", "Theory", "Chance-corrected agreement", "Theory", "Agreement metrics", "full"),97 "cohen1968weighted": ("Weighted kappa", "Theory", "Partial credit for ordinal disagreement", "Theory", "Ordinal grade agreement", "full"),98 "landis1977measurement": ("Kappa interpretation", "Theory", "Benchmarks for kappa strength", "Conventions", "Interpretation of κ", "full"),99 "hayes2007answering": ("Krippendorff's alpha implementation", "Methods", "Standard reliability measure", "Methods", "Multi-rater reliability", "full"),100 "artstein2008inter": ("Inter-coder agreement in CL", "Survey", "Agreement coefficients compared", "Survey", "Choice of α vs κ", "full"),101 "hallgren2012computing": ("Inter-rater reliability tutorial", "Tutorial", "ICC/kappa guidance", "Tutorial", "Reliability protocol", "full"),102 "mchugh2012interrater": ("Kappa statistic", "Tutorial", "Interpretation and limits of kappa", "Tutorial", "Reliability protocol", "full"),103 "koo2016guideline": ("ICC selection guideline", "Tutorial", "ICC forms and reporting", "Tutorial", "ICC for condition scores", "full"),104 "snow2008cheap": ("Non-expert annotations", "Comparison to experts", "Aggregated non-expert labels approach expert quality", "NLP", "Annotation protocol design", "full"),105 "kermani2021racial": ("Racial disparities in housing returns", "Panel", "Return disparities by race", "US", "Fairness context", "abstract"),106 "seiler2012toward": ("Eye-tracking of listing viewing", "Experiment", "Photos attract attention first", "Lab", "Salience of photographs in listings", "abstract"),107 "guo2017calibration": ("Calibration of modern neural networks", "Benchmarks", "Deep networks are miscalibrated; temperature scaling helps", "Vision benchmarks", "Confidence calibration of extractors", "full"),108 "radford2021learning": ("CLIP: vision–language pretraining", "Zero-shot transfer", "Natural-language supervision enables zero-shot vision", "Benchmarks", "Foundation of VLM zero-shot attribute extraction", "full"),109 "lakshminarayanan2017simple": ("Deep ensembles for uncertainty", "Benchmarks", "Ensembles give good predictive uncertainty", "Benchmarks", "Cross-model ensembles as uncertainty proxy", "full"),110 "gal2016dropout": ("MC dropout as Bayesian approximation", "Theory/benchmarks", "Dropout approximates Bayesian inference", "Theory", "Uncertainty quantification background", "full"),111 "kadavath2022language": ("LM self-knowledge", "Benchmarks", "Models' stated confidence is partially calibrated", "LMs", "Using stated confidence as abstention signal", "full"),112 "liu2023visual": ("Visual instruction tuning (LLaVA)", "Benchmarks", "Instruction-tuned VLMs follow visual instructions", "Benchmarks", "VLM capability for schema-guided extraction", "full"),113 "alayrac2022flamingo": ("Few-shot VLM", "Benchmarks", "Few-shot multimodal learning", "Benchmarks", "VLM background", "abstract"),114 "koh2021wilds": ("Distribution-shift benchmark", "Benchmarks", "In-the-wild shifts degrade models", "Benchmarks", "Domain shift across regions/sources", "abstract"),115 "zhao2024utilizing": ("LLM extraction from real-estate contracts", "Fine-tuning", "LLMs extract transaction fields", "Synthetic contracts", "Real-estate LLM extraction precedent", "abstract"),116 "shehbaz2026structured": ("LLM extraction from real-estate questionnaires", "Consistency metrics", "Schema-constrained extraction of 35 attributes", "Documents", "Schema/consistency practice", "abstract"),117 "nordstrom2024using": ("Curb appeal via deep learning as covariate", "Hedonic", "Image-derived curb appeal as price covariate", "Preprint", "Visual covariates in hedonic models", "abstract"),118}119120def main():121    v = list(csv.DictReader(open(ROOT / "docs" / "verification" / "verified.csv", encoding="utf-8")))122    rows = []123    for r in v:124        n = N.get(r["key"])125        if n is None:126            n = ("", "", "", "", "", "")127        rows.append({"key": r["key"], "authors": r["authors"], "year": r["year"], "title": r["title"], "outlet": r["container"], "doi_or_url": r["doi"] or r["container"],128                     "topic": r.get("topic", ""), "method_data": n[0], "identification_validation": n[1], "key_finding": n[2], "limitations": n[3], "relevance_to_wp20": n[4],129                     "basis_of_note": "metadata verified against the primary record (Crossref/arXiv) in this session; the content note reflects the team's prior reading of the work at abstract level and was not re-read in this session", "verified_via": r["verified_via"]})130    with open(ROOT / "docs" / "literature_matrix.csv", "w", newline="", encoding="utf-8") as fh:131        w = csv.DictWriter(fh, fieldnames=list(rows[0].keys())); w.writeheader(); w.writerows(rows)132    missing = [r["key"] for r in rows if not r["method_data"]]133    print(len(rows), "rows; missing notes:", missing)134135if __name__ == "__main__":136    main()137