擅长:python、mysql、java
<p>有很多方法可以解决这个问题。通过计算随时间变化的两个变量之间的相关性,您试图解决的问题是什么</p>
<p>一种选择是计算一段时间内的某种加权移动平均数,然后以这种方式进行相关性计算。最简单的方法是指数加权移动平均,如<a href="https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/loess" rel="nofollow noreferrer">loess</a>函数。还有更复杂的方法</p>
<p>下面是一些示例代码,我取了一个余弦函数和一个加了随机噪声的函数。要进行黄土拟合,请使用leuch()函数,并访问要由lowess返回值的“fitted”变量的拟合值</p>
<pre><code>x = seq(from = 1, to = 100)
y1 = cos(x / 10)
y2 = cos(x / 10) + rnorm(100, mean = 0, sd = 0.25)
smooth_y2 = loess(y2 ~ x)
plot(x, y1, type = 'l')
lines(x, smooth_y2$fitted, type = 'l', col = 'red')
print(cor(y1, smooth_y2$fitted))
</code></pre>