Skip to main content

Regresi Nonparametrik Spline Truncated

Regresi spline adalah salah satu regresi polinomial dimana segmen-segmen polinomial yang berbeda digabungkan bersama pada titik-titik knot \(\lambda_1,\lambda_2,\ldots,\lambda_q\) dan kontinu sehingga bersifat fleksibel dibandingkan polinomial biasa.

Kurva regresi spline mempunyai titik knot yang maksudnya adalah titik perpaduan bersama dimana terjadi perubahan perilaku kurva.

Apa itu Regresi Nonparametrik?
Simak ulasannya di artikel: Analisis Regresi: Parametrik, Nonparametrik dan Semiparametrik

Kurva regresi spline dapat menyesuaikan diri secara efektif terhadap perubahan perilaku data, sehingga didapatkan hasil yang mendekati kebenaran (Eubank, 1999). Menurut Cox & O'Sullivan (1996), Kurva regresi spline memiliki kemampuan yang sangat baik untuk menangani data yang perilakunya berubah-ubah pada sub-sub interval tertentu. Menurut Budiantara (2009), model regresi spline mempunyai interpretasi statistik dan interpretasi visual yang sangat khusus dan sangat baik.

Diberikan data berpasangan \(\left(x_i,y_i\right),\) \(i=1,2,\ldots,n,\) dimana \(y_i\) adalah variabel respon dan \(x_i\) adalah variabel prediktor. Pola hubungan \(y_i\) dan \(x_i\) dapat dinyatakan dalam model regresi \[ y_i=f\left(x_i\right)+\varepsilon_i \] Selanjutnya jika kurva regresi \(f\left(x_i\right)\) dihampiri dengan kurva regresi spline truncated, maka \[ \begin {aligned} f\left(x_i\right)&=\beta_0 + \beta_1x_i + \ldots + \beta_px_i^p + \gamma_1\left(x_i-\lambda_1\right)_+^p + \ldots + \gamma_q \left(x_i-\lambda_q\right)_+^p\\ & =\sum_{k=0}^{p}{\beta_kx_i^k}+\sum_{l=1}^{q}{\gamma_l\left(x_i-\lambda_l\right)_+^p}, \end {aligned} \] dimana \[ \left(x_i-\lambda_l\right)_+^ p= \left\{\begin{matrix}\left(x_i-\lambda_l\right)^p &,\ x_i\geq\lambda_l\\ \\ 0 & ,\ x_i<\lambda_l\ .\\\end{matrix}\right. \]

Kurva regresi \(f\left(x_i\right)\) merupakan kurva regresi nonparametrik spline truncated derajat \(p\) dengan banyaknya titik knot \(q.\) Derajat \(p\) merupakan derajat pada persamaan polinomial. Biasanya digunakan \(p\) = 1, 2 atau 3, karena untuk derajat kurva regresi di atasnya (lebih dari 3) bisa didekati dengan bentuk kurva polinomial tersebut.

Kurva regresi polinomial derajat 1 biasa disebut dengan kurva regresi linier, kurva regresi polinomial derajat 2 biasa disebut dengan kurva regresi kuadratik, sedangkan kurva regresi polinomial derajat 3 biasa disebut dengan kurva regresi kubik. Titik-titik knot \(\lambda_1,\lambda_2,\ldots,\lambda_q\) adalah titik-titik knot yang menunjukkan pola perilaku dari kurva pada sub-sub interval yang berbeda, dimana \(\lambda_1 < \lambda_2 < \ldots < \lambda_q.\)

Jika pendekatan regresi spline truncated memiliki derajat \(p\) = 1, maka akan menjadi regresi spline linier truncated, dimana bentuk model regresinya akan menjadi \[ \begin {aligned} f\left(x_i\right) &= \beta_0 + \beta_1x_i + \gamma_1\left(x_i-\lambda_1\right)_+ + \ldots + \gamma_q\left(x_i-\lambda_q\right)_+\\ &= \beta_0 + \beta_1x_i + \sum_{l=1}^{q}{\gamma_l\left(x_i-\lambda_l\right)_+}. \end{aligned} \]

Jika persamaan kurva regresi nonparametrik spline truncated untuk \(i=1\) sampai dengan \(i=n\) digabungkan ke dalam bentuk persamaan vektor dan matriks akan menjadi \[\left[\begin{matrix} f\left(x_1\right)\\ f\left(x_2\right)\\ \vdots\\ f\left(x_n\right) \end{matrix}\right] = \left[\begin{matrix} 1 & x_1 & \cdots & x_1^p & \left(x_1-\lambda_1\right)_+^p & \cdots & \left(x_1-\lambda_q\right)_+^p\\ 1 & x_2 & \cdots & x_2^p & \left(x_2-\lambda_1\right)_+^p & \cdots & \left(x_2-\lambda_q\right)_+^p\\ \vdots & \vdots & \ddots & \vdots & \vdots & \ddots & \vdots\\ 1 & x_n & \cdots & x_n^p & \left(x_n-\lambda_1\right)_+^p & \cdots & \left(x_n-\lambda_q\right)_+^p \end{matrix}\right] \left[\begin{matrix} \beta_0\\ \beta_1\\ \vdots\\ \beta_p\\ \gamma_1\\ \gamma_2\\ \vdots\\ \gamma_q \end{matrix}\right]\]

Dalam notasi matriks dapat ditulis menjadi \[ \vec{f}\left(x\right) = \mathbf{X\left(\vec{\lambda}\right)}\vec{\theta}\ ,\] dimana \[\vec{f} \left(x\right)=\left[\begin{matrix}f\left(x_1\right)\\f\left(x_2\right)\\ \vdots\\f\left(x_n\right)\\\end{matrix}\right]\ ,\ \ \ \ \ \ \ \ \ \ \vec{\theta} = \left[\begin{matrix}\beta_0\\ \beta_1\\ \vdots\\ \beta_p\\ \gamma_1\\ \gamma_2\\ \vdots\\ \gamma_q \end{matrix}\right]\ ,\] \[\mathbf{X\left(\vec{\lambda}\right)} = \left[\begin{matrix} 1 & x_1 & \cdots & x_1^p & \left(x_1-\lambda_1\right)_+^p & \cdots & \left(x_1-\lambda_q\right)_+^p\\ 1 & x_2 & \cdots & x_2^p & \left(x_2-\lambda_1\right)_+^p & \cdots & \left(x_2-\lambda_q\right)_+^p\\ \vdots & \vdots & \ddots & \vdots & \vdots & \ddots & \vdots\\ 1 & x_n & \cdots & x_n^p & \left(x_n-\lambda_1\right)_+^p & \cdots & \left(x_n-\lambda_q\right)_+^p \end{matrix}\right].\]

Vektor \(\vec{f}\left(x\right)\) berukuran \(n\times1,\) matriks \(\mathbf{X\left(\vec{\lambda}\right)}\) berukuran \(n\times\left(p+q+1\right),\) sedangkan vektor \(\vec{\theta}\) berukuran \(\left(p+q+1\right)\times1.\) Sebelum estimasi terhadap kurva regresi \(\vec{f}\left(x\right),\) terlebih dahulu dilakukan estimasi terhadap parameter \(\vec{\theta}.\) Estimasi parameter \(\vec{\theta}\) dilakukan dengan menggunakan metode MLE. Fungsi likelihood yang diberikan adalah \[\begin{aligned} L\left(\vec{\theta},\sigma^2\middle|\vec{\lambda}\right) & = \prod_{i=1}^{n}{\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{1}{2\sigma^2}\varepsilon_i^2\right)}\\ & = \left(2\pi\sigma^2\right)^{-\frac{n}{2}}\exp\left(-\frac{1}{2\sigma^2}\left\|\vec{\lambda}\right\|^2\right)\\ & = \left(2\pi\sigma^2\right)^{-\frac{n}{2}}\exp\left(-\frac{1}{2\sigma^2}\left\|\vec{y}-\mathbf{G(\vec{\lambda})}\vec{\theta}\right\|^2\right). \end{aligned}\]

Estimator MLE yang dihasilkan adalah \[ \widehat{\vec{\theta}}\left(\vec{\lambda}\right)=\left[\left(\mathbf{X\left(\vec{\lambda}\right)}\right)^\text{T}\mathbf{X\left(\vec{\lambda}\right)}\right]^{-1}\left(\mathbf{X\left(\vec{\lambda}\right)}\right)^\text{T}\vec{y}. \]

Dengan demikian, estimasi dari kurva regresi \(\vec{f}\left(x\right)\) adalah \[\begin{aligned} {\widehat{\vec{f}}}_{\vec{\lambda}}\left(x\right) &= {\mathbf{X\left(\vec{\lambda}\right)}\left[\left(\mathbf{X\left(\vec{\lambda}\right)}\right)^\text{T}\mathbf{X\left(\vec{\lambda}\right)}\right]}^{-1}\left(\mathbf{X\left(\vec{\lambda}\right)}\right)^\text{T}\vec{y}\\ & = \mathbf{S\left(\vec{\lambda}\right)}\vec{y}, \end{aligned}\] dimana: \[ \mathbf{S\left(\vec{\lambda}\right)} = {\mathbf{X\left(\vec{\lambda}\right)}\left[\left(\mathbf{X\left(\vec{\lambda}\right)}\right)^\text{T}\mathbf{X\left(\vec{\lambda}\right)}\right]}^{-1}\left(\mathbf{X\left(\vec{\lambda}\right)}\right)^\text{T}\ . \]

Vektor \({\widehat{\vec{f}}}_{\vec{\lambda}}\left(x\right)\) dan \(\widehat{\vec{\theta}}\left(\vec{\lambda}\right)\) memiliki ukuran yang sama dengan vektor parameternya. Sedangkan matriks \(\mathbf{S\left(\vec{\lambda}\right)}\) berukuran \(n\times\left(p+q+1\right).\)

Titik-titik knot merupakan pengontrol keseimbangan antara kemulusan kurva dan kesesuaian kurva terhadap data. Pemilihan banyaknya titik knot, lokasi titik-titik knot optimum dapat dilakukan salah satunya dengan metode Generalized Cross Validation atau GCV (Eubank, 1999). \[ \text{GCV}\left(\vec{\lambda}\right)=\frac{\text{MSE}\left(\vec{\lambda}\right)}{\left(n^{-1}tr\left(\mathbf{I}-\mathbf{S\left(\vec{\lambda}\right)}\right)\right)^2}, \] dimana \[ \text{MSE}\left(\vec{\lambda}\right)=n^{-1}\sum_{i=1}^{n}\left(y_i-\hat{g}\left(x_i\right)\right)^2. \] Pemilihan banyaknya titik knot dan lokasi titik-titik knot optimum dilakukan dengan melihat nilai GCV yang minimum.

Baca Regresi Nonparametrik yang lain: Regresi Nonparametrik Kernel

Referensi: