相空间重构、时间序列重构、状态空间重构、phase space reconstruction、state space reconstruction

闲话几句

相空间重构听起来高大上,但是一旦确定了嵌入维数和延迟时间,之后的操作就十分简单了。

下边给个代码示例一下“之后的操作”,至于嵌入维数和延迟时间的确定,还是需要查查论文的,后期看情况再写。

python程序

def embed_vectors_1d(self, lag, embed):
    """Embeds vectors from a one dimensional time series in m-dimensional
    space.

    Parameters
    ----------
    X : 1d array
        Training or testing set.
    lag : int
        Lag value as calculated from the first minimum of the mutual info.
    embed : int
        Embedding dimension. How many lag values to take.
    predict : int
        Distance to forecast (see example).

    Returns
    -------
    features : 2d array
        Contains all of the embedded vectors. Shape (num_vectors,embed).

    Example
    -------
    >>> X = [0,1,2,3,4,5,6,7,8,9,10]
    em = 3
    lag = 2
    predict=3

    >>> embed_vectors_1d
    features = [[0,2,4], [1,3,5], [2,4,6], [3,5,7]]
    """

    tsize = self.X.shape[0]
    t_iter = tsize-(lag*(embed-1))

    features = np.zeros((t_iter,embed))

    for ii in range(t_iter):

        end_val = ii+lag*(embed-1)+1

        part = self.X[ii : end_val]

        features[ii,:] = part[::lag]

    return features

这个程序是从skccm里边摘抄出来的,程序中用了for循环,这个在效率上不太高。

朴素的解释

相空间重构是要解决什么问题呢?最近看的两篇网文1 2很好的解释了这个问题,先把图片粘贴到这里,有人想看的话我再加上文字解释。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

see also

  1. skccm:https://github.com/NickC1/skccm(GitHub可能无法打开)

  1. Visualization of EDM Prediction with a Chaotic Time Series ↩︎

  2. Explaining simplex projection ↩︎

  • 3
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千行百行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值