SPSS的专家建模器可以自动识别数据,给出最适合的模型,本章通过三个例题介绍如何使用SPSS实现时间序列分析。由于本人对时间序列分析的理解尚浅,做出模型后在论文上的呈现形式需要取查阅资料,以便更好地在论文上呈现

在此之前,我们还需要了解时间序列分析的一些基础的名词

一、名词解释

1.时间序列的平稳性

简单来说,就是均值固定,相邻项方差相同,相邻项协方差为0

2.ACF自相关系数

3.PACF偏自相关函数

PACF使用的前提是数据为平稳序列。

二、实例分析————销量数据预测

1.准备工作

在进行时间序列分析之前,我们需要先对数据进行一个可视化观察,并思考以下问题

(1)画出时序图

在定义好时间变量后,创造时序图。如图所示,这里的数据已经是一个趋于平稳的值,不需要在设置差分,即不需要调整差异的参数

(2)不设置参数地建立模型————查看模型结果

此处,我们先用默认的参数进行建模,观察SPSS使用的哪种模型,心里有一个底,然后进行分析

点击创造传统模型,进入下图的界面后,直接把因变量放进去,点击确定即可



可见SPSS选用的模型是温特加法模型,之后我们需要根据这个模型取进行分析

2.参数设置

(1)条件

条件设置可以指定模型的寻找,是只在指数平滑模型找还是在ARIMA模型找。其中,是否考虑季节性的参数可以不用修改,因为SPSS会自动识别此项,但是需要我们定义新的时间变量,因此在进行建模前,定义时间变量是必须的

(2)离群值

离群值也就是异常值,勾选了这个选项后,SPSS会自动识别异常值,应用时我们可以先不排除异常值,如果模型拟合度不好再设置排除,要排除可以全选。

各个异常值的种类如图所示

(3)统计与图

在“统计”里面,我们需要勾选参数估算值;在“图”里面,我们需要勾选拟合值,这样会在画出来的图中,把我们建模的拟合曲线与实际曲线画在同一张图内,便于观察模型拟合效果。而ACF和PACF则是为了检查残差是否平稳

(4)保存与选项

保存我们已经非常熟悉,就是在数据集中添加一个新的变量,这里我们只需要勾选预测值即可。选项处则是可以设置预测的时期

3.结果分析

(1)模型拟合度

此处R方0.992,为拟合优度,越接近1越好。正态化的BIC没有一个相对的量,越接近0越准确。要用这个值比较的话,需要对比不同模型的BIC,但是SPSS已经找到了最优的模型,所以看此处意义并不大,但还是可以汇报到论文中的

(2)模型统计

此处我们进行的Q检验的p值为0.7>0.05,接受“残差为0”的原假设,所以可以认为残差是白噪声

(3)指数平滑法模型参数

下图是指数平滑法模型的参数,在我们的论文会介绍这个模型的公式。现在有了结果,就可以在论文中体现出来了

(4)残差的ACF与PACF图

此处的ACF与PACF图都在两条线内,因此可以认为残差为0

(5)拟合图与真实图的对比

在模型可视化后,我们可以看到模型的拟合值与真实值相差不大,因此我们的拟合效果还是很不错的

(6)模型预测

在前面的选项中,我们可以设置预测的时期。如果想预测的话,设置好需要预测的时期即可。此外,我们还可以在保存的选项中,勾选预测的置信上限与预测下限。效果如图所示

三、实例分析————人口数据预测

因为建模的过程在前面的例题已经讲的非常详细了,此处我们只讨论一些比较细节的图形优化

1.添加标记

在此图中,因为数据点比较少,我们可以对每个数据点添加标记,更好地观察图形的变化形式

2.添加数据标签

在我们预测值比较少的时候,为了更清楚地看到预测值,我们可以对作出的图添加数据标签

预测小结

时间序列分析专题——利用SPSS专家建模器进行建模的更多相关文章

  1. SPSS统计分析过程包括描述性统计、均值比较、一般线性模型、相关分析、回归分析、对数线性模型、聚类分析、数据简化、生存分析、时间序列分析、多重响应等几大类

    https://www.zhihu.com/topic/19582125/top-answershttps://wenku.baidu.com/search?word=spss&ie=utf- ...

  2. R语言实现金融数据的时间序列分析及建模

    R语言实现金融数据的时间序列分析及建模 一 移动平均    移动平均能消除数据中的季节变动和不规则变动.若序列中存在周期变动,则通常以周期为移动平均项数.移动平均法可以通过数据显示出数据长期趋势的变动 ...

  3. SPSS时间序列分析

    时间序列分析必须建立在预处理的基础上…… 今天看了一条新闻体会到了网络日志的重要性…… 指数平滑法(Exponential Smoothing,ES)是布朗(Robert G..Brown)所提出,布 ...

  4. python时间序列分析

              题记:毕业一年多天天coding,好久没写paper了.在这动荡的日子里,也希望写点东西让自己静一静.恰好前段时间用python做了一点时间序列方面的东西,有一丁点心得体会想和大家 ...

  5. R时间序列分析实例

    一.作业要求 自选时间序列完成时间序列的建模过程,要求序列的长度>=100. 报告要求以下几部分内容: 数据的描述:数据来源.期间.数据的定义.数据长度. 作时间序列图并进行简单评价. 进行时间 ...

  6. 时间序列分析算法【R详解】

    简介 在商业应用中,时间是最重要的因素,能够提升成功率.然而绝大多数公司很难跟上时间的脚步.但是随着技术的发展,出现了很多有效的方法,能够让我们预测未来.不要担心,本文并不会讨论时间机器,讨论的都是很 ...

  7. 时间序列分析工具箱——sweep

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/kMD8d5R/article/details/81977856 作者:徐瑞龙.量化分析师,R语言中文 ...

  8. 《时间序列分析——基于R》王燕,读书笔记

    笔记: 一.检验: 1.平稳性检验: 图检验方法:     时序图检验:该序列有明显的趋势性或周期性,则不是平稳序列     自相关图检验:(acf函数)平稳序列具有短期相关性,即随着延迟期数k的增加 ...

  9. 《时间序列分析及应用:R语言》读书笔记--第一章 引论

    "春节假期是难得的读书充电的时间."--来自某boss.假期能写多少算多少,一个是题目中的这本书,另一个是<python核心编程>中的高级部分,再一个是拖着的<算 ...

  10. 【R实践】时间序列分析之ARIMA模型预测___R篇

    时间序列分析之ARIMA模型预测__R篇 之前一直用SAS做ARIMA模型预测,今天尝试用了一下R,发现灵活度更高,结果输出也更直观.现在记录一下如何用R分析ARIMA模型. 1. 处理数据 1.1. ...

随机推荐

  1. Linux grep根据关键字匹配前后几行

    在Linux环境下,查看文件内容时,很多时候需要查看指定关键字的前后几行,如查看日志文件时,如果日志文件太大,想直接在Linux 终端中查看,可以grep 'partten' filename 进行过 ...

  2. Spring如何控制Bean的加载顺序

    前言 正常情况下,Spring 容器加载 Bean 的顺序是不确定的,那么我们如果需要按顺序加载 Bean 时应如何操作?本文将详细讲述我们如何才能控制 Bean 的加载顺序. 场景 我创建了 4 个 ...

  3. LLM实战:LLM微调加速神器-Unsloth + LLama3

    1. 背景 五一结束后,本qiang~又投入了LLM的技术海洋中,本期将给大家带来LLM微调神器:Unsloth. 正如Unsloth官方的对外宣贯:Easily finetune & tra ...

  4. 2022最新的Centos6.10安装mysql8.0

    一.系统源替换 1.备份系统源 (1)进入源的默认路径 cd /etc/yum.repos.d (2)查看一下 (3)备份 cp CentOS-Base.repo CentOS-Base-Back.r ...

  5. 实战-mongodb副本集搭建以及整合springboot使用

    一 mongodb介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.  Nosql 技术门类 redis 内存型 mongod ...

  6. .net core DataTable.Load()方法,返回的行缺少,少于reader读出的行

    我分析的原因是,datatable模式的schema默认是根据查询的sql来的.起因是我写的sql中带有主键的列,查出来有很多重复值, 然后dt.load会默认把主键重复的行给合并掉,所以最终查询出来 ...

  7. RocketMQ事务消息源码解析

    RocketMQ提供了事务消息的功能,采用2PC(两阶段协议)+补偿机制(事务回查)的分布式事务功能,通过这种方式能达到分布式事务的最终一致. 一. 概述 半事务消息:指的是发送至broker但是还没 ...

  8. Swoole 源码分析之 Timer 定时器模块

    原文首发链接:Swoole 源码分析之 Timer 定时器模块 大家好,我是码农先森. 引言 Swoole 中的毫秒精度的定时器.底层基于 epoll_wait 和 setitimer 实现,数据结构 ...

  9. HashMap设置初始容量一直都用错了?

    1 背景 今天在代码审查的时候,发现一位离职的同事留下了这样一串代码: Map<String,String> map = new HashMap<>((int)(list.si ...

  10. mysql笔记第一天: 介绍和MySQL编译安装

    一.DBA的工作内容: ![](371eaced-e10b-46d9-89e2-f63f15503bb6_files/9edcd22a-ef2d-4c3e-8474-3049255610db.jpg) ...