什麼是平滑方法?為什麼要做平滑方法?

  • 透過演算法來移除資料中的隨機性,凸顯資料的趨勢(視覺化)
  • 技術分析
  • 本投影片主要介紹平滑曲線的相關方法

常見的平滑方法

  • 給定\(S = \{(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)\}\),要找到\(f\)使得\(f(x)\)是一條平滑的曲線

範例:移動平均法。計算\(x\)周圍的資料點的平均

  • \(N(x,d) = \{x_i|x_i \in S, \left| x_i - x \right| < d\}\) 代表接近x的資料點,(距離小於\(d\))
  • \(\left\lVert N(x,d) \right\rVert\) 代表x 周圍的點的數量

\[f(x) = \frac{1}{\left\lVert N(x,d) \right\rVert} \sum_{x_i \in N(x, d)} y_i\]

常見的平滑方法的原理

  1. Kernel
  2. Spline

Kernel方法

  • \(f(x)\)的值由\(x\)周圍的點所確定

範例

  • 移動平均
  • 加權移動平均
    • 不同的「權重」算法(不同的kernel)

Kernel 方法

Spline方法

  • 將 \(f\) 視為一些基礎函數線性組合
    • 基礎函數可以是從某些觀點出發的,例如從多項式、或是從週期性函數
    • 可以想像成把\(y\)對這些基礎函數搭配\(x\)產生的\(b_1(x), b_2(x), ...\)做迴歸分析

範例

  • B-spline basis
  • Fourier basis

Spline方法

個人比較

  • 有統計理論證明,兩者(kernel v.s. spline)可以轉換
  • kernel方法只需要局部資訊,通常在實作上比較簡單
  • spline方法在有特別的應用場景
    • 例如有強烈週期性的資料可以用Fourier basis
    • 外插預測時(例如拿1~4月的資料預測5月)