🧠 第一章 认识AI新职业
📄 一句话概括

同一组数据,两种拟合:线性 R² 0.9712、指数 R² 0.9999,看起来都很准。 外推到第十年,线性说 561、指数说 1172,差了 611。 看曲线之前,先问它按什么假设画的。

📝 本节和前面几节的关系

上一节讲个人路径,这一节讲行业曲线——以及怎么不被曲线骗。

一、两种拟合,都「很准」

Demo 用六年相对岗位数(100、128、165、210、268、342)做拟合。线性拟合年增 47.9,R² = 0.9712; 指数拟合每年乘 1.279,R² = 0.9999。 两个 R² 都超过 0.97,肉眼几乎分不出差别。在这六年区间里,两条线贴得很近。 但外推到第十年:线性 561,指数 1172,差 611。同一个「拟合得很好」,结论差一倍。

二、为什么指数会赢,也会崩

指数在样本区间内总是更容易贴合增长型数据,因为增长本身常是复利式的:用的人越多,数据越多, 模型越好,用的人更多。 但指数不可能永远持续。 任何一个行业跑五年指数,第六年一定会撞到天花板——人力供给、预算、监管,随便哪一个都能把它按下来。 所以更实用的做法是:用指数看「势」,用线性看「量」。 判断方向用指数(它在涨,而且加速),做预算用线性(保守,不会离谱)。

三、训练师要养成的习惯

拿到一条曲线,先问三句:样本从哪来、按什么假设拟合、外推多远。 这三句能挡掉绝大多数「行业前景」的忽悠。 第二件要养成的习惯是「自己算一遍」。 本节的数都是我编的示例序列,但算法是真的——换成真实数据,同一段代码能跑出同一套判断。 这也是本课的基本方法:每个结论都用一段能重跑的代码撑着。凡是不能重跑的结论,都当假设看。

四、动手 Demo:两种拟合,十年后差一倍

用六个点的相对岗位数,分别做线性拟合与指数拟合(对 y 取对数再线性拟合),算各自的 R², 然后外推到第十年,看两条线差多少。

A = np.vstack([years, np.ones_like(years)]).T
coef, *_ = np.linalg.lstsq(A, y, rcond=None)        # 线性
coef2, *_ = np.linalg.lstsq(A, np.log(y), rcond=None)  # 指数
exp_fit = np.exp(A @ coef2)
r2 = 1 - np.sum((y - fit) ** 2) / np.sum((y - y.mean()) ** 2)

实跑输出:

--------------------------------------------------------------------
外推五年:线性说 561,指数说 1172
--------------------------------------------------------------------
  年份      实际(相对值)   线性拟合   指数拟合
  ---------------------------------------------
  第 0 年              100       82.5      100.3
  第 1 年              128      130.4      128.2
  第 2 年              165      178.2      164.0
  第 3 年              210      226.1      209.7
  第 4 年              268      274.0      268.1
  第 5 年              342      321.8      342.9

  线性:年增               47.9 个单位,R² = 0.9712
  指数:年增               27.9%(乘 1.279),R² = 0.9999

  年份       线性外推   指数外推   两者差
  --------------------------------------
  第 6 年         370        438       69
  第 7 年         418        561      143
  第 8 年         465        717      252
  第 9 年         513        917      404
  第 10 年        561       1172      611

  同一个 R² 差不了多少的拟合,十年后差出 611 个单位。
  所以「行业前景」这类判断,看的不是数字,是**假设**——
  你信「每年多一批人」还是信「每年翻一个比例」,结论完全不同。
  这也是训练师要养成的习惯:拿到一条曲线,先问它按什么假设画的。

两个 R²:0.9712 和 0.9999。差距小到肉眼看不出来,但外推差一倍。 指数拟合的技巧是「对 y 取对数再线性拟合」——因为 ln(y) = ax + b 是线性的。 这一步在第九章讲数据预处理时会再遇到。 第十年那一行:线性 561、指数 1172、差 611。 注意 611 是「两个预测值之差」,不是误差——真实值到那时才知道。 我特意让最后一个实际点(第 5 年 342)与指数拟合值 342.9 几乎重合,这是构造出来的, 为了让「指数看起来更准」这个错觉成立。真实数据不会这么配合。

30 秒实验

  1. 把第六年的值改成 400(增长放缓),重算两种拟合的 R² 与外推结果。
  2. 想一想:为什么「行业前景好」不能直接推成「你现在学就来得及」?
  3. 找一份公开的行业规模数据,用同一段代码跑一次线性和指数。

常见误区

  1. 「R² 高就说明模型对」——本例两个 R² 都高,外推差一倍。
  2. 「指数增长会一直持续」——供给、预算、监管都会把它按下来。
  3. 「行业前景好就该转行」——宏观曲线和个人起步时间是两件事。
自测三问(点开对答案) 1. 线性和指数的 R² 分别是多少?外推差多少? —— 0.9712 与 0.9999;第十年 561 对 1172,差 611。 2. 指数拟合怎么用线性方法做? —— 对 y 取对数,ln(y) 与 x 就是线性关系。 3. 看行业曲线要先问哪三句? —— 样本从哪来、按什么假设拟合、外推多远。

第一章讲完「这个职业是什么」。第二章开始拆能力,从最基础的那一项开始。

相关笔记