公司的收益如何预测?时间序列模型轻松搞定
公司的收益受很多因素的影响,一般的回归模型在预测公司收益方面并不容易奏效,因为回归模型需要的解释变量(自变量)很多,而在现实中,这些自变量也难以预测。
但时间序列模型可以在仅知道历史收益一个变量的情况下,实现较高准确度的预测。
时间序列模型有多种,如:
单指数平滑模型(simple/single exponential model)
双指数平滑模型(double exponential model,也叫Holt指数平滑模型,Holt exponential model)
三指数平滑模型(triple exponential model,也叫Holt-Winters指数平滑模型,Holt-Winters exponential model)
自回归模型(AutoRegressive Model,AR)
移动平均模型(moving average model,MA)
移动平均自回归模型(ARMA)
带差分项的移动平均自回归模型(AutoRegressive Integration Moving Average model,ARIMA)。
我们先从应用较广泛的单指数平滑模型说起:用简单指数平滑模型预测强生(Johnson & Johnson)公司的季度收益(Quarterly Earnings)。
1. decompose()函数分解数据成分
(1)观察强生公司历史季度收益数据。
注:*强生公司的季度收益JohnsonJohnson为R中自带的数据。
*很多处于成长期公司的收益(或者用户规模)都是呈指数型变化的,线性规模增长的公司称不上是成长型公司。
从上面绘制的图形中可以看出强生历史季度收益整体呈指数型增长,但有波动。强生公司的收益波动可能是由于业务性质天然受季节因素影响(这是不可避免的,如洗护用品夏季用的多,冬季用的少),但这种波动会影响强生公司季度收益的整体走势吗?
下面我们将数据本身的趋势、季节性波动和其他影响因素分离出来。
(2)用decompose()函数分解强生季度收益数据中的季度、趋势和随机成分。
用names()函数查看components数据框中各变量:可以看到有x值(数据本身)和分解出的季节(seasonal)、趋势(trend)等成分。
可以查看各成分的数据,如查看季节性成分,结果如下:
(3)从数据的角度看各成分不够直观,我们将各成分数据在图形中绘制出来。
上图中:
第1个图形是历史观测值;
第2个图形是数据的趋势成分,可以看出是呈指数型增长的;
第3个图形是季节性成分,可以看出季节性波动很明显;
第4个图形是随机成分,可以看出前期随机波动幅度较小,在1978~1980年随机波动幅度较大。
从上面图形可以得出初步结论:强生公司的季度收益整体呈指数增长趋势,且有季节性成分。但仅从图形观察是不够的,我们需要精确拟合模型参数。
2.用ets()函数拟合指数模型
要使用ets()函数,需要先安装forecast程辑包。
用library()函数加载forecast函数(warning的出现不影响后续的使用)。
用ets()函数拟合模型:
从上面结果中可以看出,水平成分参数alpha = 0.2776,趋势性成分参数beta=0.0636,季节性成分参数= 0.5867。
在有了参数模型以后,就可以对未来值进行预测了。需要注意的是:指数时间序列模型较适用于短期预测。我们预测未来8个季度的收益(如果省去参数8,仍然预测的是8个季度的收益)
模型给出了各个季度收益的点估计(Point Forecast)、80%置信区间和95%置信区间的上界和下界值。
下面我们用图形直观地展示预测结果:
上图中,蓝色虚线为点估计值,深灰色阴影部分为95%置信区间范围,浅灰色阴影部分是80%置信区间范围。
时间序列模型不仅适用于公司收益的预测,也可用于上市公司股价的预测,但多用ARIMA模型,感兴趣的朋友可以自行尝试。
“数学算法的世界”后期也会推出ARIMA模型的相关文章,敬请关注。
公司的收益如何预测?时间序列模型轻松搞定相关推荐
- 【2022 CCF BDCI 文心大模型创意项目】中秋款文心带你轻松搞定MV制作
[2022 CCF BDCI 文心大模型创意项目]中秋款文心带你轻松搞定MV制作 项目效果先知 项目地址: https://aistudio.baidu.com/aistudio/projectdet ...
- 用Python轻松搞定Excel中的20个常用操作
来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...
- 线程导入大数据入库_大数据处理及分析该怎么做?用这款数据分析软件轻松搞定...
对大数据的重视让很多企业都在纷纷寻找更好的大数据处理及分析方法?这款数据分析软件轻松搞定! 一.数据采集 虽然每天互联网都会产生大量的数据,对于企业来讲,要搜集对自己企业有用的数据才是真的大数据.首 ...
- 【视频教程】轻松搞定Java Web面试
开心一笑 [唐僧师徒四人取经路上,看到一朵花,娇艳欲滴! 唐僧道:徒儿们,不如我们就以此花来作诗吧! 悟空想到花果山的一草一木,道:花果山中随处见! 沙僧想到流沙河的巨浪,道:流沙河中不曾有! 八戒想 ...
- 精选10个Python库,几行代码轻松搞定探索性数据分析!
点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货,第一时间送达!!! 探索性数据分析是数据科学模型开发和数据集研究的重要组成部分之一.在拿到一个 ...
- c#读取excel两列数据并绘制xy曲线_用Python轻松搞定Excel中的20个常用操作
来源 |早起Python(ID: zaoqi-python) Excel与Python都是数据分析中常用的工具,本文将使用动态图(Excel)+代码(Python)的方式来演示这两种工具是如何实现数据 ...
- 十招轻松搞定社会媒体
十招轻松搞定社会媒体 十招轻松搞定社会媒体 社会媒体化成为在线营销的重要手段不再是什么秘密了,写一些好的内容并且进行推广只是这个过程的一小部分,你还必须加强在网络社会的曝光机会,有些人不知道如何开 ...
- 【微服务】之六:轻松搞定SpringCloud微服务-API网关zuul
通过前面几篇文章的介绍,我们可以轻松搭建起来微服务体系中比较重要的几个基础构建服务.那么,在本篇博文中,我们重点讲解一下,如何将所有微服务的API同意对外暴露,这个就设计API网关的概念. 本系列教程 ...
- 10行代码让你轻松搞定对象检测
摘要: 十行代码轻松搞定对象检测?快来看看如何使用ImageAI. 计算机视觉是人工智能领域中最重要的一个分支.计算机视觉是一门能够识别和理解图像及其场景的计算机软件系统的科学.计算机视觉包括图像识 ...
最新文章
- queue 队列优先级
- java 基础(匿名内部类)
- Delphi动态数组详解
- 51nod 1101 换零钱 完全背包的变型 动态规划
- 获取指定个数指定范围的随机数
- python invalid literal for int_求助!运行出现错误“ValueError: invalid literal for int() ··...
- Flex 结合sandy引擎创造
- SqlServer整库备份还原脚本
- Ubuntu18.04 + anaconda3 +python3.6+ 安装labelImg 标注
- scrt 上传和下载文件
- Pico Neo3 VR Pro 开发新手入门有感(避坑与心得,新手学习必备,瞬移射线传送,移动,射线传送光圈效果,传送指定区域)
- WEB渗透测试工程师需要具备的技能
- u深度重装系统详细教程_U盘怎样使用U深度给电脑装系统教程
- 安全模块之FIPS 140-2标准和国密标准对比
- Flask接口服务处理全局异常
- Tesseract-OCR5.0软件安装和语言包安装(Windows系统)
- 两台电脑共享一套键盘鼠标的神器
- 计算机网络时代纪录片,中国首部自媒体纪录片《生机》揭秘新世相
- Unity 学习 Tilemap
- 打印时出现“错误!未找到引用源”“未定义书签”怎么办?
热门文章
- python浮点数怎么运算_Python 浮点数运算
- 爬虫 第三讲 数据解析
- 用 Python 爬了微信好友,原来他们是这样的人...
- Windows Server 2012R系统检查更新并开启电脑自动更新功能
- 使用particles.js制造粒子特效
- c语言自定义函数格式化,自定义函数的形式
- C++获取程序当前目录
- 深度学习中的优化算法之RMSProp
- 特征点匹配——FREAK算法介绍
- stoi() 函数将正负和数字​符号转换成 int 类型