没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
【python数据挖掘课程】二十三.时间序列金融数据预测
及Pandas库详解
原创
Eastmount
阅读数 6929
收藏
最后发布于2018-05-09 23:12:26
展开
Python+TensorFlow人工智能
该专栏为人工智能入门专栏,采用Python3和TensorFlow实现人工智能相
…
Eastmount
¥9.90
去订阅
这是《Python数据挖掘课程》系列文章,也是我上课内容及书籍中的一个案例。本文主要
讲述时间序列算法原理,Pandas扩展包基本用法以及Python调用statsmodels库的时间序
列算法。由于作者数学比较薄弱,自己也还在学习,所以原理推导部分本文只简单叙述,
同时参考了《Python金融大数据分析 ·Yves Hilpisch》书籍和其他大神的文章。
本篇文章为基础性文章,希望对你有所帮助,提供些思路,也是自己教学的内容。如果文
章中存在错误或不足之处,还请海涵。同时,推荐大家阅读我以前的文章了解其他知识。
前文参考:
【Python数据挖掘课程】一.安装Python及爬虫入门介绍
【Python数据挖掘课程】二.Kmeans聚类数据分析及Anaconda介绍
【Python数据挖掘课程】三.Kmeans聚类代码实现、作业及优化
【Python数据挖掘课程】四.决策树DTC数据分析及鸢尾数据集分析
【Python数据挖掘课程】五.线性回归知识及预测糖尿病实例
【Python数据挖掘课程】六.Numpy、Pandas和Matplotlib包基础知识
【Python数据挖掘课程】七.PCA降维操作及subplot子图绘制
【Python数据挖掘课程】八.关联规则挖掘及Apriori实现购物推荐
【Python数据挖掘课程】九.回归模型LinearRegression简单分析氧化物数据
【python数据挖掘课程】十.Pandas、Matplotlib、PCA绘图实用代码补充
【python数据挖掘课程】十一.Pandas、Matplotlib结合SQL语句可视化分析
【python数据挖掘课程】十二.Pandas、Matplotlib结合SQL语句对比图分析
【python数据挖掘课程】十三.WordCloud词云配置过程及词频分析
【python数据挖掘课程】十四.Scipy调用curve_fit实现曲线拟合
【python数据挖掘课程】十五.Matplotlib调用imshow()函数绘制热图
【python数据挖掘课程】十六.逻辑回归LogisticRegression分析鸢尾花数据
【python数据挖掘课程】十七.社交网络Networkx库分析人物关系(初识篇)
【python数据挖掘课程】十八.线性回归及多项式回归分析四个案例分享
【python数据挖掘课程】十九.鸢尾花数据集可视化、线性回归、决策树花样分析
第1页 共17页
【python数据挖掘课程】二十.KNN最近邻分类算法分析详解及平衡秤TXT数据集读取
【python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析
【python数据挖掘课程】二十二.Basemap地图包安装入门及基础知识讲解
一. 时间序列基础知识
社会经济现象总是随着时间的推移而变迁,呈现动态性。一个或一组变量x(t)进行观测,将
在一系列时刻t1、t2、...、tn得到离散数字组成的序列集合,称之为时间序列。通过时间
序列算法,我们对事物进行动态的研究。
时间序列表示按时间先后顺序排列的数列,通常X轴为时间要素,Y轴为数据要素,比如
1986-2000年的人均GDP为y1、y2、...、yn,再如下图所示太阳黑子运动规律。
指标通常包括时期指标(年度、月度)和时点指标(时刻)。时间序列分为以下三类:
1.随机性时间序列:各指标变动受随机因素影响
2.平稳时间序列:基本稳定在某个水平附近波动
3.非平稳时间序列:存在某种规律性变动,比如趋势性、季节性
时间序列常用的特征统计量如下所示:(参考:
百度文库
)
第2页 共17页
二. 金融时间序列-Pandas库
该部分是作者学习《Python金融大数据分析》书籍第6章的内容,仅供大家学习:
金融学中最重要的数据类型之一是金融时间序列,以日期时间作为索引的数据,例如股票、GDP、汇
率等。Python处理时间序列主要使用Pandas库,其DataFrame和Series等基本类灵感来源于R语
言。Pandas库允许从Web上读取数据,比如雅虎财经、谷歌财经等,也可以读取csv文件(逗号分
割)。下面详细介绍Pandas库的用法:
1.DataFrame类
首先我们通过DataFrame定义数据,包括数据、标签和索引三部分,其中数据包括列表、元组、字
典、ndarray等类型,索引包括数值、字符串和时间等。示例代码如下:
import
pandas
as
pd
import
numpy
as
np
df = pd.DataFrame([
10
,
20
,
30
,
40
],columns=[
'num'
],
index=[
'a'
,
'b'
,
'c'
,
'd'
])
print
df.index
print
df.columns
print
df.ix[
'c'
]
print
df.ix[df.index[
1
:
3
]]
print
df.sum()
第3页 共17页
输出结果如下所示,包括输出索引、标签值,获取“c”对应数值等,通过df.sum()对数据进行求和、
df.mean()求平均值、df.apply(lambda x:x**2)实现数值平方计算。
DataFrame对象总体上比较方便、高效,相比ndarray对象更专业化。下面代码是进维度扩增,增加
了一个float类型。
输出结果如下所示:
接下来再增加一个维度,通过索引进行对应。代码如下:
print
df.apply(
lambda
x:x**
2
)
Index([
u'a'
,
u'b'
,
u'c'
,
u'd'
], dtype=
'object'
)
Index([
u'num'
], dtype=
'object'
)
num
30
Name: c, dtype: int64
num
b
20
c
30
num
100
dtype: int64
num
a
100
b
400
c
900
d
1600
df[
'floats'
]=(
1.5
,
2.5
,
3.5
,
4.5
)
print
df
num floats
a
10
1.5
b
20
2.5
c
30
3.5
d
40
4.5
第4页 共17页
剩余16页未读,继续阅读
glowlaw
- 粉丝: 22
- 资源: 275
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0