从时间序列数据中提取统计信息

从时间序列数据中提取统计信息

    为了从时间序列中提取有意义的数据,我们必须从时间序列数据中提取统计信息。这些统计信息可以是数据平均值、方差、相关性、最大值、最小值等等。这些统计数据必须通过窗口进行循环计算。我们使用预先被定义的窗口大小,持续计算这些数据。当这些统计数据被可视化以后,我们将发现有区的模式。那如何从时间序列数据中提取这些统计信息呢?

   创建一个新的python文档,完整代码如下:


   
   
  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import pandas as pd
  4. from Slicing_time_series_data import read_data
  5. #定义输入文档名字
  6. input_file = "data_2D.txt"
  7. #载入第三和第四列的数据,分成两个变量
  8. x1 = read_data(input_file, 2)
  9. x2 = read_data(input_file, 3)
  10. #创建 pandas dataframe,命名两个维
  11. data = pd.DataFrame({ 'dim1':x1, 'dim2':x2})
  12. #提取两个维的最大和最小值
  13. print( "\nMaximum values for each dimension:")
  14. print(data.max())
  15. print( "\nMinimun values for each dimension :")
  16. print(data.min())
  17. #提取整个数据集的平均值 和前12行行平均值
  18. print( '\n overall mean:')
  19. print(data.mean())
  20. print( '\nRow-wise mean:')
  21. print(data.mean( 1)[: 12])
  22. #使用大小为24的窗口画出滚动平均值
  23. data.rolling(center = False,window = 24).mean().plot()
  24. plt.title( 'Rolling mean')
  25. #输出相关性
  26. print( '\n Correlation coefficient:\n',data.corr())
  27. #使用size=60的窗口画出滚动相关性
  28. plt.figure()
  29. plt.title( 'rolling correlation:')
  30. data[ 'dim1'].rolling(window= 60).corr(other =data[ 'dim2']).plot()
  31. plt.show()

输入数据:


下图显示了第三列,第四列的最大值、最小值行平均值、以及两列的相关性


dim1与自身相关性为1,dim1与 dim2的相关性为0.00627,dim2与自身相关性为1.0

可视化如下:

移动的平均值


移动的相关性



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值