假設有成對資料 (Xi, Yi), 其中 Yi 稱為「反應觀測值 (response observations)」而 Xi 是「「輔助觀測值 (auxiliary observations)」, 我們常希望建立一個函數關係來表現兩者間的關係:

Yi = g(Xi)

在統計上假設

Yi = g(Xi, ε_i)  或  Yi = g(Xi) + ε_i

意思是構成 Yi 觀測值的,除了 Xi 之外,還有隨機誤差項 ε_i 的作用,上列左式是一般式,右式假設 Yi 是由 g(Xi) 和隨機誤差項相加而成。最簡單的是考慮

Yi = α + β Xi + ε_i

稱為簡單直線迴歸模型 (simple linear regression model)。有時資料呈現的不是直線關係,如果沒有辦法確定 g(Xi) 的函數形式,可能會考慮多項式迴歸

Yi = β_0 + β_1 Xi + ... + β_k Xi^k + ε_i

但有時可發現資料存某點 c 前後呈現不同樣貌:

Yi = β_0 + β_1 Xi + ... + β_k Xi^k + ε_i,  if Xi < c;
    = β'_0 + β'_1 Xi + ... + β'_k Xi^k + ε_i,  if Xi ≧ c.

例如在 c 的前後是不同宜線形。但這種分段多項式迴歸模型有個很大問題,那就是在 c 點前後完全是兩個不同多項式曲線,我們更希逞看到如下形式:

Yi = p_1(Xi) + ε_i,  if Xi < c;  = p_2(Xi) + ε_i  if Xi ≧ c
    with p_1^(j)(c) = p_2^(j)(c), j = 0, 1, ..., k-1

例如 k = 1 時,p_1(Xi), p_2(Xi) 都是一次的,而在 c 點其零階導數,即原函數值相等;做為另一個例子,k = 3,即 p_1(Xi) 與 p_2(Xi) 都是三次曲線形,而其在 c 之 0 階,1 階及 2 階導導數都相等。這使得 c 點左右兩個多項式函數連結在一起具有最高的平滑度,如 k = 1 時兩直線段連接在一起具 0 階平滑度,也就是說具連續性;k = 3 時兩段三次曲線在 c 點二階可微,昆為具二階平滑度。

前述分段點 c 稱之為「結 (knot)」,一般我們可以有不只一個結,假設有 s 個結,Xi 所在數線或 Xi 範圍被分割為 s+1 段,每一段用一個 k 階多項式配適 (fitting) 資料,則需要

(s + 1)(k + 1) 個參數= (s + 1)(k + 1) 個自由度

但如果各要求 k' (< k) 階平滑度,每個結點需要 k'+1 個限制,則模型自由度是

 (s + 1)(k + 1) - s(k' + 1) = (k + 1) + s (k - k')

也就是說需要 (k + 1) + s (k - k') 個迴歸參數表現這個平滑分段多項式迴歸模型。如果要求最大平滑度,則 k' = k - 1,也就是說每一個結點只多了一個迴歸參數,因此模型總自由度是 k + 1 + s。

以 s = 1, k = 1 為例,即一個結點,各段皆直線式,也就是說我們考慮的是以特定一點 c 為折點的折線模型。顯然在 c 點是不可微分的,因此只能是 0 階平滑而不可能是 1 階平滑。若 c 點左右採用三階多項式,即 k = 3,則在 c 點不存在三階導數,因此只能最高二階平滑。以折線為例,不限制之分段直線迴歸為

Yi = α + β Xi + ε_i,  if Xi < c;  = α' + β' Xi + ε_i,  if Xi ≧ c

要求在 c 點連續,則 α' = α + (β - β')c。又如 k = 3 時,β'_j 與 β_j 之間滿足三個等式,諸 β'_j 除一個自由變數以外,其他三個可用該自由變數(參數)與諸 β_j 表示。

上面用分段多項式表示的迴歸模型,又要求最高平滑度條件,使得分段多項式係數受到束縛,但令

h(x; c) = (max{0, (x-c)})^k = ((x-c)_+)^k

則 h^(j)(c) = 0, j = 0, 1, ..., k-1,因此

g(x) =  β_0 + β_1 Xi + ... + β_k Xi^k + β_{k+1} h(Xi; c)

在 c 點左右都是 k 階多項式,而且在 c 點有 k-1 階平滑度。於是,有 s 個結點 c_1, ..., c_s 的平滑分段多項式迴歸式可以寫成

Yi = β_0 + Σ β_j Xi^j + Σ β_{k+j} h(Xi; c_j) + ε_i

如果結點 c_1, ..., c_s 是事先指定的,這仍然是一個多元線性迴歸模型,注意此處「線性」一詞其實是對迴歸參數諸 β_j, j = 0, 1, ..., k+s 而言的。當然實務上結點數 s 及結點位置 c_j 可能由資料決定,而稱之為「樣條迴歸 (spline regression)」, 或者說是「迴歸樣條 (regression spline)」.

如果沒有結,那就只是單純的多項式迴歸,一個結把資料分成前後兩半,較多的結可以配適得更好,但太多結猶如用太高階多項式,將造成過度配適 (overfitting)。從這一點來看,樣條迴歸可說是多項式迴歸的修飾:也許勉強用多項式迴歸配適資料需要較高階多項式函數;適當結點的低階樣條函數則可更適當配適資料並避免太高階多項式,一般可能採用線性樣條或三次樣條。不過,在 Xi 範圍的兩端,甚至範圍之外,樣條迴歸的估計或預測誤差其實較單一多項式迴歸更大而不穩定,因此也有所謂「自然樣條 (natural spline)」的方法,在‵最小結點之左與最大結點之右,樣條函數被強制限制為接近直緩。

樣條迴歸藉助將 Xi 分段來處理迴歸函數非直線性問題,另有「平滑樣條 (smoothing spline)」的方法則不設結點,直接極小化

Σ (Yi - g(Xi))^2 + λ ∫ (g"(x))^2 dx

積分的範圍可以是整個實數線,或者是 Xi 的概括範圍;另積分號下用 g 的二階導數只是形式之一,並稱之為「立方樣條 (cubic spline)」, 一般式可以用 (g^(m)(x))^2,或者,可以用差分或差商取代微分。詳參 Wiki

平滑樣條的方法假設

g(x) = Σ_i g(Xi) Bi(x)

式中諸 Bi(x) 是一組樣條基函數。依上列表現式,Bi(x) 應滿足

Bi(Xj) = δ(i,j) = 1  if i = j;  = 0  if i≠j

將 g(x) 的表現式代入目標式,則得

Σ (Yi - g(Xi))^2 + λ Σ_i Σ_j g(Xi) g(Xj) ∫ (Bi"(x))(Bj"(x)) dx

或可表示為

|| Y - m ||^2 + λ m' A m

式中 A 為 n×n 對稱方陣,其元素為 a(ij) = ∫ (Bi"(x))(Bj"(x)) dx,而 Y 為反應向量,m 為迴歸值向量。則用微分或配方法可得標準方程式

Y = (I + λ A) m

並得 m = (I + λA)^{-1} Y。

前面說到立方樣條只是一個例子,De Boor (2001) 則採用下列目標函數

p Σ Wi (Yi - g(Xi))^2 + (1 - p) ∫ (g^(m)(x))^2 dx

其中 p 也是需要估計的參數,稱之為「平滑因子 (smooth factor)」;  諸 Wi 是權量,也就是允許不同點有不同權值。除此之外,此法還要求設定一個界限值 S,要求

Σ Wi (Yi - g(Xi))^2 ≦ S

在 Wi = 1/Var[ε_i] 的情形,S 被建議取值在 n ± √(2n) 之間,蓋因若 Wi (Yi - g(Xi))^2 可視為 χ^2(1) 變量,則上列平方和是 χ^2(n) 變量,接近 N(n, 2n)。

前述迴歸樣條及平滑樣條的方法都可推廣至多個輔助變量(或即自變數,解釋變數),此處就不贅述了。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 等死的老賊 的頭像
    等死的老賊

    劉應興的部落格

    等死的老賊 發表在 痞客邦 留言(0) 人氣()