請依照機率分布表,一列一列輸入可能的值 x 和它的機率 p。淡色顯示的例子是「抽一次獎能拿到的獎金」(0 元 70%、100 元 20%、500 元 9%、10,000 元 1%)。
這個頁面可以做什麼
- 只要輸入機率分布表(可能的值 \(x\) 與其機率 \(p\) 的組合,2~10 列),馬上就能算出期望值 \(E(X)\)、變異數 \(\mathrm{Var}(X)\)、標準差 \(\sigma(X)\)
- 答案同時以 \(\dfrac{7}{2}\) 這樣約分後的最簡分數(精確值)和小數顯示,也能看到把數值代入 \(E(X) = x_1 p_1 + x_2 p_2 + \cdots\) 的計算過程
- 自動檢查機率的總和是否剛好等於 1。不等於 1 時,會告訴您目前的總和是多少
- 機率可以用 0.2、20%、1/5 任一種形式輸入。值也可以輸入負數(損失)
- 計算結果會顯示機率分布的長條圖,並用垂直虛線標出期望值 \(E(X)\) 的位置
這個計算有什麼用?
把「獎金 × 中獎機率」全部相加的期望值,正是每買一次平均能拿回的金額。在台灣,《公益彩券發行條例》規定獎金支出不得超過彩券券面總金額的 75%,而大樂透每期的總獎金約為銷售金額的五成多,所以從期望值來看,一張彩券能拿回的金額遠低於它的售價。
手機遊戲的抽卡(轉蛋)也能做同樣的計算,根據遊戲公布的機率,就能估算「抽到想要的角色或道具大約要花多少錢」。
壽險、汽車保險的保費,是以「理賠金額 × 該事故或疾病發生的機率」的總和,也就是理賠金額的期望值為基礎,再加上營運費用等訂定的。還有專門做這種計算的保險精算專家,稱為精算師。
從保戶的角度來看,保險在期望值上是付出比拿回多的交易,但它是一種為了防範罕見的重大損失、買一份安心的機制。
在理財投資的領域,普遍會把報酬率的期望值當作「可預期的獲利」,把標準差當作「風險(波動幅度)」,用數字來處理。如果兩個商品的期望值相同,標準差較小的那一個價格波動比較平穩。
把「期望值的高低」和「分散程度的大小」分成兩個數字來看,這個頁面的想法,直接連結到金融的實務。
設計桌遊或電玩時,會計算「2 顆骰子點數的和」「每次攻擊的傷害」「寶箱掉落道具的價值」等的期望值,來平衡強度與獎勵。
例如「50% 機率造成 100 點傷害」和「一定造成 50 點傷害」,期望值都是 50,但變異數不同,所以是手感不同的招式。為了做出想要的遊玩體驗,期望值和分散程度兩者都會被調整。
公式與圖表
符號與用語解說
符號
| \(X\) | X | 隨機變數。像骰子擲出的點數這樣,表示「由試驗結果決定值的變數」。它是內容尚未決定的「結果的容器」,所以習慣用大寫字母來和一般的變數區分。 |
| \(x_1,\ x_2,\ \dots,\ x_n\) | x 下標 1、x 下標 2、…、x 下標 n | 隨機變數 \(X\) 可能取的每一個值。右下角的小數字(下標)是表示「第幾個值」的編號,和值本身無關。 |
| \(p_1,\ p_2,\ \dots,\ p_n\) | p 下標 1、p 下標 2、…、p 下標 n | 各個值發生的機率。\(p\) 是 probability(機率)的第一個字母。全部加起來一定等於 1。 |
| \(n\) | n | 可能的值的個數(機率分布表的列數)。表示個數時,常用 number(數)的第一個字母 \(n\)。 |
| \(E(X)\) | E of X | 隨機變數 \(X\) 的期望值。\(E\) 是 expectation、expected value(期望值)的第一個字母。這是表示「\(X\) 的期望值」這一個數的寫法,不是 \(E\) 乘以 \(X\)。 |
| \(\mu\) | mu | 常用來表示期望值(平均數)的希臘字母,相當於 mean(平均)的 m。教科書在變異數的定義式中會令 \(\mu = E(X)\),把式子寫得比較短。 |
| \(\mathrm{Var}(X)\) | Var of X | 隨機變數 \(X\) 的變異數。Var 來自 variance(變異數)。是與期望值的差距(離差)平方的平均,表示分散程度的大小。 |
| \(\sigma(X)\) | sigma of X | 隨機變數 \(X\) 的標準差。\(\sigma\) 是希臘字母的小寫 sigma,相當於 standard deviation(標準差)的 s。是變異數的正平方根。 |
| \(X^2\) | X 平方 | 把隨機變數 \(X\) 的值平方得到的新隨機變數。\(E(X^2)\) 是「把每個可能的值平方後,再以機率加權取平均」的結果。 |
| \(\sqrt{\phantom{0}}\) | 根號 | 表示平方後等於該數、且大於或等於 0 的數(正平方根)的符號。例如 \(\sqrt{9} = 3\)。標準差就是在變異數上加這個符號求出的。 |
用語
| 隨機變數 | 像骰子擲出的點數、抽獎的獎金這樣,由試驗(結果由偶然決定的實驗或觀察)的結果決定值的變數。習慣用大寫的 \(X\) 表示。 |
| 機率分布 | 讓隨機變數每個可能的值,對應到該值發生的機率。做成表格的就是機率分布表,這個頁面的輸入欄就是直接輸入這張表的形式。 |
| 試驗 | 像擲骰子、抽籤這樣,可以在相同條件下重複、結果由偶然決定的實驗或觀察。 |
| 期望值 | 隨機變數的平均數。把每個值乘以它的機率再全部相加的值,試驗重複很多次時,會接近「平均每一次的值」。符號是 \(E(X)\) 或 \(\mu\)。 |
| 加權平均數 | 不是單純相加再除以個數,而是先把每個值乘上「權重」再相加的平均數。期望值就是以機率為權重的加權平均數。 |
| 變異數 | 表示分散程度大小的量。把與期望值的差距(離差)平方,再以機率加權取平均。符號是 \(\mathrm{Var}(X)\)。 |
| 標準差 | 變異數的正平方根。和變異數不同,單位與原本的值相同,所以很容易直覺比較分散程度的大小。符號是 \(\sigma(X)\)。 |
| 離差 | 值與期望值的差距 \(x - \mu\)。正負混在一起,直接平均一定是 0,所以變異數要先平方再取平均。 |
| 大數法則 | 試驗的次數越多,實際結果的平均就越接近期望值的法則。是「期望值=重複很多次時平均每一次的值」這個解釋的依據。 |
| 離散型隨機變數 | 像骰子的點數(1~6)這樣,可能的值是不連續的(有限個或整數值)的隨機變數。這個頁面處理的就是這種類型。像身高這樣取連續值的,稱為連續型隨機變數,期望值要用積分計算。 |
建議先了解的基礎知識
為了讓您「真正理解意義」地使用這個頁面的計算,這裡整理了建議事先理解的基礎知識。
遇到卡關時,回頭複習這張表的內容是最快的捷徑。
| 機率的基礎(國中九年級~高一,14~16 歲) |
|
| 分數與小數的計算(國小五年級~國中七年級,10~13 歲) |
|
| 平均數(國小高年級~高一) |
|
| 平方與平方根(國中八年級,13~14 歲) |
|
| 資料分析(高一「一維數據分析」,15~16 歲) |
|
用 Excel 計算的方法
| 值 x₁(沒中 0 元) | 0 |
| 機率 p₁ | 0.7 |
| 值 x₂(獎金 100 元) | 100 |
| 機率 p₂ | 0.2 |
| 值 x₃(獎金 500 元) | 500 |
| 機率 p₃ | 0.09 |
| 值 x₄(獎金 10,000 元) | 10000 |
| 機率 p₄ | 0.01 |
| 機率的總和(確認是否等於 1) | =B2+B4+B6+B8 |
| 期望值 E(X) | =B1*B2+B3*B4+B5*B6+B7*B8 |
| 值 x₁ | 0 |
| 機率 p₁ | 0.7 |
| 值 x₂ | 100 |
| 機率 p₂ | 0.2 |
| 值 x₃ | 500 |
| 機率 p₃ | 0.09 |
| 值 x₄ | 10000 |
| 機率 p₄ | 0.01 |
| 期望值 E(X) | =B1*B2+B3*B4+B5*B6+B7*B8 |
| 平方的平均數 E(X²) | =B1^2*B2+B3^2*B4+B5^2*B6+B7^2*B8 |
| 變異數 Var(X)=E(X²)−[E(X)]² | =B10-B9^2 |
| 變異數 Var(X) | 997275 |
| 標準差 σ(X)=√Var(X) | =SQRT(B1) |
第 1 個表格是抽獎的例子(0 元 70%、100 元 20%、500 元 9%、10,000 元 1%),機率的總和是 1,期望值是 165(元)。
第 2 個表格是同一個抽獎的變異數,用平方的平均數 1024500 減去期望值的平方 27225,得到 997275。
第 3 個表格是由這個變異數求標準差的表格,約為 998.64(元)。想增加列數時,請加上值與機率成對的列,並在公式的「B1*B2+…」部分用相同的形式加上去。
用 Google 試算表計算的方法
| 值 x₁(沒中 0 元) | 0 |
| 機率 p₁ | 0.7 |
| 值 x₂(獎金 100 元) | 100 |
| 機率 p₂ | 0.2 |
| 值 x₃(獎金 500 元) | 500 |
| 機率 p₃ | 0.09 |
| 值 x₄(獎金 10,000 元) | 10000 |
| 機率 p₄ | 0.01 |
| 機率的總和(確認是否等於 1) | =B2+B4+B6+B8 |
| 期望值 E(X) | =B1*B2+B3*B4+B5*B6+B7*B8 |
| 值 x₁ | 0 |
| 機率 p₁ | 0.7 |
| 值 x₂ | 100 |
| 機率 p₂ | 0.2 |
| 值 x₃ | 500 |
| 機率 p₃ | 0.09 |
| 值 x₄ | 10000 |
| 機率 p₄ | 0.01 |
| 期望值 E(X) | =B1*B2+B3*B4+B5*B6+B7*B8 |
| 平方的平均數 E(X²) | =B1^2*B2+B3^2*B4+B5^2*B6+B7^2*B8 |
| 變異數 Var(X)=E(X²)−[E(X)]² | =B10-B9^2 |
| 變異數 Var(X) | 997275 |
| 標準差 σ(X)=√Var(X) | =SQRT(B1) |
用 Python 計算的方法
from fractions import Fraction
# 機率分布表(值與機率的組合)。抽獎的例子:獎金與中獎的機率
# 分數的機率可以寫成 Fraction(1, 6)
values = [Fraction(0), Fraction(100), Fraction(500), Fraction(10000)]
probabilities = [Fraction("0.7"), Fraction("0.2"), Fraction("0.09"), Fraction("0.01")]
# 檢查機率的總和是否等於 1
total = sum(probabilities)
if total != 1:
raise ValueError(f"機率的總和不等於 1(總和:{total})")
# 期望值 E(X) = Σ x_i p_i
mean = sum(x * p for x, p in zip(values, probabilities))
# 平方的平均 E(X²) 與 變異數 Var(X) = E(X²) − [E(X)]²
mean_of_squares = sum(x * x * p for x, p in zip(values, probabilities))
variance = mean_of_squares - mean * mean
# 標準差 σ(X) = √Var(X)
std_dev = float(variance) ** 0.5
print(f"期望值 E(X):{mean} = {float(mean)}")
print(f"變異數 Var(X):{variance} = {float(variance)}")
print(f"標準差 σ(X):{std_dev}")
用 LaTeX 等數學式語言的寫法(可直接複製)
E(X) = x₁p₁ + x₂p₂ + … + xₙpₙ
E(X) = x_1 p_1 + x_2 p_2 + \cdots + x_n p_n
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>E</mi><mo>(</mo><mi>X</mi><mo>)</mo>
<mo>=</mo>
<msub><mi>x</mi><mn>1</mn></msub><msub><mi>p</mi><mn>1</mn></msub>
<mo>+</mo>
<msub><mi>x</mi><mn>2</mn></msub><msub><mi>p</mi><mn>2</mn></msub>
<mo>+</mo><mo>⋯</mo><mo>+</mo>
<msub><mi>x</mi><mi>n</mi></msub><msub><mi>p</mi><mi>n</mi></msub>
</mrow>
</math>
E(X) = x_1 p_1 + x_2 p_2 + cdots + x_n p_n
Total[x*p]
EX := add(x[i]*p[i], i = 1..n);
EX = sum(x .* p);
E(X) = x_1 p_1 + x_2 p_2 + … + x_n p_n
Var(X) = E(X²) − [E(X)]²
\mathrm{Var}(X) = E(X^{2}) - [E(X)]^{2}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Var</mi><mo>(</mo><mi>X</mi><mo>)</mo>
<mo>=</mo>
<mi>E</mi><mo>(</mo><msup><mi>X</mi><mn>2</mn></msup><mo>)</mo>
<mo>−</mo>
<msup><mrow><mo>[</mo><mi>E</mi><mo>(</mo><mi>X</mi><mo>)</mo><mo>]</mo></mrow><mn>2</mn></msup>
</mrow>
</math>
Var(X) = E(X^2) - [E(X)]^2
Total[x^2*p] - Total[x*p]^2
VX := add(x[i]^2*p[i], i = 1..n) - EX^2;
VX = sum(x.^2 .* p) - EX^2;
Var(X) = E(X^2) - [E(X)]^2
σ(X) = √Var(X)
\sigma(X) = \sqrt{\mathrm{Var}(X)}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>σ</mi><mo>(</mo><mi>X</mi><mo>)</mo>
<mo>=</mo>
<msqrt><mi>Var</mi><mo>(</mo><mi>X</mi><mo>)</mo></msqrt>
</mrow>
</math>
sigma(X) = sqrt(Var(X))
Sqrt[Total[x^2*p] - Total[x*p]^2]
sigmaX := sqrt(VX);
sigmaX = sqrt(VX);
σ(X) = √(Var(X))
請 ChatGPT 幫忙計算的方法
你是數學(機率、統計)計算的助理。請務必實際執行 Python 程式碼來進行下列計算,並只以執行結果的數值作為回答的依據(請不要用心算或猜測回答)。 隨機變數 X 的機率分布如下表。 值 x:0, 100, 500, 10000 機率 p:0.7, 0.2, 0.09, 0.01 請分別列出下列內容。 1. 確認機率的總和是否等於 1 2. 期望值 E(X)(請同時以最簡分數或整數,以及小數表示) 3. 變異數 Var(X)(使用公式 E(X²) − [E(X)]²,並列出 E(X²) 的值) 4. 標準差 σ(X)(以小數表示) 在 Python 中請使用標準函式庫的 fractions 模組精確計算,並列出計算時使用的公式與執行結果的數值。
使用方法
-
1輸入數值在輸入欄中輸入要計算的數值
-
2計算按下「計算」按鈕
-
3查看結果計算結果會立即顯示。計算的思路和公式的解說,也都能在同一個頁面查看
DataChef 的特色
不需專業知識,操作直覺又簡單
無須登錄任何個人資料
按下「下載」後自動刪除檔案
無須標註來源出處
亦無須事先取得商用授權