示意图:折线图对比单日摄入的剧烈波动与28天滚动平均的平滑趋势,并标出目标区间
图:同一位用户28天饮食评分的分布,孤立的高分日无法代表整体结构

满分的一天,代表不了一个人

设想这样一个示例:某用户在28天里有一天得了96分(满分100),系统当天给她出了一份漂亮的报告。翻开其余27天,得分集中在40到70之间,中间夹着两次聚餐和一次出差,还有6天几乎没有记录。另一位用户没有一天超过78分,最低也有60分,每天吃得平平。下面是这两位设定用户的对照:

指标(设定数字)用户甲用户乙
最高的一天 96分 78分
28天平均 62分 72分
最低的一天 31分 60分
得分在65分以上的天数9天 21天
缺记天数6天 1天

只看“最好的一天”,甲更漂亮;看28天结构,乙才是更稳定的那个。营养推荐要判断的是结构,而不是给最好的一天颁奖。

周内节律比想象的更强

长期结构里最先要还原的是周内差异。工作日在食堂和外卖之间循环,早餐时间固定;周末睡到很晚,两顿并成一顿,晚上还有聚餐。系统如果只算日均,工作日的规律与周末的失衡会互相抵消,得出一个哪一天都不像的“平均日”。更合理的做法是把工作日和周末分成两个分布分别描述,再看两者的距离有多大。

季节、出差和节假日属于更长周期的扰动。出差一周,意味着食物来源、进餐时间和活动量全部改变,这一周的数据不该被当成“她的常态”,而应打上事件标记,在长期画像里降权处理。

用窗口和分布代替单日均值

滚动窗口是最基本的工具。7天窗口刚好覆盖一个完整的周内循环,适合看节律,比如蛋白质是否总集中在晚餐;28天窗口覆盖四个循环,能压低偶发事件的影响,适合看结构。两个窗口并列输出,短窗口回答“最近怎么样”,长窗口回答“通常怎么样”。

只给窗口均值还不够,还要同时给出分布:中位数、四分位间距、低于某个阈值的天数占比。设定中的用户甲,平均分62看起来还行,但四分位间距很宽,说明她的饮食忽高忽低,这个信息在均值里是看不见的。

多样性、蛋白分布和餐次规律,比总量更耐看

单日总量容易达标,长期结构却很难靠一天的努力凑出来。有三类指标在28天窗口里特别有信息量。

  • 食物多样性:28天里出现过多少类不同的蔬菜、豆类和全谷物。一天吃得再健康,如果四周都是同样的三样东西,结构依然单薄。
  • 蛋白质分布:总量相同的情况下,蛋白质集中在晚餐,与均匀分布在三餐,对应的是完全不同的饮食节奏。
  • 餐次规律:进餐时刻的波动幅度,直接反映作息是否稳定。

这三项和年龄、运动、饮食与生活方式进入推荐模型的方式是一体两面:特征怎么构造,决定了长期画像能看清什么。

缺失的天数不是零分

数据缺失是长期画像最大的干扰。漏记的那天不能记成零,否则会把均值无故拉低;也不能直接剔除后当作没发生,因为漏记往往集中在聚餐、出差这些最不规律的日子,剔除等于系统性地美化了结构。

比较稳妥的做法是保留缺记标记,输出时同时给出“有效记录天数”,并在有效天数不足时收窄结论,比如28天里只有15天有记录,就只描述这15天,不外推整体。2026年《Frontiers in Digital Health》一篇关于测量误差的论文指出,自报饮食存在系统性低报。缺失与低报叠加,会让长期画像的偏差方向更难判断,所以长期画像必须和营养数据质量一起看。

从趋势到干预评估

长期结构的评估节奏
单日记录7天滚动窗口28天结构画像与上一个28天对比决定是否调整建议

评估一次调整是否有效,比较的对象应该是两个长窗口,而不是两个单日。假设用户从第5周开始把早餐蛋白质从偏低调整到较合理的水平,一周之后看到的改善可能只是巧合;四周之后,两个28天窗口的分布整体右移,这个判断才有分量。系统在提示“你已经进步了”之前,最好同时检查有效记录天数和窗口内的波动幅度。

要点:一个人的饮食是否健康,取决于反复出现的日子是什么样,而不是最好的一天有多好。看窗口、看分布、看缺失,是把单日快照变成长期结构的最低要求。

在使用中怎样落地

纵横国际在思路上把长期饮食结构拆成7天节律与28天结构两层来呈现。用户在记录饮食、运动和营养目标时多补一句份量和配料,长期画像就会更可信。画像还应该随新数据更新,而不是一次生成后固定不变,更多相关入口可以到个性化营养栏目查看。