Raisetsu41
← ProjectsGitHubREADME.md

Casella–Berger × House Prices

以 Casella & Berger《Statistical Inference》第 2 版为主线,用模拟和 Kaggle House Prices 复习概率论与数理统计。分 6 次做,预计共 5–6 小时,具体事项见 PLAN.md。

内容包括概率分布模拟、统计推断练习和房价回归。Kaggle 数据主要用于回归部分,其他章节配合模拟、纸笔题和课程习题复习。

快速开始

建议 Python 3.13(至少 3.11),以下命令在仓库根目录运行:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m ipykernel install --user --name cb-statprep --display-name "CB Statistics"
.\.venv\Scripts\python.exe scripts/run_baseline.py --demo
.\.venv\Scripts\python.exe -m unittest discover -s tests -v

在 VS Code 的 Jupyter 扩展中选择 CB Statistics 内核,按顺序打开 notebooks/。前 3 个 Notebook 离线运行;第 4 个默认用明确标记的合成数据。下载真实数据后,把第 4 个 Notebook 的 USE_DEMO 改为 False。

在 Kaggle 登录、加入比赛并按页面规则下载数据,将 train.csv、test.csv 解压到 data/raw/,然后:

.\.venv\Scripts\python.exe scripts/run_baseline.py

生成 outputs/submission.csv,再手动提交 Kaggle。仓库不自动接受比赛规则或提交;不要上传原始数据、令牌或课程 PDF。验证 Notebook:python scripts/check_notebooks.py(会在 outputs/executed/ 保存执行结果)。

目录

PLAN.md                       分六次完成的待办清单
docs/chapter_map.md            第 1–12 章覆盖方式与课程优先级
docs/exercises.md              原创纸笔题、简短自查答案
docs/exam_checklist.md         考前自测与常见误区
notebooks/01_probability.ipynb 概率、变换、联合分布
notebooks/02_estimation.ipynb  抽样分布、充分性、估计
notebooks/03_inference.ipynb   检验、区间、渐近、ANOVA
notebooks/04_regression.ipynb  房价回归、诊断与解释
statprep/                     可复用的数据和回归代码
scripts/                      baseline、Notebook 执行检查
tests/                        数学公式、数据校验、提交格式检查
data/raw/                     仅本地保存数据
outputs/                      仅本地保存结果

模型与评估

预先固定 log(SalePrice) ~ 1 + log(GrLivArea) + (YrSold - YearBuilt),先检查简单的线性模型。一次固定随机种子的 80/20 holdout,与训练集对数价格均值基线比较。缺失值中位数只在训练分割上估计;比较后在完整训练集重拟合生成提交。holdout 只用于比较,不据此反复筛变量并报告未经调整的 p 值。

比赛使用 RMSE(log 预测价格, log 真实价格)。exp(预测 log 价格) 面向该对数损失;它通常不是原价格的条件均值。推断中的经典 t/F 和区间依赖固定满秩设计、独立正态同方差误差;实际房价数据不自动满足这些条件。展示 HC3 稳健标准误作为对照,其理论是渐近的。相关系数和回归系数不能直接解释为因果效应。

Notebook 默认演示与自动验证使用合成数据。真实 Kaggle 成绩需要下载数据并提交后查看。

依据:Kaggle 比赛、数据说明。章节名按 C&B 第 2 版组织;课程安排参考本人的课程大纲,未上传教学材料。代码和原创练习采用 MIT License;数据权利与使用条件以 Kaggle 比赛页面为准。