source: Wavelet Methods for Time Series Analysis
小波的本质
- wavelets,中文翻译成小波,其实它就是 small waves 的意思,那什么是大波呢, 正弦信号就是 big waves
- 满足以下条件的实函数(记作,
ψ(⋅)
)我们就称之为小波:
-
ψ(⋅)
的积分为零:
∫∞−∞ψ(u)du=0 -
ψ(⋅)
平方的积分为1:
∫∞−∞ψ2(u)du=1
-
ψ(⋅)
的积分为零:
- 那么为什么说满足以上条件就是 wavelet呢?
- 假设上面的二式成立,那么对于任何满足
0<ϵ<1
的
ϵ
, 一定存在一个有限区间
[−T,T]
使得
∫T−Tψ2(u)du<1−ϵ - 当 ϵ 非常接近零的时候, ψ(⋅) 在 [−T,T] 以外的区间上,几乎是为零的:因为它的非零的部分基本上已经局限在 [T,−T] 这个区间上了。因为区间 [−T,T] 的长度相较于整个实轴 (−∞,∞) 来说是非常小,小到可以忽略的,所以可以非零的活动可以被认为是在很小的时间段里面。这就是 small 的原因。
- 同时对于式一来说,我们可以看出正的信号都会被负的信号 cancel掉,所以 ψ(⋅) 是一个 wave
- 式一和式二总体就能看出这是 small wave 的。
- 假设上面的二式成立,那么对于任何满足
0<ϵ<1
的
ϵ
, 一定存在一个有限区间
[−T,T]
使得
小波分析(Wavelet Analysis)
- wavelets tell us about variations in local averages
- 先考虑一些基本的:
- 记 x(⋅) 为一个信号,t 为时间
- 那么在区间 [a,b] 上 x(⋅) 的均值为: 1b−a∫bax(u)du=α(a,b)
- 如果将
a,b
用
λ,t
来表示的话,可以写成
A(λ,t)=α(t−λ2,t+λ2)=1λ∫t+λ2t−λ2x(u)du - 其中, λ=b−a 称作 scale
- t=(a+b)2 是时间段的中心
- 所以, A(λ,t) 是 x(⋅) 在 t 时刻处 λ 尺度下的均值。
- 很显然,相较于均值本身,我们更关心不同尺度下均值的变化。所以这里我们就可以将小波与均值的变换联系起来。
- 我们可以将
A(λ,t)
的变化表示为:
D(1,t−12)=A(1,t)−A(1,t−1)=∫t+12t−12x(u)du−∫t−12t−32x(u)du - 或者:
D(1,t)=A(1,t+12)−A(1,t−12)=∫t+1tx(u)du−∫tt−1x(u)du - 上面的scale都默认为1,如果换成一般的 scale
λ
的话,可得:
D(λ,t)=A(λ,t+λ2)−A(λ,t−λ2)=1λ∫t+λtx(u)du−1λ∫tt−λx(u)du
- 我们可以将
A(λ,t)
的变化表示为:
- 一种典型的小波就是 Haar wavelet:
ψ(H)(u)={−12√,12√,0,−1<u≤00<u≤1others
- 我们可以用 Haar 小波 来提取时间 t 处单位 尺度的差值:
∫∞−∞ψH(u)x(u)du=WH(1,0) - 要提取其他 t 处的信息, 只需要平移
ψH(u)
:
ψH1,t(u)=ψH(u−t)
ψ(H)1,t(u)={−12√,12√,0,t−1<u≤tt<u≤t+1others - 要提取其他尺度
λ
处的信息:
ψ(H)λ,t(u)=1λ√ψH(u−tλ)={−12√,12√,0,t−λ<u≤tt<u≤t+λothers - 不同
λ,t
的集合,我们可以得到
x(⋅)
在不同尺度下的变化,这就是
x(⋅)
的 Haar continuous wavelet transform (CWT) :
W(λ,t)=∫∞−∞ψλ,t(u)x(u)du,whereψλ,t(u)=1λ√ψ(u−tλ)
- 我们可以用 Haar 小波 来提取时间 t 处单位 尺度的差值:
- 事实上,
W(λ,t)
和
x(t)
是等价的,我们可以推算出:
∫∞−∞x2(t)dt=1Cψ∫∞0[∫∞−∞W2(λ,t)dt]dλλ2
- 等式左边 为 x(⋅) 的能量(energy)
- 等式右边是 能量密度( energy density) 在 λ,t 上的积分
Wavelet Sum up
(http://www2.isye.gatech.edu/~brani/wp/kidsA.pdf)
- Computational complexity of the fast Fourier transformation is
O(n⋅log2(n))
. For the fast wavelet, it’s
O(n)
- one can do data smoothing by thresholding the wavelet coefficients and then returning the thresholded code to the “time domain.”