一堆數字有多散,怎麼變成一個數字
玩完這關,你會親手把「七個人的薪水」壓成兩個數字,而且知道其中一個為什麼要開根號 —— 順便發現變異數根本就是上一關的內積。
① 這關在解什麼問題
兩家公司都在徵人,兩邊的職缺都寫「平均月薪 5 萬」。 甲公司 15 個人,每個人都領 5 萬。乙公司 15 個人,老闆領 40 萬,其他 14 個人領 2.5 萬。 平均數一模一樣,都是 5 萬。
| 公司 | 15 個人的月薪(萬元) | 平均 | 標準差 |
|---|---|---|---|
| 甲 | 5, 5, 5, 5, 5, …(全部 5) | — | — |
| 乙 | 40, 2.5, 2.5, 2.5, …(老闆一個人 40) | — | — |
你會想去的公司不一樣,可是「平均」這個數字完全看不出差別。 因為平均只回答了一件事:中心在哪。它一個字都沒說大家離中心多遠。 這一整關就是在補這個洞:把「離中心多遠」也壓成一個數字。
01 關的內積很好用,但它有個前提:你手上得先有兩條向量。 真實資料進來的樣子從來不是向量,是一欄數字 —— 一欄薪水、一欄身高、一欄點擊率。 所以在能用內積之前,得先回答「一欄數字怎麼變成可以算的量」。 這關的答案會出乎你意料:一欄數字本身就是一條向量,而變異數就是它跟自己的內積。
② 從你國中就會的兩個東西開始
錨點零:先認幾個符號(這一整頁從頭到尾只會用到這幾個)
符號不是拿來嚇人的,每一個都只是某句中文的縮寫。這張表看過一遍,後面就不會卡在「那個字母是什麼」。
| 符號 | 怎麼唸 | 它到底是什麼 |
|---|---|---|
| xi | x sub i | 第 i 個人的數值。下標 i 純粹是編號:x1 是第一個人、x7 是第七個人。本頁 xi 一律代表「第 i 個人的月薪,單位萬元」。 |
| n | n | 資料筆數,也就是有幾個人。本頁的主實驗 n = 7。 |
| x̄ | x bar(x 頭上一橫) | 這一組資料的平均。那一橫(bar)不是新變數,它是在說「把下面那組 x 全部平均起來的那個數」。看到帽子就讀「⋯⋯的平均」。 |
| Σ | sigma(希臘字母的大寫 S) |
「把後面那個東西一個一個加起來」的縮寫,等同程式裡的 for 迴圈累加。
它下面跟上面那兩個小字,是在講「從第幾個加到第幾個」:
Σi=1n xi 讀成「讓 i 從 1 開始跑到 n,把每個 xi 加起來」。
本頁為了排版常常把上下標省掉,看到光禿禿的 Σ 就一律當成「七個人全部加起來」。
|
| xi − x̄ | — | 第 i 個人的偏差:他離平均多遠。正的代表他在平均之上,負的代表在平均之下。本頁圖上所有紅色的東西都是它。 |
後面還會冒出 s²、s、σ、n − 1、c、MAD —— 那幾個各自在第一次出現的地方就地解釋,這裡先不塞。
錨點一:平均數 = 翹翹板的支點
國中自然課的力矩:一根板子上掛幾個一樣重的砝碼,支點要放在哪才會平衡? 答案是放在重心,而重心的位置就是所有砝碼位置的平均。 平衡的意思是「左邊的力矩 = 右邊的力矩」,換成數字就是: 所有「往左偏的量」加起來,剛好等於所有「往右偏的量」。
你會看到什麼:一根板子架在一條數線上(刻度是萬元),板子上掛著七個青色砝碼,一個砝碼就是一個人的月薪。板子底下那個橘色三角形是支點,它永遠停在七個人的平均 x̄ 那一格。
你可以動什麼:用滑鼠拖任何一個青色砝碼左右移動(等於改那個人的薪水)。你一放手,支點就自己跑到新的平均位置。
要看出什麼:不管你怎麼拖,讀數盤裡的「左力矩」跟「右力矩」永遠是同一個數字 —— 換句話說,把七個偏差直接加起來,答案恆等於 0。這就是「偏差不能直接相加」的證據。
拖動任何一個砝碼:支點(橘色三角形)會跟著跑到新的平均位置,而且不管你怎麼拖,左右力矩永遠相等。
—
錨點二:正方形的面積
左右力矩會相等,代表「把偏差直接加起來」永遠是 0 —— 這個量廢掉了,沒辦法拿來衡量散開。 那就換一招,用國中另一個你熟到不行的東西:正方形。
每個人離平均多遠,就畫一個邊長 = 那段距離的正方形。離得遠的人,正方形又大又醒目; 離得近的人,正方形小到幾乎看不見。然後問一句:
如果要用一個正方形代表全體,它的邊長該是多少? 第一個答案叫「變異數」(面積)。第二個答案叫「標準差」(邊長)。整關就這兩句話。
這就是為什麼一件事要有兩個名字:變異數住在「面積」的世界,標準差住在「長度」的世界。 面積好算(可以加、可以拆),長度好懂(跟資料同單位)。下面你會親手看到這兩個世界同時被畫出來。
③ 主實驗:七個人的薪水,兩張圖同時看
你會看到什麼:上圖是一條薪水數線,一列一個人:青點是他領多少、 紅線段是他離平均多遠(偏差)、橘色直線是平均 x̄、 最底下綠色那把尺是 x̄ ± σ 的範圍。 下圖把上圖每一段紅線段「立起來」變成一個紅色正方形(邊長 = 那段紅線的長度), 而綠色正方形是「這七個紅正方形的平均面積」長成的那一個。兩張圖畫的是同一組人,只是一個量長度、一個量面積。
你可以動什麼:直接拖上圖任何一顆青點左右移動,或按右邊三顆按鈕(把老闆拉到 12 萬/全部拉成一樣/重設)。 兩張圖、右邊每一個讀數、下面那張表會同時重算。
要看出什麼:正方形的面積是平方長出來的,偏差變 3 倍面積就變 9 倍。 所以只要有一個人被拖遠,他一個人的紅正方形就會大到蓋過其他六個 —— 看表格最右欄的「佔比」,它會直接告訴你變異數有幾成是他一個人貢獻的。
| n − 1 | 七個人減 1 = 6,變異數的分母。為什麼不是除以 7,⑧ 那節會慢慢講(關鍵字:自由度)。現在只要知道它是個固定的分母就好。 |
| s² | 唸「s squared」,就是變異數。它是下圖那個綠正方形的面積。單位是「萬元的平方」,所以這個數字你不會有直覺,那很正常,不是你的問題。 |
| s | 標準差,就是 s² 開根號。它是綠正方形的邊長。單位是萬元,跟薪水同一種,所以可以直接畫回上圖那條數線上比。 |
| σ | 希臘字母 sigma 的小寫(大寫 Σ 是加總,小寫 σ 是標準差,兩個沒關係)。本站圖上一律寫 σ,它就是上面那個 s —— 樣本標準差、分母 n − 1,不是另一個新東西。純粹因為圖上寫 σ 比寫 s 好認。⑧ 有補充說明。 |
—
| 人 | 薪水 | 偏差 | 偏差² | 佔比 |
|---|
—
上圖每一列是一個人:青色點是他的薪水,紅色線段是他離平均多遠(偏差), 橘色直線是平均,底下那把綠色的尺是 x̄ ± σ。 下圖把每一段紅線段變成一個紅色正方形(邊長 = 偏差),綠色正方形的面積就是它們的平均面積。
把「老闆」一路拖到 12 萬,盯著下圖看。他的正方形會膨脹到快要塞不進畫布,而其他六個人的正方形幾乎沒動。 表格最右欄的「佔比」會告訴你:整個變異數幾乎是他一個人貢獻的。這個現象後面踩坑那節會再算一次給你看。
④ 去中心化:把整組資料搬走,散開程度紋風不動
現在做一件看起來很無聊的事:把七個人的薪水全部加上同一個數字(全公司一起調薪,或者只是換一個記帳的原點)。 直覺上「大家離彼此多遠」不該有任何改變 —— 這個直覺是對的,而且它是後面 PCA 第一步的全部理由。
你會看到什麼:同一條薪水數線畫成上下兩排。上排(淡的)是原始的七個人, 下排(亮的)是「每個人都加上同一個數字」之後的七個人。兩排各自配一條橘色平均線和一把綠色的 ±σ 尺, 中間的青色虛線把同一個人的原位置與新位置牽起來。
你可以動什麼:拉右邊那支「整組平移量」滑桿(−12 ~ +12 萬,等於全公司一起加薪或一起減薪), 或按「一鍵去中心化」把平均直接搬到 0。
要看出什麼:下排整排會跟著滑桿左右跑、橘色平均線也跟著跑, 但上下兩把綠尺永遠一樣長,右邊「變異數的變化量」永遠印 0.00。 平移換掉的只有「你從哪裡開始數」,沒有換掉「大家離彼此多遠」。
上排(淡)是原始資料,下排(亮)是平移後的資料。兩排的點與點之間的間距完全一樣,只是整組被推走了。
—
變異數的公式裡,每一項都是 (xi − x̄)。你把所有 xi 加上同一個常數 k(k 就是滑桿上那個平移量),平均 x̄ 也會跟著加上 k, 兩個 k 在括號裡直接抵銷。 所以平移改變的只有「你從哪裡開始數」,沒有改變「大家離彼此多遠」。
去中心化(centering)就是刻意選 k = −x̄,把重心搬到原點。 這麼做不是為了好看,是為了讓「離中心多遠」直接變成「離原點多遠」—— 也就是變成一條從原點出發的向量,這樣才能用上內積、長度、角度那一整套工具。 05 關的 PCA 第一步一定先做這件事,原因就在這裡: 沒搬到原點的話,PCA 找到的「主軸」會被「資料離原點多遠」污染,變成在量位置而不是在量形狀。
⑤ 為什麼要平方?三種「散開的定義」現場對決
「離中心多遠」可以有很多種定義方式。下面三個都是合法的候選,用同一組資料算給你看,你自己選。
你會看到什麼:畫面隨你選的定義換一張。(a)(b) 模式是上下兩層: 上層七根紅棒是七個人的偏差,橘色那條直線就是 0(也就是平均所在的位置),棒子往右代表高於平均、往左代表低於平均; 下層那道綠色階梯是把這七根偏差首尾相接走一遍,看終點停在哪一格。 (c) 模式換成紅正方形那張圖(跟 ③ 的下圖是同一種畫法)。
你可以動什麼:按右邊三顆按鈕切換 (a) 偏差直接相加/(b) 絕對值平均/(c) 平方平均。 資料還是③ 那七個人,你在上面拖過什麼,這裡會跟著變。
要看出什麼:切到 (a):綠階梯不管怎麼繞,走完一定回到橘線上,終點是 0.00 —— 這個定義量不到任何東西。 切到 (b) 或 (c):終點才真的離開 0,才是能拿來當「散開程度」的數字。
表格裡的 MAD 是 mean absolute deviation,中文叫「平均絕對偏差」: 把每個人的偏差先取絕對值(丟掉正負號)再平均。它是跟變異數互相競爭的另一個候選答案,不是變異數的一部分。
—
| 定義 | 算出來 | 能用嗎 |
|---|---|---|
| (a) Σ(x − x̄) | — | 恆為 0,廢的 |
| (b) Σ|x − x̄| ÷ n(MAD) | — | 可以,但接不上幾何 |
| (c) Σ(x − x̄)² ÷ (n−1) | — | 可以,而且接得上一切 |
(b) 除 n、(c) 除 n−1 不是筆誤:MAD 慣例除 n; 自由度修正是為了讓變異數成為母體變異數的無偏估計,MAD 沒有對應的無偏需求。
—
(a) 為什麼一定是 0 —— 這不是巧合
切到 (a) 看圖下面那條鏈子:把七個偏差首尾相接,最後一定準確回到原點。 因為平均就是支點,支點的定義就是「左力矩 = 右力矩」。 也就是說 (a) 這個量不是「有時候是 0」,而是對任何資料都恆等於 0。 它量不到任何東西 —— 這就是「必須先做點什麼再相加」的理由,而平方是最便宜的那個做法。
(b) 絕對值也是合法的尺,別被騙說它不行
MAD(mean absolute deviation)真的可以用,也真的有人在用(穩健統計、L1 loss、MAE)。 它甚至有一個平方比不上的優點:對離群值沒那麼敏感。誠實講:如果你只想要一個「大家平均離中心多遠」的直覺數字,MAD 更誠實。
(c) 平方贏在哪裡
- 不會正負抵消:跟絕對值一樣做到這件事。
- 可微:x² 處處平滑,|x| 在 0 點有個尖角。所有靠梯度下降吃飯的東西都愛平方,因為它的導數是 2x,乾淨。
- 可加、可拆解:兩組獨立來源的變異,變異數可以直接相加。絕對值不行。
- 接得上畢氏定理:這是最關鍵的一條。Σ(xi − x̄)² 這個形狀,正是 01 關裡的 |u|² = u · u。 一旦寫成平方和,你手上的東西就從「一堆數字」升級成「一條向量的長度平方」, 整套幾何(長度、角度、投影、正交)全部可以搬過來用。下一節就把這件事釘死。
⑥ 標準差 vs 變異數:換個單位就看出誰是誰
同樣七個人,這次量身高。按下面的按鈕換單位(公分 ↔ 公尺),資料一個字沒改,只是換了記錄方式。
你會看到什麼:這次沒有圖,就一張表:七個人的身高原始數值、平均 x̄、變異數 s²、標準差 s, 每一列右邊都標了它的單位。表格下面兩行讀數是「換單位之後,這個量被乘了幾倍」。
你可以動什麼:按「用公分記」/「用公尺記」兩顆按鈕。七個人的身高一公釐都沒改,改的只有記錄它的單位。
要看出什麼:換成公尺(也就是全部 ÷ 100)之後,標準差乖乖跟著 ÷ 100,變異數卻是 ÷ 10000。 因為變異數的單位是平方的,換單位時倍率也跟著平方。這一個現象就足以證明「s² 是面積、s 是長度」不是比喻,是真的。
| 量 | 數值 | 單位 |
|---|---|---|
| 原始資料 | — | |
| 平均 x̄ | — | — |
| 變異數 s² | — | — |
| 標準差 s | — | — |
—
身高的單位是公分,變異數的單位是平方公分。 「一個人的身高變異是 82 平方公分」這句話沒有任何物理意義 —— 平方公分是面積,身高不是面積。 這就是為什麼要開根號:開根號是為了把單位開回來,讓數字重新變成「公分」,可以跟身高本人放在同一條數線上比。
| 場合 | 用哪一個 | 為什麼 |
|---|---|---|
| 報告 / 圖表 / 跟人講話 | 標準差 s | 跟資料同單位,可以直接說「大約落在 170 ± 9 公分」,可以畫在同一條軸上 |
| 算式內部 / 推導 / 拆解 | 變異數 s² | 可加(獨立來源直接相加)、可拆(總變異 = 各方向變異之和)、而且它就是內積,接得上矩陣 |
這也是為什麼後面 共變異數矩陣裝的是變異數而不是標準差 —— 矩陣要能做加法跟拆解,只有變異數撐得住。標準差是給人看的最後一步。
⑦ 接回內積:變異數就是「自己跟自己的內積」
這節是整關的重點,也是整份教材的樞紐。把 n 筆資料想成一條 n 維向量: 七個人的薪水不是七個數字,而是七維空間裡的一個點。 七維沒辦法畫,所以先用 n = 2(兩個人)把整件事畫清楚,再回頭套到七維。
你會看到什麼:一個座標平面,上面一顆青色點。 關鍵:這兩個座標軸不是「x 和 y」,是「第一個人的薪水 a」和「第二個人的薪水 b」。 整張圖只有一筆資料(一家公司兩個人的薪水),不是兩筆 —— 這一筆資料剛好由兩個數字組成, 所以它可以畫成平面上的一個點。從原點指到這個點的青色箭頭,就是「這組資料」本人。 另外還有兩條 45° 虛線:橘色那條是 a = b(兩人領一樣多的方向),紅色那條是 x + y = 0。
你可以動什麼:用滑鼠拖那顆青色點(等於同時改兩個人的薪水)。 橘色箭頭(平均的那一塊)跟紅色箭頭 c(散開的那一塊)會即時重算,右邊讀數盤跟著變。
要看出什麼:青色箭頭永遠可以拆成橘+紅兩塊,而且這兩塊互相垂直(圖上畫了直角記號)。 沿著橘色 45° 虛線滑動那顆點 → 紅箭頭完全不變(兩人一起調薪,散開度沒變); 垂直於它移動 → 只有紅箭頭在變。所以:散開程度就是那條紅箭頭的長度。這句話就是整關的結論。
因為你早就在這樣做了 —— 地圖上一個點就是 (經度, 緯度),那兩個軸也不叫 x/y, 它們是「這筆資料的第一個欄位」跟「第二個欄位」。這裡一模一樣: 「阿明領 6.2 萬、小美領 2.4 萬」寫成 (6.2, 2.4),它就是平面上一個點。 軸的名字是 a(第一個人領多少)跟 b(第二個人領多少), 不是「橫軸 x、縱軸 y」那種幾何座標。
七個人的時候寫法一模一樣,只是變成 (3.4, 4.2, 4.6, 5.0, 5.2, 5.8, 6.8) —— 七個座標軸,畫不出來,但寫得出來、算得出來。所以這裡先用兩個人(畫得出來)把道理看懂, 下面「回到七維」那塊再原封不動搬到七個人身上,數字會對得上。
圖上與讀數盤上的其他符號:c 取自 centered,指去中心化向量 —— 每個人的薪水減掉平均之後剩下的那一串偏差。這裡 n = 2,所以它只有兩格:(a − x̄, b − x̄)。 那條紅色虛線 x + y = 0 是「兩格加起來剛好是 0」的所有點連成的線; c 永遠住在那條線上,因為偏差總和恆為 0(支點那節已經證過)。 |c| 兩邊那兩根直槓讀作「c 的長度」。
拖動青色點(那就是「兩個人的薪水」這筆資料)。看橘色的平均與紅色的 c兩個分量怎麼分家。
顏色對照:這張圖跟01 關的投影是同一個幾何分解,只是兩塊換了名字 —— 投影出來的那塊在這裡叫平均,所以沿用本關「橘色 = 平均」(支點、平均線都是這個顏色);垂直的那塊 c 就是偏差,一律紅色,跟 ③ 的紅線段、紅正方形、01 的紅色殘差是同一個角色。
—
看懂這張圖,這關就結束了。任何一筆兩人資料 (a, b),都可以唯一拆成兩塊:
- 沿著 45° 對角線 (1, 1) 的那一塊 —— 這是平均。它只管「整體水平多高」。 這正是 01 關的投影:把資料投影到「大家都一樣」的方向上。
- 垂直於對角線的那一塊 —— 這是散開。它只管「兩人差多少」。 去中心化之後 c1 + c2 = 0 必然成立,所以 c 一定住在反對角線 x + y = 0 上。
兩塊互相正交(圖上有直角記號),這不是巧合:平均是「所有人都一樣」的成分,散開是「彼此差異」的成分, 本來就是兩件不重疊的事。而散開這條紅向量的長度,就是這組資料的散開程度。
回到七維:同一件事,數字對得上
下面這塊讀數盤吃的是主實驗那七筆薪水(你在上面拖動,這裡會跟著變):
變異數 = 中心化向量跟自己的內積 ÷ (n−1) = 長度² 的平均。 標準差 = 那條向量的長度 ÷ √(n−1)。
所以「一欄數字有多散」跟「一條向量有多長」是同一個問題。 開頭那個洞補起來了:資料不需要「變成」向量,它本來就是。 你只要先把重心搬到原點(去中心化),內積那套工具就整組可以用。
不過這裡還剩一個洞。兩筆資料畫得出來(就是上面那張平面圖),九筆畫不出來 —— 那 n 維空間到底長什麼樣子?一堆向量「張」出來的空間是什麼意思、 維度到底在數什麼、哪些方向其實是多餘的? 06 關的 span 那節會把這套空間語言補完。
⑧ 數學長怎樣
先看程式,這比符號好懂:
const mean = a => a.reduce((s, v) => s + v, 0) / a.length;
function variance(a) { // 樣本變異數:分母是 n-1
const m = mean(a);
const dev = a.map(v => v - m); // 去中心化:每個人離中心多遠
const ss = dev.reduce((s, d) => s + d * d, 0); // 平方和 == dev · dev(內積!)
return ss / (a.length - 1);
}
const std = a => Math.sqrt(variance(a)); // 開根號,把單位開回來
換成符號,一模一樣的東西:
σ 跟 s 是同一個東西:本站圖表與讀數為了排版一律寫成 σ(例如主實驗那把 x̄ ± σ 的尺), 那個 σ 就是這裡定義的 s —— 樣本標準差,分母是 n − 1。 看到 σ 一律讀成「除以 n−1 那個」,不是另一個新東西。(統計課本裡 σ 專指母體標準差,本站沒有用到母體版。)
那個 n − 1 是什麼?叫做自由度。七個偏差看起來有七個數字,但它們被綁住了一條約束: 加起來一定是 0(支點那節證過)。也就是說你知道前六個偏差,第七個就被算出來了, 它不帶新資訊。真正獨立的偏差只有 n − 1 = 6 個,所以平均的時候除以 6 而不是 7。 (中心是從資料自己身上估出來的,估這件事已經花掉一個自由度。)
本站全部統一用樣本版(ddof = 1,除以 n−1),LAB.M.variance() 的預設值就是這個。
⑨ 工程師的「原來如此」
金融圈講的「波動率」(volatility)沒有任何神秘之處:它就是日報酬率這一欄數字的標準差。 真正有趣的是年化的做法 —— 日波動率乘上 √252(一年約 252 個交易日)。
為什麼是乘根號而不是乘 252?因為可加的是變異數,不是標準差。 假設每天的報酬互相獨立,252 天的總變異數 = 252 × 單日變異數(變異數可加), 要換回「同單位」的波動率就得開根號,於是 σ年 = √252 · σ日 ≈ 15.9 σ日。 整個年化公式存在的理由,就是「面積可加、長度不可加」這一件事。 順帶一提:這也是為什麼「獨立」這個假設一崩(市場一起崩盤時報酬高度相關),年化波動率就會嚴重低估風險 —— 相關性怎麼進到公式裡,是下一關的主題。
丟資料進模型前那行 StandardScaler(),做的事就是這關的全部:
zi = (xi − x̄) / s —— 先去中心化(減平均),再除以標準差。
做完每一欄的平均是 0、標準差是 1。
不做會怎樣?兩個具體災難:
- 梯度下降走 zigzag:假設一欄是「年齡」(範圍 20–70),一欄是「年收入」(範圍 300000–3000000)。 損失函數在收入方向上超級陡、在年齡方向上超級平,等高線變成一條細長的峽谷。 梯度下降只能在峽谷裡來回撞牆,學習率設大就爆炸、設小就跑一整天。
- 距離被大單位那一欄綁架:kNN、k-means、SVM、任何吃 |u − v| 的東西, 在上面那個例子裡「年齡差 40 歲」的貢獻是 1600,「收入差 40 萬」的貢獻是 1.6 × 1011。 年齡這一欄實質上被無視了 —— 不是因為它不重要,只是因為它的單位比較小。
這也是 05 關那個經典陷阱的源頭:PCA 直接吃原始資料時, 主軸會忠實地指向「單位最大的那一欄」,而不是「訊息最多的那一欄」。
⑩ 踩坑
因為每個偏差都被平方,偏差變 3 倍,貢獻變 9 倍。 回主實驗按下「把老闆拉到 12 萬」:其他六個人一動也沒動,變異數卻翻好幾倍, 表格會顯示老闆一個人吃掉大部分的平方和。
實務上怎麼辦:先畫圖看有沒有離群值(不要只看平均和標準差就下結論); 真的有而且你不想被它主導,改用中位數 + IQR,或用 MAD 這類穩健統計量。 平方讓數學漂亮,但它也放大了污染。這是 trade-off,不是 bug。
÷n(母體變異數):你手上這組數字就是全部,沒有「外面還有」的概念。 例如「這 30 個學生的成績」而你只在乎這 30 個人;或者影像處理裡「這張圖所有像素」。
÷(n−1)(樣本變異數):你手上這組是從更大的母體抽出來的樣本,你想用它推估母體的變異數。 直接除以 n 會系統性低估(因為偏差是相對於「樣本自己的平均」算的,這個平均天生就比真正的母體平均更貼近樣本), 除以 n−1 剛好補回來。
會咬人的地方:不同工具的預設值不一樣。NumPy 的 np.var() 預設 ddof=0(除以 n),
pandas 的 .var() 預設 ddof=1(除以 n−1),Excel 有 VAR.P 和 VAR.S 兩個函數。
同一份資料在兩個工具算出不同數字,八成就是這裡。n 大的時候差異可以忽略,n = 5 的時候差 25%。
本站全部用 ddof=1。
兩個獨立來源,各自的標準差是 3 和 4,合起來的標準差不是 7。 要先回到變異數:9 + 16 = 25,再開根號 → 5。
看起來眼熟嗎?3、4、5 直角三角形。這不是巧合 —— 獨立 ⇒ 正交(獨立的兩個來源共變異數必為 0,變異數於是能像畢氏定理一樣直接相加), 標準差就是斜邊。所以「標準差不能相加」跟「兩條垂直向量的長度不能相加」是同一句話。 任何時候你想把幾個散開程度合起來,一律先平方、加完、再開根號。
箭頭只有一個方向:獨立 ⇒ cov = 0,但 cov = 0 ⇏ 獨立(cov = 0 只保證「沒有直線關係」, 反例是 03 關坑一那條拋物線)。這裡用得到的只有「cov = 0 → 變異數可加」這個方向, 所以拿正交當條件是安全的;但別把它反過來讀成「變異數能相加就代表兩件事無關」。
⑪ 這關回答了什麼
什麼是變異數?什麼是標準差?兩個為什麼要有兩個?
變異數 = 每個人「離平均多遠」畫成的正方形的平均面積(分母用 n−1)。 標準差 = 那個平均面積正方形的邊長,也就是變異數開根號。
兩個都要,是因為它們住在不同的世界,各有各的長處。 變異數住「面積」的世界:可加、可拆、可微,而且它就是內積,接得上矩陣 —— 算式裡面一律用它。 標準差住「長度」的世界:跟資料同單位,可以直接畫在同一條數線上、可以說「大約 170 ± 9 公分」—— 給人看的時候用它。
為什麼要平方?直接加起來不行嗎?用絕對值不行嗎?
直接加真的不行,而且不是「效果不好」,是恆等於 0。因為平均就是翹翹板的支點, 左邊偏差的總量必然等於右邊偏差的總量,加起來一定抵銷。切到 (a) 模式看那條鏈子,它永遠回到原點。
絕對值可以,那叫 MAD,是合法的統計量,而且比變異數更抗離群值。 平方勝出的原因不是「更正確」,是接得上東西:平方可微(導數 2x,梯度下降愛它)、 平方可加可拆(獨立來源的變異數直接相加)、平方就是畢氏定理(Σd² = |c|²,一整套幾何跟著搬進來)。 MAD 什麼都算得出來,但它接不上矩陣和特徵向量,走不到 PCA。
有了標準差,為什麼還要變異數?它們的幾何差異是什麼?
幾何差異一句話:變異數是面積,標準差是邊長 —— 同一個正方形的兩種讀法。 少了面積那一版就沒辦法「合起來」:兩個獨立來源的標準差 3 和 4,合起來是 5 不是 7, 必須先平方回面積、相加、再開根號(坑 3)。
所以分工是固定的:算式內部一律用變異數(可加、可拆、就是內積,能排成矩陣), 最後給人看那一步才開根號成標準差(跟資料同單位)。⑥ 那節換一次單位就把兩者逼開: 公分改成公尺,變異數變成 1/10000 倍,標準差只變 1/100 倍。
去中心化(平移)到底代表什麼意思?為什麼做了不影響結果?
去中心化 = 把整組資料的重心搬到原點,也就是換一個數數的起點。 全公司一起調薪 3 萬,平均跟著 +3,但「大家彼此差多少」一個字都沒變 —— 拉那支滑桿看讀數:平均跟著跑,變異數的變化量是 0.00。
公式上的理由很直白:變異數只用到 (xi − x̄),你加的那個常數在括號裡自己抵銷了。
那為什麼還要做?因為搬到原點之後,「離中心多遠」就變成「離原點多遠」, 資料正式變成一條從原點出發的向量,長度、角度、投影、內積全部可以用。 PCA 第一步一定先去中心化,否則它找到的主軸會在量「資料離原點多遠」而不是「資料長什麼形狀」。
變異數跟內積有什麼關係?
不是「有關係」,是同一件事。把 n 筆資料看成一條 n 維向量,去中心化得到 c,那麼:
變異數就是「c 跟自己做內積,再除以自由度」。標準差就是 c 的長度除以 √(n−1)。 那節的讀數盤把兩邊的數字並排印出來,你可以自己核對它們一位小數都不差。
這條等式是後面所有東西的地基:共變異數是「兩條不同的中心化向量做內積」, 共變異數矩陣是把所有這種內積排成表, 而它的特徵向量就是資料的主軸。全部從這一條長出來。
什麼情況下我會需要用到它?
只要你手上有一欄數字,而且平均數騙了你的時候。幾個真的會遇到的場合:
- 看監控 / 效能數據:API 平均延遲 80ms 聽起來很好,標準差 400ms 就代表有一堆請求慢到爆。 這也是為什麼大家看 p99 而不只看平均。
- A/B test:兩組轉換率差 0.3%,這個差異有沒有意義完全取決於各組的變異數 —— 所有統計檢定的分母裡都是它。
- 丟資料進模型前:z-score 標準化(見上一節),不做就等著梯度下降走 zigzag。
- 量化 / 風控:波動率就是報酬率的標準差,部位大小、停損、風險預算全部從它算出來。
- 任何降維 / 壓縮:PCA 的字面定義就是「找變異數最大的方向」。沒有這關就沒有 05 關。
現在你能量「一個欄位有多散」了。但真實資料從來不只一欄 —— 體檢表上同時有身高和體重,交易資料裡同時有台積電和聯發科的報酬率。
新問題來了:這兩欄會不會一起動?高的人是不是通常也比較重? 「一起動的程度」顯然不是任何單一欄位的變異數能回答的,它是兩欄之間的量。 而既然變異數是「一條向量跟自己的內積」,那「兩欄一起動」的答案幾乎是自動的: 拿兩條不同的中心化向量做內積。 下一關就把這件事做完,順便把它排成一張矩陣。