燃气表读数能反推出房子有多漏热:五个月做一次最小二乘回归,算出的节能收益比账面大56%

先给结论
把五个月的燃气表读数和当地月平均气温凑到一起,做一次最小二乘回归,就能反推出你家的综合热损失系数 UA 和平衡点温度。本文这套数据算出来是 UA = 208.6 W/K(2.09 W/(㎡·K))、平衡点 13.56 ℃。过程中有三个反直觉的地方:R² 已经到 0.998 了,斜率仍带着 2.18% 的误差;暖冬测满 100 天,精度还不如冷冬测 30 天;而把 UA 降 13.2%,耗气降的不是 13.2%,是 20.5%。
一、燃气表读数里藏着一条直线
设某月的日平均耗气量 V(m³/d),当月室外月平均气温 t(℃)。稳态下房间往外散的热是 UA·(tin − t),扣掉白捡的自由得热 Qgain(太阳、人体、家电、做饭),剩下的由壁挂炉补上:
V·η·Hgas·24 = UA·(tin − t) − Qgain
把含 t 的项展开,两个括号都是常数,于是 V 对 t 严格线性:V = a + b·t。这里 b 是负的,越冷烧得越多。其中 Hgas 取天然气低热值 35.6 MJ/m³ ÷ 3.6 = 9.89 kWh/m³——这个除数本站算壁挂炉耗气量那篇用的是同一个数,两边共用一套常数,数字不会打架。η 取 0.90。
二、最小二乘的两本账:残差要同时满足两个归零
先摆数据,北京 11 月到次年 3 月,共 5 个点:
| 月份 | 月平均气温 ℃ | 日均耗气 m³/d |
|---|---|---|
| 11 月 | 5.8 | 4.35 |
| 12 月 | −0.4 | 7.95 |
| 1 月 | −3.1 | 9.40 |
| 2 月 | 0.4 | 7.25 |
| 3 月 | 7.4 | 3.50 |
最小二乘不是"看着顺眼画一条线",它有两条硬账必须同时成立:Σe = 0(残差和为零,直线必过均值点 2.02, 6.49)和 Σe·x = 0(残差与气温正交)。算出来 b = −0.562558、a = 7.626367,五个残差是 −0.0135、0.0986、0.0297、−0.1513、0.0366,两个和都是 −0.0000000000,浮点意义上精确归零。几何上这叫投影:残差向量同时垂直于"全 1 向量"和"气温向量"。
三、斜率就是 UA:208.6 W/K 怎么从 0.5626 变出来
把斜率的系数倒过来即可:UA = |b|·η·Hgas·1000/24 = 0.562558 × 0.90 × 9.89 × 1000 ÷ 24 = 208.6 W/K,除以 100 ㎡ 得 2.086 W/(㎡·K)。
对照设计值:采暖热指标取 50 W/㎡、北京室外计算温度 −7.6 ℃,则设计 UA = 5000 ÷ (20 + 7.6) = 181.2 W/K。实测 208.6 比设计高 15.2%。这 15.2% 就是施工偏差、门窗气密不足、间歇运行三笔账的合计,想知道渗透占多少,可以看住宅换气次数 0.5 次/h 是怎么定出来的那篇的推导。
四、截距不是杂音:平衡点温度 13.56 ℃
令 V = 0,得 t = −a/b = 13.5566 ℃。这就是平衡点温度:室外高于它,白捡的自由得热就够维持 20 ℃,不用烧气;低于它才需要供暖。反过来还能用截距把白捡的热反推出来:Qgain = UA·(tin − T) = 208.6 × (20 − 13.56) = 1344 W,合 13.4 W/㎡,太阳加三四口人的内扰加家电,量级对得上。
平衡点还是比 UA 更直观的判据,因为 UA 越大它越贴近室温:
| UA (W/K) | 折合单位面积 W/(㎡·K) | 平衡点温度 ℃ |
|---|---|---|
| 100 | 1.00 | 6.56 |
| 150 | 1.50 | 11.04 |
| 181.2(设计值) | 1.81 | 12.58 |
| 208.6(本文实测) | 2.09 | 13.56 |
| 300 | 3.00 | 15.52 |
| 400 | 4.00 | 16.64 |
上限锁死在 20 ℃(UA 趋于无穷时全年都得烧),下限不封顶。平衡点是"你家室外降到几度就得开暖气"的直接答案。
五、R²=0.998 不等于准:一条只靠 R² 和点数的闭式
本例 R² = 0.998582,看着很完美。但斜率的标准误 se(b) = σe/√Sxx = 0.012241,相对值 2.1760%。它有一条完全闭式的写法:
se(b)/|b| = √[ (1 − R²) / ((n − 2)·R²) ]
代入得 2.1760%,与分步直算差 3.7×10⁻¹⁶。也就是说,斜率的相对误差只由 R² 和点数决定,与量纲、斜率大小、房子大小统统无关。扫一遍能看清结构:
| R² | n=5 | n=10 | n=30 | n=120 |
|---|---|---|---|---|
| 0.90 | 19.25% | 11.79% | 6.30% | 3.07% |
| 0.95 | 13.25% | 8.11% | 4.34% | 2.11% |
| 0.98 | 8.25% | 5.05% | 2.70% | 1.32% |
| 0.99 | 5.80% | 3.55% | 1.90% | 0.93% |
R² 高不代表 UA 准:R² 到 0.99 但只有 5 个点,误差还有 5.80%。
六、样本量赢不了温度跨度:暖冬测 100 天不如冷冬测 30 天
因为 Sxx ≈ (n−1)·σx²,σx 是室外气温的离散度,se(b) = σe/√Sxx 里 Sxx 在分母:n 是一次方,σx 是平方,所以 σx 翻倍等于点数变 4 倍。
| 做法 | n | σx (K) | Sxx | se(b)/|b| |
|---|---|---|---|---|
| 冷冬 30 天 | 30 | 5.5 | 877.2 | 0.65% |
| 暖冬 30 天 | 30 | 2.0 | 116.0 | 1.78% |
| 暖冬 100 天 | 100 | 2.0 | 396.0 | 0.97% |
| 暖冬 120 天 | 120 | 2.0 | 476.0 | 0.88% |
暖冬测满 100 天(0.97%)依旧不如冷冬测 30 天(0.65%)。想靠"同一个月里多抄几次表"补回来也没用——那只是重复测量,降的是 σe,Sxx 一动不动。这一点和室温测量不确定度那篇是两回事:那边误差卡在分量占比,这边卡在自变量的跨度。
七、数据干净比数据多值钱:78 倍对 9.3 倍
把 R² 从 0.90 提到 0.9986,(1−R²)/R² 改善 78.2 倍;把 n 从 5 提到 30,只改善 9.33 倍。反算交换率,要和"5 个干净月点加 R²=0.9986"打平:n=10 需 R² ≥ 0.99623,n=30 需 R² ≥ 0.98692,n=120 需 R² ≥ 0.94709。
结论很明确:先把单月日均耗气算准,比多凑几个月划算得多。生活热水是最大的污染源,把它单列出来、或者固定在同一批月份里比较,R² 立刻上一个台阶。
八、至少抄 5 次:自由度 n−2 才是硬门槛
残差自由度是 n−2,两个参数 a、b 已经吃掉 2 个。n=2 时自由度是 0,SSE 恒为零,σe 根本估不出来——只用最冷和最暖两个月连线,你连"自己算得准不准"都不知道。临界 R²(t 检验,α=0.05 双侧)分别是:n=3 需 0.994,n=4 需 0.903,n=5 需 0.771,n=10 需 0.399,n=30 只需 0.130。
换句话说,只有 5 个点时,R² 必须超过 0.771 才能说"耗气和室外温度确实有关";凑到 30 个点,R²=0.13 就够了。所以 11、12、1、2、3 五个月是最低下限,别再往下砍。
九、残差不是垃圾,但五个点也检不出漏掉的变量
本例残差 σe = 0.108 m³/d,摊到各月只占日均耗气的 −0.31%、1.24%、0.32%、−2.09%、1.05%,看起来相当干净。残差如果同号扎堆,通常意味着模型漏了变量:风速、当月日照、春节回老家、生活热水突然变多。正规的做法是游程检验——数一数符号切换了几次。
本例符号是 −、+、+、−、+,游程 R = 4。理论期望 E(R) = 2·n₁·n₂/n + 1 = 3.40,标准差 0.9165,于是 z = (4 − 3.40)/0.9165 = 0.65,远小于 1.96,残差通过随机性检验,说明"月度稳态线性"这个模型对本例是充分的。
但这里有个必须说清的死角:n=5 时游程最少是 2、最多是 5,对应的 z 只在 −1.53 到 1.75 之间晃,永远够不到 1.96。也就是说,五个点的游程检验无论残差长成什么样都不会报警——它根本没这个能力。想让检验真正有效,至少要把点数提到 12 个(比如连续两年逐月),此时 E(R)=7.00、标准差 1.6514,最小游程能给出 z = −3.03,才谈得上检出漏变量。⇒ 5 个点够估 UA,但不够诊断模型对不对。
十、截距和斜率的误差会互相抵消:±0.53 ℃
平衡点 T = −a/b 是两个估计量相除,按误差传递展开:
se(T) = (σe/|b|)·√[ 1/n + (x̄ − T)²/Sxx ] = 0.265 ℃
蒙特卡洛 20 万次抽样给 0.26519 ℃,与闭式差 0.05%。于是 T = 13.56 ± 0.53 ℃(k=2,约 95%)。
有意思的是,se(b)/|b| 是 2.176%,se(T)/T 只有 1.957%,比值反而稳了 10.1%。原因是截距和斜率的误差负相关,ρ = −0.4555(cov = −x̄·σe²/Sxx):斜率估高了,截距往往朝同一边偏,一除就抵掉一部分。所以对外报数就报平衡点温度,既更稳也更好懂。
十一、真正值钱的落点:节能收益被放大 1.56 倍
把 UA 从 208.6 降到设计值 181.2(降 13.2%),耗气降多少?耗气正比于 UA·(tin − tout) − Qgain,而 Qgain 是不随 UA 变的常数。对 UA 求导得到 dV/dUA = (tin − tout),是个常数,于是弹性为:
ε = 1 / [ 1 − Qgain / (UA·(tin − tout)) ]
按采暖季平均气温 2.02 ℃ 算:UA=208.6 时 ε=1.5585,150 时 1.9939,120 时 2.6530,100 时 3.9633。UA 降 13.2%,耗气降 20.5%,放大 1.56 倍。
原因是双重的:UA 变小以后,那固定的 1344 W 白捡热量占比变大,把平衡点从 13.56 ℃ 拉到 12.58 ℃,需要供暖的天数也跟着变短。降失热和缩季节两笔账叠在一起。极限是 UA 降到 74.8 W/K(0.748 W/(㎡·K))时耗气趋于零——这不是玄学,就是自由得热刚好够用。越接近这个点,ε 越发散,每 1% 的投入换回越来越大的百分比收益。
十二、度日数法会低估 35.8%
度日数法把基准温度当常数,通常取 18 ℃。但从上面看,平衡点本身随 UA 变:固定 18 ℃ 基准,耗气比 = 181.2/208.6 = 0.8683(降 13.2%);让平衡点跟着走,是 0.7947(降 20.5%)。也就是说,度日数法把改造收益低估了 35.8%。
顺带一个交叉验证:用回归出来的 13.56 ℃ 取代 18 ℃ 做基准,度日数比值 = 0.7219,正好落在采暖度日数那篇给出的经验修正系数 0.6~0.7 的上沿。两条完全不同的路径撞到同一个数,说明平衡点确实是个真量,不是拟合出来的摆设。
十三、本篇不算什么
- 不算耗气量的正问题(已知面积和热指标算账单)——那在壁挂炉一个月烧多少方气那篇,本文只做反问题。
- 不算热量表和温度计的误差合成——那是方和根那条线(见自家测散热量误差),本文的 σe 是从回归残差里估出来的。
- 不算逐时动态模拟:本模型是月度稳态,间歇运行和太阳辐射的逐日波动都进了残差。
- 不算气候补偿曲线的斜率:那个 K 是"供水温度对室外温度"(见气候补偿曲线斜率),本文的 b 是"耗气对室外温度",量纲不同,别混。
怎么用:五步自己算一遍
- 每月同一天抄一次燃气表,两次读数差 ÷ 天数 = 该月日均耗气(m³/d),记得把生活热水剔出去。
- 查当地该月的室外月平均气温,气象部门公开数据就有。
- 凑够 5 个采暖月,算 x̄、ȳ、Sxx、Sxy,取 b = Sxy/Sxx、a = ȳ − b·x̄。
- 换算:UA = |b| × η × 9.89 × 1000 ÷ 24,单位是 W/K;平衡点 T = −a/b,单位 ℃。
- UA 除以采暖面积,比设计值高出 30% 以上时,先查门窗密封(见冷风渗透热损失测算),别急着加暖气片。
相关产品推荐
结合本文场景,瑞华特可提供以下采暖产品和配套选型建议:
- 铜铝复合暖气片 TAL-800:铜铝复合暖气片TAL-800适合集中供暖、自采暖和水质复杂场景,兼顾耐腐蚀、快散热和长期稳定。核心参数为材质铜管+铝合金,高度800mm,工作压力1.2MPa。
- PERT-II阻氧地暖管 DN20:适用于家庭地暖盘管和工程地暖系统,柔韧性好,适合低温热水地面辐射采暖。
- PPR采暖主管 DN25/DN32:用于壁挂炉、分水器和采暖主管连接,适合地暖与暖气片混合系统配套。
需要确认规格、数量或工程采购清单,可联系瑞华特暖气片厂家获取免费选型指导。



