signal🚧

signal

signal smoothing🚧

signal denoising

訊號降噪。降低雜訊大小。

signal denoising = signal estimation。一體兩面。

例如大家習慣使用Kalman filter抑制運動軌跡雜訊。位置、速度、加速度,有限差分,強行展開,即是線性遞迴函數。經典範例是登月大空梭,藉由Kalman filter讓太空梭從地球飛到月球。

signal smoothing

訊號平滑化。降低鄰近數字差異大小。

signal smoothing可以抑制雜訊。如果雜訊的平均數是零,那麼平滑化可以完全消除雜訊,代價是訊號本身也變成平均數了。

維基百科整理了一份演算法名稱列表:

演算法(moving average)

移動平均。鄰近函數點的加權平均,作為該函數點。

演算法(local regression)(moving regression)

局部迴歸。鄰近函數點進行迴歸。根據迴歸函數,重新計算該函數點。

另外,當迴歸函數是連續函數,則可以計算該函數點的任意次微分。

演算法(Savitzky–Golay filter)

Why and How Savitzky–Golay Filters Should Be Replaced
https://pubs.acs.org/doi/10.1021/acsmeasuresciau.1c00054

演算法(LOESS: locally estimated scatterplot smoothing)

處理outlier。原版即是Savitzky–Golay filter。

做兩次。第一次用k-nearest neighbor,第二次用移動平均。

https://www.mathworks.com/help/curvefit/smooth.html
https://www.ime.unicamp.br/~dias/loess.pdf
https://en.wikipedia.org/wiki/Local_regression

演算法(exponential smoothing)

觀察值與預測值的一次內插。

強行展開,各項係數呈指數成長,因而得名。

強行展開可以視作移動平均,但是每回合權重都不一樣。

exponential smoothing
yn = (1-a) yn-1 + a xn

double exponential smoothing

triple exponential smoothing

signal prediction🚧

signal estimation(time series fitting)

訊號估計。找到理想曲線。找到規律。找到迴歸函數。

迴歸函數是遞迴函數、週期函數等等具有規律的函數。

signal prediction(time series forecasting)

訊號預測。訊號有某種規律,請預測接下來的訊號。

訊號預測=訊號估計+函數求值。

演算法(linear prediction)(linear predictive coding)

請見本站文件「filter」。

linear regression:用一次函數符合資料。linear prediction:用線性遞迴函數符合資料。

誤差設定成「均方誤差mean squared error」:平方誤差,再除以數列長度;平方誤差的平均數。如此一來,長度不同的數列,得以互相比較誤差大小。

首先求得均方誤差最小的線性遞迴函數。時間複雜度O(N²),在頻域計算可加速為O(NlogN)。

求得線性遞迴函數之後,欲預測下一個新訊號,直接代入最後K個舊訊號即可。時間複雜度O(K),K是線性遞迴函數的項數。

求得線性遞迴函數之後,欲預測第M個新訊號,共有四種演算法。時間複雜度O(K²logM),在頻域計算可加速為O(KlogKlogM)。

演算法(ARIMA)

加強版。遞迴關係式增加項次。

演算法(ARCH)

加強版。推廣成非線性,引入統計學。

演算法(Prophet)

演算法(Kalman filter)(linear quadratic estimation)

觀察值與預測值的一次內插。

推定預測值源自線性遞迴函數。

演算法(recurrent neural network)

signal separation🚧

signal overlapping(signal composition)

訊號疊加。數據軸加法。大量訊號疊合在一起。

signal separation(signal decomposition)

訊號分隔。數據軸分割。大量訊號疊合在一起,分隔每道訊號。

trend中線, seasional週期, cyclic峰谷, noise雜訊
yₙ = tₙ + sₙ + cₙ + nₙ
https://www.abs.gov.au/websitedbs/d3310114.nsf/4a256353001af3ed4b2562bb00121564/5fc845406def2c3dca256ce100188f8e
https://cran.r-project.org/web/packages/deseats/readme/README.html

演算法(Henderson moving average)

Spencer
https://robjhyndman.com/papers/movingaverage.pdf
https://mathworld.wolfram.com/Spencers15-PointMovingAverage.html

演算法(Whittaker–Henderson filter)

regularization,追加平滑程度。

min { sum wₙ (yₙ - tₙ)² + λ sum (dⁿ/dxⁿ tₙ)² }
 t     n                     n

演算法(Hodrick–Prescott filter)

平滑程度改成二階差分。擁有公式解。

 
       N                 N-1
min { sum (yₙ - tₙ)² + λ sum ((tₙ₊₁ - tₙ) - (tₙ - tₙ₋₁))² }
 t    n=1                n=2
公式解矩陣
https://en.wikipedia.org/wiki/Hodrick–Prescott_filter
https://en.wikipedia.org/wiki/Smoothing_spline

Why you should never use the Hodrick–Prescott filter
https://www.nber.org/system/files/working_papers/w23429/w23429.pdf

An Exploration of Trend-Cycle Decomposition Methodologies in Simulated Data
https://papers.ssrn.com/abstract=3539317

演算法(smoothing spline)

迴歸函數換成spline。

 
       N                 N-1
min { sum (yₙ - fₙ)² + λ sum (d²/dx² fₙ)² }
 f    n=1                n=2

where f is spline

signal segmentation🚧

signal concatenation

訊號銜接。時間軸銜接。大量訊號銜接在一起。

主要問題在於曲線不連續。在於相位。淡入淡出也無法解決。

signal segmentation

訊號分段。時間軸分割。大量訊號銜接在一起,分割每段訊號。

signal representation🚧

signal transformation

訊號變換。訊號套用函數,改變訊號造型。

signal representation

訊號表示。訊號套用函數,換個視角呈現訊號。

演算法(Karhunen–Loève transform)(Hotelling transform)

即是principal component analysis。

演算法(sparse coding)

signal classification🚧

signal detection

訊號偵測。判斷訊號是資訊或是雜訊。

signal classification

訊號分類。判斷訊號是哪種常見訊號。

演算法(hidden Markov model)

演算法(catch22: canonical time-series characteristic)

https://www.sktime.net/en/v0.20.0/examples/02_classification.html

signal recovery🚧

signal completion

訊號補全。訊號部分佚失,推敲原本訊號。

signal recovery

訊號還原。訊號部分錯誤,推敲原本訊號。