iPAS 114年第二次中級AI應用規劃師-大數據處理分析與應用試題解答

🌈️ 點選題目可顯示解答與相關背景知識說明。

🌈️ 引用本站解答請註明出處 https://ipas.tw


1. 若某數據點的Z分數(Z-Score)= 2,請問代表下列哪一種意涵?

(A) 代表該數據點之原始數值為2;
(B) 該數據點比平均值低2個標準差;
(C) 代表數據為異常值;
(D) 該數據點比平均值高2個標準差

看解答

正確答案是 (D) 該數據點比平均值高2個標準差。

這題考驗的是統計學中 Z分數(Z-Score,又稱標準分數) 的基本定義與數學意涵。
Z分數的核心公式:
$$Z = \frac{X - \mu}{\sigma}$$
其中 \(X\) 是原始數據點,\(\mu\) 是該組資料的平均值(Mean),\(\sigma\) 是標準差(Standard Deviation)。

(D) 為正確答案:
Z分數的本質就是用來衡量一個數據點 「距離平均值有幾個標準差」。
當 \(Z = 2\) 時,數值為正數,代表該數據點位於平均值的右側(高於平均值),且兩者之間的距離正好是 2 個標準差。

(A) 錯誤:
Z分數是經過標準化(Standardization)後的相對位置單位,並不等於原始數據(\(X\))的數值。例如:一班的英文成績平均 60 分,標準差 10 分,某人考了 80 分,他的 Z分數才是 2。

(B) 錯誤:
如果該數據點比平均值「低」2 個標準差,其 Z分數應該要呈現負號,即 \(Z = -2\)。

(C) 錯誤:
在統計學或資料探勘(Data Mining)中,通常要到 \(Z > 3\) 或 \(Z < -3\)(即偏離平均值 3 個標準差以上)的極端資料,才會在常態分佈假設下被嚴格定義為「異常值(Outlier)」。\(Z = 2\) 在常態分佈中大約處於前 2.5% 的位置,屬於正常資料的高分群,不算是異常值。

Z分數數值與意涵對照表

Z分數的數值 數據點在分佈中的相對位置 實務常見解讀
\(Z = 0\) 剛好等於平均值(\(\mu\))。 處於正中間的平均水準。
\(Z = 2\) (D) 比平均值高出 2 個標準差(\(\mu + 2\sigma\))。 表現優異、高於常人(約前 2.5%)。
\(Z = -1.5\) 比平均值低了 1.5 個標準差(\(\mu - 1.5\sigma\))。 低於平均水準。
\(Z = 3.5\) 比平均值高出 3.5 個標準差(\(\mu + 3.5\sigma\))。 統計學上的極端值/異常值(Outlier)。

解題關鍵:看到 Z分數(Z-Score),大腦直接反應 「幾倍標準差」。正號代表「高於」、負號代表「低於」。題目給出正 2,就代表「比平均值高 2 個標準差」,是一題送分的基本統計觀念題。


2. 使用Python的pandas套件處理各商品銷售數據(變數為 df)時,若需計算「總銷售額」欄位的敘述性統計量(如平均值、標準差等),應使用下列哪一種語法?

(A) df['總銷售額'].sum();
(B) df['總銷售額'].describe();
(C) df['總銷售額'].sort_values();
(D) df['總銷售額'].stats()

看解答

正確答案是 (B) df['總銷售額'].describe()。

這題考驗的是使用 Python 的數據分析核心套件 pandas 時,如何快速獲取 Series 或 DataFrame 的敘述性統計量(Descriptive Statistics)。

(B) 為正確答案:

在 pandas 中,.describe() 是一個非常強大且最常用的內建方法。

當你對著數值型態的欄位(如 df['總銷售額'])呼叫 .describe() 時,它會一次性自動計算並輸出該欄位所有核心的敘述性統計指標,包含:總筆數(count)、平均值(mean)、標準差(std)、最小值(min)、第 25 百分位數(25%)、中位數(50%)、第 75 百分位數(75%)以及最大值(max)。

(A) 錯誤:

.sum() 函數只會計算並回傳該欄位的「總和」,並不會輸出平均值、標準差等其他敘述性統計量。

(C) 錯誤:

.sort_values() 的功能是將該欄位的數據依照大小進行「排序」(預設為由小到大),並不會計算任何統計指標。

(D) 錯誤:

pandas 的 Series 或 DataFrame 物件中並沒有 .stats() 這個語法,呼叫它會直接拋出 AttributeError 錯誤。

pandas 常見數據統計語法對比

語法實例 執行結果與回傳內容 實務應用場景
df['總銷售額'].describe() (B) 一次回傳:count, mean, std, min, 25%, 50%, 75%, max。 快速做資料探索(EDA),掌握欄位數據的分佈輪廓。
df['總銷售額'].sum() 回傳一個數值:所有銷售額相加的總和。 計算年度或季度總業績。
df['總銷售額'].mean() 回傳一個數值:銷售額的算術平均數。 計算平均客單價。
df['總銷售額'].std() 回傳一個數值:銷售額的標準差。 評估銷售額的波動程度(穩定度)。

解題關鍵:在 Python pandas 中看到要看 「敘述性統計量(平均值、標準差等一應俱全)」,直覺秒選 .describe()(英文原意即為「描述」)。它是資料科學家拿到新資料時,用來一鍵「描述/健檢」數據特性的必備起手式。


3. 附圖為某資料之分佈圖,此圖資料之偏態(Skewness)值較有可能為下列哪個選項?

資料之偏態

(A) Skewness < 0;
(B) Skewness > 0;
(C) Skewness = 0;
(D) 無法計算 Skewness

看解答

正確答案是 (A) Skewness < 0。

這題考驗的是如何透過資料的次數分配圖(直方圖與密度曲線)來判斷統計學中的 偏態(Skewness) 類型。

(A) 為正確答案:
觀察圖形特徵: 從附圖中可以明顯看出,資料的最高峰(眾數)集中在右側(約在 40 附近),而圖形的尾巴(Tail)明顯向左側(負數方向)延伸。
左偏分佈(Left-skewed / Negatively skewed): 當資料分佈的尾巴拉向左側時,在統計學上被稱為「左偏」或「負偏」。
偏態值的正負號: 左偏分佈的偏態值(Skewness)必然小於 0(\(Skewness < 0\))。這是因為左側長尾巴上那些極端小的數值(如圖中的 \(-20\) 到 \(0\)),會把算術平均數往左邊拉。

(B) 錯誤:
若 \(Skewness > 0\),稱為右偏分佈(Right-skewed / Positively skewed),圖形的尾巴應該要向右側(正數方向)無限延伸,高峰則會偏向左側。

(C) 錯誤:
若 \(Skewness = 0\),代表資料為完全對稱分佈(例如標準常態分佈),左右兩側的尾巴長度和下降坡度會完全一致。

(D) 錯誤:
只要資料是一組連續型的數值型數據,並且知道其平均數、中位數與標準差,就可以透過三階動差公式明確計算出 Skewness。

三種偏態分佈核心特徵對比

分佈類型 尾巴延伸方向 平均數、中位數、眾數的大小關係 偏態值 (Skewness)
左偏分佈(本題圖形) 向左(負向)延伸 平均數 \(<\) 中位數 \(<\) 眾數 \(Skewness < 0\) (A)
對稱分佈 左右完全對稱 平均數 \(=\) 中位數 \(=\) 眾數 \(Skewness = 0\)
右偏分佈 向右(正向)延伸 眾數 \(>\) 中位數 \(>\) 平均數 \(Skewness > 0\)

解題關鍵:判斷偏態時,切記一句口訣:「尾巴在哪裡,就往哪裡偏」。 看圖時不要看最高峰,而是要看那條紅線被拉長的尾巴。這張圖的尾巴一路往左邊的負數跌落,所以它是左偏(又稱負偏),負偏的 Skewness 自然就小於 0。


4. 累積分佈函數(Cumulative Distribution Function, CDF)可用於描述隨機變數的機率分佈特性,其數學定義為下列何者?

(A) 機率密度函數(Probability Density Function, PDF)的平均值;
(B) 機率密度函數(Probability Density Function, PDF)的積分;
(C) 機率密度函數(Probability Density Function, PDF)的離散總和;
(D) 機率密度函數(Probability Density Function, PDF)的標準差

看解答

正確答案是 (B) 機率密度函數(Probability Density Function, PDF)的積分。

這題考驗的是機率論與統計學中 累積分佈函數(CDF) 的數學定義,以及它與 機率密度函數(PDF) 之間的微積分關係。
CDF 的核心數學定義:
對於一個連續型隨機變數 \(X\),其累積分佈函數 \(F(X)\) 定義為該隨機變數小於或等於某個特定數值 \(x\) 的機率:
$$F(x) = P(X \le x)$$

(B) 為正確答案:
在連續型隨機變數的情境下,要計算從負無限大(\(-\infty\))累積到某個點 \(x\) 的總機率,在數學上就是對機率密度函數 \(f(t)\) 進行定積分:
$$F(x) = \int_{-\infty}^{x} f(t) \,dt$$
因此,CDF 函數本質上就是 PDF 函數的積分(曲線下的累積面積)。反過來說,對 CDF 求導(微分)就會得到 PDF:\(f(x) = \frac{d}{dx}F(x)\)。

PDF 函數的積分

(A) 錯誤:
PDF 的全域積分恆等於 1,其平均值本身沒有特別的 CDF 定義意涵。

(C) 錯誤:
如果是「離散型」隨機變數,其 CDF 確實是機率質量函數(PMF)的離散總和(\(\sum\))。但題目選項明確寫著是 機率密度函數(PDF) 的離散總和。既然使用了 PDF,就代表是在「連續型」的數學語境下,連續變數必須使用「積分(\(\int\))」而非離散總和。

(D) 錯誤:
PDF 的標準差與 CDF 的數學定義無關。

PDF 與 CDF 的關鍵幾何對比

函數類型 幾何與數學意涵 函數圖形特性 兩者之間的微積分紐帶
機率密度函數 (PDF) 描述隨機變數在某個特定點附近的機率密度大小。 圖形曲線下方的總面積固定等於 1。
累積分佈函數 (CDF) 描述隨機變數小於或等於 \(x\) 的累積機率值。 圖形必定從 0 開始,隨著 \(x\) 增大而遞增,最終收斂於 1。 PDF 的積分 = CDF (B)
CDF 的微分 = PDF

解題關鍵:看到 CDF(累積分佈函數) 與 PDF(機率密度函數) 的關係,直覺聯想微積分對偶性:「累積就是切片面積的加總(積分)」。因為 PDF 代表每一點的密度切片,把這些切片從左到右一路累積(加總面積)起來的函數就是 CDF,所以在連續世界裡,CDF 就是 PDF 的積分。


5. 在進行資料前處理時,若使用Label Encoding將類別變數轉換為數字型態,下列何者為最常見的潛在風險?

(A) 無法處理缺值;
(B) 會引入類別之間的虛假順序關係;
(C) 無法擴展至新資料;
(D) 記憶體佔用過高

看解答

正確答案是 (B) 會引入類別之間的虛假順序關係。

這題考驗的是特徵工程(Feature Engineering)中,針對類別型資料(Categorical Data)進行編碼時的經典觀念與風險評估。

(B) 為正確答案:
Label Encoding 的運作方式: 它是直接將類別依序映射到整數,例如將「台灣」、「日本」、「美國」隨機編碼為 0, 1, 2。
虛假順序(Spurious Ordering): 雖然資料順利轉成了數字,但對大多數機器學習模型(如線性迴歸、SVM、神經網路)而言,它們會把這些數字當作具備連續性與大小順序的數值。模型在計算時會誤以為 \(2 > 1 > 0\)(美國 \(>\) 日本 \(>\) 台灣),甚至認為「台灣 \(+\) 日本 \(=\) 美國」(\(0 + 1 = 1\) 這種錯誤邏輯)。這種非預期的內在順序關係會對模型產生嚴重的干擾。

(A) 錯誤:
類別變數中的缺失值(Missing Values)通常可以透過獨立編碼成一個新類別(如 Missing \(\rightarrow\) 3)或用眾數填補來解決,並非 Label Encoding 本身的致命缺陷。

(C) 錯誤:
只要事先保存好編碼對應表(Mapping Dict),當新資料進來時,一樣可以對照轉換(沒出現過的類別也可以統一編碼為 Unknown),因此具備擴展能力。

(D) 錯誤:
Label Encoding 只把文字替換成單一整數,它相較於獨熱編碼(One-Hot Encoding)會將維度暴增、產生稀疏矩陣的特性,Label Encoding 反而是極度節省記憶體空間的作法。

常見類別編碼手法大對決

編碼方法 轉換邏輯範例 優點 最常見的潛在風險 / 缺點
Label Encoding (B) 台北 \(\rightarrow 0\)
台中 \(\rightarrow 1\)
高雄 \(\rightarrow 2\)
簡單、速度快、不增加維度、省記憶體。 引入虛假順序 (B),讓模型誤以為高雄 \(>\) 台中 \(>\) 台北。
One-Hot Encoding(獨熱編碼) 台北 \(\rightarrow [1, 0, 0]\)
台中 \(\rightarrow [0, 1, 0]\)
高雄 \(\rightarrow [0, 0, 1]\)
不引入虛假順序,各類別完全獨立平等。 當類別基數(Cardinality)極高時,會引發維度災難與記憶體暴增。

解題關鍵:看到 Label Encoding(標籤編碼) 的風險,直覺聯想 「強加順序」。文字一旦變成 0, 1, 2,模型就會傲慢地以為它們有大小之分、有先後之別。因此,除非類別本身本來就有大小順序(如:衣服尺寸 S、M、L),否則對「無順序性」的類別(如顏色、國家)使用 Label Encoding,必定會帶來虛假順序的風險。


6. 在進行資料分析時,會遇到類別型(Categorical)與數值型 (Numerical) 資料格式。關於這兩種資料格式的處理,下列敘述何者不正確?

(A) One-Hot編碼(One-Hot Encoding)會將類別變數轉換為多維二元向量,適用於無序(Nominal)類別資料,但在高基數(High Cardinality)特徵下可能造成維度爆炸問題;
(B) 標籤編碼(Label Encoding)會以整數表示不同類別,若應用於無序(Nominal)資料,可能導致模型誤將編碼值解讀為具數值大小關係的特徵;
(C) 標準化(Standardization)透過將資料平移與縮放,使其平均值為 0、標準差為 1,可在多數距離型演算法中改善收斂速度,並同時將數值範圍壓縮至 0 至 1 之間;
(D) 對連續變數進行分箱(Binning)可提升模型可解釋性,但若分段方式未依據資料分佈特性設計,可能導致資訊損失或邊界偏誤

看解答

正確答案是 (C) 標準化(Standardization)透過將資料平移與縮放,使其平均值為 0、標準差為 1,可在多數距離型演算法中改善收斂速度,並同時將數值範圍壓縮至 0 至 1 之間。

這題考驗的是資料前處理中,針對類別型與數值型特徵進行特徵工程(Feature Engineering)的核心基本觀念。題目要求選出一個「不正確」的描述。

(C) 為不正確描述(本題要選的答案):
前半句正確: 標準化(Standardization,通常指 Z-Score Normalization)確實是將資料平移與縮放,使其平均值(\(\mu\))為 0、標準差(\(\sigma\))為 1,這能消除特徵間的量綱影響,大幅改善距離型演算法(如 KNN、K-Means、SVM)的收斂速度與穩定性。
後半句錯誤: 標準化並不會將數值範圍壓縮至 0 至 1 之間。標準化後的資料範圍理論上是正負無限大\((-\infty, +\infty)\),通常多數數據會落在 \([-3, 3]\) 的區間內。
觀念混淆: 將數值範圍完美壓縮至 0 至 1 之間的特徵縮放方法叫做 「最大最小縮放(Min-Max Normalization / Rescaling)」,其公式為 \(X_{norm} = \frac{X - X_{min}}{X_{max} - X_{min}}\)。選項 (C) 將這兩種不同的縮放技術混為一談,故不正確。

(A) 與 (B) 正確:
這兩選項完美呼應了前一題(第 5 題)的核心觀念。One-Hot 編碼不具順序性,適用於無序類別(Nominal),但類別太多(高基數)時會讓欄位暴增(維度爆炸);Label Encoding 則會對無序資料強加虛假的數值大小關係。

(D) 正確:
分箱(Binning / Discretization)是將連續變數(如年齡)切分成離散區間(如兒童、青年、老年),這能讓業務邏輯的可解釋性變高。但如果切分點(Boundary)設計不合理(例如硬性規定每 10 歲一條線,卻忽略了資料內在的群聚特性),就會把臨界點兩側相似的數據強行拆開,造成嚴重的邊界偏誤與資訊損失。

MLOps 特徵工程:常見數值縮放技術對比

縮放手法 核心數學公式 轉換後的資料分佈特性 實務應用與對抗異常值(Outliers)能力
標準化 (Standardization) \(X_{std} = \frac{X - \mu}{\sigma}\) \(\mu = 0\), \(\sigma = 1\),範圍不受限於 \([0, 1]\)。 對異常值較具強健性(Robust),適合多數機器學習與深度學習模型。
最大最小縮放 (Min-Max) \(X_{norm} = \frac{X - X_{min}}{X_{max} - X_{min}}\) 範圍被嚴格限定在 \([0, 1]\) 之間。 對異常值極度敏感(一個極大值就會把其他正常數據壓縮到極小的區間)。

解題關鍵:看到 標準化(Standardization) 的特徵,直覺聯想 「平均 0 標準差 1,但範圍不是 0 到 1」。要把資料壓在 0 到 1 之間,那是「Min-Max 縮放」的管轄範圍。只要分清 Z-Score(標準化)與 Min-Max(歸一化)在輸出邊界上的數學差異,就能一眼抓出 (C) 選項的破綻。


7. 在資料庫的ACID特性中,下列何者為「原子性(Atomicity)」的正確定義?

(A) 所有資料欄位必須為相同型別;
(B) 每次交易需以批次方式執行;
(C) 交易不可分割,需完全成功或完全失敗;
(D) 系統會自動同步交易資料至所有節點

看解答

正確答案是 (C) 交易不可分割,需完全成功或完全失敗。

這題考驗的是關聯式資料庫管理系統(RDBMS)中,確保交易(Transaction)可靠性的核心基石——ACID 特性。

(C) 為正確答案:

原子性(Atomicity) 的名稱源自於物理學中曾認為「原子是物質最小、不可分割的單元」。

在資料庫中,這意味著一個交易內包含的所有 SQL 操作(例如:銀行轉帳包含了「A 帳戶扣錢」與「B 帳戶加錢」兩個步驟),必須被視為一個不可分割的最小工作單元。

All-or-Nothing 規則: 這些操作要嘛全部執行成功(Commit),要嘛只要其中一個步驟失敗,整個交易就必須完全撤銷、當作沒發生過(Rollback),絕不允許停留在「A 扣了錢,但 B 沒收到」的半熟狀態。

(A) 錯誤:

這屬於資料表綱要(Schema)的資料型別定義約束(Data Type Constraints),與 ACID 的交易特性無關。

(B) 錯誤:

交易的執行可以是即時的(聯機交易處理 OLTP),也可以是批次的(Batch Processing),原子性約束的是交易的「完整性」,而非其「執行的頻率或方式」。

(D) 錯誤:

這屬於分散式資料庫或叢集架構中的資料複製(Replication)與一致性(Consistency)維護機制,並非單一交易原子性的定義。

資料庫 ACID 四大特性速查

特性名稱 核心英文字眼 一句話白話解讀 實務經典範例
A - 原子性 (Atomicity) All or Nothing 要嘛全部成功,要嘛全做白工 (C)。 轉帳時若在扣款後斷電,系統會自動回滾(Rollback)。
C - 一致性 (Consistency) Validity 交易前後,資料都必須符合所有的業務規則與約束。 轉帳前後,兩個帳戶的總金額加起來必須保持不變。
I - 隔離性 (Isolation) Concurrency 多個交易同時執行時,彼此互不干擾、像在排隊。 A 正在轉帳給 B 的過程中,C 刷餘額看不到那筆未完成的錢。
D - 持久性 (Durability) Permanence 一旦交易成功提交,資料就永久寫入硬碟,停電也不怕。 交易成功後立刻拔掉伺服器電源,重開機後資料依然在。

解題關鍵:看到資料庫的 Atomicity(原子性),大腦直接聯想 「原子不可分割 $\rightarrow$ 交易不可分割 $\rightarrow$ 全成功或全失敗(All or Nothing)」。這是資料庫理論與後端開發中最經典的常考觀念。


8. 資料科學家為分析顧客行為,利用現有欄位「銷售金額」與「瀏覽次數」,計算出新變數「銷售金額/瀏覽次數」。此動作屬於下列哪一類特徵工程方法?

(A) 特徵選擇(Feature Selection);
(B) 特徵衍生(Feature Derivation);
(C) 特徵轉換(Feature Transformation);
(D) 分箱處理(Binning)

看解答

正確答案是 (B) 特徵衍生(Feature Derivation)。

這題考驗的是資料科學與機器學習中 特徵工程(Feature Engineering) 的分類與操作觀念。

(B) 為正確答案:

特徵衍生的定義: 它是指利用數學運算(如加、減、乘、除、加權組合等)或業務邏輯,將現有的兩個或多個欄位進行組合,「無中生有」地創造出一個全新變數。

本題情境: 資料科學家將「銷售金額」與「瀏覽次數」相除,衍生出了「銷售金額/瀏覽次數」(這在商務上通常代表「單次瀏覽變現效率」或「轉化客單價」)。這種透過跨欄位四則運算產生新特徵的操作,是典型的特徵衍生(或稱特徵構建 Feature Construction)。

(A) 錯誤:

特徵選擇(Feature Selection)是指從現有的特徵庫中,利用統計檢定或模型權重,挑選出最重要、最有預測能力的子集,並剔除不相關或冗餘的欄位(例如從 100 個欄位中選出 10 個),這個過程中不會創造新變數。

(C) 錯誤:

特徵轉換(Feature Transformation)通常是指對單一欄位進行數學函數轉換,以改變其資料分佈或量綱。常見的操作如對數轉換(Log Transform)、方根轉換、或是標準化(Z-Score)。它改變的是既有欄位的表現形式,而不是融合多個欄位。

(D) 錯誤:

分箱處理(Binning / Discretization)是指將連續型的數值型特徵(如年齡、銷售金額)切分成離散的區間標籤(如:低、中、高),這屬於資料離散化的手法,與本題的跨欄位除法運算不符。

特徵工程常見方法對比

方法類型 核心操作邏輯 實務經典範例 本題情境對應
特徵選擇 (A) 去蕪存菁:只選有用的舊欄位。 用皮爾森相關係數刪除無關特徵。 數量變少。
特徵衍生 (B) 融合創新:舊欄位經運算結合。 「銷售金額」 \(\div\) 「瀏覽次數」 (B) 數量變多,產生新維度。
特徵轉換 (C) 改頭換面:單一欄位改分佈。 將偏態嚴重的房價資料做 log(X)。 數量不變。
分箱處理 (D) 化繁為簡:連續數值切區間。 將「年齡」欄位切成 0-18、19-65、65+。 數值變離散。

解題關鍵:看到題目是 「利用現有 A 欄位與 B 欄位進行數學運算(如相除),創造出一個全新的 C 變數」,直覺聯想 「衍生出新特徵(Feature Derivation)」。這在實務上能幫模型引入原本單一欄位無法表達的非線性業務邏輯(如密度、比率、交互效應)。


9. 在進行數值特徵的標準化(Normalization)時,若資料中存在極端值(Outliers),下列哪一種方法最適合使用?

(A) Min-Max正規化(Min-Max Scaling);
(B) Z-score標準化(Z-score Normalization);
(C) 穩健縮放(Robust Scaling);
(D) 標準分箱(Standard Binning)

看解答

正確答案是 (C) 穩健縮放(Robust Scaling)。

這題考驗的是在面對資料中存在 極端值(Outliers,異常值) 時,特徵縮放(Feature Scaling)技術的強健性(Robustness)評估。

(C) 為正確答案:
穩健縮放(Robust Scaling)的數學原理: 它的公式為
$$X_{robust} = \frac{X - \text{Median}}{\text{IQR}}$$
它使用 中位數(Median) 中心化資料,並使用 四分位距(IQR, \(Q3 - Q1\)) 進行縮放。
為什麼能對抗極端值: 中位數和四分位距只關注資料中間 50% 的分佈,極端值無論多大或多小,都不會影響中位數與 IQR 的數值。因此,Robust Scaler 縮放後的資料能完美保留整體特徵的分佈結構,不會被極端值壓縮或扭曲。

(A) 錯誤:
Min-Max 正規化的公式高度依賴最大值(\(X_{max}\))與最小值(\(X_{min}\))。如果資料中有一個極大的異常值(例如其餘資料都是 1~10,但有一個是 10000),Min-Max 會把正常範圍的資料全部壓縮在極小的區間內(如 0 到 0.001 之間),導致模型失去對正常特徵的辨識能力。

(B) 錯誤:
Z-score 標準化使用的是算術平均數(\(\mu\))與標準差(\(\sigma\))。這兩個統計量對極端值非常敏感。一個極端的大值會把平均數往右拉,同時讓標準差暴增,進而干擾所有正常樣本標準化後的數值(導致正常樣本的 Z 分數嚴重失真)。

(D) 錯誤:
標準分箱(Binning)雖然可以將極端值歸類到最後一個箱子裡以降低其影響,但分箱本質上是將連續變數「離散化」的手法,會損失大量的連續數值細節資訊,不屬於數值型特徵標準化的最佳手段。

三種特徵縮放方法對抗極端值能力對比

縮放手法 核心統計量 對抗極端值(Outliers)能力 異常值帶來的副作用
Min-Max 正規化 (A) 最大值、最小值 極差 正常數據會被擠壓成一團,流失特徵解析度。
Z-score 標準化 (B) 平均數、標準差 較差 平均數與標準差被拉高,導致正常數據的轉換值失真。
穩健縮放 Robust (C) 中位數、四分位距 (IQR) 極佳(強健) 完全不受極端值干擾,正常數據依然能完美拉開。

解題關鍵:在資料前處理中看到 「存在極端值 / 異常值(Outliers)」 且要選擇最適合的 「縮放/標準化方法」,直覺秒選 「穩健縮放(Robust Scaling)」。因為英文 Robust 本意就是「強壯、具強健性」,它是資料科學中專門用來對抗極端值特徵工程的秘密武器。


10. 下列哪一種情境最適合應用異常偵測(Anomaly Detection)技術?

(A) 根據歷史銷售資料預測特定商品在旺季期間是否會出現供貨短缺,以提前調整庫存策略;
(B) 透過信用風險模型預測顧客是否可能發生違約,以輔助核貸決策;
(C) 即時分析金融交易資料流,偵測與平常交易行為明顯不同的可疑交易紀錄;
(D) 監控線上服務平台的使用者登入次數,預測次日的登入量變化趨勢

看解答

正確答案是 (C) 即時分析金融交易資料流,偵測與平常交易行為明顯不同的可疑交易紀錄。

這題考驗的是 異常偵測(Anomaly Detection) 技術的核心定義、適用場景,以及它與傳統分類、迴歸任務的分野。

(C) 為正確答案:

異常偵測的核心特徵: 異常偵測專門用來尋找資料中「極為罕見(低機率發生)」且「與絕大多數正常行為模式(Normal Behavior)有顯著差異」的數據點。

本題情境: 信用卡盜刷或洗錢等金融詐欺(Fraud Detection)具有兩大特點:第一,絕大多數的信用卡交易都是合法的(正常資料佔 99.9% 以上);第二,詐欺犯的作案手法瞬息萬變,很難收集到完整且固定的異常標籤。因此,透過非監督式或半監督式演算法學習「平常交易行為的常態分佈」,一旦出現「突然在半夜連續大筆海外刷卡」等偏離常態的紀錄就觸發警報,這是最經典、最完美的異常偵測應用場景。

(A) 錯誤:

根據歷史銷售資料預測是否短缺,這屬於時間序列分析(Time Series Forecasting)或二元分類(Classification)任務。

(B) 錯誤:

信用風險違約預測(Credit Scoring)通常擁有相對完整且比例不算太極端的歷史標註資料(例如違約率可能在 1%~5%),實務上會直接當作監督式學習(Supervised Learning)的二元分類任務來處理(如使用邏輯迴歸、XGBoost),而非異常偵測。

(D) 錯誤:

預測次日的登入量變化「趨勢」,這屬於典型的時間序列預測(Time Series Regression / Forecasting)任務,其輸出的結果是一個連續型的數值(如預測明天有 50,000 人登入),而非抓出哪一次登入是異常的。

四種業務情境的機器學習範式對比

選項與情境 預測目標與資料特性 最適合的機器學習範式
(A) 旺季商品供貨短缺 預測未來的供需狀態 時間序列預測 / 分類任務
(B) 貸款違約核貸決策 擁有明確標籤(違約/未違約)的預測 監督式二元分類(如 XGBoost)
(C) 信用卡盜刷偵測 沒固定標籤、極其罕見、偏離常態 (C) 異常偵測(如 Isolation Forest, One-Class SVM)
(D) 次日登入量趨勢 預測未來的連續數值走勢 時間序列迴歸(如 ARIMA, Prophet)

解題關鍵:看到 「異常偵測(Anomaly Detection)」,大腦直接聯想三個關鍵字:「極少數、沒標籤、偏離常態」。選項中只要看到「與平常明顯不同」、「偵測可疑/未知攻擊」等字眼,就是異常偵測的絕對主場(如金融詐欺、機台歲修預警、網路入侵偵測)。


11. 若一家公司需即時監控大量物聯網裝置的異常行為,下列哪一種組合最適合此應用?

(A) 傳統關聯式資料庫+圖形視覺化;
(B) 批次資料處理+雲端備份;
(C) 大數據平台+即時資料分析技術;
(D) Word文件+手動標註

看解答

正確答案是 (C) 大數據平台+即時資料分析技術。

這題考驗的是現代 物聯網(IoT)架構 與 資料工程(Data Engineering) 的技術選型。題目給出的核心挑戰包含兩個關鍵字:「大量物聯網裝置」(代表資料量極大、速度極快,即高維度的資料流)與 「即時監控異常」(代表對延遲性的要求極高,必須在毫秒或秒級內完成運算)。

(C) 為正確答案:

大數據平台(Big Data Platform): 大量物聯網裝置(如百萬台智慧電表、工廠感測器)會產生海量的非結構化或半結構化數據。傳統系統無法承載如此高的寫入吞吐量(Throughput),必須依賴分散式的大數據平台(如 Apache Hadoop、Spark 或雲端的分散式儲存與計算服務)來進行大規模資料的吞吐與儲存。

即時資料分析技術(Stream Processing): 面對源源不絕的資料流(Data Streams),傳統的批次處理無法做到「即時預警」。必須採用流式運算技術(如 Apache Kafka、Apache Flink、Spark Streaming),在資料還在記憶體中流動時就即時運算、比對異常特徵,才能在裝置發生故障或遭受網路攻擊時,第一時間觸發客服或中斷機制。

(A) 錯誤:

傳統關聯式資料庫(RDBMS,如 MySQL)在面對海量、高頻率寫入的物聯網時間序列資料(Time-Series Data)時,極容易因為連線數爆滿或資料鎖(Locking)而發生寫入瓶頸,不適合用於「大量」物聯網資料的前端接收。

(B) 錯誤:

「批次資料處理(Batch Processing)」通常是每隔數小時、甚至一天才發動一次計算(例如凌晨跑昨天的財務報表)。對於需要「即時監控異常」的系統來說,批次處理的延遲過高,等看到報告時設備可能早就燒毀或漏油了,緩不濟急。

(D) 錯誤:

這屬於純手工、低效率的傳統辦公室作業流程,完全無法應對物聯網時代每秒數萬筆自動化生成的巨量數據流。

物聯網(IoT)資料處理架構對比

技術維度 方案 (B):批次處理架構 方案 (C):大數據+即時串流架構 本題情境適用度評估
資料吞吐能力 適合定期處理定量的歷史封存檔案。 極高。支援分散式接收海量感測器數據。 (C) 勝出。百萬級裝置的唯一解。
處理延遲(Latency) 高(小時級 / 天級)。 極低(毫秒級至秒級)。 (C) 勝出。符合「即時監控」需求。
核心技術組件範例 ETL 工具、SQL Server 預存程序。 Apache Kafka、Flink、Spark Streaming。 現代 MLOps 與 IoT 維運的標配。

解題關鍵:看到物聯網考題中同時出現 「大量(海量數據)」 加上 「即時(高時效性)」,解題直覺就是秒選大數據時代的黃金拍檔:「大數據平台(管海量)+ 即時資料串流技術(管時效)」。這兩個技術元件的結合,正是撐起現代智慧城市、工業 4.0 自動化產線即時維運的底層技術基石。


12. 在處理分類問題時,若某一類樣本數明顯少於其他類別,研究人員可能採用隨機過採樣(Random Oversampling)以平衡資料比例,此方法最常造成下列哪一種問題?

(A) 增加過擬合風險;
(B) 降低模型的收斂速度;
(C) 減少資料總筆數數量;
(D) 導致訓練資料欄位缺失

看解答

正確答案是 (A) 增加過擬合風險。

這題考驗的是機器學習中處理 資料不平衡(Imbalanced Data) 問題時,採用不同採樣策略的副作用評估。

(A) 為正確答案:

隨機過採樣(Random Oversampling)的運作方式: 它是透過「簡單複製」少數類別的樣本,來讓少數類的數量達到與多數類相當的水準。例如:罕見疾病患者只有 10 筆資料,模型透過隨機過採樣將這 10 筆一模一樣的資料各自複製 100 次,湊成 1000 筆。

過擬合(Overfitting)的元凶: 因為這些「新增加」的資料完全是既有資料的死板複製,沒有引入任何新的特徵資訊或多樣性。這會導致模型在訓練過程中,反覆背誦這幾筆特定的少數類樣本,使得模型的決策邊界變得極度狹隘。最終,模型在訓練集上的準確率雖然很高,但面對未見過的測試集(新資料)時,泛化能力會變差,這就是典型的過擬合(Overfitting)現象。

(B) 錯誤:

由於多數資料在特徵空間中高度重疊且完全一致,在某些情況下,重複的梯度更新反而會讓模型極快地在這些點上收斂(雖然是壞的收斂,即死記硬背),因此它最核心的痛點是過擬合,而非降低收斂速度。

(C) 錯誤:

過採樣(Oversampling)是藉由增加少數類樣本來達成平衡,因此訓練資料的總筆數會顯著「增加」,而非減少。會減少資料總筆數的是「欠採樣(Undersampling)」。

(D) 錯誤:

採樣操作只是對資料列(Rows,即樣本)進行複製或刪除,完全不會改動到資料欄(Columns,即特徵),因此絕對不可能導致資料欄位缺失。

處理不平衡資料的兩大傳統採樣手法對比

採樣手法 核心操作邏輯 資料總筆數變化 最主要的致命缺點 / 風險
隨機過採樣 (A) 複製少數類別的樣本。 增加 流失多樣性,極易導致過擬合 (A)(模型開始死記硬背)。
隨機欠採樣 刪除多數類別的樣本。 減少 流失重要資訊(許多多數類的珍貴特徵被直接丟棄)。
SMOTE 演算法 在少數類樣本間透過插值合成新樣本。 增加 較不易過擬合,但若在邊界插值可能引入噪訊。

解題關鍵:看到 隨機過採樣(Random Oversampling) 的缺點,直覺秒選 「過擬合(Overfitting / 過度擬合)」。背後的工程原理很簡單:「因為這只是在無腦複製貼上相同的資料」。要解決這個缺點,實務上通常會改用 SMOTE(Synthetic Minority Over-sampling Technique) 演算法,透過數學插值法在特徵空間中「合成」具有差異性的新微調樣本,以降低模型過擬合的風險。


13. 下列何者為同態加密(Homomorphic Encryption)技術的核心特性?

(A) 將資料轉換為匿名識別碼以隱藏身分;
(B) 對資料進行標準化處理以提升模型精度;
(C) 自動偵測與排除異常值;
(D) 可直接在加密狀態下進行數據運算

看解答

正確答案是 (D) 可直接在加密狀態下進行數據運算。

這題考驗的是現代隱私安全與聯邦學習(Federated Learning)中,最關鍵的密碼學前沿技術——同態加密(Homomorphic Encryption, HE) 的核心定義。

(D) 為正確答案:
資料「可用不可見」: 傳統的加密技術(如 AES)在傳輸時是安全的,但如果要把資料送給雲端伺服器進行 AI 模型預測或統計運算,就必須在雲端「解密」成明文。此時,雲端服務商或駭客就有機會偷看資料。
同態加密的魔法: 同態加密允許第三方在完全不解密、不知道明文內容的前提下,直接對加密後的「密文」進行數學運算(如加法、乘法)。當運算結果傳回給資料擁有者,並用私鑰解密後,得到的數值居然與直接用明文運算的結果完全一致!也就是說:
$$\text{Dec}(\text{Enc}(A) \otimes \text{Enc}(B)) = A \times B$$
這使得企業能將敏感的金融或醫療隱私資料安全地託管給外包雲端進行運算,完美落實資料保護。

(A) 錯誤:
將資料轉換為匿名識別碼以隱藏身分的手法叫做 「去識別化(De-identification)」 或 「資料遮蔽(Data Masking / Tokenization)」,並非同態加密。

(B) 錯誤:
對資料進行標準化(如 Z-score)是特徵工程(Feature Engineering)的範疇,目的是消除量綱,與密碼學的同態加密無關。

(C) 錯誤:
自動偵測與排除異常值是資料清洗(Data Cleaning)或異常偵測(Anomaly Detection)的工作,非加密技術的功能。

資料隱私保護技術對比

技術名稱 核心保護機制 資料運算狀態 實務應用場景
同態加密 (HE) 利用特殊代數結構,讓密文具備可運算性。 直接在加密狀態下運算 (D)。 醫療隱私資料委外進行 AI 模型運算。
差分隱私 (DP) 在數據庫查詢結果或模型梯度中加入數學雜訊。 允許統計分析,但無法反推個人。 蘋果 (Apple) 收集用戶打字習慣以優化預測字詞。
去識別化 / 遮蔽 刪除或替換身分證、姓名等敏感欄位。 弱加密或純文字轉換。 製作公開研究用的去個資去識別化數據集。

解題關鍵:看到 同態加密(Homomorphic Encryption),不用管複雜的代數幾何,大腦第一時間直接彈出六個字:「帶殼(加密)直接算」。只要記住「可以在不解密的情況下對密文進行運算」這個反直覺的科學特性,就能在隱私計算的考題中輕鬆拿分。


14. 某組資料共10項標籤如下:
A, A, A, A, A, B, B, B, B, B
若該標籤僅有A、B兩種,請問這組資料的「正規化吉尼不純度(Normalized Gini impurity)」為何?

(A) 0;
(B) 0.42;
(C) 0.84;
(D) 1

看解答

正確答案是 (D) 1。

這題考驗的是決策樹(Decision Tree)演算法中,用來衡量資料混雜程度的指標——吉尼不純度(Gini Impurity),以及將其進行正規化(Normalization)後的數值解讀。

1. 計算原始的吉尼不純度 (Gini Impurity)
吉尼不純度的數學公式為:
$$Gini = 1 - \sum_{i=1}^{k} P_i^2$$
其中 \(P_i\) 代表各種類別在樣本中所佔的比例。
本題中,資料總共有 10 項,其中:
• 標籤 A 有 5 個,比例 \(P_A = \frac{5}{10} = 0.5\)
• 標籤 B 有 5 個,比例 \(P_B = \frac{5}{10} = 0.5\)
將比例代入公式計算:
$$Gini = 1 - (0.5^2 + 0.5^2) = 1 - (0.25 + 0.25) = 0.5$$

2. 計算「正規化」吉尼不純度 (Normalized Gini Impurity)
在二元分類(只有 A、B 兩種標籤)的情境下:
• 當資料完全純淨(全部都是 A 或全部都是 B)時,\(Gini\) 的最小值為 0。
• 當資料最混雜、各佔一半(即各 50%)時,\(Gini\) 的最大值為 0.5。
所謂的正規化(Normalization),就是將指標的數值依比例縮放到 0 到 1 之間。其轉化公式為:
$$\text{Normalized Gini} = \frac{\text{當前的 Gini} - \text{最小可能的 Gini}}{\text{最大可能的 Gini} - \text{最小可能的 Gini}}$$
我們將數值代入:
$$\text{Normalized Gini} = \frac{0.5 - 0}{0.5 - 0} = 1$$
這代表該節點的混雜程度已經達到了二元分類中的理論最高極限(最不純),因此正規化後的值為 1。

吉尼不純度狀態對照表(二元分類)

資料標籤狀態 混雜程度描述 原始 Gini 值 正規化 Gini 值 (Normalized Gini)
A: 10, B: 0 完全純淨(完美分類) 0 0 (A)
A: 8, B: 2 相對純淨 0.32 0.64
A: 5, B: 5(本題) 最不純(各佔一半,如同猜硬幣) 0.5 1 (D)

解題關鍵:看到題目給的資料是 A 與 B 各佔一半(5 個 A、5 個 B),直覺反應 「這是最混雜、最不純的狀態」。 在不純度指標中,「正規化」的核心目的就是把最大不純度訂為 1。既然資料已經達到了最不純的極致,不需要繁複的計算,也能憑觀念直接秒選代表「最不純」的最高點 (D) 1。


15. 某家客服中心統計資料發現,平均每小時會接到約20通顧客來電,但每分鐘的來電數量不固定,可能為 0、1、2 通不等。這些來電事件彼此獨立,且在短時間內,發生的機率與時間長短成正比。若要以機率模型描述「每分鐘接到幾通來電」的機率分佈,下列哪一種最適合使用?

(A) 均勻分佈(Uniform distribution);
(B) 指數分佈(Exponential distribution);
(C) 卜瓦松分佈(Poisson distribution);
(D) 常態分佈(Normal distribution)

看解答

正確答案是 (C) 卜瓦松分佈(Poisson distribution)。

這題考驗的是機率論中,如何根據現實業務情境的物理特性來選擇正確的隨機變數機率分佈模型。

(C) 為正確答案:
卜瓦松分佈的定義與特徵: 卜瓦松分佈專門用來描述「在一個固定的時間間隔(或空間區域)內,某件罕見事件總共發生了幾次」的機率分佈。
本題的情境完全符合卜瓦松分佈的三大假設(卜瓦松製程):
1. 獨立性: 每通電話進來的事件彼此獨立、互不干擾。
2. 時間正比: 在極短時間內,接到電話的機率與該時間長度成正比。
3. 稀疏性: 在極短時間(如一毫秒)內,同時進來兩通或以上電話的機率趨近於零。
題目要問的是「在一分鐘(固定時間間隔)內,接到幾通來電(事件發生次數:0, 1, 2...通)」的機率,這在統計學上是標準到不能再標準的卜瓦松分佈應用。其單位時間平均發生率 \(\lambda = \frac{20\text{ 通}}{60\text{ 分鐘}} = \frac{1}{3}\) 通/分。

(A) 錯誤:
均勻分佈代表每個數值發生的機率完全相同(例如丟一顆公正的骰子,出現 1 到 6 點的機率都是 \(1/6\))。而來電次數通常會有一個圍繞平均值的峰值,不可能出現「每分鐘接 0 通、接 2 通、接 100 通電話的機率都一樣」的情形。

(B) 錯誤:
容易混淆的強敵: 指數分佈雖然也屬於卜瓦松製程,但它描述的是「兩次事件發生之間的『時間間隔』」(例如:接到第一通電話後,要再等「幾分鐘」才會接到下一通電話)。題目問的是「次數」而非「時間長度」,故不能選指數分佈。

(D) 錯誤:
常態分佈(鐘形曲線)是用來描述如身高、體重、考試成績等連續型數據的分佈。而每分鐘進來的來電通數是「0, 1, 2, 3」這種非負的離散整數,因此不適合用連續型的常態分佈來建模。

卜瓦松製程雙子星:卜瓦松分佈 vs 指數分佈

機率分佈模型 關注的焦點核心 變數型態 實務業務應用場景範例
卜瓦松分佈 (C) 固定時間內,事件發生了「幾次」? 離散型整數 (\(0, 1, 2\dots\)) 這分鐘客服中心會進來幾通電話?
這小時網站會進來幾個黑客點擊?
指數分佈 (B) 事件與事件之間,隔了「多久」? 連續型時間 (\(t \ge 0\)) 接完這通電話,要再等幾分鐘下一通才會響?
工廠的這台發電機還要運轉多久才會壞掉?

解題關鍵:看到機率題問 「固定時間/空間內,算某事件發生的『次數』」,解題直覺秒選 「卜瓦松分佈(Poisson)」。如果題目問的是 「要等多久(時間間隔)」,那才是 「指數分佈(Exponential)」 的地盤。分清「計次」與「計時」,這類題型就能輕鬆秒殺。


16. 某金融科技公司以Z分數(Z-Score)監控交易金額異常狀況。若交易金額平均為新台幣 2,000 元,標準差為 400 元,某筆交易金額為 3,200元,且公司以 |Z| ≥ 3 判定為異常值(Outlier),下列判斷何者最為正確?

(A) 該筆交易的Z分數為 3,應標記為異常值;
(B) 該筆交易的Z分數為 2.5,屬於合理變異範圍;
(C) 該筆交易的Z分數為 2,顯示模型標準差估計過高;
(D) 該筆交易的Z分數為 1.5,無須納入異常檢測

看解答

正確答案是 (A) 該筆交易的Z分數為 3,應標記為異常值。

這題考驗的是統計學中 Z分數(Z-Score) 的數學計算與其在金融異常偵測(拉裝預警)中的實務應用。

1. 帶入公式計算 Z分數
Z分數的標準公式為:
$$Z = \frac{X - \mu}{\sigma}$$
題目給定已知條件如下:
• 某筆交易金額(原始數值 \(X\))= \(3,200\) 元
• 交易金額平均值(\(\mu\))= \(2,000\) 元
• 標準差(\(\sigma\))= \(400\) 元
我們將數據代入公式中:
$$Z = \frac{3,200 - 2,000}{400} = \frac{1,200}{400} = 3$$
計算結果得知,該筆交易金額的 Z分數正好等於 3(代表這筆交易高於平均值整整 3 個標準差)。

2. 對比異常值判定門檻
• 公司的異常值判定規則是: 當 Z分數的絕對值 \(|Z| \ge 3\) 時,即判定為異常值。
• 本筆交易的 \(|Z| = |3| = 3\),剛好踩在判定的臨界點上(符合 \(\ge 3\) 的條件)。
• 因此,系統應當依法將這筆 \(3,200\) 元的交易標記為異常值(例如觸發風控阻斷或人工審核流程)。

Z分數計算與風控決策對照

交易金額 (\(X\)) 計算過程 最終 Z 分數 風控系統判定結果 (\(|Z| \ge 3\)
\(2,000\) 元 \((2000-2000)/400\) \(0\) 正常(完全符合平均水準)
\(2,800\) 元 \((2800-2000)/400\) \(2\) 在合理變異範圍內
\(3,200\) 元(本題) \((3200-2000)/400\) \(3\) (A) 異常值 (Outlier)!觸發風控標記。
\(600\) 元 \((600-2000)/400\) \(-3.5\) 異常值 (Outlier)!金額過低的異常。

解題關鍵:這是一題標準的「帶公式送分題」。看到數字直接心算:\((3200 - 2000) / 400 = 1200 / 400 = 3\)。算出 Z分數是 3 之後,對照題目給的門檻「大於等於 3 就是異常」,答案一目了然就是 A。


17. 某電商公司欲利用顧客行為資料建立消費預測模型,其中「會員等級」欄位包含「一般、白金、黑卡」三種類別。若模型採用梯度提升樹(Gradient Boosting Tree)演算法,資料科學家在進行特徵編碼時應特別注意下列何種情況?

(A) 應優先採用獨熱編碼(One-Hot Encoding),以減少類別之間的相依性與記憶體使用量;
(B) 直接使用標籤編碼(Label Encoding)可能使模型誤判類別間存在順序關係,導致特徵重要性偏誤;
(C) 使用目標編碼(Target Encoding)會自動消除過擬合(Overfitting)風險;
(D) 若類別數量較少,建議先使用主成分分析(Principal Component Analysis, PCA)進行降維

看解答

正確答案是 (B) 直接使用標籤編碼(Label Encoding)可能使模型誤判類別間存在順序關係,導致特徵重要性偏誤。

這題考驗的是將類別型資料(Categorical Data)進行編碼時的業務邏輯、模型特性(樹狀模型)與潛在風險評估。

(B) 為正確答案:
業務邏輯: 題目中的「會員等級(一般、白金、黑卡)」在實務上明顯具有等級高低與順序關係(Ordinal Data)。
Label Encoding 的潛在風險: 雖然標籤編碼會將其轉為整數(如 0, 1, 2),但若轉換時沒有依照業務邏輯的順序對齊(例如隨機編碼成:一般$\rightarrow 1$、黑卡\(\rightarrow 2\)、白金\(\rightarrow 3\)),就會打破原本「一般 \(<\) 白金 \(<\) 黑卡」的真實線性遞增關係。
對樹狀模型的影響: 梯度提升樹(Gradient Boosting Tree)這類樹狀模型在尋找特徵分割點(Split Point)時,會依賴數值的大小進行二元切分(例如 \(X \le 1.5\))。如果編碼順序錯亂,模型就必須用更多、更複雜的樹分支去強行擬合這種混亂的順序,這不僅會降低模型的學習效率,還會導致計算出來的「特徵重要性(Feature Importance)」指標嚴重失真、產生偏誤。

(A) 錯誤:
獨熱編碼(One-Hot Encoding)會將一個欄位拆編成多個維度的二元向量(0 或 1),這會增加(而非減少)記憶體的使用量。此外,它會把資料完全平等化,反而流失了會員等級原本寶貴的「順序性」資訊。

(C) 錯誤:
目標編碼(Target Encoding)是利用目標變數(Target)的平均值來為類別編碼。這種手法因為直接參照了答案,如果沒有搭配平滑化(Smoothing)或交叉驗證,反而是所有編碼手法中過擬合(Overfitting)風險最高的一種。

(D) 錯誤:
題目已表明類別數量極少(只有 3 個類別),根本沒有維度過高的問題。此時使用主成分分析(PCA)進行降維完全是畫蛇添足,只會白白損失資料的解釋性。

會員等級(順序型資料)的特徵工程最佳解

在機器學習實務中,面對「有順序關係」的類別特徵,最合適的手法其實是 序數編碼(Ordinal Encoding)。

編碼手法 轉換範例 是否保留順序性 樹狀模型適用評估
正確的 Ordinal Encoding 一般 \(\rightarrow 0\)
白金 \(\rightarrow 1\)
黑卡 \(\rightarrow 2\)
是(完美對齊業務邏輯) 最佳。 樹狀模型能用最少的樹結構,完美識別出等級越高效益越大的非線性關係。
錯誤的 Label Encoding (B) 一般 \(\rightarrow 1\)
黑卡 \(\rightarrow 2\)
白金 \(\rightarrow 3\)
否(順序與業務邏輯錯亂) 較差。 導致模型誤判大小關係,造成特徵重要性評估偏誤。

解題關鍵:看到欄位是具有階級含義的 「會員等級(一般、白金、黑卡)」,就要立刻意識到它屬於「順序型資料」。這類資料如果無腦直接套用普通的 Label Encoding,只要數字沒有對齊真實階級,就會讓依賴數值切分的梯度提升樹(GBT)產生邏輯混亂,進而導致特徵重要性偏誤。


18. 某人工智慧團隊使用分散式資料庫(Distributed Database)儲存模型訓練資料,並在更新訓練樣本時啟用多節點交易。若其中一個節點在交易過程中發生錯誤,但系統仍確保整體資料不會出現部分更新、最終狀態維持一致,下列何者最能說明此現象?

(A) 系統透過原子性(Atomicity)確保交易必須全部成功或全部回復(Rollback);
(B) 系統透過一致性(Consistency)確保交易完成後資料符合完整性規則;
(C) 系統透過隔離性(Isolation)避免多筆交易同時存取或修改相同資料;
(D) 系統透過持久性(Durability)確保交易一旦提交,其結果將永久保留於資料庫中

看解答

正確答案是 (A) 系統透過原子性(Atomicity)確保交易必須全部成功或全部回復(Rollback)。

這題與第 7 題的核心觀念相呼應,同樣考驗資料庫 ACID 特性 的定義。但本題將情境拉到了難度更高的「分散式資料庫(Distributed Database)」與「多節點交易」中。

(A) 為正確答案:

題目情境拆解: 題目提到「其中一個節點在交易過程中發生錯誤」,這代表在分散於不同伺服器的多個節點中,有些節點成功了,但至少有一個節點失敗了。

原子性(Atomicity)的發揮: 系統在此時「確保整體資料不會出現部分更新、最終狀態維持一致(即回到完全沒更新前的狀態)」,這正是經典的 All-or-Nothing(全有或全無) 原則。

在分散式系統中,這通常是透過 兩階段提交協定(Two-Phase Commit Protocol, 2PC) 等機制來落實原子性。只要參與交易的任何一個節點舉手說「我失敗了」,分散式交易管理器就會對所有節點發出 回復(Rollback) 指令,把已經寫入的局部資料全部擦掉,確保整個資料庫「不可分割」,故 (A) 是最直接且正確的描述。

(B) 錯誤:

一致性(Consistency)關注的是資料在交易前後必須符合「業務規則與約束」(例如:帳戶餘額不能為負數、外鍵約束等)。題目強調的是「不允許只更新一部分」的行為控制,這是原子性的管轄範圍。

(C) 錯誤:

隔離性(Isolation)關注的是「多個併發交易(Concurrency)」同時執行時如何互不干擾。題目只探討「某一筆多節點交易內部」自己發生錯誤時的處理,並未涉及多筆交易同時搶奪資源的情境。

(D) 錯誤:

持久性(Durability)確保的是交易成功「提交(Commit)」後,就算機房突然斷電,資料也絕對不會遺失。題目中的交易因為遇到節點錯誤而失敗,根本沒有成功提交,因此與持久性無關。

ACID 於分散式架構下的解讀

ACID 特性 分散式架構下的核心挑戰與落實 本題情境對應點
原子性 (Atomicity) 多節點間必須同步 Commit 或 Rollback,不允許部分成功。 一個節點出錯,整體不出現部分更新 (A)。
一致性 (Consistency) 各節點的資料狀態轉換必須同時滿足資料庫的 Schema 約束。 資料在交易前後都必須是合法狀態。
隔離性 (Isolation) 跨節點的鎖定機制(如分散式鎖),避免多個使用者同時改同一筆資料。 併發交易間的防干擾。
持久性 (Durability) 確保資料寫入各節點的非揮發性記憶體(硬碟/日誌)中。 成功提交後的抗風險能力。

解題關鍵:不管資料庫是單機還是「分散式多節點」,只要題目抓到 「發生錯誤 \(\rightarrow\) 確保不會只更新一部分 \(\rightarrow\) 維持原本的一致(全成功或全失敗)」 這樣的邏輯,考點百分之百就是 原子性(Atomicity)。分散式系統只是用來包裝基本觀念的進階背景字眼。


19. 某製造企業導入上萬台物聯網(IoT)感測器以進行設備健康監測。系統需在毫秒級回應異常事件,並同時將完整資料保留於雲端供後續 AI 模型訓練與分析。若企業希望兼顧即時性、資料完整性與可擴展性,下列哪一種資料流程設計最符合此目標?

(A) 感測器 → 雲端 API Gateway → 分散式資料庫→ 批次特徵工程(→ 模型推論;
(B) 感測器 → MQTT Broker → 雲端資料倉儲→ 即時儀表板→ 模型再訓練;
(C) 感測器 → 邊緣運算節點→ 流式資料處理框架(Stream Processing Framework)→ 雲端資料湖→ 模型推論;
(D) 感測器 → 本地快取層→ RESTful API → 雲端報表系統)→ 模型批次更新

看解答

正確答案是 (C) 感測器 → 邊緣運算節點 → 流式資料處理框架(Stream Processing Framework) → 雲端資料湖 → 模型推論。

這題考驗的是大數據、物聯網(IoT)與機器學習維運(MLOps)中的高階資料管道(Data Pipeline)架構設計。題目中企業面臨的痛點非常明確:

即時性需求高: 需在「毫秒級」回應異常(例如:機台漏油、震動過大需立刻停機)。

資料量極大: 擁有「上萬台」感測器。

資料完整性與可擴展性: 完整資料要保留在雲端,供後續 AI 模型訓練。

(C) 為最完美的架構設計(黃金組合):

邊緣運算節點(Edge Computing): 如果把上萬台感測器每毫秒產生的數據全部直接傳到雲端,網路頻寬會直接癱瘓,且雲端來回的網路延遲(Latency)根本無法滿足「毫秒級回應」。透過邊緣運算(在工廠在地的閘道器或輕量設備上),可以在第一線、最貼近感測器的地方進行初步篩選與即時異常警報,完美解決毫秒級的即時性需求。

流式資料處理框架(Stream Processing,如 Kafka + Flink/Spark Streaming): 負責高吞吐、低延遲地消化從邊緣端上傳的連續資料流。

雲端資料湖(Data Lake,如 AWS S3, Azure Blob): 資料湖非常適合儲存海量、非結構化或半結構化的原始物聯網時間序列數據(Time-series data),其儲存成本極低且擴展性極佳,完美兼顧了資料完整性與後續訓練 AI 模型所需的大量歷史資料來源。

(A) 錯誤:

使用「批次特徵工程(Batch Feature Engineering)」通常代表資料要先落盤,每隔幾小時或一天才跑一次計算,這完全無法做到「毫秒級回應」。

(B) 錯誤:

資料倉儲(Data Warehouse,如 BigQuery, Snowflake)通常適合儲存結構化、清理過的業務資料。直接將上萬台感測器每毫秒產生的龐大原始數據(Raw data)灌進資料倉儲,會引發驚人的儲存與計算成本(Cost),在可擴展性與經濟效益上並非最佳解,且缺少了第一線邊緣運算的毫秒級過濾。

(D) 錯誤:

「RESTful API」採用的是 HTTP 協定(三向交握、標頭龐大),屬於一種「請求-回應(Request-Response)」的同步模式,完全不適合用來承載物聯網上萬台設備高頻率、高吞吐的即時連續資料傳輸;且「雲端報表系統」屬於後端被動查看工具,無法做到毫秒級的主動異常推播。

物聯網(IoT) Lambda / Kappa 現代架構對比

資料管道節點 在本題情境中所扮演的關鍵角色 解決的商務/技術痛點
邊緣運算 (Edge) 在工廠本地端直接進行毫秒級的異常判斷與報警。 解決「毫秒級回應」的時效痛點(避開網路延遲)。
流式處理 (Stream) 負責即時數據的分流、清洗與動態特徵提取。 處理上萬台裝置併發的高吞吐量。
資料湖 (Data Lake) 廉價且無限擴展地封存所有的歷史感測器明細數據。 滿足「資料完整性」,提供後續 AI 重新訓練的養分。

解題關鍵:物聯網架構考題中,只要看到 「上萬台設備(巨量)」 加上 「毫秒級回應(極速延遲要求)」,解題的標準起手式一定是 「邊緣運算(Edge Computing)先在現場處理」。只要選項中帶有邊緣運算,再搭配負責存原始大數據的「資料湖」,基本上就是現代工業 4.0 健康監測系統的標準模範答案。


20. 某銀行計畫將信用風險評估模型部署至雲端平台,以便即時分析客戶交易行為。由於涉及大量敏感金融資料,銀行要求雲端服務商在不解密原始資料的情況下仍能執行模型運算。為達成此目標,最適合採用下列哪一項技術?

(A) 在上傳資料前進行匿名化(Anonymization),僅保留可識別代碼供比對使用;
(B) 利用雜湊(Hash)函數轉換資料,以確保模型可追蹤但無法還原個資;
(C) 採用資料本地化(Data Localization)策略,將所有模型訓練限制於內部伺服器中;
(D) 透過同態加密(Homomorphic Encryption),讓雲端系統能直接在加密資料上執行運算,解密後結果與原始資料一致

看解答

正確答案是 (D) 透過同態加密(Homomorphic Encryption),讓雲端系統能直接在加密資料上執行運算,解密後結果與原始資料一致。

這題考驗的是金融科技(FinTech)與隱私計算中的核心資安防護技術,且與第 13 題的觀念完全相同。

(D) 為正確答案:
題目關鍵字: 「在不解密原始資料的情況下仍能執行模型運算」。
技術對應: 這正是 同態加密(Homomorphic Encryption, HE) 獨一無二的物理特性。它允許將客戶的敏感金融資料(如交易金額、資產狀況等)在本地加密後傳送至雲端。雲端的 AI 模型可以直接對這些「密文」進行矩陣乘法與加法等數學運算。運算完成後,銀行下載結果並用自己的私鑰解密,就能得到正確的信用風險評估分數。
這種做法達成了「資料可用不可見」的最高安全境界,完美滿足銀行對外包雲端運算與隱私保護的嚴苛要求。

(A) 錯誤:
匿名化(Anonymization)或去識別化雖然能隱藏客戶的真實身分(如姓名、身分證字號),但無法防止交易金額等特徵數據在雲端被窺探。此外,它與題目要求「在加密狀態下做模型運算」的機制無關。

(B) 錯誤:
雜湊(Hash)函數(如 SHA-256)是單向不可逆的轉換,主要用於密碼驗證或資料完整性校驗。將金融數據(如金額 \(32,000\))雜湊後會變成一串毫無數學規律的亂碼(如 a1c2e4...),模型完全無法對雜湊值進行連續型的加減乘除運算。

(C) 錯誤:
資料本地化(Data Localization)是指將資料留在國內或企業內部的私有雲/地端伺服器中。但題目開宗明義已經表示「銀行計畫將信用風險評估模型部署至雲端平台」,因此硬鎖在地端的做法與題意情境相左。

金融隱私數據保護技術實務對比

技術方案 雲端能否直接運算 資料的可還原性 金融場景適用性評估
匿名化處理 (A) 可以,但只能算結構化欄位。 無法還原身分。 適合用於批次製作去識別化的研究數據集。
雜湊函數 (B) 不行。數值會失去數學連續性。 完全無法還原。 適合用於密碼儲存、數位簽章與防竄改驗證。
同態加密 (D) 可以!模型能直接對密文運算 (D)。 解密後與原資料 100% 一致。 最佳解。 完美兼顧「雲端算力」與「極端隱私保護」。

解題關鍵:這題是第 13 題的「實務應用延伸題」。不論題目包裝成「客服、醫療」還是本題的「銀行信用風險」,只要在資安密碼學考題中看到 「不解密」 加上 「直接執行運算」 這兩個違背傳統密碼學常理的黃金組合字眼,答案毫無懸念,唯一指名 「同態加密(Homomorphic Encryption)」。


21. 某資料分析師設計在業務績效報告時,希望單一頁面中同時呈現多區域、不同產品線的銷售趨勢變化,並確保主管能在短時間內掌握整體資料走向。若依據 Edward Rolf Tufte 的數據密度(Data Density) 原則,下列哪一種設計方式最能符合該概念?

(A) 將每個區域的銷售資料分成多張獨立折線圖,以避免資訊重疊;
(B) 使用顏色區分產品線,於同一圖表中整合多區域趨勢線,保持比例一致且標註清晰;
(C) 移除所有輔助線與標籤,僅保留主要折線以凸顯趨勢;
(D) 將資料轉換為表格形式,確保數值精確呈現並取代圖表視覺化

看解答

正確答案是 (B) 使用顏色區分產品線,於同一圖表中整合多區域趨勢線,保持比例一致且標註清晰。

這題考驗的是資料視覺化大師 愛德華·塔夫特(Edward Tufte) 的核心理論——數據密度(Data Density)原則,以及在商務儀表板(Dashboard)設計中的實務應用。

Tufte 數據密度的核心定義:
塔夫特在其著作中提出,一個好的資料圖表應該要在有限的網頁頁面或紙張空間內,向讀者傳遞最大量的有效資訊。他非常推崇高數據密度的設計,例如他發明的 「微線圖(Sparklines)」 或將多個子圖排列在一起的 「小多面圖(Small Multiples)」,都是為了讓決策者能在一眼之間進行「高密度的數據對比」。

(B) 為正確答案:

題目要求在「單一頁面」中同時呈現「多區域、不同產品線」的趨勢。

選項 (B) 透過顏色區分產品線,並在同一圖表中(或利用多維網格)整合多區域趨勢,這能在極高的數據密度下保持資料的組織性。主管在同一個視覺框架內,不需要切換分頁或翻頁,就能秒級完成跨區域、跨產品線的巨觀對比,完美符合 Tufte 「高數據密度、利於並行比較(Parallel Comparison)」 的最高指導原則。

(A) 錯誤:

將每個區域拆成多張「獨立」圖表,會迫使主管在不同的視覺區塊、甚至不同分頁之間來回移動視線。這種做法降低了單一頁面的數據密度,增加了記憶負擔,違反了 Tufte 對於資料對比的流暢性要求。

(C) 錯誤:

Tufte 雖然提倡最大化「資料墨水比(Data-Ink Ratio)」,主張移除「垃圾裝飾(Chartjunk)」,但並不是盲目地移除所有具備功能性的輔助線與標籤。如果完全沒有任何標籤與座標提示,圖表會徹底失去閱讀基準,這不叫高數據密度,這叫資訊缺失。

(D) 錯誤:

雖然表格在某些精確數據查閱上很有用,但面對「銷售趨勢變化(多變量時間序列數據)」時,密密麻麻的純數字表格會極大地減慢人腦捕捉「走向、拐點、交叉趨勢」的速度。主管很難在短時間內掌握整體走向,這抹殺了圖表視覺化的初衷。

Edward Tufte 資料視覺化三大黃金法則速記

核心原則名稱 統計大師 Tufte 的核心主張 實務設計反例(避坑指南)
數據密度 (Data Density) (B) 在有限的圖表空間內,最大化展示有效資訊的總量 (B),促成高效率的並行對比。 為了美觀把資訊稀釋到好幾頁,讓讀者狂滑滑鼠。
資料墨水比 (Data-Ink Ratio) 每一滴墨水(或像素)都要用在刀口上(用來表達數據)。 畫一堆花哨的 3D 立體柱狀圖、沒意義的背景網格(圖表垃圾)。
小多面圖 (Small Multiples) 用一組設計結構一模一樣、比例尺完全對齊的小圖並排呈現。 各區域的圖表大小不一、X軸/Y軸刻度不一致,讓人無法對齊比較。

解題關鍵:看到 Edward Tufte 與 「數據密度(Data Density)」 的結合,大腦直接彈出核心思維:「在主管看得到的一眼範圍內(單頁),塞入最高效率、方便互相比較的關鍵資訊」。因此,透過清晰的色彩管理與對齊的比例(保持一致),在同一個版面或圖表系統中展現多維度的趨勢(選項 B),是最能發揮高數據密度價值的設計。


22. 某投資研究員希望分析四檔科技類股(A、B、C、D)每日報酬率的變化趨勢,以判斷這些股票之間是否存在高度相關性與共變動性,並評估投資組合分散風險的程度。若研究員希望以單一圖表快速呈現各股票間的關聯強度與方向,下列哪一種視覺化呈現方式最適合?

(A) 為每檔股票各自繪製直方圖(Histogram)以比較報酬率分佈;
(B) 針對任兩檔股票繪製散佈圖並加上趨勢線(Regression Line);
(C) 使用雙軸折線圖(Dual-axis Line Chart)同時顯示四檔股價變化;
(D) 熱力圖(Heatmap)配合相關係數矩陣(Correlation Matrix)

看解答

正確答案是 (D) 熱力圖(Heatmap)配合相關係數矩陣(Correlation Matrix)。

這題考驗的是金融投資分析與資料科學中,如何選擇最適合的視覺化工具來呈現多變量(四檔股票)之間的「相關性(Correlation)與共變動性」。

(D) 為最完美的視覺化方案:
業務目標: 研究員有 A、B、C、D 四檔股票,如果想知道它們彼此之間的兩兩相關性,就會形成一個 \(4 \times 4\) 的相關係數矩陣(總共包含 6 個不重複的兩兩配對組合)。
熱力圖的威力: 熱力圖配合相關係數矩陣 是資料科學中專門用來處理多變量相關性的黃金標準。它將相關係數的數值(\(-1\) 到 \(+1\))直接映射到顏色的深淺與色調上(例如:深紅色代表高度正相關,深藍色代表高度負相關)。研究員只要看一眼,就能從顏色的分佈在單一圖表中瞬間抓出哪幾檔股票走勢亦步亦趨、哪幾檔能有效分散風險,這完全符合「單一圖表快速呈現」與「高數據密度」的要求。

(A) 錯誤:
直方圖(Histogram)只能呈現「單一」變數的資料分佈狀況(如 A 股報酬率的胖瘦、偏態)。各自畫四張直方圖,完全無法看出股票兩兩之間的「動態相關性」與「方向」。

(B) 錯誤:
散佈圖(Scatter Plot)確實能呈現兩兩關聯,但它一次只能處理「兩個」變數。四檔股票(A、B、C、D)如果要畫散佈圖,研究員必須畫出 \(C_2^4 = 6\) 張獨立的散佈圖(即 A-B, A-C, A-D, B-C, B-D, C-D)。這不符合題目要求的「單一圖表」,會讓版面變得零碎,不易一眼進行整體投資組合的分散風險評估。

(C) 錯誤:
雙軸折線圖(Dual-axis)最多只能在左右兩側放「兩個」不同尺度的 Y 軸。把四檔股票的股價或報酬率硬塞進去,圖表線條會交叉雜亂、變成一團亂麻(Spaghetti Chart),不僅難以閱讀,也無法直觀地給出定量的相關係數強度。

多股票資產相關性分析之視覺化工具評估

視覺化方法 能否放在「單一圖表」 判斷多資產關聯性的效率 投資組合風控實務應用
各自畫直方圖 (A) 不行(需拆四張圖) 極差(看不到連動關係) 僅能看單一科技股的波動風險(不純度/偏態)。
兩兩散佈圖 (B) 不行(需拆六張圖) 良好,但資料散落。 適合深入研究某兩檔龍頭股(如 TSMC 與聯發科)的非線性關係。
相關係數熱力圖 (D) 可以(完美融合 \(4 \times 4\) 矩陣) 極佳!顏色深淺一目了然 (D)。 風控標配。一眼看出哪些股票高度同質化(無法分散風險)。

解題關鍵:看到題目要找 「多檔股票(多變量)」、「兩兩之間的相關性/共變動性(Correlation)」,並且指定要 「單一圖表快速呈現」,解題直覺就是秒選 「熱力圖(Heatmap) + 相關係數矩陣」。這是現代量化投資研究員與資料科學家在做特徵分析、資產配置時,最常用也最直觀的視覺化利器。


23. 某研究團隊以單樣本t檢定(one-sample t-test)檢驗「新行銷策略後的平均月銷售額是否與原本的 100 萬元不同」,顯著水準設定為 α=0.05。檢定結果顯示:p值=0.08,且95%信賴區間為 [95 萬元, 108 萬元]。根據上述結果,下列敘述何者正確?

(A) 因p值< 0.05,可拒絕虛無假設;
(B) 若顯著水準改為0.10,仍不顯著;
(C) 因100 萬元落在信賴區間內,無法拒絕虛無假設;
(D) 信賴區間寬度僅與顯著水準有關

看解答

正確答案是 (C) 因 100 萬元落在信賴區間內,無法拒絕虛無假設。

這題考驗的是推論統計學中 假設檢定(Hypothesis Testing)、p值(p-value) 與 信賴區間(Confidence Interval, CI) 之間的對等對應關係。

(C) 為正確答案:
雙尾檢定與信賴區間的對等性: 在顯著水準 \(\alpha = 0.05\) 下,進行雙尾檢定(檢驗是否「不同」)與 \(95\%\) 信賴區間(\(1 - \alpha\))具有完全一致的數學邏輯。
解題關鍵邏輯: 虛無假設(\(H_0\))設定的數值是 \(\mu = 100\) 萬元。而算出來的 \(95\%\) 信賴區間為 [95 萬元, 108 萬元]。既然 \(100\) 萬元正好落在這個信賴區間內,代表原本的 100 萬元仍然是一個「具統計學合理性、有可能的真實平均值」。
因此,我們無法拒絕虛無假設(也就是新策略後的銷售額與原本 100 萬元在統計上沒有顯著差異)。這與 \(p\text{值} = 0.08 > 0.05\) 導致「無法拒絕 \(H_0\)」的結論完全脗合。

(A) 錯誤:
題目已清楚給出 \(p\text{值} = 0.08\)。在顯著水準 \(\alpha = 0.05\) 的情況下,\(p\text{值} (0.08) > 0.05\),因此是 無法拒絕(或稱接受)虛無假設,而非拒絕。

(B) 錯誤:
如果將顯著水準改為 \(\alpha = 0.10\)(此時信心水準降為 \(90\%\)),此時 \(p\text{值} (0.08) < \alpha (0.10)\)。在這種情況下,結果就會變成「統計上顯著」,可以拒絕虛無假設。

(D) 錯誤:
信賴區間的寬度(精確度)受到多個變數影響,其公式為 \(CI = \bar{X} \pm t_{\alpha/2} \times \frac{s}{\sqrt{n}}\)。由此可知,區間寬度除了與 顯著水準(\(\alpha\)) 有關外,還與資料的 樣本標準差(\(s\),變異度) 以及 樣本數(\(n\)) 密切相關,並非僅與顯著水準有關。

\(p\)值、信賴區間與決策對照表(\(\alpha = 0.05\))

指標工具 計算結果數值 對照門檻 / 關係基準 最終統計決策與業務解讀
\(p\)值 \(0.08\) \(> 0.05\)(顯著水準 \(\alpha\)) 無法拒絕虛無假設。 銷售額沒有顯著改變。
信賴區間 [95, 108] 萬元 包含原本的 \(100\) 萬元基準 (C) 無法拒絕虛無假設。 基準值仍在合理可能範圍內。

解題關鍵:這題是統計學考試最愛考的「雙劍合璧」觀念題(\(p\)值與信賴區間)。 解題時大腦要建立一個鐵律:「基準值落在信賴區間之內 \(\iff\) \(p\text{值} > \alpha \iff\) 不顯著、無法拒絕虛無假設」。看到題目給的 100 萬元包含在 [95, 108] 的區間內,直接反射找「無法拒絕虛無假設」的選項,就能一秒鎖定 C。


24. 某企業建置生成式 AI 系統,利用大量客服紀錄與產品評論資料訓練語言模型,以自動生成客服回覆與知識摘要。由於資料來源多樣,且包含非結構化文字、影像與表格資訊,團隊希望在不降低模型效能的前提下,提升資料處理效率與一致性,下列哪一種資料處理策略最適合?

(A) 建立資料湖(Data Lake)結構,並以Apache Spark或Ray進行分散式資料預處理與特徵抽取,再串接至模型訓練管線(Pipeline);
(B) 採用單節點高效能伺服器搭配批次處理模式,集中執行資料清理與格式轉換;
(C) 將所有文字資料轉換為向量,並以資料庫索引方式直接餵入語言模型訓練;
(D) 使用生成式模型先行自動清理資料內容,再將結果輸入至下游訓練流程

看解答

正確答案是 (A) 建立資料湖(Data Lake)結構,並以 Apache Spark 或 Ray 進行分散式資料預處理與特徵抽取,再串接至模型訓練管線(Pipeline)。

這題考驗的是現代大語言模型(LLM)與生成式 AI(Generative AI)系統建置時的巨量資料工程(Data Engineering)與 MLOps 架構選型。題目中企業面臨的資料挑戰有三個核心關鍵字:「大量(巨量規模)」、「多樣(包含非結構化文字、影像與表格)」、以及「提升資料處理效率與一致性」。

(A) 為最適合的架構策略(現代 AI 的標準解法):

資料湖(Data Lake): 面對文字、影像、表格等多元的「多模態(Multimodal)」原始資料,傳統的關聯式資料庫或資料倉儲(Data Warehouse)無法直接承載。資料湖具備極高的擴展性,能以原始格式(Raw format)包容任何結構化、半結構化與非結構化的海量資料,完美解決「資料來源多樣」的儲存痛點。

Apache Spark / Ray: 這是現代資料工程中最主流的分散式運算引擎(Distributed Computing Engines)。Spark 擅長大規模資料的 ETL、Ray 則在機器學習的分散式特徵抽取與矩陣運算上表現極佳。透過它們將資料切片分配給多個節點同時運算,能大幅縮短預處理時間,滿足「不降低效能、提升處理效率與一致性」的要求。

(B) 錯誤:

面對「大量」客服紀錄與多模態影像資料,單節點(Single node)伺服器就算規格再高,也會因為記憶體(RAM)瓶頸或單一 CPU/GPU 計算限制而形成嚴重的效能硬傷(Scale-up 的極限)。在資料工程中,面對巨量數據應優先選擇分散式(Scale-out)架構。

(C) 錯誤:

將文字轉成向量並透過向量資料庫(Vector Database)進行索引,這是 RAG(檢索增強生成) 技術在「推論/檢索階段」的常見做法。但題目強調的是模型的「訓練管線(Pipeline)與資料預處理階段」。在訓練模型前,影像和表格無法只靠文字向量化索引就直接餵進去,必須先經過清洗、對齊與特徵抽取等標準資料工程流程。

(D) 錯誤:

雖然用 LLM 來清理資料(如代標籤、清洗髒資料)在小規模實驗中可行,但面對「大量」客服紀錄時,直接呼叫生成式模型去清理海量原始資料會帶來極其高昂的算力成本(Token Cost/GPU 運算費)與極慢的處理速度,且生成式模型具有幻覺(Hallucination)風險,無法保證結構化與非結構化資料清洗時的「一致性」。

生成式 AI 數據基礎建設技術選型對比

技術維度 方案 (B):單機批次處理 方案 (D):AI 自行清理 方案 (A):分散式資料湖管線
多模態資料相容性 差(難以高效同時處理圖文)。 良好。 極佳(資料湖天然支持任何格式原始檔案)。
處理效率(海量數據) 慢(容易卡在單機效能瓶頸)。 極慢(受限於模型推論速度)。 極快(Spark/Ray 分散式並行計算)(A)。
穩定性與一致性 良好。 較差(模型可能產生幻覺或隨機性)。 極佳(透過程式碼與 Pipeline 確保資料一致)。

解題關鍵:在生成式 AI 或大數據架構題中,只要看到 「海量/大量數據」、「多樣化資料類型(非結構化、多模態)」,底層儲存的唯一指名就是 「資料湖(Data Lake)」。再搭配為了提升運算效率而採用的 「分散式運算框架(如 Spark、Ray)」,這兩者的結合(選項 A)就是現代 AI 模型訓練前置資料工程的標準教科書答案。


25. 某電商資料團隊繪製顧客單筆消費金額的箱型圖後發現:四分位距(IQR)範圍極小,但上鬚線拉得很長,且在高金額區域有多筆離群值。若希望協助行銷部門依據消費層級設計分群策略,下列哪一種視覺化方式最有助於凸顯不同消費層級間的差異?

(A) 以對數刻度繪製箱型圖或長條圖,放大高金額消費族群的變化差異;
(B) 移除所有離群值,確保資料呈現集中分布;
(C) 採用等距分箱(Equal-Width Binning)方式分群;
(D) 改以折線圖(Line Chart)觀察時間變化趨勢

看解答

正確答案是 (A) 以對數刻度繪製箱型圖或長條圖,放大高金額消費族群的變化差異。

這題考驗的是資料視覺化與探索性資料分析(EDA)中,如何處理嚴重右偏(Right-Skewed)且包含極端大值的數據,並將其轉化為對業務有價值的決策圖表。
• 題目情境拆解(右偏分佈):
「四分位距(IQR)極小、上鬚線極長、高金額有多筆離群值」,這在電商領域是非常經典的 「長尾效應(Long-tail Effect)」。
這代表高達 70%~80% 的一般顧客,單筆消費金額都擠在很低的區間(導致 IQR 窄小);但少數的「 VVIP 貴客」或「大宗代購客」消費金額極高(拉長了上鬚線並形成離群值)。

(A) 為正確答案(最佳視覺化策略):
為什麼要用對數刻度(Log Scale): 由於一般客與 VVIP 的金額相差可能達數十、數百倍,如果用傳統的線性刻度(Linear Scale),高金額區域的差異會被嚴重壓縮,在圖表上看起來就像幾顆擠在一起的黑色小點,行銷部門根本無法看出這些高消費客群內部「是一群消費 5 萬的,還是有消費 50 萬的差異」。
透過將 Y 軸或 X 軸改為對數刻度(如 \(\log_{10}\) 刻度),可以把原本擠在一起的低金額區拉開,同時把高金額區的極端間距「等比例壓縮」,讓整個數據分佈更接近常態分佈。這樣一來,行銷部門就能在單一圖表中,清晰地看到不同高消費層級客群的數量與分佈結構,進而精準設計分群策略。

(B) 錯誤:
這些高金額的「離群值」是電商貢獻營收、設計行銷分群時最珍貴的 VVIP 核心客群資料(精準行銷的靈魂)。如果直接將其無腦移除,雖然圖表看起來會變得很對稱、很漂亮,但卻直接抹殺了高消費層級的業務細節,完全無法協助行銷部門作分群。

(C) 錯誤:
等距分箱(Equal-Width Binning) 是把最大值到最小值之間切成等寬的區間。因為本題最大值極大,如果用等距切分,會導致第一個箱子(如 0~10 萬元)塞了 99% 的一般人,而後面的箱子(如 10~20萬、20~30萬)幾乎是空的、或是只有小貓兩三隻。這會失去特徵解析度,對右偏資料來說是最差的分箱選擇。此時應該採用「等頻分箱(Equal-Frequency Binning)」或「自訂業務邏輯分箱」。

(D) 錯誤:
題目明確要求要「依據消費層級設計分群策略(靜態的結構分析)」,而不是要看業績隨日期的上下起伏。改用折線圖觀察時間趨勢,屬於答非所問。

電商長尾消費數據的視覺化策略對比

處理方案 數據分佈變化 視覺化呈現效果 對行銷分群的實務價值
線性刻度 + 原始數據 嚴重右偏。 90% 的資料擠在最底端的一點點空間,高價區呈現疏落的小點。 差。看不清 VVIP 內部到底是 5 萬還是 50 萬。
對數刻度轉換 (A) 右偏被校正,分佈變均勻。 高、低消費區間的細節被同時放大,層級界線清晰 (A)。 極佳!能完美辨識出次級核心客與頂級 VVIP 的斷點。
移除離群值 (B) 資料被迫集中。 只剩一般大眾的消費圖表。 毫無價值(把最賺錢的客群資料直接丟棄)。

解題關鍵:看到題目描述 「金額分佈不均、右偏、高價位有長尾離群值」 且目的是為了 「放大、凸顯高金額族群的變化差異」,在資料科學與資料視覺化中,標準的不二法門就是秒選 「對數刻度(Log Scale / 對數轉換)」。這是把右偏長尾資料拉回人類肉眼可讀解析度的最核心視覺化技巧。


26. 某串流影音平台運用關聯規則學習(Association Rule Learning)分析用戶的觀影行為,發現若使用者觀看了科幻影集,則有較高機率接著觀看超級英雄電影。分析顯示,同時觀看這兩種類型的使用者約佔全部觀影紀錄的12%,而觀看科幻影集的使用者中,有50%也觀看了超級英雄電影,該規則的提升度(Lift)為1.8。根據上述資訊,下列哪一項推論最為正確?

(A) 支持度(Support)過低,代表此規則不具任何商業價值;
(B) 提升度(Lift)大於 1 表示兩種類型內容無關,僅屬於隨機重疊;
(C) 信賴度(Confidence)為 50%,代表觀看科幻影集者有明顯傾向觀看超級英雄電影;
(D) 同時觀看比例僅12%,代表兩種類型互相排斥

看解答

正確答案是 (C) 信賴度(Confidence)為 50%,代表觀看科幻影集者有明顯傾向觀看超級英雄電影。

這題考驗的是資料探勘(Data Mining)與推薦系統中,購物籃分析最核心的 關聯規則學習(Association Rule Learning,如 Apriori 演算法) 的三大關鍵指標:支持度(Support)、信賴度(Confidence) 與 提升度(Lift) 的數值解讀。
我們將題目的業務情境與數據,對應到關聯規則公式:
• 規則設定:{觀看科幻影集} ➔ {觀看超級英雄電影}(即 X ➔ Y)

指標數據對齊與解讀
• 支持度(Support)= 12%:
定義: 同時觀看 X 與 Y 的紀錄佔「全平台總觀影紀錄」的比例。
題目數據: 「同時觀看這兩種類型的使用者約佔全部觀影紀錄的 12%」,因此 Support = 0.12。在動輒百萬、千萬用戶的串流影音平台(如 Netflix、Disney+),有 12% 的總紀錄同時包含這兩者,是一個非常巨大且極具商業價值的比例。

• 信賴度(Confidence)= 50%:
定義: 在購買/觀看 X 的群體中,有多少比例也購買/觀看了 Y。其公式為:
$$\text{Confidence}(X \rightarrow Y) = \frac{\text{Support}(X \cap Y)}{\text{Support}(X)}$$
題目數據: 「觀看科幻影集的使用者中,有 50% 也觀看了超級英雄電影」,代表信賴度為 50%(0.50)。
業務含意: 每兩個看過科幻影集的用戶,就有一位會接著看超級英雄電影,這呈現了極為明確且強烈的觀影行為傾向,故 (C) 敘述完全正確。

• 提升度(Lift)= 1.8:
定義: 在得知用戶看過 X 的情況下,其觀看 Y 的機率,是「一般大眾盲看 Y 的平均機率」的幾倍。公式為:
$$\text{Lift}(X \rightarrow Y) = \frac{\text{Confidence}(X \rightarrow Y)}{\text{Support}(Y)}$$
解讀準則:
\(\text{Lift} > 1\):代表 X 與 Y 之間有正相關。看 X 會「提升」看 Y 的機率。
\(\text{Lift} = 1\):代表 X 與 Y 獨立無關,純屬隨機巧合。
\(\text{Lift} < 1\):代表 X 與 Y 負相關(互相排斥)。
題目數據: 本題 Lift = 1.8(大於 1),代表透過「科幻影集」的推薦引導,用戶去觀看超級英雄電影的機率,比全平台大眾的平均盲看機率足足提高了 1.8 倍!這是一個非常成功的強力推薦規則。

其他選項錯誤原因:
• (A) 錯誤: 12% 的總支持度在實務的大數據中已經算高,且 Lift 達 1.8 具有極強的精準行銷、交叉推薦商業價值,絕非「不具商業價值」。
• (B) 錯誤: 提升度(Lift)大於 1 表示兩者具有「強烈的正相關與關聯性」,選項將其講成無關的隨機重疊,完全顛倒了密碼學與統計學定義。
• (D) 錯誤: 同時觀看比例 12% 是以「全平台所有類型(含愛情、恐怖、綜藝等)」為分母計算。在多分類的串流平台上,雙品項支持度達 12% 代表它們「高度集聚、互相吸引」,而非互相排斥。

關聯規則三大指標速查表

指標名稱 數學白話文 本題數值 業務決策含意
支持度 (Support) 全平台總紀錄裡,這兩類同時出現的機率。 12% 這個規則覆蓋的客群基數夠不夠大?(夠大)
信賴度 (Confidence) 看科幻片的人當中,順便看英雄片的比例。 50% (C) 看完 A 接著看 B 的推導機率有多高?(極高)
提升度 (Lift) 有推薦(看 A 買 B)比盲推(單純買 B)好幾倍? 1.8 大於 1 代表正相關。代表這個推薦方案非常精準!

解題關鍵:看到關聯規則考題,大腦迅速啟動核心條件:「Lift > 1 = 正相關(有效推薦)」、「看 X 的人當中有多少 % 看 Y = 信賴度(Confidence)」。題目提到「看科幻片的人之中有 50% 看英雄片」,這句話對應的統計名詞就是信賴度,因此對照選項 C 的敘述完全精準咬合。


27. 某金融科技公司分析每日上億筆交易資料,以監控客戶轉帳金額分佈與異常波動。由於資料量極大,為兼顧效率與準確度,團隊決定採用「近似分位數(Approximate Quantile)」方法進行資料摘要統計。下列何者最能正確反映該技術的核心目的?

(A) 確保每個分位值的結果完全精確,即使計算時間較長;
(B) 利用機器學習模型預測分位數位置,以減少統計計算量;
(C) 僅能對結構化資料進行批次處理,無法應用於即時資料流;
(D) 在可容忍誤差範圍內,快速估算分位值以支援即時分析

看解答

正確答案是 (D) 在可容忍誤差範圍內,快速估算分位值以支援即時分析。

這題考驗的是大數據架構(Big Data Architecture)與串流運算中,處理海量資料流(Data Streams)時常用的「近似演算法(Approximate Algorithms / Streaming Sketches)」核心哲學。

(D) 為正確答案:
大數據的痛點: 題目提到公司每日要處理「上億筆交易資料」。在傳統統計學中,要計算精確的百分位數(如中位數 P50、高載金額 P99),必須將上億筆資料全部載入記憶體並進行完全排序(Full Sort)。面對永無止境的即時資料流,這種做法會消耗極其恐怖的記憶體與 CPU 算力,根本不可能做到即時監控。
近似分位數的魔法: 為了兼顧時效性,工程上常使用如 T-Digest 或 Greenwald-Khanna (GK) 等流式摘要演算法。它們的核心邏輯是:「用極小的記憶體空間建立資料摘要(Sketch),在允許極小誤差(例如 \(\epsilon = 0.01\))的前提下,以毫秒級的速度估算出分位值」。對於風控系統來說,知道某筆轉帳金額是處於 P99 還是 P99.1 的差別微乎其微,但計算速度從「幾小時」縮短到「幾毫秒」,才是決定能不能即時攔截詐騙的關鍵。

(A) 錯誤:
這描述的是「精確分位數(Exact Quantile)」的特點。近似分位數的核心目的就是為了「犧牲一丁點絕對精確度,以換取極致的計算速度與空間效率」。

(B) 錯誤:
近似分位數是一套純粹的數據結構與統計學流式演算法(Sketches),透過動態合併相近的數據點來維持摘要,其背後是嚴謹的數學誤差邊界證明,並不需要部署或訓練一個「機器學習模型」來預測位置。

(C) 錯誤:
近似分位數演算法最擅長、最被廣泛應用的場景,恰恰就是傳統排序搞不定的「即時資料流(Real-time Data Streaming)」(例如結合 Apache Flink 或 Spark Streaming 進行滑動視窗統計)。

精確分位數 vs 近似分位數 技術對比

統計計算技術 記憶體消耗空間 計算時間延遲 適用業務場景
精確分位數 (Exact) 極高。必須吞下所有原始資料進行完全排序。 慢(隨資料量成非線性增加)。 財務年報審計、需要 100% 精準的科學實驗。
近似分位數 (Approximate) (D) 極低。只需幾 KB 到幾 MB 的 Sketch 摘要空間。 極快(毫秒級 O(1) 查詢)(D)。 每日上億筆交易的風控即時監控、電商流量秒級監測。

解題關鍵:在大數據領域中,只要看到關鍵字 「近似(Approximate)」 或 「基於 Sketch 的演算法」(如 HyperLogLog、T-Digest),其核心思想永遠都是在玩一場工程權衡(Trade-off):「在可容忍的微小誤差內,用極少的記憶體換取快如閃電的即時速度」。掌握這個大數據的核心思維,就能瞬間秒選 D。


28. 若在高維度(>500 維)的資料上應用DBSCAN(Density-Based Spatial Clustering of Applications with Noise)演算法,卻發現所有資料點皆被判定為雜訊(Noise),下列何者為最有可能的原因?

(A) 高維下距離變化趨同,導致 ε(Epsilon)閾值選擇失效;
(B) 使用錯誤的距離函數(Distance Function);
(C) MinPts參數設得太小;
(D) 資料過度標準化導致特徵消失

看解答

正確答案是 (A) 高維下距離變化趨同,導致 $\varepsilon$(Epsilon)閾值選擇失效。

這題考驗的是機器學習中非常經典的 「維度災難(Curse of Dimensionality)」 现象,以及它對基於距離和密度的分群演算法(如 DBSCAN)所帶來的致命衝擊。

(A) 為正確答案:
• 維度災難與距離趨同: 隨著資料維度急劇增加(題目給出 \(>500\) 維),在高維度的空間中,所有資料點之間的距離(無論是歐氏距離還是曼哈頓距離)會漸漸趨近於同一個固定數值。也就是說,「最遠點的距離」與「最近點的距離」其比例會趨近於 1。
• DBSCAN 演算法的盲點: DBSCAN 依賴一個核心參數 \(\varepsilon\)(Epsilon,鄰域半徑)。它會去計算每個點周圍 \(\varepsilon\) 範圍內的鄰居數量。
• 為什麼全部變成雜訊(Noise): 在 \(>500\) 維的空間中,高維空間的幾何體積呈指數級膨脹,資料點變得極其稀疏(如同撒在宇宙中的星塵)。如果 \(\varepsilon\) 設得太小,每個點的鄰域內都空無一人(鄰居數 \(<\) MinPts),所以每個點都會被判定為雜訊;相反地,如果把 \(\varepsilon\) 放大一點點,因為高維度下距離全部趨同,這個範圍又會瞬間把「全宇宙所有點」都圈進來,形成一個超級大巨大分群。因此在高維度下,調校出一個合理的 \(\varepsilon\) 閾值會徹底失效。

(B) 錯誤:
雖然選擇不適合的距離函數會影響分群效果,但高維度下「距離趨同」與「空間極度稀疏」是所有傳統距離函數(歐氏、馬氏、明氏距離等)共同面臨的數學物理特性。根本原因在於「維度過高」,而非選錯函數。

(C) 錯誤:
MinPts(形成核心點所需的最少鄰居數)如果設得「太小」(例如設為 1 或 2),只要點與點之間有微弱的交集就極易形成群集,反而「不容易」把所有點都判定為雜訊。通常是 MinPts 設得太大才會導致大家都變成雜訊。

(D) 錯誤:
資料標準化(Standardization)是特徵工程的標準步驟,目的是消除不同量綱的影響。它並不會讓特徵消失,更不是導致高維下 DBSCAN 全盤崩潰為雜訊的主因。

DBSCAN 核心引數與高維度影響

引數/現象 正常低維度表現 高維度(>500維)崩潰表現 實務標準解決方案
鄰域半徑 \(\varepsilon\) 能精準圈出局部高密度區域。 失效。 不是圈不到人(全變雜訊 A),就是一圈就圈到所有人。 先進行降維打擊:利用 PCA 降到低維,或使用 t-SNE / UMAP 投影後再進行分群。
最少點數 MinPts 決定抗噪能力的門檻。 由於鄰域內根本找不到點,此門檻形同虛設。 改用不依賴距離的「層次分群」或「基於機率模型的混合高斯模型(GMM)」。

解題關鍵:看到關鍵字 「高維度(>500維)」 加上 「DBSCAN 全變雜訊」 或 「距離失效」,直覺秒選 「維度災難导致的距離趨同 / Epsilon 失效(選項 A)」。在機器學習實務中,任何基於「距離計算」的算法(如 KNN、K-Means、DBSCAN),只要不先做降維就直接扔進高維度數據,基本上都會因為這個統計學黑洞而徹底失效。


29. 某團隊在開發風險評估模型時,使用主成分分析(Principal Component Analysis, PCA)進行降維。輸入資料包含三個數值欄位:「交易金額(單位:新台幣)」、「交易次數(次/月)」與「年齡(歲)」,其數值量級分別約為10⁵、10¹與10²。分析人員直接將原始數據帶入 PCA,結果第一主成分(PC1)幾乎完全由「交易金額」主導。下列哪一項作法或判斷最合理?

(A) 這是正常現象,金額本身變異較大,應主導主要成分;
(B) 若改用特徵選擇法,可自動解決變數量級問題;
(C) 可刪除「交易金額」欄位以平衡各主成分的影響;
(D) 在進行PCA前應先進行標準化(Standardization),以避免因數值尺度差異造成特徵偏誤

看解答

正確答案是 (D) 在進行 PCA 前應先進行標準化(Standardization),以避免因數值尺度差異造成特徵偏誤。

這題考驗的是非監督式學習中 主成分分析(PCA) 最核心的資料預處理限制——對數據尺度(Scale)的極高敏感性。

(D) 為正確答案:
• PCA 的數學原理: PCA 的核心目標是尋找「變異數(Variance)最大」的方向來作為主成分。它在計算時會依賴資料的共變異數矩陣(Covariance Matrix)。
• 尺度的致命影響:
題目中三個欄位的量級相差懸殊:
» 交易金額:\(10^5\)(十萬等級,例如 150,000 元)
» 年齡:\(10^2\)(百位等級,例如 45 歲)
» 交易次數:\(10^1\)(個位/十位等級,例如 8 次)
• 當直接帶入原始數據時,金額隨便跳動一下(如 100,000 變成 110,000,差距一萬),在數學上產生的「變異數」就會徹底碾壓次數和年齡的變異。這會導致 PCA 誤以為「交易金額」是全資料集唯一重要的特徵,進而讓第一主成分(PC1)幾乎被金額 100% 獨占,使其他兩個重要特徵(次數與年齡)的資訊完全被掩蓋。
• 標準化的救贖: 在跑 PCA 之前,必須先經過 標準化(Standardization / Z-score Normalization),把所有特徵的平均值歸零(\(\mu=0\))、標準差調為一(\(\sigma=1\))。讓所有欄位站在同一個平等的起跑線上去比較變異,才能真正抓到對模型最有價值的特徵結構。

(A) 錯誤:
這並非健康或正常的機器學習現象,而是因「單位不同(元 vs 次 vs 歲)」人為造成的數學偏誤。如果把金額單位從新台幣換成美金或「萬元」,PC1 的權重就會劇烈改變,這證明了不標準化的 PCA 結果是極其不穩定的。

(B) 錯誤:
特徵選擇法(Feature Selection,如 Filter/Wrapper 方法)是直接「留或不留」某些欄位,它本身並不會自動去修正或調校剩餘變數的量級差距。

(C) 錯誤:
「交易金額」是風險評估中極度關鍵的黃金指標,直接刪除它是因噎廢食,會讓模型失去最重要的預測能力。正確做法是保留它並進行標準化。

PCA 預處理核心觀念速記

特徵欄位 原始數值量級 直接進行 PCA 的權重 標準化(Z-score)後的權重
交易金額(元) \(10^5\)(極大) 幾乎 100% 綁架 PC1 (A) 依其真實資料分佈變異決定,不再受單位影響。
年齡(歲) \(10^2\)(中) 趨近於 0(資訊被淹沒) 與金額站在同一起跑線。
交易次數(次) \(10^1\)(極小) 趨近於 0(資訊被淹沒) 與金額、年齡共同公平競爭主成分 (D)。

解題關鍵:只要在機器學習考題中看到 「PCA(主成分分析)」 加上 「欄位單位/量級相差很大(如 \(10^5\) vs \(10^1\))」 或 「某個大數值欄位主導了主成分」,解題的唯一標準反射動作就是秒選 「先進行標準化(Standardization / Z-score)」。這是執行 PCA 前絕對不可省略的鐵律步驟。


30. 某行銷團隊想了解「廣告預算」與「銷售金額」之間的關聯程度。經繪製散佈圖後發現兩者呈現明顯線性趨勢,且資料中無明顯離群值(Outliers)。若希望衡量兩者之間線性關係的強度與方向,下列哪一種方法最適合?

(A) 均方根誤差(Root Mean Squared Error, RMSE);
(B) 共變異數(Covariance);
(C) 皮爾森相關係數(Pearson Correlation Coefficient);
(D) 平均絕對誤差(Mean Absolute Error, MAE)

看解答

正確答案是 (C) 皮爾森相關係數(Pearson Correlation Coefficient)。

這題考驗的是基礎統計學中,如何選擇最精準的指標來衡量兩個連續變數之間的「線性關係強度與方向」。

(C) 為正確答案:
• 皮爾森相關係數(\(r\))的物理意義: 它專門用來測量兩個連續變數之間線性相關的強度(Strength)與方向(Direction)。
• 完美的適用條件: 題目中明確提到「呈現明顯線性趨勢」且「無明顯離群值」,這完全符合皮爾森相關係數的假設前提(皮爾森對離群值非常敏感,若有離群值通常會改用斯皮爾曼等級相關係數)。
• 標準化的優勢:
它的數值被規範在 \(-1\) 到 \(+1\) 之間:
» 正值代表正相關(預算越多,銷售額越高),負值代表負相關。
» 絕對值越接近 1(如 \(0.85\)),代表線性關係越強;越接近 0,代表越沒有線性關係。這能讓行銷團隊非常直觀地得到標準化答案。

(B) 錯誤(強力的干擾項):
共變異數(Covariance)確實也能看出兩個變數是同向變動(正值)還是反向變動(負值),但它沒有經過標準化。它的數值大小會受到原始資料「單位與量級」的嚴重干擾。例如:廣告預算單位用「元」或「萬元」,算出來的共變異數會相差上萬倍。因此,共變異數只能告訴你「方向」,無法精確衡量「強度」。

(A) 與 (D) 錯誤:
均方根誤差(RMSE)與平均絕對誤差(MAE)屬於機器學習中的損失函數(Loss Functions)或模型評估指標,專門用來計算模型的「預測值」與「真實答案」之間差距有多大(評估模型準不準、誤差有多少)。題目目前只是想在建模前探討兩個特徵之間的關聯性,並非評估預測誤差,故完全不適用。

關係衡量雙子星:共變異數 vs 皮爾森相關係數

統計指標工具 能否判斷「變動方向」 能否評估「線性強度」 是否會受到資料「單位/尺度」影響?
共變異數 (B) 可以(正號同向、負號反向)。 否(數值大小沒有固定範圍界線)。 會(換個貨幣單位數值就暴增爆減)。
皮爾森相關係數 (C) 可以(正號同向、負號反向)。 可以 (C)(介於 \(-1 \sim 1\),數字越大越強)。 不會!(分子分母已互相抵消量綱)。

解題關鍵:只要在統計或資料分析題中看到三個關鍵字組合:「連續變數」 + 「線性關係」 + 「強度與方向」,標準的唯一正確選擇絕對是 「皮爾森相關係數(Pearson \(r\))」。它是幫共變異數(Covariance)進行去量綱、標準化後的完美產物,專門用來量化兩者之間的線性黏著度。


31. 某電商團隊觀察到,每位顧客對廣告推播的點擊行為可視為一次伯努利試驗(Bernoulli Trial),單次點擊成功機率為p=0.4。當推播對象擴增至5,000位顧客時,團隊想快速預估「成功點擊總數」的分佈情形,以進行模型效能模擬與預測。若希望以常態分佈(Normal Distribution)近似原始分佈,下列哪一項判斷最為合理?

(A) 因樣本數極大,可直接以常態分佈近似二項分佈(Binomial Distribution);
(B) 只有當 np 與 n(1-p) 皆大於 5 時,才能以常態分佈作近似;
(C) 常態近似只適用於p=0.5 的情況;
(D) 無論樣本數多大,二項分佈都不能以常態分佈近似

看解答

正確答案是 (A) 因樣本數極大,可直接以常態分佈近似二項分佈(Binomial Distribution)。

這題考驗的是機率論中的一個核心定理——中央極限定理(Central Limit Theorem, CLT) 延伸出的「常態近似二項分佈」實務應用。

(A) 為最合理的判斷:
• 業務情境: 題目中 \(n = 5,000\)(樣本數極大),而每次點擊的機率 \(p = 0.4\)。
• 數學原理: 當我們重複進行 \(n\) 次獨立的伯努利試驗時,成功的總次數會服從二項分佈 \(B(n, p)\)。當 \(n\) 變得非常大時,根據中央極限定理,這個二項分佈的形狀會極度趨近於平均值為 \(\mu = np\)、變異數為 \(\sigma^2 = np(1-p)\) 的常態分佈 \(N(\mu, \sigma^2)\)。
• 本題中 \(n = 5,000\) 已經遠远超過了統計學上大樣本的範疇,因此在進行模型效能模擬與預測時,團隊「可以直接且非常精準地以常態分佈來近似原始的二項分佈」,這能大幅簡化高階階乘(Factorial)的計算複雜度。

(B) 錯誤(細節陷阱項):
• 統計學教科書上確實有 「當 \(np \ge 5\) 且 \(n(1-p) \ge 5\)」(有些嚴格版本為 \(\ge 10\))作為可以啟用常態近似的「最低基本門檻」。
• 為什麼不能選 (B): 因為題目中 \(np = 5000 \times 0.4 = 2000\),而 \(n(1-p) = 5000 \times 0.6 = 3000\),這兩個數值(2000 與 3000)已經「遠遠大於 5」。當樣本數這麼龐大時,(A) 敘述的「因樣本數極大,可直接近似」最符合現狀且直接;而 (B) 的語境「只有當...才...」是在強調臨界門檻,在 \(n=5,000\) 的大樣本事實下,刻意強調 5 這個極低門檻在實務判斷上是不切實際的。

(C) 錯誤:
常態近似並不局限於 \(p=0.5\)(雖然 \(p=0.5\) 時二項分佈完全對稱,近似效果最好)。只要 \(n\) 夠大,即使 \(p=0.4\) 甚至 \(p=0.1\),二項分佈的偏態都會被大樣本抹平,完美展現出鐘形常態曲線。

(D) 錯誤:
這是標準的違背統計學定理敘述。二項分佈在極大樣本下收斂至常態分佈,是近代機率論與大數法則奠基的重要基石。

本題二項分佈轉常態分佈數值對照

當行銷團隊要對這 5,000 人進行模擬時,他們不需要去算複雜的二項分佈組合公式 \(C_{k}^{5000}\),而是直接帶入常態分佈參數:
• 期望點擊次數 (\(\mu\)): \(n \times p = 5,000 \times 0.4 = 2,000\) 通
• 標準差 (\(\sigma\)): \(\sqrt{np(1-p)} = \sqrt{5,000 \times 0.4 \times 0.6} = \sqrt{1,200} \approx 34.64\) 通
這意味著,成功點擊總數有大約 95% 的機率會落在 \(2,000 \pm 2 \times 34.64\)(即 1,931 到 2,069 次)之間。這種快速預估能力在 MLOps 產能規劃中極具價值。

解題關鍵:看到題目給的樣本數高達 「\(n = 5,000\)(巨大樣本)」,大腦要立刻彈出統計學最高指導原則:「萬物皆可常態(中央極限定理)」。在 \(n\) 這麼大的情況下,二項分佈過渡到常態分佈是理所當然、無需猶豫的正確路徑,因此直覺秒選 A。


32. 某電信公司導入生成式AI客服系統,利用過去對話紀錄與用戶行為資料訓練語言模型,在資料治理與合規審查過程中,團隊發現模型可能會在回答中生成包含真實姓名、電話或交易資訊的內容。為確保系統符合個資法及生成式AI的安全與隱私要求,下列哪一項作法最符合實務可行及法規原則?

(A) 在訓練資料前進行資料匿名化(Anonymization)或偽匿名化(Pseudonymization)處理,並建立輸出內容稽核機制;
(B) 改以強化學習(Reinforcement Learning)微調模型,使模型學習避免產出真實資訊;
(C) 採用同態加密(Homomorphic Encryption)以加密所有文字輸入,確保模型無法辨識任何個資;
(D) 僅設定模型回覆時不顯示用戶姓名,即可視為隱私防護完成

看解答

正確答案是 (A) 在訓練資料前進行資料匿名化(Anonymization)或偽匿名化(Pseudonymization)處理,並建立輸出內容稽核機制。

這題考驗的是企業在建置生成式 AI(Generative AI)系統時,對於資料治理(Data Governance)、個資法合規(如台灣《個人資料保護法》、歐盟 GDPR)以及資訊安全防護的實務落地策略。

(A) 為最符合法規與實務的作法(標準資安防線):
• 源頭管理(訓練前): 大語言模型(LLM)具有「記憶」訓練資料的特性。如果直接把包含客戶真實姓名、電話的原始對話紀錄拿去訓練,模型在未來的生成過程中,極有可能因為特定的提示詞(Prompts)而將這些個資「背出來」(即隱私洩漏或產生幻覺)。因此,在進入模型訓練管線之前,必須先透過 PII(個人識別資訊)偵測工具進行資料匿名化或偽匿名化(例如將「張三」替換為「用戶A」或加密代碼),從根本上讓模型「從未見過」真實個資。
• 終端防禦(輸出時): 僅靠前端處理還不夠,實務上必須在模型輸出端建立內容稽核機制(Guardrails / Alignment Filter)。當模型輸出的文字觸及電話格式或特定敏感字詞時,系統會即時進行攔截、遮蔽(Masking)或重寫,這形成了雙重保障,最符合法規與實務可行性。

(B) 錯誤:
雖然基於人類回饋的強化學習(RLHF)可以引導模型符合安全規範(Alignment),但面對巨量的真實客戶個資,強化學習無法 100% 保證模型不會在某些極端提示詞(Prompt Injection)攻擊下吐出隱私。在隱私防護實務中,「靠微調讓模型聽話」只能作為輔助,絕不能取代源頭的資料去識別化。

(C) 錯誤:
同態加密(Homomorphic Encryption)雖然非常安全(如第 20 題所述),但它的運算開銷(Computational Overhead)極度高昂。現階段的生成式 AI(大語言模型)若要在完全加密的密文狀態下進行極其複雜的注意力機制(Attention Mechanism)與 Token 生成運算,在實務工程上是完全不可行的(運算速度會慢到無法接受)。

(D) 錯誤:
這屬於嚴重的掩耳盜鈴行為。個資防護不僅僅是「姓名」而已,電話、地址、交易紀錄、甚至帳戶餘額等只要能「間接識別」特定個人的資訊,都屬於個資法保護範疇。只遮蔽姓名,模型依然可能洩漏其他敏感交易隱私,完全不符合法規合規原則。

生成式 AI 隱私治理之「縱深防禦」架構

防禦階段 實務技術手段 核心目的 為什麼不可或缺
1. 訓練前 (A) PII 去識別化、偽匿名化處理 (A) 確保敏感個資根本不會進入模型的參數記憶中。 這是合規的最底層鐵律。
2. 訓練中 安全對齊微調 (Alignment, RLHF) 訓練模型建立安全意識,拒絕回答惡意探聽隱私的提問。 建立模型的主動防禦能力。
3. 推論/輸出時 (A) 輸出內容稽核與遮蔽機制 (Guardrails) (A) 作為最後一關煞車,攔截任何意外漏網的敏感資訊。 防止模型產生幻覺或遭遇惡意 prompt 攻擊。

解題關鍵:在 AI 資料治理與法規題中,不論技術再怎麼創新,「源頭去識別化(匿名化/偽匿名化)」 永遠是法規合規的第一步與不變真理。再加上生成式 AI 具有不可預測性,必須搭配 「輸出端稽核(Guardrails)」 進行圍堵。兩者結合(選項 A)是目前國內外金融、電信、醫療等高度監管行業佈署 AI 客服時的標準範本。


33. 某金融機構的量化分析師在建立資產風險評估模型時,發現報酬率資料分佈明顯非對稱,且出現多次極端損失事件,使得傳統假設常態分佈的模型無法準確反映真實風險。若希望在不依賴常態分佈假設的前提下,採取更能捕捉資料極端情況的建模策略,下列哪一種方法最為合適?

(A) 採用線性迴歸模型(Linear Regression Model),以常態分佈殘差(Residuals)為基礎進行推估;
(B) 使用平均數(Mean)與標準差(Standard Deviation)估計波動範圍;
(C) 將資料裁剪至 ±3σ 範圍內以排除異常值影響;
(D) 採用分位數回歸模型(Quantile Regression Model),聚焦於尾部分位(Tail Quantiles)以評估極端風險

看解答

正確答案是 (D) 採用分位數回歸模型(Quantile Regression Model),聚焦於尾部分位(Tail Quantiles)以評估極端風險。

這題考驗的是金融風險管理中非常核心的非對稱分佈、厚尾(Fat-tail)特徵與極端風險建模。題目中明確指出了資產報酬率的三大特點:「非對稱」、「多次極端損失(厚尾)」、以及「不依賴常態分佈假設」。

(D) 為最合適的建模策略(風控黃金工具):
• 傳統模型的盲點: 傳統的最小平方法(OLS)或以常態分佈為基礎的模型,都是在預估資料的「平均值(Mean)」。但金融風控(如計算風險價值 VaR, Value at Risk)關注的根本不是平均狀況,而是最慘的那 1% 或 5% 的極端狀況(即尾部風險)。
• 分位數迴歸的優勢: 分位數迴歸允許我們不只看平均值,而是可以自由設定想研究的任何分位數(如第 95 或 99 百分位數 \(\tau = 0.95, 0.99\))。它對資料的分配型態沒有任何常態分佈的假設(無母數特徵),即使資料嚴重偏態、有厚尾,它也能精準捕捉在極端壞球出現時(尾部分位),自變數對因變數的真實衝擊程度,完美符合題目要求。

(A) 錯誤:
題目已開宗明義說「常態分佈模型無法準確反映真實風險」,而線性迴歸本質上就是以「殘差服從常態分佈」為基本假設,這與題目要求背道而馳。

(B) 錯誤:
平均數與標準差是「常態分佈」的兩個核心參數。當資料已經明顯非對稱且有極端厚尾時,平均數會被極端值拉跑,而標準差也無法正確對稱地描述極端損失的發生機率,繼續使用它們只會低估黑天鵝事件的風險。

(C) 錯誤:
「裁剪至 \(\pm 3\sigma\)」屬於直接把離群值切掉。但在金融風險管理中,這些極端損失(黑天鵝事件)正是分析師最需要花心力防範與建模的核心主角。如果無腦將其剔除,模型雖然會變得好看,但該機構將會對系統性金融危機(如雷曼兄弟倒閉、股災)完全失去防禦能力。

金融風控:均值模型 vs 分位數模型 實務對比

評估維度 傳統均值迴歸 / 統計指標 (A, B) 分位數迴歸模型 (Quantile Regression) (D)
統計分佈假設 嚴格要求常態分佈、對稱性。 不需任何分佈假設(無母數限制)。
極端值(厚尾)敏感度 容易被極端值扭曲(B),或者必須削足適履切除極端值(C)。 天然包容極端值,甚至能專門針對極端區塊(Tail)建模。
風險管理應用 (VaR) 差。只能告訴你「平均而言」賺多少。 極佳!能精準算出「在最倒楣的 1% 狀況下會虧多少」(D)。

解題關鍵:在量化投資與風險評估的考題中,只要看到 「非對稱/偏態」、「極端損失事件(厚尾/黑天鵝)」 並且強調 「不想依賴常態分佈假設」,解題的標準不二法門就是秒選 「分位數迴歸(Quantile Regression)」。它是金融界用來繞過常態分佈緊箍咒、直接與極端風險(尾部風險)直球對決的強大數學武器。


34. 在圖形資料庫(Graph Database)中建模社群平台資料時,若每筆「按讚」行為都包含時間戳記(Timestamp)與裝置類型(Device Type)等資訊。若希望同時保留使用者與貼文之間的互動關係,並能有效查詢「按讚」的行為屬性,下列哪一種設計方式最為合適?

(A) 將「按讚」視為節點(Node),與使用者建立邊(Edge);
(B) 將「按讚」資訊作為邊的屬性(Property)儲存,連結使用者與被按讚的貼文節點;
(C) 把「按讚」資訊直接寫入使用者節點中作為屬性;
(D) 建立「按讚紀錄表」並將資料存入關聯式資料庫

看解答

正確答案是 (B) 將「按讚」資訊作為邊的屬性(Property)儲存,連結使用者與被按讚的貼文節點。

這題考驗的是大數據與資料科學中,圖形資料庫(Graph Database,如 Neo4j) 的核心建模思維(Property Graph Model)。

在圖形資料庫中,最經典的三大元素是:節點(Nodes,代表實體)、邊(Edges/Relationships,代表關係) 以及 屬性(Properties,代表詳細資訊)。

(B) 為最合適且最符合圖形資料庫規範的設計:

實體對齊: 社群平台中最核心的兩個主體是「使用者(User)」與「貼文(Post)」,在圖形中應分別建立為獨立的節點(Node)。

關係與屬性: 「按讚(LIKED)」是這兩個實體之間發生的互動關係(邊)。圖形資料庫的一大優勢就是「邊也可以擁有屬性」。因此,將按讚的時間戳記(Timestamp)與裝置類型(Device Type)直接掛在這條「邊」的屬性上,是最直觀且有效率的作法。

查詢優勢: 當我們想查詢「某使用者在什麼時間點讚了哪篇貼文」,或是「有哪些貼文是被 iPhone 裝置點讚的」,系統可以透過圖形遍歷(Graph Traversal)直接沿著邊上的屬性做高效過濾,不需要進行複雜的表格關聯(Join)計算。

(A) 錯誤:

將「按讚行為」硬拆成一個節點,會導致圖形中出現海量的中間節點(通常稱為 Hyperedge 或 Intermediate Node)。雖然在某些極端複雜的多方關係(N-ary Relationships)中會這樣設計,但本題只是單純的二元互動(User ➔ Post),直接將屬性掛在邊上即可。硬轉成節點反而會大幅增加圖形的複雜度,降低遍歷查詢的效能。

(C) 錯誤:

如果把按讚資訊寫入「使用者節點」中作為屬性(例如在 User 節點下塞一個按讚列表的陣列),這就退化成了鍵值(Key-Value)或文件型(Document)資料庫的思維。這樣做會徹底抹殺圖形資料庫的優勢,未來如果想反向查詢「某篇貼文有哪些人按讚」,系統必須掃描全資料庫所有使用者的屬性,查詢效能會全面崩潰。

(D) 錯誤:

題目開宗明義已經限定「在圖形資料庫中建模」,(D) 選項要求「存入關聯式資料庫」,屬於答非所問、違背題意情境。

圖形資料庫(Graph DB)核心建模三要素對照

圖形基本元素 本題社群情境對應 業務技術意涵
節點 (Node) 👤 使用者 (User)、📝 貼文 (Post) 獨立存在的實體。
邊 (Edge/Relationship) 👍 按讚 (LIKED) 實體與實體之間的互動、指向與連結關係。
屬性 (Property) (B) 📅 時間戳記、📱 裝置類型 附著於節點或邊(B)之上的詳細明細欄位。

解題關鍵:在圖形資料庫的建模題中,有一個萬用的黃金法則:「名詞當節點,動詞當作邊,時間和狀態當邊的屬性」。題目中的「使用者」與「貼文」是名詞(節點),而「按讚」是動詞(邊),點讚附帶的「時間、裝置」則是這個動詞發生的狀態(屬性)。只要把握住這個觀念,就能瞬間秒選 B。


35. 某企業欲建構知識圖譜(Knowledge Graph),以整合內部的研究報告、專利資料與專家知識,並支援語意查詢與關聯推理。若希望模型能具備良好的語意擴展性與高效推理能力,下列哪一種圖模型設計最為合適?

(A) 僅以節點(Node)與邊(Edge)表示,所有資訊存放於節點屬性中;
(B) 將資料結構建為 RDF(Resource Description Framework)三元組(Subject–Predicate–Object);
(C) 使用文件型資料庫儲存內容,並以標籤(Tag)連接節點;
(D) 採用關聯式資料庫儲存對應關係,並搭配預建索引加速查詢

看解答

正確答案是 (B) 將資料結構建為 RDF(Resource Description Framework)三元組(Subject–Predicate–Object)。

這題考驗的是大數據與人工智慧領域中,知識圖譜(Knowledge Graph) 的底層資料模型選型。題目中明確指出了三大核心需求:「整合異質知識(研究報告、專利、專家)」、「支援語意查詢(Semantic Query)」 與 「高效關聯推理(Reasoning)」。

(B) 為最合適的架構設計(知識圖譜的黃金標準):

語意網(Semantic Web)的核心: RDF 三元組(Triples) 是 W3C 制定用來描述網路資源的標準模型。它將所有知識切分為極其規律的 「主體(Subject)– 述語(Predicate)– 客體(Object)」 結構。例如:(研究報告A) – [引用專利] ➔ (專利B) 或 (專家C) – [專長領域] ➔ (半導體製程)。

強大的推理與擴展性: 由於 RDF 模型有嚴謹的本體論(Ontology,如 OWL、SKOS)作為基礎,系統可以輕易透過專用的語意查詢語言 SPARQL 進行檢索。更重要的是,它內建邏輯推理能力,例如模型知道:(專家C) – [撰寫] ➔ (研究報告A) 且 (研究報告A) – [引用專利] ➔ (專利B),就能自動推理出 (專家C) ── [間接研究相關] ➔ (專利B)。這種語意擴展與邏輯推理能力是其他模型難以企及的,故最符合題意。

(A) 錯誤:

這描述的是「屬性圖(Property Graph,如 Neo4j)」的特點。屬性圖非常適合社群網路、路徑分析等「圖形遍歷(Graph Traversal)」場景(如第 34 題)。但如果是要處理嚴謹的語意邏輯互通、本體論定義以及跨領域的語意推理,屬性圖的表現不如 RDF 模型來的標準與高效。

(C) 錯誤:

文件型資料庫(如 MongoDB)本質上是為了非結構化或半結構化的文檔儲存設計,並不擅長處理高度複雜、交織成網狀的關聯推理。僅靠「標籤(Tag)」連結節點,無法精確表達關係的「語意與方向」,無法進行自動化邏輯推理。

(D) 錯誤:

關聯式資料庫(RDB)在面對多對多、無限階層遞迴的知識網路時,會需要執行大量的「多表合併(JOIN)」。當查詢階層加深時,運算效能會呈指數級暴跌,完全無法支援高效的圖形關聯推理。

知識圖譜兩大主流圖模型對比

評估維度 屬性圖模型 (Property Graph) (A) RDF 三元組模型 (Resource Description Framework) (B)
底層資料結構 節點、邊、以及各自附帶的屬性鍵值對。 主體 – 述語 – 客體 (Subject–Predicate–Object) 的連鎖三元組。
主要查詢語言 Cypher, Gremlin。 SPARQL。
核心優勢場景 適合大數據量、高性能的圖形路徑與結構查詢。 適合嚴謹的語意網絡、標準本體論整合與自動化邏輯推理 (B)。

解題關鍵:在知識圖譜(Knowledge Graph)的考題中,只要看到 「語意查詢(Semantic)」、「關聯推理(Reasoning)」 或 「本體論(Ontology)」 這組高頻關鍵字,底層技術的標準教科書解法就是秒選 「RDF 三元組(Triples)」。它是打造讓 AI 真正理解內部知識關聯、實現語意網的最核心奠基模型。


36. 某研究人員欲使用線性迴歸模型(Linear Regression Model)分析變數Y與X之間的關係,但發現Y的分佈明顯右偏,且其變異數隨X 的增大而增加。為滿足模型假設並提升配適效果,下列哪一種前處理方法最為合適?

(A) 對X進行標準化(Standardization);
(B) 對Y進行Box–Cox轉換(Box–Cox Transformation);
(C) 對資料進行一次差分(First Differencing);
(D) 將Y中變異較大的樣本移除

看解答

正確答案是 (B) 對 Y 進行 Box–Cox 轉換(Box–Cox Transformation)。

這題考驗的是經典線性迴歸(OLS)中,如何處理資料違反統計假設(右偏與異質變異數)的特徵工程轉型技術。
題目情境診斷(違反兩大 OLS 假設):
• 「Y 的分佈明顯右偏」: 違反了迴歸分析中「殘差需服從常態分佈」的假設。
• 「變異數隨 X 的增大而增加」: 這在統計學上稱為 異質變異數(Heteroscedasticity),違反了「同質變異數(Homoscedasticity)」的基本假設,會導致迴歸係數的標準誤估計失真。

(B) 為最合適的前處理方法(統計學特效藥):
• Box–Cox 轉換的威力: 這是專門用來修正連續型依變數(Y)非常態分佈與異質變異數的強大無母數轉換技術。它透過調整參數 \(\lambda\),對 Y 進行冪次轉換:
$$Y^{(\lambda)} = \begin{cases} \frac{Y^\lambda - 1}{\lambda} & \text{if } \lambda \neq 0 \\ \ln(Y) & \text{if } \lambda = 0 \end{cases}$$
• 一箭雙鵰: 當 \(\lambda=0\) 時即為常見的對數轉換(Log Transform)。這種轉換會「把右偏的長尾拉回,使分佈接近常態」,同時又能「壓縮大數值的變異程度,將異質變異數完美校正回同質變異數」。一次解決題目提到的兩個致命痛點,進而大幅提升線性模型的配適效果(\(R^2\))。

(A) 錯誤:
對自變數 X 進行標準化(Z-score)只能改變 X 的尺度(平均數變 0、標準差變 1),對 Y 本身的「右偏分佈」與「依賴 X 大小的異質變異數」結構完全沒有任何修復作用。

(C) 錯誤:
一次差分(First Differencing,如 \(Y_t - Y_{t-1}\))是時間序列分析(Time Series)中用來消除「趨勢(Trend)」以達到「定常性(Stationarity)」的手法。題目探討的是橫斷面資料中變數 Y 與 X 的結構關係,使用差分屬於答非所問。

(D) 錯誤:
變異數隨 X 增大而增加是資料的整體物理特性(例如:收入越高,消費的選擇與變異範圍就越大)。將大數值的樣本人為移除是嚴重竄改資料的行為,會導致模型產生選擇性偏差(Selection Bias),徹底失去預測意義。

OLS 違規症狀與 Box-Cox 轉換效益對照

原始資料違規症狀 統計學專有名詞 OLS 模型受到的衝擊 Box–Cox 轉換後的改善效益 (B)
Y 分佈明顯右偏 非常態性 (Non-normality) 導致假設檢定(t檢定、F檢定)失效。 校正偏態,讓殘差完美回歸鐘形常態分佈。
變異隨 X 增大而膨脹 異質變異數 (Heteroscedasticity) 係數估計值雖不偏,但標準誤嚴重失真,信賴區間不可信。 拉平變異數 (Stabilizing Variance),恢復同質變異性 (B)。

解題關鍵:在迴歸分析與特徵工程考題中,只要同時看到依變數 Y 「右偏(偏態)」 加上 「變異數不均勻(異質變異數)」,在統計學中的標準大招就是對 Y 進行 「Box–Cox 轉換」(或是其延伸的對數轉換)。它是專門用來馴服這兩種違規症狀的標準教科書解法。


37. 若開發一個用於罕見疾病自動診斷的分類模型,目前資料集中確診樣本僅佔不到1%,且因為標註成本高,短期內無法取得更多資料。在此情況下,若希望提升模型對少數類的偵測能力,同時避免過擬合,下列哪一種策略最為合理?

(A) 對少數類進行隨機過採樣(Random Oversampling);
(B) 對多數類進行欠採樣(Random Undersampling);
(C) 使用SMOTE(Synthetic Minority Over-sampling Technique)生成合成少數類樣本後再訓練分類模型;
(D) 僅使用現有資料調整模型決策閾值(Decision Threshold)以提升召回率

看解答

正確答案是 (D) 僅使用現有資料調整模型決策閾值(Decision Threshold)以提升召回率。

這題考驗的是機器學習在面對極端資料不平衡(Imbalanced Data)時,如何採取正確的特徵工程與模型調校策略。題目給出了非常嚴苛的真實產業情境:「確診樣本不到 1%(極端罕病)」、「無法取得更多資料」,且核心目標是「提升對少數類的偵測能力,同時避免過擬合(Overfitting)」。

(D) 為最合理的策略(醫療AI實務的首選):
• 極端不平衡的殘酷現實: 當少數類樣本少於 1% 時,原始的資料量已經極度稀缺。
• 為什麼要調整決策閾值: 預設的分類器通常以機率 \(0.5\) 作為二分法的劃分界線。對於罕病模型,我們可以完全不更動原始的資料結構,直接在模型預測階段(Inference),將決策閾值調低(例如降到 \(0.1\) 或 \(0.05\))。
• 符合業務目標: 降低閾值可以顯著提升召回率(Recall),確保「寧可錯殺一百,不可放過一個」的醫療診斷原則(抓出更多罕病患者)。最重要的是,這種作法完全沒有改動訓練資料,因此絕對不會引入任何人工噪音或導致模型對少數類產生過擬合,是最安全且極具成本效益的實務做法。

(A) 錯誤:
隨機過採樣(Random Oversampling)是透過「單純複製」現有的罕病樣本。由於本題資料量極少,不斷複製一模一樣的罕病資料會讓模型死記這些特定樣本的特徵,極易導致嚴重的過擬合(Overfitting),違反題目設定的限制。

(B) 錯誤:
欠採樣(Random Undersampling)會隨機丟棄佔 99% 的多數類(正常人)樣本。在少數類只有不到 1% 的情況下,為了配合少數類,你必須丟棄可能高達 98% 以上的正常人資料。這會導致模型損失極其龐大的寶貴資訊(Information Loss),使得模型根本無法學到正常人資料的真實分佈。

(C) 錯誤(強力的理論干擾項):
• SMOTE 透過 K-近鄰演算法(KNN)在少數類樣本之間插值來生成「合成樣本」。
• 為什麼本題不適合: 當確診樣本「不到 1%」且總量極少時,少數類在多維特徵空間中的分佈會非常稀疏且孤立。此時使用 SMOTE,演算法很容易在孤立的少數類點與點之間連出一條穿過多數類密集區的錯誤直線,生成大量毫無醫學根據的「合成噪音樣本」(即過度泛化問題),這會嚴重干擾模型的準確度。

極端不平衡資料(<1%)處理策略實務評估

策略方案 數據結構變動 引入過擬合(Overfitting)風險 醫療診斷實務評估
隨機過採樣 (A) 複製少數類。 極高。 模型只會死記硬背那幾筆罕病資料。 差。無法應對未來的未知病患。
隨機欠採樣 (B) 砍掉 98% 正常人資料。 低,但面臨嚴重的資訊流失。 差。模型會忘記正常人長什麼樣子。
SMOTE 合成 (C) 線性插值生成新樣本。 中。若樣本太稀疏會生成大量垃圾噪音。 需謹慎。在極端稀缺下容易扭曲特徵邊界。
調整決策閾值 (D) 完全不變動原始資料。 無風險(完美避開過擬合)(D)。 極佳!直接放大 Recall,符合風控與醫療篩檢邏輯。

解題關鍵:在機器學習的臨床醫療或高難度風控(如信用卡盜刷、罕病診斷)題中,只要看到 「少數類小於 1%(極端失衡)」 且要求 「絕對要避免過擬合」,最優雅且無副作用的解法就是秒選 「調整決策閾值(Threshold Tuning)以提升召回率(Recall)」。這是 MLOps 落地時最推崇的「輕量級、零過擬合風險」冠軍策略。


38. 一家製造廠評估新生產線推出後,產品良率是否較原生產線提升。工程師分別從兩條生產線各抽樣 100 件產品,原生產線良率為 95%,新生產線為97%。若欲檢定兩條生產線良率的差異是否具有統計意義,下列哪一種方法最為合適?

(A) 雙樣本平均數 t 檢定(Two-sample t-test);
(B) 雙比例 Z 檢定(Two-proportion Z-test);
(C) 卡方檢定(Chi-square test);
(D) 變異數分析(ANOVA)

看解答

正確答案是 (B) 雙比例 Z 檢定(Two-proportion Z-test)。

這題考驗的是推論統計學中,如何根據資料的屬性(連續型 vs. 類別型)與樣本組數,選擇正確的假設檢定方法。
題目情境診斷(核心關鍵字:「良率」):
• 工程師要比較的指標是「良率」(\(95\%\) 與 \(97\%\))。良率在統計學上屬於「比例(Proportion)」或「比率」,其底層資料是二分法的類別型資料(產品只有「合格」與「不合格」兩種可能,屬於伯努利分佈)。
• 比較的對象有兩組:原生產線(組 1)與 新生產線(組 2)。
• 樣本數大小:兩組各抽樣 \(n_1 = 100, n_2 = 100\),屬於大樣本。

(B) 為最合適的檢定方法(專門對口工具):
雙比例 Z 檢定的物理意義: 當我們要比較「兩個獨立大樣本的比例/百分比」是否存在顯著差異時,雙比例 Z 檢定就是標準的教科書解法。它利用中央極限定理,將兩個樣本比例的差值標準化,轉為 Z 分數來判斷其差異是否僅由隨機抽樣誤差引起。

(A) 錯誤(最常見的陷阱項):
雙樣本平均數 t 檢定(Two-sample t-test)專門用來比較兩組「連續型變數(Continuous Variable)的平均數(Mean)」,例如:比較兩條生產線產品的「平均重量」、「平均壽命」。本題的良率是比例(%),而非連續型數值平均,故不適用。

(C) 錯誤:
• 雖然良率底層是類別資料,也可以排成 \(2 \times 2\) 的列聯表(原/新 生產線 \(\times\) 合格/不合格)來進行卡方獨立性檢定(Chi-square Test of Independence),且在數學上,這兩者的雙尾檢定 $p$ 值會完全等價(\(Z^2 = \chi^2\))。
• 為什麼 (B) 比 (C) 更合適: 因為題目明確點出是要比較「良率(比例)的差異」,且在統計學實務中,當目的是為了檢視比例的方向性(如:新生產線是否「提升」,即單尾檢定)時,卡方檢定只能做雙尾,而 Z 檢定可以靈活進行單尾或雙尾檢定。因此,雙比例 Z 檢定在評估「率」的提升上是最直接、最貼切的命名與工具。

(D) 錯誤:
變異數分析(ANOVA)是用來比較「三組或三組以上」連續型變數平均數是否有顯著差異的工具。本題只有兩組,且資料屬性為比例,完全不適用。

統計檢定方法選型速查表

資料分析目標 依變數型態(產品數據) 樣本組數 最適合的統計檢定方法
比較兩生產線產品的平均長度/重量 連續型數值 (如 15.2cm) 2 組 雙樣本平均數 t 檢定 (A)
比較兩生產線產品的良率(%) 類別型比例(合格 / 不合格) 2 組 雙比例 Z 檢定 (B)
比較多條(3組以上)生產線的平均產量 連續型數值 3 組以上 變異數分析 ANOVA (D)

解題關鍵:在統計學考試中,只要看到是要比較 「兩組」、「百分比 / 比例 / 率(如良率、點擊率、轉換率)」 的差異,大腦要瞬間建立最強反射動作:秒選 「雙比例 Z 檢定(Two-proportion Z-test)」。這是工業工程(六標準差)與電商 A/B 測試中評估「率」是否提升的標配手法。


39. 若評估一個新開發的腫瘤分類模型,其資料集中有80%的樣本來自良性病例。若直接使用5-fold交叉驗證(Cross-Validation) 進行模型評估,可能導致模型效能評估出現偏差,為避免此問題,下列哪一種作法最合適?

(A) 降低K值以減少交叉驗證次數;
(B) 改為使用拔靴法(Bootstrap);
(C) 調整測試集使良性樣本比例更高,以模擬真實分佈;
(D) 使用分層交叉驗證(Stratified K-Fold Cross-Validation),以確保每折類別比例一致

看解答

正確答案是 (D) 使用分層交叉驗證(Stratified K-Fold Cross-Validation),以確保每折類別比例一致。

這題考驗的是機器學習模型評估(Model Evaluation)中,如何正確處理不平衡資料(Imbalanced Data)的交叉驗證策略。

題目情境診斷(類別不平衡):

數據集中有 80% 是良性,代表只有 20% 是惡性(腫瘤確診)。這屬於典型的類別不平衡問題。

如果直接使用普通的 5-fold 交叉驗證(隨機將資料平分成 5 份),在運氣不好的情況下,可能會出現某一份(折)裡面「全是良性病例,連一筆惡性病例都沒有」的極端狀況。這會導致模型在該折測試時無法評估其對惡性腫瘤的偵測能力,讓最終算出來的平均效能出現嚴重的統計偏差與高度不穩定。

(D) 為最合適的作法(標準 MLOps 評估流程):

分層(Stratified)的魔法: 分層 K-Fold 交叉驗證是專門為了不平衡資料量身打造的評估武器。它在切分資料時,會先去計算原始資料中各種類別的比例(本題為 良性 80%:惡性 20%)。

確保比例一致: 接著,它會嚴格確保切分出來的每一折(Fold)內部,都完美複製這個 80% 比 20% 的類別結構。這樣不論在哪一折進行訓練或測試,模型面對的資料分佈都高度一致,能有效消除因隨機切分帶來的抽樣偏差,給出最客觀、最可信的模型評估報告。

(A) 錯誤:

降低 K 值(例如從 5-fold 改成 3-fold)只是減少了實驗次數,並完全沒有改變隨機切分時類別可能分布不均的本質問題,無法消除評估偏差。

(B) 錯誤:

拔靴法(Bootstrap)是一種有放回的隨機抽樣方法(常用於 Bagging 或隨機森林)。在原始數據 80% 不平衡的情況下,有放回抽樣抽出來的樣本集依然會維持不平衡,甚至可能讓少數類的缺失更嚴重,對於解決「評估偏差」沒有直接幫助。

(C) 錯誤:

人為調整測試集讓良性樣本比例「更高」(例如提高到 95%),會讓惡性樣本變得更加稀缺,這不僅沒有解決不平衡帶來的偏差,反而會讓模型更難被測試出真實的腫瘤識別能力(因為測試集裡的惡性樣本太少了)。

普通 K-Fold 交叉驗證 vs. 分層 K-Fold 交叉驗證

驗證方法選型 切分機制 面對不平衡數據(如 80% vs 20%)的隱憂 實務應用場景
普通 K-Fold (A) 盲目隨機均分。 某些 Fold 內少數類別(惡性)比例可能嚴重失衡甚至歸零,導致效能評估偏誤。 各類別數量相當的平衡資料集。
分層 K-Fold (D) 依據類別比例依樣畫葫蘆切分。 無。每一折都完美維持 80% : 20% 的比例 (D),評估最穩定。 醫療診斷(罕病/腫瘤)、金融風控(盜刷)等所有不平衡資料集。

解題關鍵:在機器學習考題中,只要同時看到 「資料類別不平衡(如良性佔 80%)」 加上問你 「該如何進行交叉驗證(Cross-Validation)才不會有偏差」,這兩個關鍵字的唯一指定標準答案就是秒選 「分層交叉驗證(Stratified K-Fold)」。這是任何資料科學家在處理不平衡資料時,建構防線的第一步。


40. 請參考附圖,下列虛擬程式碼(pseudocode)最可能是在描述何種驗證法?

虛擬程式碼

(A) Hold-out 驗證(Hold-out Validation);
(B) 留一交叉驗證 LOOCV( Leave-One-Out Cross Validation);
(C) K-fold 交叉驗證(K-fold Cross Validation);
(D) 拔靴法(Bootstrap)驗證

看解答

正確答案是 (B) 留一交叉驗證 LOOCV(Leave-One-Out Cross Validation)。

這題考驗的是機器學習中各種模型驗證(Validation)方法的虛擬碼實作邏輯。我們可以透過追蹤演算法的迴圈與資料切分方式來精準解題:
核心步驟拆解(看懂虛擬碼的關鍵):
• 對 i = 1 到 N(步驟 2): 這代表迴圈要執行 \(N\) 次,而 \(N\) 正好是 data_set 中的總資料筆數。
• a. 將第 i 筆資料作為測試集 test_data: 在每一次的迴圈中,只挑選「單單 1 筆」資料(第 \(i\) 筆)來當作測試集。
• b. 將其餘 N-1 筆資料作為訓練集 train_data: 把剩下的所有資料(共 \(N-1\) 筆)拿去訓練模型(步驟 c)。
• 3. 計算 metrics 的平均值: 重複這個動作 \(N\) 次,讓每筆資料都輪流當過一次測試集後,最後把這 \(N\) 次算出來的評估指標取平均。

(B) 為正確答案:
這種每次「留下(Leave)唯一一筆(One)資料當測試,其餘全拿去訓練」並重複 \(N\) 次的驗證手法,在機器學習的專有名詞就叫做 留一交叉驗證(LOOCV)。它本質上是 \(K\text{-fold}\) 交叉驗證的一種極端特例(當 \(K = N\) 時)。

其他選項錯誤原因:

(A) 錯誤:
Hold-out 驗證(留置法)是最簡單的驗證方式,直接把原始資料按比例(如 70%:30%)「一刀切」分為訓練集與測試集,只做一次訓練與評估,不會有跑 $N$ 次的對應迴圈。

(C) 錯誤(強力的干擾項):
\(K\text{-fold}\) 交叉驗證是把資料均分成 \(K\) 個子集(Folds)。它的迴圈是 對 i = 1 到 K(通常 \(K=5\) 或 \(10\))。每次的測試集大小是 \(\frac{N}{K}\) 筆資料,訓練集是 \(\frac{K-1}{K} \times N\) 筆資料。只有當 \(K\) 恰好等於總筆數 \(N\) 時它才會變成 LOOCV,但既然選項中已有更具體、專門指稱此行為的 (B),選 (B) 才是最精準的。

(D) 錯誤:
拔靴法(Bootstrap)是採用「有放回的隨機抽樣(Sampling with replacement)」來建構多個大小同樣為 \(N\) 的訓練集,約有 36.8% 未被抽中的資料會自動變成測試集(稱為 Out-of-Bag),其資料選取帶有隨機重複性,不符合虛擬碼中嚴格依序取用「第 \(i\) 筆、其餘 \(N-1\) 筆」的確定性邏輯。

模型驗證方法 核心架構對照

驗證手法名稱 測試集(Test data)的資料量 總訓練次數(迴圈次數) 適用場景與缺點
Hold-out 驗證 (A) 固定比例(如整個資料集的 30%)。 1 次 資料量極大、算力有限時。
K-fold 交叉驗證 (C) 資料集的 \(\frac{1}{K}\)(例如 \(\frac{1}{10}\))。 \(K\) 次(通常 5 或 10 次) 最主流的模型評估標準方法。
留一交叉驗證 LOOCV (B) 恰好 1 筆資料(如圖中 a)。 \(N\) 次(與總資料筆數相同)。 適合樣本數 \(N\) 非常稀少的精細建模;缺點是大資料集下計算量極恐怖。

解題關鍵:
看到虛擬碼考題,直接抓關鍵數字:
測試集數目 = 1(第 \(i\) 筆)
訓練集數目 = N-1
迴圈次數 = N
這三個數字組合在機器學習中就是 Leave-One-Out(留一法) 的身分證字號,看到即可毫無懸念秒選 B。


41. 請參考附圖,下列虛擬程式碼(pseudocode)最可能是在描述何種演算法?

K-means

(A) K-means分群(K-means Clustering);
(B) 高斯混合模型分群(Gaussian Mixture Model Clustering);
(C) 階層式分群(Hierarchical Clustering);
(D) DBSCAN分群(Density-based Spatial Clustering of Applications with Noise Clustering)

看解答

正確答案是 (A) K-means 分群(K-means Clustering)。

這題考驗的是機器學習中經典非監督式學習(Unsupervised Learning)演算法的底層實作邏輯與數學運作步驟。我們可以直接對照虛擬碼中的核心機制來解題:

核心步驟拆解:
• Input 與 1. 隨機選擇 X 個資料點作為初始中心: 這裡的 X 就是我們常說的 \(K\) 值(群數)。演算法一開始會隨機在空間中挑選 \(K\) 個點作為種子中心。
• 2. a. 分群:對每個資料點,計算它到每個中心的距離,指派給最近的中心: 這是標準的 「距離最接近原則」(通常使用歐氏距離),將每個點劃分給離它最近的質心,形成暫時的群集。
• 2. b. 更新中心:對每個群,計算該群中所有資料點的平均值,將群中心更新為這個平均值: 這是 K-means 的核心靈魂。所謂的 Means(平均值)就是指 「算術平均數(廣義上的質心 Centroid)」。每一次迭代後,它會重新計算群內所有點的平均座標,並把中心點移動到該位置。
• 3. 當群中心不再變動時,停止: 當新舊中心的座標不再發生變化(或達到最大迭代次數),代表演算法已達到局部最佳解並順利 收斂(Convergence)。
這套 「指派標籤(E-step) ➔ 更新中心(M-step)」 的交替迭代流程,正是教科書上最經典的 K-means 分群演算法。

其他選項錯誤原因:

(B) 錯誤:
高斯混合模型(GMM)是一種基於機率分佈的軟分群(Soft Clustering)方法。它不是計算點到中心的「絕對距離」,而是計算資料點屬於某個高斯分佈的「機率(波包權重)」,並利用 EM 演算法(Expectation-Maximization)來更新平均值與共變異數矩陣。

(C) 錯誤:
階層式分群(Hierarchical Clustering,如凝聚型 Agglomerative)不需要一開始「隨機指定 \(K\) 個中心點」。它的邏輯是把每個點先自成一群,然後每次找出距離最近的兩個群進行「合併」(或者由上而下切分),最終畫出一個像樹狀圖(Dendrogram)的結構。

(D) 錯誤:
DBSCAN 是基於密度的分群演算法(如第 28 題所述)。它完全不需要預先指定群數 X,其核心邏輯是去檢查每個點在半徑 \(\varepsilon\) 內的鄰居數是否大於 MinPts。它是靠著「密度相連」不斷向外擴散來蔓延出群集的,完全沒有「計算全群平均值來更新中心」的步驟。

經典分群演算法 機制對照表

演算法名稱 是否需要預先指定群數 (\(K\) 分群核心邏輯基準 演算法停止/收斂條件
K-means (A) 需要 (Input 中的 X) 計算點到中心的歐氏距離,並以算術平均值 (Means) 更新中心 (B)。 中心點座標不再變動 (3)。
GMM (B) 需要 計算點屬於特定高斯機率分佈的機率。 對數似然函數(Log-Likelihood)收斂。
階層式分群 (C) 不需要(事後根據樹狀圖切分) 依據群與群之間的距離連結度(Single/Complete/Average Linkage)。 所有資料點皆被合併為同一個大群。
DBSCAN (D) 不需要(自動偵測) 依據局部區域內的資料點密度(鄰居數)。 所有點皆被檢索並標記為核心點、邊界點或雜訊。

解題關鍵:在機器學習演算法題中,只要看到關鍵字組合:「隨機選擇 X 個中心」 + 「指派給最近的中心」 + 「計算該群所有點的平均值(Mean)作為新中心」,這三個步驟連起來就是 K-means 的標準定義與正宗標誌,看到即可秒選 A。


42. 考慮某生產線每小時出現瑕疵品的個數符合卜瓦松分佈(Poisson Distribution),已知平均每小時產生5個瑕疵品,附圖程式碼展示資料處理,請問下列敘述何者正確?

卜瓦松分佈

(A) lambda_poisson = 5 表示每小時最多5個瑕疵品;
(B) poisson.pmf(5, lambda_poisson) 表示小於5個瑕疵品的機率;
(C) 卜瓦松分佈的適用條件為事件彼此獨立,且平均發生率固定;
(D) poisson.cdf(10, 5) 表示大於或等於10個瑕疵品的機率

看解答

正確答案是 (C) 卜瓦松分佈的適用條件為事件彼此獨立,且平均發生率固定。

這題考驗的是統計學中 卜瓦松分佈(Poisson Distribution) 的核心數學假設,以及如何使用 Python 的資料科學函式庫 scipy.stats 進行機率計算。

(C) 為正確答案:
卜瓦松分佈的定義: 它專門用來描述在「一個固定時間段或空間區域內,某隨機事件發生的次數」。
三大核心物理假設:
1. 獨立性(Independence): 在一個區間內事件發生的次數,與在其他不重疊區間內事件發生的次數是完全獨立的。
2. 平穩性/固定發生率(Stationarity): 在相同長度的區間內,事件發生的平均機率(\(\lambda\))是恆定常數(題目中為平均每小時 5 個)。
3. 稀有性(Rareness): 在極其微小的時間內,事件同時發生兩次或以上的機率趨近於零。
因此,(C) 的敘述完全符合卜瓦松分佈的統計學定義。

(A) 錯誤:
lambda_poisson = 5(即數學上的 \(\lambda\))表示每小時出現瑕疵品的「平均值(期望值)」,並非「最多」5 個。理論上,卜瓦松分佈發生的次數上限是無限大(\(\infty\))。

(B) 錯誤:
pmf 代表 機率質量函數(Probability Mass Function)。對於離散隨機變數而言,poisson.pmf(k, lambda) 計算的是「恰好、剛好等於 $k$」的機率。
因此,poisson.pmf(5, lambda_poisson) 表示的意義是:每小時「剛好出現 5 個」瑕疵品的精確機率,而不是小於 5 個。

(D) 錯誤:
cdf 代表 累積分布函數(Cumulative Distribution Function)。在統計學上,cdf(k) 定義的是計算「小於或等於 \(k\)」的累積機率。
因此,poisson.cdf(10, 5) 計算的是每小時出現「0 到 10 個(包含10)瑕疵品的總機率」(即 \(P(X \le 10)\)),而不是大於或等於。若要算大於 10 個,代碼應寫成 1 - poisson.cdf(10, 5)。

Python scipy.stats 關鍵語法速查

函式語法名稱 英文全銜 統計學上的物理意義 本題對應代碼意涵
pmf(k, lambda) (B) Probability Mass Function 計算離散事件「剛好等於 \(k\)」的機率。 每小時「恰好」有 5 個瑕疵品的機率。
cdf(k, lambda) (D) Cumulative Distribution Function 計算事件「小於或等於 \(k\)」的累積機率。 每小時瑕疵品「\(\le 10\) 個」的累積機率。
sf(k, lambda) Survival Function 計算事件「嚴格大於 \(k\)」的機率(即 \(1 - \text{cdf}\))。 每小時瑕疵品「\(> 10\) 個」的機率。

解題關鍵:

1.看到 pmf ➔ 反射動作聯想 「點機率(等於)」。
2.看到 cdf ➔ 反射動作聯想 「累積機率(小於等於)」。
3.卜瓦松分佈(Poisson)的核心理論基礎就是 「獨立、平穩(固定發生率)」。

透過這三條黃金觀念,就能輕鬆抓出 A、B、D 的敘述錯誤,秒選正確答案 C。


43. 一間遊戲市場研究公司正在分析全球電子遊戲銷售情況,並準備建立一份「熱銷遊戲銷售報告」。分析師取得了一份名為 vgsales.csv 的資料集,內容包含了全球銷量超過 10 萬份的電子遊戲清單。研究團隊希望透過這份資料,了解不同年份、平台與地區的銷售趨勢。資料集的欄位說明如下,請根據下述資料情境回答以43~47題。

Name:遊戲名稱
Platform:遊戲平台(如 PS4、X360、Wii 等)
Year:發售年份
Genre:遊戲類型(如 Action、Sports、Role-Playing 等)
Publisher:發行商名稱
NA_Sales / EU_Sales / JP_Sales / Other_Sales:各地區銷售量(單
位:百萬份)
Global_Sales:全球總銷售量(單位:百萬份)
資料的欄位概觀如下:

資料欄位概觀

分析師在載入資料後,檢視 Year 欄位的資料型態,發現它是float64,而非一般年份常用的整數。他想了解這樣的情形為什麼會發生。請問下列哪些原因可能導致這種狀況?

原因A:CSV檔中Year欄位有缺失值(NaN),導致Pandas自動將整欄轉為浮點數。
原因B:CSV檔中的年份資料原本是字串(如 "2006"),Pandas 轉換時出錯而變成浮點數。
原因C:Pandas預設會將所有數值型態讀取為float64,不論資料是否為整數。
原因D:CSV檔中的年份資料可能包含小數點(例如2006.0),因此被視為浮點數。

(A) 原因B、原因C;
(B) 原因A、原因D;
(C) 原因A、原因B、原因D;
(D) 原因C、原因D

看解答

正確答案是 (B) 原因A、原因D。

這題考驗的是 Python 在使用 Pandas 函式庫讀取資料(pd.read_csv)時,底層針對資料型態(Data Types, dtypes)的自動推導機制與缺失值處理邏輯。這是資料預處理中非常經典且常見的實務現象。

【原因 A 成立】:缺失值(NaN)的影響

Pandas 的歷史局限: 在舊版及標準的 Pandas 內核中,整數型態(int64)是無法容納缺失值(NaN / Null)的。

自動升級機制: 當 Pandas 讀取 Year 欄位時,如果發現裡面有任何一筆或幾筆資料是空白的(缺失值),為了能夠用 np.nan 來代表這些缺失,Pandas 會強行將整欄的資料型態向上轉型(Upcasting) 為浮點數型態(float64)。這就是為什麼原本應該是整數的年份(如 2006),顯示出來卻變成了帶有小數點的 2006.0。

【原因 D 成立】:原始文字帶有小數點

如果在 CSV 檔案本身中,年份的儲存格式就已經被寫成了 2006.0 這種帶有小數點的文本,Pandas 的 read_csv 引擎在掃描資料時,會判定該欄位屬於浮點數,從而以 float64 讀入。

其他原因錯誤分析:
【原因 B 錯誤】:

如果 CSV 檔中的年份資料是純數字的字串(如 "2006"),且中間沒有缺失值或小數點,Pandas 的優化引擎非常聰明,預設會直接將其完美識別並轉換為整數型態(int64),並不會無故出錯轉成浮點數。

【原因 C 錯誤】:

這是對 Pandas 的誤解。 Pandas 讀取數值時並非一律塞給 float64。如果該欄位整欄都是完好無損的整數(如 Rank 欄位的 1, 2, 3, 4, 5),Pandas 預設會精準地將其讀取為 int64。只有在遇到「包含小數點」或「包含缺失值(NaN)」時,才會啟用 float64。

Pandas 數值欄位型態推導鐵律

原始 CSV 欄位內容特徵 Pandas 自動推導出的型態 (dtype) 畫面顯示範例
全都是完整數字,無缺失 int64 2006
原本是整數,但內含空白/缺失值 (原因A) float64(因為 int 裝不下 NaN) 2006.0
文字本身就帶有小數點 (原因D) float64 2006.0

解題關鍵:在 Pandas 的實務世界中,看到原本應該是整數的欄位(如年份、年齡、門牌號碼)莫名其妙變成了帶有 .0 的 float64,心中就要百分之百肯定:「這欄絕對有缺失值(NaN,即原因 A)」 或者是 「原始資料自帶小數點(原因 D)」。這兩個原因是造成 Pandas 整數欄位大變身的兩大元兇。


44. 研究團隊接下來想要將 Year 欄位轉換為整數型態,以便後續進行年份趨勢分析。考慮到資料中可能包含缺失值(NaN),請選出最合適的轉換方式。

(A) data['Year'] = data['Year'].astype(int);
(B) data['Year'] = data['Year'].fillna(0).astype(int);
(C) data['Year'] = data['Year'].fillna(1).astype(int);
(D) data['Year'] = data['Year'].astype('Int64');

看解答

正確答案是 (D) data['Year'] = data['Year'].astype('Int64')。

這題延續第 43 題的概念,考驗的是 Pandas 在處理包含缺失值(NaN)的欄位時,如何進行正確的整數型態轉換。這是資料清洗(Data Cleaning)中非常經典的進階實務題。

(D) 為最合適且最優雅的作法(現代 Pandas 標準):

傳統的痛點: 在舊版 Pandas 中,標準的整數型態 int64(注意是小寫 i)是硬體層面的整數,絕對不允許包含任何 NaN。只要欄位裡有缺失值,強制轉型就會直接噴出錯誤:IntCastingNaNError: Cannot convert non-finite values (NA or inf) to integer。

可空整數型態(Nullable Integer Data Type): 為了徹底解決這個痛點,Pandas 引入了全新的擴展資料型態 'Int64'(大寫 I)。這個型態的核心魔法在於:「它允許欄位同時擁有『整數』與『缺失值(NaN)』」。

執行 data['Year'].astype('Int64') 後,原本帶有小數點的年份(如 2006.0)會完美變成乾淨的整數(2006),而原本缺失的地方則會自動轉為 Pandas 專用的可空整數標記 <NA>,既不需要被迫無腦填補假數據,又成功達成了轉為整數的目的,最符合後續趨勢分析的數據真實性。

(A) 錯誤:

如上所述,小寫的 int 意指標準的 int64。因為這份遊戲資料集的 Year 欄位中確實存在缺失值(NaN),直接執行此代碼會直接引發系統崩潰(Error),程式無法執行。

(B) 與 (C) 錯誤(實務上的壞習慣):

這兩種作法雖然透過 .fillna() 把缺失值塞入 0 或 1 來強行避開報錯,順利轉成了整數,但在業務邏輯上是嚴重的資料污染:

如果補 0,這幾款遊戲的發售年份就會變成「西元 0 年」;如果補 1,則變成「西元 1 年」。

當後續研究團隊要拉「年份銷售趨勢圖」時,這些假數據會導致西元 0 年或 1 年突然出現離奇的爆量銷售,嚴重扭曲統計分析與模型預測的準確性。

Pandas 整數轉型語法大對決

轉型代碼語法 遇上缺失值(NaN)時的反應 轉換後的畫面呈現範例 業務分析評估
.astype(int) (A) 直接報錯崩潰(Crashes)。 無法輸出結果。 ❌ 無法執行。
.fillna(0).astype(int) (B) 順利執行,但缺失值變為 0。 2006, 0, 1985 ❌ 產生髒數據,扭曲年份趨勢。
.astype('Int64') (D) 完美相容!(D) 2006, <NA>, 1985 烏托邦解法!保留缺失狀態,同時整數化。

解題關鍵:在現代資料科學(Pandas)的實務與考題中,只要看到 「欄位有缺失值(NaN)」 卻又 「一定要轉成整數(Integer)」:

1. 看到小寫的 int ➔ 劃掉(因為遇到 NaN 會報錯)。
2. 看到填補假年份(如 0 或 1) ➔ 劃掉(因為會污染趨勢分析)。
3. 看到大寫引號的 'Int64' ➔ 秒選。這是 Pandas 專門為了解救「帶有缺失值的整數欄位」所發明的黃金武器。


45. 為了觀察各遊戲平台的市場表現,分析師想要統計每個平台的全球銷售總額,並以長條圖呈現。請選出最能正確實現此分析的程式碼。

(A) data.groupby("Platform")["Global_Sales"].sum().plot(kind="bar");
(B) data.groupby("Platform")["Global_Sales"].count().plot(kind="bar");
(C) data["Platform"].value_counts().plot(kind="bar");
(D) data.groupby("Platform")["Global_Sales"].mean().plot(kind="bar")

看解答

正確答案是 (A) data.groupby("Platform")["Global_Sales"].sum().plot(kind="bar")。

這題考驗的是使用 Python 的 Pandas 進行數據聚合(Aggregation)運算,並結合 Matplotlib/Pandas 內建繪圖功能來呈現商業圖表的能力。

我們需要將題目的商業需求精準拆解成對應的程式碼邏輯:

「每個平台」:代表要依據平台(Platform)來做分組 ➔ groupby("Platform")。

「全球銷售總額」:代表我們關心的數值欄位是全球銷量(Global_Sales),且運算方式是加總(總額) ➔ ["Global_Sales"].sum()。

「以長條圖呈現」:代表繪圖型態要選擇長條圖(Bar chart) ➔ .plot(kind="bar")。

將這三個積木組合起來,就是完整的:data.groupby("Platform")["Global_Sales"].sum().plot(kind="bar")。

其他選項錯誤原因:
(B) 錯誤:

末端的 .count() 代表的是「計算筆數(計數)」。這段代碼算出來的是「每個平台總共發行了幾款遊戲」,而不是「全球銷售總額」。

(C) 錯誤:

data["Platform"].value_counts() 是 Pandas 中用來快速計算類別欄位出現次數的語法。它算出來的同樣是「每個平台的遊戲發行款數(即資料列數)」,完全沒有把 Global_Sales 的銷售量數值納入加總。

(D) 錯誤:

末端的 .mean() 代表的是「計算平均值」。這段代碼算出來的是「每個平台平均每款遊戲賣多少百萬份」,與題目要求的「銷售總額」不符。

Pandas 聚合函數與商業情境對照

程式碼語法 統計學意義 本題對應的行銷/商業市場意義
.sum() (A) 加總(Total) 統計各平台的市場總份額、總銷售業績 (A)。
.count() (B) / .value_counts() (C) 計數(Count) 統計各平台上總共推出了幾款遊戲(看平台熱鬧程度)。
.mean() (D) 平均數(Average) 評估該平台的「每款遊戲平均吸金能力」(看精品率)。

解題關鍵:在資料分析的程式題中,看到 「每個...(各...)」 ➔ 直覺聯想 groupby();看到 「總額 / 總和」 ➔ 直覺聯想 .sum();看到 「長條圖」 ➔ 直覺聯想 kind="bar"。依序將關鍵字連線,就能在 3 秒內鎖定正確答案 A。


46. 團隊希望比較北美、歐洲、日本及其他地區的整體銷售比例,並使用 seaborn 套件以長條圖的形式進行可視化分析。請選出能正確顯示這些地區銷售總額比例的程式碼。

(A) sns.countplot(x=["NA_Sales","EU_Sales","JP_Sales","Other_Sales"], data=data);
(B) sns.lineplot(x="Platform", y=["NA_Sales","EU_Sales","JP_Sales","Other_Sales"], data=data);
(C) sns.barplot(x="variable", y="value", data=pd.melt(data, value_vars=["NA_Sales","EU_Sales","JP_Sales","Other_Sales"]), estimator=sum);
(D) sns.histplot(data[["NA_Sales","EU_Sales","JP_Sales","Other_Sales"]])

看解答

正確答案是 (C) sns.barplot(x="variable", y="value", data=pd.melt(data, value_vars=["NA_Sales","EU_Sales","JP_Sales","Other_Sales"]), estimator=sum)。

這題考驗的是資料科學實務中非常重要的「寬資料(Wide Data)」轉「長資料(Long Data)」的資料重塑(Reshaping)能力,以及如何整合 Pandas 的 pd.melt() 與 Seaborn 繪圖套件。

面對的資料結構痛點(寬資料):

觀察原始資料集,北美(NA)、歐洲(EU)、日本(JP)、其他(Other)的銷售量是分散在四個不同的獨立欄位(Columns)中。

Seaborn 套件(如 sns.barplot)在設計上的核心邏輯是「行導向(Row-oriented)」。它最喜歡的輸入格式是:一個欄位專門放「類別名稱(X軸)」,另一個欄位專門放「數值(Y軸)」。此時直接傳入四個獨立欄位,Seaborn 會無法正確識別並分組。

(C) 為何是唯一正確且優雅的解法:

pd.melt() 的重塑魔法: 分析師使用 pd.melt() 將這四個銷售欄位「融化(Melt)」並重塑。重塑後,原本橫向發展的寬資料會變成縱向發展的長資料,並自動生成兩個新欄位:

variable:裡面存放原本的欄位代號("NA_Sales"、"EU_Sales" 等),剛好拿來當作長條圖的 X 軸(類別)。

value:裡面存放各個遊戲對應的銷售數字,拿來當作長條圖的 Y 軸(數值)。

estimator=sum 的關鍵作用: Seaborn 的 sns.barplot 預設的統計估計函數是「計算平均值(mean)」。題目要求的是比較「整體銷售比例(總額)」,因此必須明確指定 estimator=sum,這樣 Seaborn 就會自動把每一區的數值加總,完美畫出四個地區的銷售總額對比長條圖。

其他選項錯誤原因分析:
(A) 錯誤:

sns.countplot 是用來「算幾筆資料(計數)」的函數(類似次數分配表)。而且它的 x 參數只能接受單一欄位名稱字串,直接塞入一個包含四個欄位名稱的陣列 ["NA_Sales", ...] 會直接引發系統報錯(ValueError)。

(B) 錯誤:

sns.lineplot 是用來畫「折線圖」的,且在 y 參數同樣不能直接傳入欄位列表。此外,本題要求以「長條圖」形式分析地區比例,折線圖完全不符合題意。

(D) 錯誤:

sns.histplot 是用來畫「直方圖 / 機率密度分佈圖」的,它是用來觀察「單一區域銷售量的數據分佈形態」(例如有多少遊戲賣了 0~1 百萬份、有多少賣了 1~2 百萬份),完全無法呈現「四個地區總銷售額的比例比較」。

數據重塑(Pandas.melt)對比示意表原始「寬資料」狀態:

Name NA_Sales EU_Sales JP_Sales ...
Wii Sports 41.49 29.02 3.77 ...

經過 pd.melt() 轉為「長資料」狀態:

Name variable (X軸) value (Y軸)
Wii Sports NA_Sales 41.49
Wii Sports EU_Sales 29.02
Wii Sports JP_Sales 3.77

解題關鍵:在 Python 資料視覺化考題中,只要看到要把 「多個獨立欄位(如 NA_Sales, EU_Sales, JP_Sales 等)」 同時放進 Seaborn 裡畫成一張分類長條圖,解題的唯一黃金標準公式就是:先用 pd.melt() 把寬資料變長資料,再丟進 sns.barplot(x="variable", y="value") 裡,並視需求加上 estimator=sum。掌握這個高階資料處理套路即可瞬間秒選 C。


47. 研究團隊想要知道在北美地區(NA)銷售成績最好的遊戲前五名,並希望以seaborn的條狀圖呈現結果。請選出能正確完成這項分析的程式碼。

(A) sns.barplot(x="NA_Sales", y="Name", data=data.head(5));
(B) sns.barplot(x="Name", y="NA_Sales", data=data.nlargest(5,"NA_Sales"));
(C) sns.lineplot(x="Name", y="NA_Sales", data=data.nlargest(5,"NA_Sales"));
(D) sns.countplot(x="Name", y="NA_Sales", data=data)

看解答

正確答案是 (B) sns.barplot(x="Name", y="NA_Sales", data=data.nlargest(5,"NA_Sales"))。

這題考驗的是如何利用 Pandas 篩選出特定的「極值排行(Top N)」,並結合 Seaborn 的長條圖函數進行正確的可視化呈現。

我們將題目的業務需求與技術實作進行一對一拆解:

「北美地區(NA)銷售成績最好」:代表我們篩選與排行的基準是 NA_Sales 欄位。

「前五名」:在 Pandas 中,最快、最有效率找出某欄位前五名資料的方法就是使用 .nlargest(5, "欄位名") 函數(它會自動由大到小排序並取出前 5 筆)。因此,我們需要的資料來源是 data.nlargest(5, "NA_Sales")。

「以 seaborn 的條狀圖(長條圖)呈現」:代表要呼叫 sns.barplot(),並將 X 軸設為遊戲名稱(x="Name"),Y 軸設為北美銷售量(y="NA_Sales")。

將這些積木組合起來,選項 (B) 的程式碼完全正確且最符合規範。

其他選項錯誤原因分析:
(A) 錯誤(最常見的實務陷阱):

data.head(5) 雖然也是取出前 5 筆,但它是按照資料集原始的索引順序(即 Global_Sales 全球銷量的排名)取出前 5 筆。

為什麼不能用: 觀察第 43 題的原始資料概觀圖,全球第一名的《Wii Sports》北美賣 41.49 百萬,全球第二名的《Super Mario Bros.》北美賣 29.08 百萬。但這只能保證在全球排行前五的遊戲裡北美銷量也很好,並不代表它們就是「純看北美地區」的絕對前五名(說不定有一款遊戲在全球總榜排第十,但在北美賣得比超級馬利歐還多)。因此,直接用 head(5) 會產生邏輯漏洞。

(C) 錯誤:

資料篩選部分雖然使用了正確的 .nlargest(5, "NA_Sales"),但末端調用的圖表函數是 sns.lineplot(折線圖),不符合題目要求的「條狀圖(長條圖)」。

(D) 錯誤:

sns.countplot 是用來統計「資料出現次數(計數)」的函數(例如統計各款遊戲名字出現幾次),它不接受同時指定 x 與 y 參數(這會直接導致語法報錯 ValueError),更沒有進行前五名的篩選與排序。

Pandas 排行篩選:.head().nlargest() 的實務差異

篩選語法 篩選運作機制 本題情境適用性評估
data.head(5) (A) 盲目取出目前表格內最上面的前 5 列資料。 ❌ 不適用。此資料集原本是依「全球總銷量」排序,用它挑出的只是全球前五,而非北美前五。
data.nlargest(5, "NA_Sales") (B) 指定針對 NA_Sales 欄位由大到小排序,並精準切出前 5 名。 項目完美符合!(B) 確保抓出來的絕對是北美的銷售五霸。

解題關鍵:在 Python 資料科學考題中,只要看到要找 「某個欄位的前 N 名(Top N)」:

1. 優先在 data 後面尋找專門負責抓最大值排行的 .nlargest(N, "欄位")。
2. 再搭配題目要求的圖表類型(長條圖 ➔ sns.barplot)。

兩大關鍵技術一交叉,就能瞬間排除其他干擾項,穩穩拿下分數。


48. 使用銷售資料集(marketing.csv)進行迴歸分析,附圖程式碼展示資料載入與處理,請回答後續48~50題。

程式碼展示

下圖顯示資料集的前5筆資料與相關資訊。

資料載入與處理

根據上述結果,下列何者正確?

(A) 資料集個數為199筆,變數個數為4個;
(B) sales 變數的中位數是16.827;
(C) facebook 變數的第三四分位數(Q3)是11.94;
(D) youtube 變數的第一四分位數(Q1)是89.25

看解答

正確答案是 (D) youtube 變數的第一四分位數(Q1)是89.25。

這題考驗的是如何解讀 Python Pandas 函式庫中 df.describe() 所輸出的敘述統計學(Descriptive Statistics)摘要報告。我們需要逐一對照圖二的數據表格欄位來辨識正確資訊。

(D) 為正確答案:

在 df.describe() 的輸出中,25% 即代表統計學上的 第一四分位數(Q1)。

對照 youtube 這一行縱軸與 25% 橫軸的交叉點,數值正好是 89.250000,敘述完全正確。

(A) 錯誤:

觀察摘要表第一列的 count(資料筆數計數),youtube、newspaper、sales 欄位的計數皆為 200。雖然 facebook 欄位因為包含 1 筆缺失值(NaN,可從 df.head() 的第 1 列觀察到)而顯示 199,但這代表資料集的總列數(樣本數)應為 200 筆。

(B) 錯誤:

摘要表中的 50% 才代表中位數(Median),而 mean 代表的是算術平均數。

觀察 sales 欄位,它的中位數(50%)是 15.48。選項中提及的 16.827 其實是它的平均數(mean),兩者概念不可混淆。

(C) 錯誤:

第三四分位數(Q3) 在摘要表中對應的是 75% 的位置。

觀察 facebook 欄位,它的 Q3(75%)應該是 43.68。選項中給出的 11.94 實際上是它的第一四分位數(25%,即 Q1)。

df.describe() 輸出指標與統計學名詞對照表(本題觀念精髓)

Pandas 輸出標籤 統計學專有名詞 youtube 欄位對應數值 sales 欄位對應數值
count 有效樣本計數 200.00 200.00
mean 算術平均數 176.45 16.83 (選項 B 誤用此項)
std 標準差 103.03 6.26
25% 第一四分位數 (Q1) 89.25 (選項 D 正確) 12.45
50% 中位數 (Median) 179.70 15.48 (選項 B 之正確值)
75% 第三四分位數 (Q3) 262.59 20.88

解題關鍵:這是一題純粹考驗圖表閱讀與統計學代號對齊的基礎送分題。牢記三條核心對線:

1. 25% = 第一四分位數(Q1)
2. 50% = 中位數(Median)
3. 75% = 第三四分位數(Q3)

在欄位與指標交叉比對後,即可瞬間秒殺選出 D。


49. 參考下圖計算各變數的遺漏值(NaN)個數結果,下列何者正確?

程式碼

選項A: df.isnull().sum()
選項B: df.isNaN().sum()
選項C: df.isna().sum()
選項D: df.isnan().sum()

(A) 選項D;
(B) 選項B、選項C、選項D;
(C) 選項A、選項C;
(D) 選項A、選項B、選項C

看解答

正確答案是 (C) 選項A、選項C。

這題考驗的是 Python 中 Pandas 函式庫用來檢查與統計缺失值(Missing Values/NaN)的標準 API 語法。

在 Pandas 的設計中,有兩個功能完全等價、並列為官方標準設計的函式可以用來偵測缺失值,分別是:

df.isnull() (選項 A)

df.isna() (選項 C)

這兩個函式會掃描整個 DataFrame,將每個位置轉換為布林值(如果該位置是缺失值/NaN,就填入 True,否則為 False)。
接著後方串接的 .sum() 函數,會將所有的 True 當作 1、False 當作 0 進行縱向加總,進而精準統計出每個變數(欄位)中總共包含幾筆缺失值。

對照上一個題目的 df.describe() 報告中 facebook 只有 199 筆有效資料(其他變數為 200 筆),代表 facebook 確實有 1 筆遺漏值,其餘為 0。本題圖片呈現的輸出結果(facebook 為 1,其餘為 0)完全符合這個事實,而能產生此輸出的標準語法就是選項 A 與選項 C。

錯誤選項分析:
選項 B (df.isNaN()) 與 選項 D (df.isnan()) 錯誤:

這兩個函式在 Pandas 當中完全不存在。 * 這是初學者最容易混淆的陷阱。雖然在 NumPy 套件中有 np.isnan() 函數,或者在 JavaScript 等其他程式語言中有 isNaN(),但 Pandas 的 DataFrame 物件並沒有這兩個名稱的方法。如果你在 Pandas 中執行 df.isNaN() 或 df.isnan(),系統會直接噴出錯誤:AttributeError: 'DataFrame' object has no attribute 'isNaN'。

Pandas 缺失值統計語法對照表

選項代碼語法 是否為 Pandas 官方標準語法 執行結果與物理意義
df.isnull().sum() (選項 A) 是(最常用) 正確輸出各欄位的遺漏值總個數。
df.isNaN().sum() (選項 B) ❌ 否 報錯崩潰(無此屬性)。
df.isna().sum() (選項 C) 是(別名 Alias) 與 isnull() 完全等價,正確輸出遺漏值總個數。
df.isnan().sum() (選項 D) ❌ 否 報錯崩潰(無此屬性)。

解題關鍵:在 Pandas 的世界裡,要找遺漏值(NaN),永遠只有兩個對口鑰匙:isnull() 與 isna()(這兩者在原始碼中完全是用同一個底層邏輯實作的)。只要看到任何帶有大寫或小寫 nan 的字眼(如 isnan、isNaN)出現在 DataFrame 後面,皆屬於編造的錯誤語法,直接排除即可輕鬆選出 C。


50. 考慮資料集已經填補遺漏值,參考下圖執行結果,下列何者正確?

執行結果

A:空格1完整語法 reg = LinearRegression().fit(y, X)
B:空格1完整語法 reg = LinearRegression().fit(X, y)
C:print(reg.coef_) 結果為包括截距項等4個係數值
D:空格2完整語法 sm.OLS(X2, y).fit()
E:model_sm 迴歸模型的所有迴歸係數在α=0.05之下具有顯著的解釋力
F:截距項係數值為3.5561

(A) B、C、F
(B) B、F
(C) A、C、D、F
(D) B、E

看解答

正確答案是 (B) B、F。

這題考驗的是 Python 資料科學中兩大主流機器學習與統計套件——scikit-learn (sklearn) 與 statsmodels 的多元線性迴歸模型語法架構,以及對迴歸分析輸出報告(OLS Regression Results)的解讀能力。
我們逐一針對各個敘述進行詳細評估與診斷:

🟢 正確敘述分析:

• B:空格1完整語法為 reg = LinearRegression().fit(X, y) (正確)
在 scikit-learn 套件中,建立與訓練模型的標準化語法為 .fit(自變數, 依變數)。
本題中,X 包含了三個廣告投放管道(youtube, facebook, newspaper)作為特徵(自變數),y 為銷售量(sales,即目標依變數)。因此,訓練時必須依照先 X 後 y 的順序傳入,故 B 正確(A 顛倒了順序,故錯誤)。

• F:截距項係數值為 3.5561(正確)
觀察下方的 OLS Regression Results 表格,在係數估計區域(coef 欄位),const 行即代表統計學上的截距項(Constant / Intercept)。
對照其對應的 coef 數值,清晰顯示為 3.5561,故 F 正確。

❌ 錯誤敘述分析:

• C:print(reg.coef_) 結果為包括截距項等 4 個係數值(錯誤)
在 scikit-learn 的 LinearRegression 中,模型訓練完成後,自變數的斜率係數與截距項是分開儲存的:
reg.coef_:僅儲存自變數的斜率係數(斜率項)。因為本題自變數有 3 個,所以它只會輸出包含 3 個 數值的陣列(對應 youtube, facebook, newspaper 的斜率)。
reg.intercept_:單獨儲存截距項。
因此,reg.coef_ 內並不會包含截距項,其個數為 3 個而非 4 個。

• D:空格2完整語法 sm.OLS(X2, y).fit()(錯誤)
這是 statsmodels 官方設計上最經典的「反直覺陷阱」。
與 sklearn 先 X 後 y 的習慣相反,statsmodels 的 sm.OLS() 函數在接收參數時,規定必須先傳入依變數 \(y\),再傳入自變數 \(X\),即其標準語法為:sm.OLS(y, X2).fit()。選項 D 帶入的順序完全顛倒,會導致程式執行邏輯錯誤或報錯。

• E:model_sm 迴歸模型的所有迴歸係數在 \(\alpha=0.05\) 之下具有顯著的解釋力(錯誤)
檢驗迴歸係數是否顯著,需觀察雙尾檢定的 \(p\) 值欄位——P>|t|:
youtube 的 \(p\) 值 = 0.000(\(< 0.05\),極顯著)
facebook 的 \(p\) 值 = 0.000(\(< 0.05\),極顯著)
newspaper 的 \(p\) 值 = 0.914(\(\gg 0.05\),不顯著)
由於報紙(newspaper)變數的 \(p\) 值高達 0.914,代表在統計學上,它對銷售量完全沒有顯著的解釋力。因此「所有迴歸係數皆顯著」的敘述是錯誤的。

套件迴歸語法與參數順序對照表

套件名稱 核心函數 / 屬性 正確參數傳入順序 / 輸出特徵 本題實務代碼呈現
scikit-learn (sklearn) .fit(X, y) 先傳自變數 $X$,再傳依變數 $y$ (B)。 LinearRegression().fit(X, y)
.coef_ 僅包含自變數斜率陣列,不含截距 (C 錯)。 輸出 3 個斜率值。
statsmodels sm.OLS(y, X) 先傳依變數 \(y\),再傳自變數 \(X\) (D 錯)。 sm.OLS(y, X2).fit()
表格中的 const 統計學上的模型截距項 (F)。 估計值為 3.5561。

結論: 綜合上述診斷,僅有 B 與 F 的敘述完全正確,故選 (B)。


回 AI 首頁   回 iPAS 首頁