人工智能:python 实现 第十一章,从时间序列数据中提取统计信息

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

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

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

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

from Slicing_time_series_data import read_data

#定义输入文档名字
input_file = "data_2D.txt"

#载入第三和第四列的数据,分成两个变量
x1 = read_data(input_file,2)
x2 = read_data(input_file,3)

#创建 pandas dataframe,命名两个维
data = pd.DataFrame({'dim1':x1,'dim2':x2})

#提取两个维的最大和最小值
print("\nMaximum values for each dimension:")
print(data.max())
print("\nMinimun values for each dimension :")
print(data.min())

#提取整个数据集的平均值 和前12行行平均值
print('\n overall mean:')
print(data.mean())
print('\nRow-wise mean:')
print(data.mean(1)[:12])

#使用大小为24的窗口画出滚动平均值
data.rolling(center =False,window =24).mean().plot()
plt.title('Rolling mean')

#输出相关性
print('\n Correlation coefficient:\n',data.corr())

#使用size=60的窗口画出滚动相关性
plt.figure()
plt.title('rolling correlation:')
data['dim1'].rolling(window=60).corr(other =data['dim2']).plot()

plt.show()

输入数据:


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


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

可视化如下:

移动的平均值


移动的相关性



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值