R03-DATA-08: environment of node M4BP48 (lock, hardware); DAS days-on-Zillow IQR (raw vs sample)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
3 changed files +6 −6
modified
data/DATA_AVAILABILITY.md
+1 −1
@@ -8,7 +8,7 @@ | |||||
| 8 | |---|---| | 8 | |---|---| | ||
| 9 | | Source | Zillow active for-sale listing pages (public web pages), collected by the author with a custom extractor into a DuckDB database. | | 9 | | Source | Zillow active for-sale listing pages (public web pages), collected by the author with a custom extractor into a DuckDB database. | | ||
| 10 | | Access method | Web extraction of listing pages (property details, price history, nearby schools, tax history). No Zillow API key, no bulk licence; the extract is a research snapshot of publicly displayed listing attributes. | | 10 | | Access method | Web extraction of listing pages (property details, price history, nearby schools, tax history). No Zillow API key, no bulk licence; the extract is a research snapshot of publicly displayed listing attributes. | | ||
| 11 | −| Collection window (inferred from the data; no extraction log survives) | Last `price_history.event_date` = **2026-01-08**; last `ph_first_listed_date` = 2026-01-08; last `date_sold` = 2026-01-07; earliest `price_history.event_date` = 1961-05-10 (historical sale events). The snapshot was therefore completed on **8 January 2026**. `days_on_zillow` at extraction: median 72 days, IQR 34–135 (v1.2 text said 35–134: corrected). | | 11 | +| Collection window (inferred from the data; no extraction log survives) | Last `price_history.event_date` = **2026-01-08**; last `ph_first_listed_date` = 2026-01-08; last `date_sold` = 2026-01-07; earliest `price_history.event_date` = 1961-05-10 (historical sale events). The snapshot was therefore completed on **8 January 2026**. `days_on_zillow` at extraction: median 72 days, IQR 34–135 on the raw extract and 35–134 on the analytical sample (the paper's figure). | | ||
| 12 | | Coverage | 839,313 listings (zpid unique: 839,313 = 839,313 rows, i.e. **no duplicate zpid** in the raw table), 116 columns; all with `home_status = FOR_SALE`; 52 state codes incl. PR and VI. | | 12 | | Coverage | 839,313 listings (zpid unique: 839,313 = 839,313 rows, i.e. **no duplicate zpid** in the raw table), 116 columns; all with `home_status = FOR_SALE`; 52 state codes incl. PR and VI. | | ||
| 13 | | Listing type (raw shares) | For Sale by Agent 87.43 %; New Construction Plan 3.36 %; New Construction 2.94 %; Unknown Listed By 2.76 %; For Sale by Owner 1.69 %; New Construction Spec 0.71 %; Pre-Foreclosure 0.43 %; Coming Soon 0.38 %; other < 0.3 % (`results/build/listing_types_raw_shares.csv`). | | 13 | | Listing type (raw shares) | For Sale by Agent 87.43 %; New Construction Plan 3.36 %; New Construction 2.94 %; Unknown Listed By 2.76 %; For Sale by Owner 1.69 %; New Construction Spec 0.71 %; Pre-Foreclosure 0.43 %; Coming Soon 0.38 %; other < 0.3 % (`results/build/listing_types_raw_shares.csv`). | | ||
| 14 | | Home type (analytical sample) | SINGLE_FAMILY 85.38 %, CONDO 14.62 % (`results/build/home_types_sample.csv`). | | 14 | | Home type (analytical sample) | SINGLE_FAMILY 85.38 %, CONDO 14.62 % (`results/build/home_types_sample.csv`). | | ||
modified
environment/README.md
+5 −5
@@ -1,11 +1,11 @@ | |||||
| 1 | # Computational environment (November 2026 review, Stage D) | 1 | # Computational environment (November 2026 review, Stage D) | ||
| 2 | 2 | ||||
| 3 | −| | Laptop (batches L0–L2) | Node M4M64c (batches N1–N2) | | 3 | +| | Laptop (batches L0–L2, QR batch) | Node M4BP48 (batches N1–N2) | | ||
| 4 | |---|---|---| | 4 | |---|---|---| | ||
| 5 | −| Machine | MacBook Pro, Apple M5 Max, 18 cores, 48 GB | Mac Studio, Apple M4 Max, 16 cores, 64 GB (`M4M64c.maclustr.io`) | | 5 | +| Machine | MacBook Pro, Apple M5 Max, 18 cores, 48 GB | MacBook Pro, Apple M4 Max, 16 cores, 48 GB (`M4BP48.maclustr.io`; M4M64c was busy with another batch) | | ||
| 6 | −| OS | macOS 27.0 (build 26A5425a) | macOS 26.4 | | 6 | +| OS | macOS 27.0 (build 26A5425a) | macOS 26.5.1 | | ||
| 7 | −| Python | 3.14.4 (`uv venv --python 3.14`) | 3.14.7 (`uv venv --python 3.14`) | | 7 | +| Python | 3.14.4 (`uv venv --python 3.14`) | 3.14.10 (uv-managed CPython; `libomp.dylib` copied into the uv Python lib dir, user space) | | ||
| 8 | −| Packages | `requirements.lock` (`uv pip freeze`; scikit-learn 1.6.1, xgboost 3.2.0, lightgbm 4.6.0, statsmodels 0.14.6, numpy 2.4.4, pandas 3.0.2, duckdb 1.5.2, scipy 1.17.1, shap 0.48.0, libpysal 4.14.1, esda 2.8.2, wildboottest 0.3.2) | same pins (`requirements.lock.m4m64c`) | | 8 | +| Packages | `requirements.lock` (`uv pip freeze`; scikit-learn 1.6.1, xgboost 3.2.0, lightgbm 4.6.0, statsmodels 0.14.6, numpy 2.4.4, pandas 3.0.2, duckdb 1.5.2, scipy 1.17.1, shap 0.48.0, libpysal 4.14.1, esda 2.8.2, wildboottest 0.3.2) | same pins (`requirements.lock.m4bp48`; no matplotlib/seaborn) | | ||
| 9 | | Threads | ≤ 8 workers for the review's laptop jobs | 16 (physical cores) | | 9 | | Threads | ≤ 8 workers for the review's laptop jobs | 16 (physical cores) | | ||
| 10 | 10 | ||||
| 11 | Seeds: `RANDOM_STATE = 42` (splits, early-stopping subsets, permutations); XGBoost / LightGBM seeds 42–46; QR stability seeds 42, 100, …, 900; bootstrap draws seeded `1000 + i`; wild bootstrap seed 42; figure seeds `RandomState(42 + k)`. | 11 | Seeds: `RANDOM_STATE = 42` (splits, early-stopping subsets, permutations); XGBoost / LightGBM seeds 42–46; QR stability seeds 42, 100, …, 900; bootstrap draws seeded `1000 + i`; wild bootstrap seed 42; figure seeds `RandomState(42 + k)`. | ||