Page 244 - 《软件学报》2020年第10期
P. 244

3220                                  Journal of Software  软件学报 Vol.31, No.10, October 2020

                                            1  n− 1  2πj  fi
                                         t =  ∑  x  e  n  ,i =  0,1,...,n −  1.
                                         i        f
                                             n  f = 0
             复数 x f 通常称作傅里叶系数(Fourier coefficient).
             通过欧拉公式可以将公式(1)表示为
                                n−  1  − 2πj  fi  n−  1  ⎛  ⎛  2πf ⎞  ⎛  2πf ⎞  ⎞
                            x =    e t ∑  n  = ∑  t  cos  i −  j sin  i  ⎟  , f =  0, 1, ..., n −  1.
                             f    i        i ⎜  ⎜  n  ⎟   ⎜  n  ⎟
                                i=  0   i=  0 ⎝  ⎝  ⎠     ⎝   ⎠  ⎠
             傅里叶系数 x f 可分为 real f 实数部分和 imag f 虚数部分:
                                            n− 1  ⎛  2πf ⎞
                                       real f  = ∑ t i  cos ⎜  i ⎟  , f =  0,1,...,n − 1,
                                            i= 0  ⎝  n  ⎠
                                             n− 1  ⎛  2πf ⎞
                                      imag  f  = − ∑ t i  sin ⎜  i ⎟  , f =  0,1,...,n −  1.
                                             i= 0  ⎝  n  ⎠
             经过傅里叶变换,我们得到的傅里叶系数值序列可以表示为
                                   x  =  (real 0 ,imag real 1 ,imag 1 ,...,real n−  1 ,imag n−  1 )  (4)
                                               ,
                                              0
             由于 real n–f =real f ,imag n–f  =–imag f ,imag 0 =0,所以上述 2n 维数组可用 n 维数组表示.
             当 n 为偶数时,imag n/2 =0,x 可以表示为
                                x  =  (real real  ,real  ,imag  ,...,real  ,imag  )           (5)
                                       ,
                                       0   (n−  1) /2  1  1  n /2 1−  n /2 1−
             当 n 为奇数时,x 可以表示为
                            x  =  (real  ,imag  ,real  ,imag  ,...,real  ,imag  ,real  )      (6)
                                  0    (n−  1)/ 2  1  1   (n−  3)/ 2  (n−  3)/ 2  (n−  1)/ 2
             考虑到傅里叶值的对称性,为了减少计算量和存储空间,一般用 n 维数组对傅里叶值进行存储.由于 x 中的
         傅里叶值代表了固定周期内的时间序列的频率成分,因此,符号傅里叶的近似过程就是对这些傅里叶值进行选
         择和符号化转换.下面我们介绍基于 SFA 的特征生成过程.

         1.3   基于SFA的特征生成
             基于 SFA 的特征生成过程分为两步:首先,从子序列转换得到的傅里叶值数组中选择鉴别性最强的 top–l
         个傅里叶值;其次,利用分箱技术将选择的傅里叶值依序转换为符号组成单词,即,特征.
             傅里叶值的鉴别性度量本质上是根据一系列标定类属性的实值来判断这组值对应的频率成分的鉴别性强
         弱.Schafer 等人 [24] 提出利用 F 统计量对傅里叶值的鉴别性强弱进行度量,然后选择鉴别性最强的前 l 个傅里叶
         值.这样处理比简单挑选 top–l 个傅里叶值生成的特征更具有鉴别性.本文我们也使用 F 统计量进行傅里叶值鉴
         别性度量,与 Schafer 所提方法不同的是,我们为每个窗口长度选择分类性能最优的傅里叶值个数进行特征生
         成,而 Schafer 等人使用的方法所有滑动窗口都选择鉴别性 top–l 个傅里叶值.计算 real i 或 imag j 对应的实数集上
         的 F 统计量的类内方差 MS W 和类间方差 MS B 的计算公式            [24] 为
                                                 1
                                                              2
                                           MS  =    ∑∑ |  x −  x  | ,
                                             W               c
                                                qk−  cx Q c
                                                      ∈
                                                 1
                                                             2
                                           MS  =    ∑ q |  x −  x  | ,
                                              B        c  c
                                                k −  1 c
         其中,Q 为 real i 或 imag j 对应的傅里叶值集合,q 为集合 Q 中实数的个数,k 为集合 Q 中的类属性取值个数,x 为集
         合 Q 中的任意实数.Q c 为集合 Q 中类属性值为 c 的傅里叶数值集合,q c 为集合 Q c 中实数的个数, x 为集合 Q 中
         所有实数的均值, x 为 Q c 中所有实数的均值.
                        c
             F 值的计算公式为
                                                F =  MS B                                     (7)
                                                    MS W
             当 F 值用于傅里叶值选择时,我们希望找到最大的 F 值,其等价于不同类均值之间的最大差,此时,傅里叶值
         的鉴别性最强.
   239   240   241   242   243   244   245   246   247   248   249