美文网首页
ssa数据降噪算法简易实例

ssa数据降噪算法简易实例

作者: CHENpq | 来源:发表于2018-11-30 20:43 被阅读0次

原始数据是[1 9 2 8 3 7]

嵌入:

比如选择的窗口长度L为3,得到的矩阵就是:

[1 9 2]

[9 2 8]

[2 8 3]

[8 3 7]

SVD分解:

Python里自带一个函数进行分解,就不用它参考文献上写的啥X乘X的转置了,函数是这个:

u, s, v = np.linalg.svd(嵌入得到的矩阵)

得到的三个结果是这样的

u是个形状为(4, 4)的矩阵,为啥是4我不知道

[-0.34748861 -0.67722177  0.41306458 -0.5      ]

[-0.62332023  0.4373678  -0.41253036 -0.5      ]

[-0.38669102 -0.52074809 -0.57383924  0.5      ]

[-0.58411781  0.28089413  0.57437346  0.5      ]

s是,形状为(3,) 

[18.29004176  9.97102473  0.23030046]

奇艺谱就是s里取最大值,这里为 18.29004175999194

v是,形状是(3, 3)

[-0.62349202 -0.50409505 -0.59761683]

[ 0.44777196 -0.85683898  0.25559193]

[ 0.64090402  0.10823653 -0.7599519 ]

重构:

重构矩阵的计算方法是 newMatrix = value * u1 * v1

value就是奇艺谱,SVD分解里得到的s里的最大值,上面也提了一下,这里value是: 18.29004175999194

u1是在u的基础上,取第一行,为

[-0.34748861 -0.62332023 -0.38669102 -0.58411781]

v1是在u的基础上,取第一行,为

[-0.62349202 -0.50409505 -0.59761683]

计算时需要对u1进行转置,转置后的u1是:

[-0.34748861]

[-0.62332023]

[-0.38669102]

[-0.58411781]

重构完的矩阵就是:

[3.96265415 3.203817  3.79820225]

[7.10815385 5.74696232 6.81316231]

[4.40970654 3.56526011 4.22670177]

[6.66110146 5.38551921 6.3846628 ]

最后把重构完的矩阵再转变为一维数组:

设这个一维数组叫ret[],对于重构完的矩阵,对每一条次对角线进行计算,并把结果添加到ret[]里

利用两个动态的变量,这里分别叫sigma和alpha,sigma是每条次对角线的数据的和,alpha是次对角线长度

ret.append(sigma/alpha)

就相当于添加了每条次对角线的平均值。

过程大概是这样的:

pos is( 0 , 0 ) sigma+

alpha is 1 now

ret[] append

pos is( 1 , 0 ) sigma+,

pos is( 0 , 1 ) sigma+

alpha is 2 now

ret[] append

pos is( 2 , 0 ) sigma+

pos is( 1 , 1 ) sigma+

pos is( 0 , 2 ) sigma+

alpha is 3 now

ret[] append

pos is( 3 , 0 ) sigma+

pos is( 2 , 1 ) sigma+

pos is( 1 , 2 ) sigma+

alpha is 3 now

ret[] append

pos is( 3 , 1 ) sigma+

pos is( 2 , 2 ) sigma+

alpha is 2 now

ret[] append

pos is( 3 , 2 ) sigma+

alpha is 1 now

ret[] append

处理后的数据ret[]为:

[3.9626541544632476 5.155985423726059 4.651623704998423 5.67984129396347 4.806110489242382 6.384662797164128]

就是最终结果

备注:

因为窗口长度L的选择不宜超过数据长度的1/3,这里数据长度是6,L为了为了算着方便选的3,所以这个例子的效果不好,但是领会精神。

做为参考的话,处理数据的时候,数据长度是300+,L选的4。

源码访问:https://git.twtstudio.com/chenpeiqi/ssa/tree/master

参考文献https://www.ixueshu.com/document/8447b1aaa13538a2318947a18e7f9386.html

相关文章

  • ssa数据降噪算法简易实例

    原始数据是[1 9 2 8 3 7] 嵌入: 比如选择的窗口长度L为3,得到的矩阵就是: [1 9 2] [9 2...

  • 利用Python进行数据分析第二版复现(十三)_3

    数据分析实例 14.3 1880-2010年间全美婴儿姓名 可以从http://www.ssa.gov/oact/...

  • K-近邻算法

    K-近邻算法 k-近邻算法简单、直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实...

  • PCA

    PCA降维 一、算法原理 降维算法 还原算法 二、算法实现 三、scikit-learn PCA 四、PCA降噪 ...

  • ssa/ass字幕格式全解析

    学好SSA主要从两个方面着手:一个是SSA文件的组成结构;一个是SSA代码。 一.SSA文件的组成结构 SSA文件...

  • K近邻法

    算法简介 给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个实例的多数属于某个...

  • K近邻(k-NN)

    一、K近邻算法的基本概念 K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K...

  • K邻近法(K-nearest neighbor, k-NN)

    (一)算法思想: 自然语言描述:给定一个训练数据集,对新的输入实例,在训练数据集上找到与该实例最邻近的k个实例...

  • k近邻法

    k近邻算法简单,直观:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例,这k个...

  • 数据结构——介绍

    什么是数据结构 在《数据结构,算法及应用》一书中有这样的解释“数据结构是数据对象,存在与该对象的实例以及组成实例的...

网友评论

      本文标题:ssa数据降噪算法简易实例

      本文链接:https://www.haomeiwen.com/subject/ovdkcqtx.html