为什么你的 TDEE 计算器可能是错的
每个在线 TDEE 计算器都用同一种方法:输入你的年龄、体重、身高和一个活动水平猜测,然后乘以一个教科书式的数值。结果是人群平均值,而对任何个体来说,误差都可能有 200 到 400 kcal。
这就是每周减重一磅和维持体重之间的差别。
静态公式是怎么工作的
最常见的公式是 Mifflin-St Jeor(1990):
BMR (male) = 10 x weight(kg) + 6.25 x height(cm) - 5 x age + 5
BMR (female) = 10 x weight(kg) + 6.25 x height(cm) - 5 x age - 161
这会给你基础代谢率:你的身体在完全静息时消耗的能量。要得到 TDEE(总日能量消耗),你再乘以一个“活动系数”:
| Activity Level | Multiplier |
|---|---|
| Sedentary | 1.20 |
| Lightly Active | 1.375 |
| Moderately Active | 1.55 |
| Active | 1.725 |
| Very Active | 1.90 |
问题一眼就能看出来:从“Sedentary”到“Lightly Active”的跳跃,对一个 BMR 为 1,800 的人来说就是 175 kcal。这差不多是一根香蕉加一汤匙花生酱。而且大多数人根本不知道自己到底属于哪个类别。
误差在哪里被放大
真正的偏差发生在活动系数这里。研究显示,即使是统计特征完全相同、且自报活动水平相同的人,个体 TDEE 也会有 ±15% 的波动。对于一个 2,200 kcal 的 TDEE 估算,这相当于 1,870 到 2,530 kcal 的范围。
公式无法捕捉的因素包括:
- NEAT(Non-Exercise Activity Thermogenesis):坐立不安、姿势变化、在家走动。仅这一项,个体之间就可能相差 700+ kcal/天
- 代谢适应:你的身体会根据持续的热量赤字或盈余调整消耗
- 食物热效应:会随宏量营养素组成而变化
- 睡眠质量:睡眠差会降低次日消耗
- 压力激素:皮质醇会影响食欲和消耗
静态公式完全捕捉不到这些。它给你的是“像你这样的人”的平均值,不是你本人。
自适应 TDEE 有什么不同
首先要理解的是,你每天称重的数据真实长什么样。这是 35 天的真实体重数据。灰色点是原始每日称重,蓝线是 7 天指数移动平均线(EMA),用来过滤噪声:
自适应 TDEE 不再从公式倒推,而是从你的身体实际发生的变化反推。
核心洞察是:如果你知道自己吃了多少卡路里,以及体重如何变化,就能算出身体实际消耗了多少。
计算步骤如下:
- 追踪热量摄入,使用滚动窗口(我们用 28 天)
- 追踪体重变化,使用同一窗口,并用 7 天指数移动平均线平滑,过滤水分/糖原噪声
- 对平滑后的体重数据做线性回归,得到真实趋势(kg/day)
- 换算成卡路里:将每日体重斜率乘以 7,700 kcal/kg(体组织的能量密度)
- 计算 TDEE:
average daily intake - caloric impact of weight change
如果你每天吃 2,200 kcal,并且平滑后的体重每天下降 0.04 kg:
caloric impact = -0.04 x 7,700 = -308 kcal/day
TDEE = 2,200 - (-308) = 2,508 kcal/day
这个数值反映的是你的真实代谢:NEAT、适应、基因,全部都算在内。无需猜测你的活动水平。
为什么 28 天很重要
早期的自适应实现使用的是 14 天窗口。我们测试后发现,噪声太大了。
每日体重会因为水分潴留、糖原储备、肠胃中的食物质量和钠摄入而波动 ±1 kg。对于每周减 0.5 kg 的人来说,预期的 14 天信号大约是 1 kg,几乎刚刚高出噪声底线。
下面是一个更诚实的测试。你站在第 31 天,回看 EMA 平滑后的体重数据。如果你分别对最近 14 天和最近 28 天做回归,而且都截止到今天,会得到两个不同的故事:
14 天斜率是 +0.027 kg/day,准确反映了最近的上升,可能是水分潴留,或者周末钠摄入偏高。28 天斜率是 -0.050 kg/day,几乎和实际脂肪下降速率 -0.049 kg/day 完全一致。
两者都是真实的。短窗口告诉你“现在”发生了什么,适合捕捉计划中的真实偏离。长窗口告诉你“轨迹”:你的身体随时间到底在做什么。对于 TDEE 计算,轨迹才是关键。对于日常观察,近期趋势也有它的价值。
收敛过程
自适应 TDEE 不会立刻跳到正确答案。它会在几天内逐步收敛,并将每日调整幅度限制在 ±100 kcal/day,避免因噪声数据产生剧烈波动。
公式把这个人的 TDEE 估算为 2,250 kcal,比他们真实消耗的 2,480 低了 230 kcal。这个差距足以让减脂完全停滞。随着数据不断累积,自适应算法会启动,并稳步缩小差距,最终收敛到距离真实值约 20 kcal 以内。
在持续记录饮食和称重大约 28 天后,你得到的是任何在线计算器都给不了你的东西:一个基于你身体对饮食真实反应推导出的 TDEE。
静态 TDEE 计算器不是没用。它们能给你一个合理的起点。但如果你已经连续记录热量好几周,而体重走势并没有按预期变化,问题可能就在公式本身。
Onyx Tenet 中的自适应 TDEE 是免费的。它会在持续记录和称重约 4 周后自动启用。无需订阅。