1.2 线性模型
我们刚才找出来的对应的误差是480. 这是由2017年~ 2020年的数据计算出的结果. 现在,不妨用这对去预测下2021年初每日的观看次数. 我们预测2021年1月1日~2021年2月14日间的每日观看次数,计算出新的损失. 在2021年没有看过的数据上,损失用来表示,值是580. 将预测结果绘制出来,如图1.6 所示,横轴代表距离2021年1月1日的天数,0代表2021年1月1日,图中最右边的点代表2021年2月14日;纵轴代表观看次数. 红色线是真实的观看次数,蓝色线是预测的观看次数. 可以看到,蓝色线几乎就是红色线往右平移一天而已,这很合理,因为目前的模型正是用某天观看次数乘以0.97,再加上100,来计算次日的观看次数.
图1.6 预估曲线图
这个真实的数据中有一个很神奇的现象:它是周期性的,每 7 天就会有两天(周五和周六)的观看次数特别少. 目前的模型只能向前看一天.一个模型如果能参考前 7 天的数据,也许能预测得更准,所以可以修改一下模型. 通常,一个模型的修改方向,往往来自我们对这个问题的理解,即领域知识.
一开始,由于对问题完全不理解,我们的模型是
(1.11)
这个只考虑1天的模型不怎么好.接下来,我们观测了真实的数据,得到一个结论:每 7 天是一个循环.所以要把前 7 天的观看次数都列入考虑. 现在,模型变成
(1.12)
其中, 代表前7天中第天的观看次数,它们分别乘以不同的权重,加起来,再加上偏置,就可以得到预测的结果.该模型在训练数据(即2017年~ 2020年的数据)上的损失是380,而只考虑1天的模型在训练数据上的损失是480; 对于2021年1月1日~ 2021年2月14日的数据(以下简称2021年的数据)上,它的损失是490. 只考虑1天的模型的损失是580.
这个新模型中和的最优值如表1.1所示.
表1.1 和的最优值
模型的逻辑是:7天前的数据跟要预测的数值关系很大,所以是0.79,而其他几天则没有那么重要.
其实,可以考虑更多天的影响,比如28天,即
(1.13)
这个模型在训练数据上的损失是330,在2021年1月1日~ 2021年2月14日数据上的损失是460.如果考虑56天,即
(1.14)
则训练数据上的损失是320,2021年1月1日~ 2021年2月14日数据上的损失还是460.
可以发现,虽然考虑了更多天,但没有办法再降低损失. 看来考虑天数这件事,也许已经到了一个极限.把输入的特征乘上一个权重,再加上一个偏置,得到预测的结果,这样的模型称为线性模型(linear model).