美文网首页我爱编程
Pandas 连续差分diff后恢复原始的序列

Pandas 连续差分diff后恢复原始的序列

作者: ledao | 来源:发表于2017-07-28 01:04 被阅读0次

目的

在时序分析时,我们经常需要将原始序列进行差分,然后做出拟合或者预测,最后还需要将拟合的或者预测的值恢复成原始序列。这里,使用Pandas的Series中的diff和cumsum函数可以方便的实现。

一次一阶差分的恢复

import pandas as pd
time_series = pd.Series([2,4,3,5,6,7,4,5,6,3,2,4], index=pd.date_range(start='2000', periods=12, freq='a'))
time_series_diff = time_series.diff(1).dropna()

time_series_restored = pd.Series([time_series[0]], index=[time_series.index[0]]) .append(time_series_diff).cumsum()

time_series_restored

多次一阶差分的恢复

time_series = pd.Series([2,4,3,5,6,7,4,5,6,3,2,4], index=pd.date_range(start='2000', periods=12, freq='a'))
time_series_diff = time_series
diff_times = 3
first_values = []
for i in range(1, diff_times+1):
    first_values.append(pd.Series([time_series_diff[0]],index=[time_series_diff.index[0]]))
    time_series_diff = time_series_diff.diff(1).dropna()

time_series_restored = time_series_diff
for first in reversed(first_values):
    time_series_restored = first.append(time_series_restored).cumsum()
time_series_restored

原理

其实就是使用cumsum累计求和函数。保留每次一阶差分前的第一个值,然后反序再加回来。
时序问题中,如果预测的是一阶的增量,那么就需要恢复原始的序列。

相关文章

  • Pandas 连续差分diff后恢复原始的序列

    目的 在时序分析时,我们经常需要将原始序列进行差分,然后做出拟合或者预测,最后还需要将拟合的或者预测的值恢复成原始...

  • 人员信息提取其实很简单

    1:提取序列数字中连续数字 mid(原始序列,开始提取位置,提取序列长度) 美化一下提取后的信息 =TEXT(H2...

  • pandas中shift和diff函数关系

    pandas中shift和diff函数关系

  • 差分算法

    diff差分数组,diff[i]就是nums[i]和nums[i-1]之差: 通过这个diff差分数组是可以反推出...

  • Android 序列化 & 反序列化

    What? 何为序列化与反序列化?序列化:将对象转化为二进制序列的过程反序列化:将二进制序列恢复为原始对象的过程 ...

  • 注意力机制摘抄

    11.2 为什么要加入attention? 1.序列输入时,随着序列的不断增长,原始根据时间步的方式的表现越来越差...

  • 《利用Python进行数据分析》 11.2时间序列基础

    11.2 时间序列基础 1.pandas中的基础时间序列种类是由时间戳索引的Series,在pandas外部则通常...

  • 时间处理

    pandas小记:pandas时间序列分析和处理Timeserieshttps://blog.csdn.net/p...

  • 摆动序列

    如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。...

  • Leetcode 精选之最长递增子序列(摆动序列)

    题目描述 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正...

网友评论

    本文标题:Pandas 连续差分diff后恢复原始的序列

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