[{"data":1,"prerenderedAt":461},["ShallowReactive",2],{"article:column:/column/math-beauty/fitting-line":3},{"id":4,"title":5,"body":6,"description":12,"extension":450,"meta":451,"navigation":456,"path":457,"seo":458,"stem":459,"__hash__":460},"column/column/math-beauty/fitting-line.md","几个数据点，怎样决定一条预测线",{"type":7,"value":8,"toc":437},"minimark",[9,13,16,19,23,26,79,82,85,88,91,95,98,101,104,107,110,117,120,123,126,129,132,138,141,144,147,242,245,248,251,254,257,260,271,274,277,280,286,289,292,298,302,305,308,311,317,320,323,326,329,333,336,341,344,347,353,356,359,362,365,372,375,378,384,387,390,393,406,417,428,431,434],[10,11,12],"p",{},"先修：01 模型、目标与假设；02 命题与条件；基础四则运算与平面坐标",[10,14,15],{},"把三个点画在纸上，再拿尺子比一比，似乎就能看见一条趋势线。可尺子稍微转动，或向上挪一点，也都说得过去。到底哪条线更好？数据会不会自己给出唯一答案？",[10,17,18],{},"从这一章起，我们研究怎样用少量可调的数，组织许多观测。先不急着学习新工具。把一个只有三个点的问题算透，就能看见：数据提供要求，模型规定能怎样回答，而评价标准决定怎样取舍。",[20,21,22],"h2",{"id":22},"从玩具读数开始",[10,24,25],{},"设想一件带滑杆和指针的玩具。我们想根据滑杆的位置x，估计指针的读数y，两者都以厘米计。下面是专为讲解设计的虚构数据，并非真实测量：",[27,28,29,45],"table",{},[30,31,32],"thead",{},[33,34,35,39,42],"tr",{},[36,37,38],"th",{},"滑杆位置x",[36,40,41],{},"指针读数y",[36,43,44],{},"坐标点",[46,47,48,60,70],"tbody",{},[33,49,50,54,57],{},[51,52,53],"td",{},"0",[51,55,56],{},"1",[51,58,59],{},"(0,1)",[33,61,62,64,67],{},[51,63,56],{},[51,65,66],{},"2",[51,68,69],{},"(1,2)",[33,71,72,74,76],{},[51,73,66],{},[51,75,66],{},[51,77,78],{},"(2,2)",[10,80,81],{},"我们暂且尝试直线模型，把预测值写成ŷ＝ax＋b。ŷ读作“y帽”，用来区分模型给出的数与实际记录的y。a和b叫作参数，是可以调整、但一旦选定就要对所有观测共同使用的数。让它们取不同的数，就得到一整族候选直线。本章只在这个直线族里挑选，暂不考虑弯曲的预测函数。",[10,83,84],{},"a是斜率：x增加1厘米，预测读数改变a厘米；b是截距：x＝0时，预测读数为b厘米。比如a＝1、b＝1给出ŷ＝x＋1。它说滑杆每向前1厘米，指针也前进1厘米，并且从读数1开始。",[10,86,87],{},"选择直线已经作了假设：我们愿意先用固定变化率，近似这一小段范围里的关系。玩具的真实结构可能并不这样工作；只有三个点，也不足以确认这种假设。",[10,89,90],{},"这里把滑杆位置放在横轴，指针读数放在纵轴，是因为我们先知道前者，想估计后者。若任务改成看着指针反推滑杆位置，输入和输出就换了角色，怎样比较偏差也要重想。读数不完全准确时，把一条拟合式倒过来，并不自动解决另一个拟合问题。",[20,92,94],{"id":93},"两个点给答案第三个点提意见","两个点给答案，第三个点提意见",[10,96,97],{},"先要求直线精确通过前两个点。",[10,99,100],{},"通过(0,1)，必须有0×a＋b＝1，因此b＝1。再通过(1,2)，就有a＋b＝2，代入b＝1，得到a＝1。两条要求把参数确定成了一条线：ŷ＝x＋1。",[10,102,103],{},"拿第三个点检验：x＝2时，模型给出3，记录却是2。因此这条线无法同时通过三个点。前两点已把a、b定死，也就不存在另一条直线，既满足前两点，又额外穿过第三点。",[10,105,106],{},"这里“两点确定直线”用于两个x不同的点。若x相同而y不同，同一个输入要求两个输出，就没有形如ŷ＝ax＋b的直线能同时满足。",[10,108,109],{},"换一对点会怎样？选第一点和第三点，仍有b＝1，而2a＋1＝2给出a＝1/2。这条线ŷ＝x/2＋1穿过两端，却在x＝1时预测1.5，比中间记录低0.5。",[10,111,112],{},[113,114],"img",{"alt":115,"src":116},"同一组三点对应三条参数要求；前两点确定的直线A错过第三点，两端确定的直线B错过中间点","/collections-assets/math-beauty/ch12/01-points-to-constraints.png",[10,118,119],{},"图1：左侧画的是数据与两条候选直线；右侧把“穿过一个点”翻译成对a、b的一条要求。三条要求不能同时成立。",[10,121,122],{},"这次翻译很重要。原来的问题是“尺子放在哪里”，现在变成了“怎样选同一对a、b，使b、a＋b、2a＋b尽量接近1、2、2”。一条数据给一个要求，要求多了，未必还能全部满足。",[10,124,125],{},"也不能因为第三条要求不合，就随手删掉第三点。它可能是一次需要核查的异常，也可能恰好提醒我们直线假设不够好。删数据需要来自测量过程的理由，不能只为了让计算更漂亮。暂时保留三个点，才有机会认真讨论怎样同时照顾它们。",[20,127,128],{"id":128},"把每次偏差都记下来",[10,130,131],{},"既然精确通过全部观测做不到，就得说明“尽量接近”是什么意思。",[10,133,134,135],{},"对每个点，计算r＝y−ŷ，叫作残差。它记录观测值比预测值多多少：r为正，预测偏低；r为负，预测偏高；r为0，恰好一致。比如直线A在第三点的残差为2−3＝−1。",[136,137,56],"span",{},[10,139,140],{},"图上比较的是同一个x处上下两个位置之间的差，竖线长度是残差的绝对值。这里没有沿垂直于斜线的方向量最短距离，因为我们的任务是给定x，预测y，暂把滑杆位置当作已知输入。若x本身也测得不准，需要重新考虑误差怎样定义。",[10,142,143],{},"把两条候选记作A、B。B的三个残差是0、1/2、0，平均为1/6，说明这三处预测平均偏低1/6厘米。可以先保持斜率1/2，只把整条B向上移1/6厘米，让偏差在上下两侧分担。截距于是从1变成7/6，得到候选C：ŷ＝x/2＋7/6。",[10,145,146],{},"上移之后，每个预测都增加1/6，每个残差就减少1/6，所以新残差为−1/6、1/3、−1/6。这只是提出候选的一个可解释尝试，是否改善仍要选定标准再算。下表按同一顺序保留所有预测与残差，后面几章还会用到。",[27,148,149,177],{},[30,150,151],{},[33,152,153,156,159,162,165,168,171,174],{},[36,154,155],{},"x",[36,157,158],{},"y",[36,160,161],{},"A预测",[36,163,164],{},"A残差",[36,166,167],{},"B预测",[36,169,170],{},"B残差",[36,172,173],{},"C预测",[36,175,176],{},"C残差",[46,178,179,199,221],{},[33,180,181,183,185,187,189,191,193,196],{},[51,182,53],{},[51,184,56],{},[51,186,56],{},[51,188,53],{},[51,190,56],{},[51,192,53],{},[51,194,195],{},"7/6",[51,197,198],{},"−1/6",[33,200,201,203,205,207,209,212,215,218],{},[51,202,56],{},[51,204,66],{},[51,206,66],{},[51,208,53],{},[51,210,211],{},"3/2",[51,213,214],{},"1/2",[51,216,217],{},"5/3",[51,219,220],{},"1/3",[33,222,223,225,227,230,233,235,237,240],{},[51,224,66],{},[51,226,66],{},[51,228,229],{},"3",[51,231,232],{},"−1",[51,234,66],{},[51,236,53],{},[51,238,239],{},"13/6",[51,241,198],{},[10,243,244],{},"A的参数为(1,1)，B为(1/2,1)，C为(1/2,7/6)，括号内依次是a、b。",[10,246,247],{},"注意C没有精确穿过任何一个观测点。这并不妨碍它成为值得考虑的候选：是否穿过更多点，与是否总体更接近，是不同的问题。",[20,249,250],{"id":250},"为什么不把正负残差直接相加",[10,252,253],{},"对C来说，三个残差之和是−1/6＋1/3−1/6＝0。若把0理解成“完全准确”，就与表中每一项都不为0的事实冲突了。",[10,255,256],{},"更明显的反例是水平线ŷ＝5/3。它的三个残差为−2/3、1/3、1/3，加起来也等于0。但第一个点已偏离2/3厘米，远大于C在该处的1/6厘米。正负相加只是在抵消方向，不能可靠地衡量偏差大小。",[10,258,259],{},"一种常见办法是先把每个残差平方，再求和。这个总数叫残差平方和，也常记作SSE。对本章的数据，它是关于参数的一个式子：",[10,261,262,263,266,267,270],{},"SSE(a,b)＝(1−b)²＋",[136,264,265],{},"2−(a＋b)","²＋",[136,268,269],{},"2−(2a＋b)","²。",[10,272,273],{},"式子中的三项各自对应一个观测，所有项都非负。它等于0，当且仅当每个残差都为0；正负偏差再也不能互相抹掉。",[10,275,276],{},"我们还隐含地让每条记录具有相同分量：同样大小的残差，落在哪个位置都贡献同样的分数。如果某些读数更可靠，或者某些位置的准确性更重要，就要另行说明怎样加重它们的分量。本章先不加权，让三条记录平等参与比较。",[10,278,279],{},"逐项核算，A得到0²＋0²＋(−1)²＝1；B得到0²＋(1/2)²＋0²＝1/4；C得到1/36＋1/9＋1/36＝1/6。刚才那条水平线的平方和则为4/9＋1/9＋1/9＝2/3。",[10,281,282],{},[113,283],{"alt":284,"src":285},"A、B、C在相同尺度下的竖直残差；A只错一个点，B也只错一个点，C三个点都有小偏差，但平方和最小","/collections-assets/math-beauty/ch12/02-residual-comparison.png",[10,287,288],{},"图2：实心点是观测，空心点是对应预测。竖线表示残差的大小；图中平方和只比较这三个候选。",[10,290,291],{},"于是，按平方和评判，B优于A，C又优于B。只比较A、B就把B叫作“最佳拟合线”，会漏掉已经摆在眼前的C。要说某条线在全部可能的直线中最好，需要排除所有其他a、b，而不能只赢过几个对手。",[10,293,294,295,297],{},"在全部候选中寻找残差平方和最小的参数，叫作最小二乘拟合。",[136,296,66],{}," 这个例子的答案确实是C，第17章会给出它的几何证明。本章的计算已经证明三者的高下，还没有完成那个全局证明。",[20,299,301],{"id":300},"换一种损失选择也会变","换一种损失，选择也会变",[10,303,304],{},"把偏差汇总成一个待压低的分数，叫作选择损失标准。平方和是一种选择：同样方向或相反方向都计入，偏差从1变成2时，贡献从1变成4，所以较大的偏差受到更重的惩罚。",[10,306,307],{},"但“不能正负抵消”并不强迫我们一定用平方。也可以把残差的绝对值相加，称作绝对误差和；或者只盯住最大的绝对残差，称作最大误差。前者累计每处偏离，后者关注最差的一处。",[10,309,310],{},"仍看B、C。B的绝对误差和为1/2，C为1/6＋1/3＋1/6＝2/3，因此这一标准更喜欢B。若看最大误差，B为1/2，C为1/3，又是C更好。",[10,312,313],{},[113,314],{"alt":315,"src":316},"B与C的三种损失对照：平方和偏好C，绝对误差和偏好B，最大误差偏好C；各列采用不同标准，单位按列标明，不能跨列混比分数","/collections-assets/math-beauty/ch12/03-loss-changes-choice.png",[10,318,319],{},"图3：每列只在同一损失内比较上下两条线，数值越小越好。这不是在寻找各标准下的全局最优解。",[10,321,322],{},"平方误差并非普遍正确。如果一次很大的偏差尤其昂贵，平方惩罚可能有用；如果只关心最坏偏差是否越过容许范围，最大误差更直接。还要留意，少数异常读数可能对平方和产生很大影响，选择标准之前应先理解读数为何异常。",[10,324,325],{},"y以厘米计，残差也以厘米计，平方和的单位便是平方厘米，不能把SSE＝1/6读成“总共错了1/6厘米”。若把y统一改用毫米，残差数值乘10，平方和乘100，同一标准下候选的排序不变。",[10,327,328],{},"比较时还必须使用同一组观测。多记几次读数，平方和通常也会跟着改变，不能把不同样本数量下的总和直接当作公平的精度比较。眼前的三个候选都面对这三条记录，才可以逐项相对照。",[20,330,332],{"id":331},"拟合以后回到玩具上","拟合以后，回到玩具上",[10,334,335],{},"用C估计滑杆在1.5厘米时的读数，代入得到3/4＋7/6＝23/12厘米，约为1.92厘米。这处输入在已有的0至2厘米范围内，但仍是未被这三条记录直接验证的预测。",[10,337,338,339],{},"若问x＝10时呢？公式照样算出37/6厘米，约6.17厘米。把模型用于观测范围之外，叫作外推。算式不会提醒我们：滑杆可能已经抵达限位，指针可能卡住，变化率也可能早就改变。范围内的近似关系，不能自动延伸到范围外。",[136,340,66],{},[10,342,343],{},"残差也不等于测量仪器的误差。它可能混合了读数取整、装置每次运行的波动，以及直线模型遗漏的弯曲关系。仅凭这三个数，无法把这些原因分开，更不能据此宣布装置真的按C运行。",[10,345,346],{},"每个位置只记一次，还看不出同一位置的读数是否稳定。多次重复测量，以及在中间补测一些位置，都可能改变我们对这条趋势的判断。有限的观测能约束模型，却没有替模型覆盖所有未测过的情形。",[10,348,349,350,352],{},"拟合评价的是已经用来选参数的观测，预测关心尚未见到的结果。在旧数据上分数很小，不自动保证新数据上也小；因为参数原本就是照着旧数据挑的。要判断能否推广，应该取得没有参与选线的新读数，再检查偏差。",[136,351,229],{}," 三个点可以教我们怎样算，却远不足以给这件玩具作可靠的精度保证。",[10,354,355],{},"回看整个过程，我们从玩具上取出三个坐标点，把“穿过点”改写为参数要求；要求不相容时，用事先讲明的损失衡量妥协；得到预测后，再回到使用范围和实际测量中检验。",[10,357,358],{},"还有一个结构值得带走：调b时，三个预测一起增加同样的量；调a时，它们分别增加0倍、1倍、2倍的量。我们只有两个调节旋钮，不能任意独立修改三个预测。还能从四则运算看出一个限制：对于等间隔的0、1、2，中间预测a＋b永远等于两端预测b与2a＋b的平均数。而本章观测的中间值是2，两端平均却是1.5。这把刚才的“不相容”又解释了一遍：数据没有满足这组直线预测必有的关系。",[10,360,361],{},"下一章会把这些成组的数当作整体，看看“能调出的所有结果”究竟有什么形状。",[20,363,364],{"id":364},"顺手试一下",[10,366,367,371],{},[368,369,370],"strong",{},"题目1："," 加入候选D，ŷ＝x/2＋5/4。写出它在三点的预测、残差与SSE，并与C比较平方和、最大误差。能否仅凭这次比较，断言D在最大误差标准下全局最优？",[10,373,374],{},"**提示：**先统一用分数计算，再取残差绝对值。",[10,376,377],{},"**参考答案：**预测依次为5/4、7/4、9/4；残差为−1/4、1/4、−1/4。SSE＝3/16，大于C的1/6，所以平方和更喜欢C；D的最大误差为1/4，小于C的1/3。仅比较两条线不足以证明全局最优，还要对全部候选给出理由。",[10,379,380,383],{},[368,381,382],{},"题目2："," 若第三条记录改为(2,3)，能否找到精确通过三点的直线？这样是否就可以保证x＝10时预测准确？",[10,385,386],{},"**提示：**先解前两个点给出的参数，再分别检验“第三点”和“未见过的位置”。",[10,388,389],{},"**参考答案：**前两点仍给出a＝1、b＝1；第三点现在也满足ŷ＝x＋1，三个残差全为0。x＝10时公式给11，但零拟合残差只描述这三条记录，不能证明远处仍保持相同关系。",[20,391,392],{"id":392},"参考与延伸",[10,394,395,397,398,405],{},[136,396,56],{}," 加州大学伯克利分校教材，Adhikari、DeNero、Wagner，《Computational and Inferential Thinking》，",[399,400,404],"a",{"href":401,"rel":402},"https://inferentialthinking.com/chapters/15/5/visual-diagnostics/",[403],"nofollow","15.5 Visual Diagnostics","。核对残差的定义与沿y方向比较观测、预测的含义。",[10,407,408,410,411,416],{},[136,409,66],{}," 莱斯大学OpenStax，Illowsky、Dean，《Introductory Statistics 2e》，",[399,412,415],{"href":413,"rel":414},"https://openstax.org/books/introductory-statistics-2e/pages/12-3-the-regression-equation",[403],"12.3 The Regression Equation","。核对最小二乘准则与观测范围之外预测的限制；该书参数字母顺序与本文不同。",[10,418,419,421,422,427],{},[136,420,229],{}," 卡内基梅隆大学课程36-350，",[399,423,426],{"href":424,"rel":425},"https://www.stat.cmu.edu/~ryantibs/statcomp-F16/lectures/train_test.html",[403],"Training and Testing Errors","。核对用于拟合的数据上的误差与新数据预测误差的区别。",[10,429,430],{},"本文使用虚构教学读数，算例展开与图解由本系列独立编排；以上资料用于核对概念。这组三点数据的平移同形算例也见于MIT最小二乘讲义，第17章一并注明。",[432,433],"hr",{},[10,435,436],{},"作者：Jiancheng Wang · 数学之美（独立原创）",{"title":438,"searchDepth":439,"depth":439,"links":440},"",3,[441,443,444,445,446,447,448,449],{"id":22,"depth":442,"text":22},2,{"id":93,"depth":442,"text":94},{"id":128,"depth":442,"text":128},{"id":250,"depth":442,"text":250},{"id":300,"depth":442,"text":301},{"id":331,"depth":442,"text":332},{"id":364,"depth":442,"text":364},{"id":392,"depth":442,"text":392},"md",{"collection":452,"order":453,"slug":454,"author":455},"数学之美",12,"fitting-line","Jiancheng Wang",true,"/column/math-beauty/fitting-line",{"title":5,"description":12},"column/math-beauty/fitting-line","-HmYSbZuVc88pXJPMplCIlIBlOzJvl4n9rcNihvf610",1791935829110]