【发布时间】:2020-01-14 22:57:30
【问题描述】:
我读了一些关于 stats:filter 的答案,他们已经部分阐明了卷积的工作原理(与系数排列有关的部分),但还有其他一些内容。
示例:
# convolution with 3 coefficients in filter
filter(1:5,c(f1,f2,f3),method="convolution")
[1] NA 6 9 12 NA
#equivalent to:
NA * f3 + x[1] * f2 + x[2] * f1 #x[0] = doesn't exist/NA
x[1] * f3 + x[2] * f2 + x[3] * f1
x[2] * f3 + x[3] * f2 + x[4] * f1
x[3] * f3 + x[4] * f2 + x[5] * f1
x[4] * f3 + x[5] * f2 + x[6] * f1 #x[6] also doesn't exist
我不明白 X[0] 是从哪里来的;我以为我们会从 x[1] 开始。我怀疑这可能与stats::filter 的帮助文档中提到的偏移有关。
卷积滤波器是
y[i] = f[1]*x[i+o] + … + f[p]*x[i+o-(p-1)]
其中 o 是偏移量:请参阅侧面了解它是如何确定的。
sides:仅适用于卷积过滤器。如果边 = 1 过滤器 系数仅适用于过去的值;如果边 = 2,则它们居中 大约滞后 0。在这种情况下,过滤器的长度应该是奇数,但是 如果是偶数,则更多的过滤器在时间上是向前的而不是向后的。
我仍然很困惑。我看不出双方是如何解释偏移的,也不确定x[0]' 是由于偏移造成的。
卷积如何在 stats::filter 中真正起作用?
【问题讨论】:
标签: r filter statistics convolution