第67步 时间序列建模实战:ARIMA建模(Stata)

news2024/9/25 19:22:25

基于WIN10的64位系统演示

一、写在前面

这一期,我们使用Stata进行SARIMA模型的构建。

同样,使用某省2005年1月至2016年12月AIDS死亡率的时间序列数据。

二、Stata建立SARIMA实战

1问GPT怎么用

咒语:我有一批{数据}:2005年1月至2016年12月AIDS死亡率的时间序列数据。用2005年1月至2015年12月的数据为训练集训练SARIMA模型,用2015年1月至2015年12月的数据为验证集进行验证,然后计算SARIMA模型的R方、BIC值和AIC值,同时分别计算训练集和验证集的MAE、MAPE、MSE和RMSE值。请用Stata 13.1版本进行构建。

部分数据格式如下:{XXX}

进过一番学习,我大概学会了。

GPT对Stata语句的学习估计不多,还得配合Stata帮助文档才行。

2导入数据

打开Stata,如下图操作,输入数据,改列名:

点击保存数据,将数据命名为“data.dta”。另,Stata面板功能如下:

(3)设置为时间序列格式

跟SPSS一样,需要做时间序列数据的转换:

 *修改工作路劲,把数据放入工作路径中,建议全英文路径
cd "C:\Users\YourName\Documents"
*导入名为"data.dta"的数据集,并清除当前内存中的所有数据
use "data.dta", clear  
*使用monthly函数将"time"变量转换为月份格式。"YM"表示输入的日期格式为年月
gen date = monthly(time, "YM")  
*将"date"变量的格式设置为时间序列格式
format date %tm
*声明数据为时间序列数据,其中时间变量为"date"
tsset date

然后翻车了,因为:

你的时间数据是以月-年(例如Jan-05)的格式存在的,这就是为什么monthly()函数无法正确解析它的原因。在Stata中,monthly()函数期望的输入格式是"2005m1",而不是"Jan-05"。

那就改吧:

(4)差分、单位根检验和相关图

(4.1)单位根(ADF)检验:

dfuller death_rate, lags(12)  

解读:dfuller death_rate, lags(12)是Stata中执行Dickey-Fuller单位根检验的命令,用于检查时间序列数据是否平稳。这个命令的各个参数的含义如下:

dfuller: 这是Stata的命令,表示要进行Dickey-Fuller单位根检验。

death_rate: 这是你要检查的变量名,即你想要测试是否平稳的时间序列数据。

, lags(12): 这是一个选项,表示在进行Dickey-Fuller检验时,要包括的滞后阶数。在这个例子中,滞后阶数设置为12,意味着在进行检验时,会考虑到过去12期的数据。如果不指定lags()选项,会自动选择一个合适的滞后阶数。

P值大于0.05,说明数据不平稳。

(4.2)一般差分和季节性差分:

*一阶差分
gen death_rate_diff = D.death_rate
*季节性拆分
gen death_rate_seasonal_diff = DS12.death_rate 

注意:这个DS12.death_rate是指做了1次一般拆分,然后再做1次周期为12的季节性拆分!!也就是d和D都等于1,所以少了13个数据!!

然后,可以做个ADF检验:

dfuller death_rate_diff, lags(12)
dfuller death_rate_seasonal_diff, lags(12)

显示都可以可通过ADF检验。

(4.3)相关图:

*生成自相关图(ACF)
corrgram death_rate_diff, lags(20) 

偏自相关图(PACF)还得装包,算了。

(5)建模

(5.1)建立SARIMA模型

看代码,自行体会:

案例1:SARIMA(0,1,1)(0,1,1)12:

arima death_rate, arima(0,1,1) sarima(0,1,1,12) noconstant

案例2:SARIMA(1,1,1)(1,1,2)12:

arima death_rate, arima(1,1,1) sarima(1,1,1,12) noconstant

应该看得懂吧,最后一个是是否要常数项。

看看SARIMA(1,1,1)(1,1,1)12的结果:

一个参数没有统计学意义,换下一个模型SARIMA(1,1,1)(0,1,1)12:

arima death_rate, arima(1,1,1) sarima(0,1,1,12) noconstant

(5)查看拟合性能

使用

estat ic

命令来查看ARIMA模型的AIC和BIC值。似乎没有提供R方,不过筛选模型不用也行吧。

(6)拟合和预测

(6.1)进行静态预测(也就是拟合):使用predict命令进行静态预测。以下代码会创建一个新的变量yhat_static,其中包含静态预测的值:

predict yhat_static, y

(6.2)进行动态预测(也就是预测):

从2015年12月开始进行动态预测:

tsappend, add(12)
tsset date, monthly
predict yhat1, dynamic(tm(2015m12)) y

结果:

好了收工!!!

三、总结

Stata挺好用的,就是下次不用了!!!

四、数据

链接:https://pan.baidu.com/s/1vZqgwcLP3hSrpLpHMttTCA?pwd=i2wb

提取码:i2wb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/985498.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Arduino28】LM35温度传感器实验

硬件准备 LM35温度传感器:1 个 面包板:1个 杜邦线:3根 硬件连线 VCC引脚接 5V 电源 OUT引脚接 A0接口 GND引脚接 GND 接口 软件程序 #define temp_pin A0 //温度传感器引脚void setup(){Serial.begin(9600); }void loop(){float val …

【C++】STL-常用算法-常用查找算法

0.前言 1.find #include <iostream> using namespace std;// 常用查找算法 find #include<vector> #include<algorithm>//查找 内置数据类型 void test01() {vector<int>v;for (int i 0; i < 10; i){v.push_back(i);}//查找 容器中 是否有 5 这个元…

C--小Why的商品归位-- 牛客小白月赛77

输入 3 3 1 1 2 1 3 2 3 输出 2 解析&#xff1a; 先不考虑购物车的容量&#xff0c;即购物车容量为无限大。这样我们可以通过每种货物上车、下车的时间计算出每一个时间点内&#xff0c;购物车中货物的数量。 统计出所有时间点内&#xff0c;货物数量的最大值max。这个最大…

CRM软件系统的三大优势

随着市场环境的不断发展和变化&#xff0c;企业的管理模式也在不断地调整。CRM管理系统是企业数字化转型的重要一环&#xff0c;可以帮助企业更好地管理客户关系和市场销售&#xff0c;提高企业运营效率和经济效益&#xff0c;CRM管理系统有哪些优势呢&#xff1f;今天小编就来…

Vue2+Vue3基础入门到实战项目(七)——智慧商城项目

Vue 核心技术与实战 智慧商城 接口文档&#xff1a;https://apifox.com/apidoc/shared-12ab6b18-adc2-444c-ad11-0e60f5693f66/doc-2221080 演示地址&#xff1a;http://cba.itlike.com/public/mweb/#/ 01. 项目功能演示 1.明确功能模块 启动准备好的代码&#xff0c;演示…

深入了解苹果证书及其分类,提升iOS应用开发效率

目录 1. 企业证书 2. 开发者证书 开发证书&#xff1a; 发布证书&#xff1a; 3. 推送证书 4. 分发证书 5. MDM证书 摘要&#xff1a;本文将详细介绍苹果证书的作用及分类&#xff0c;包括企业证书、开发者证书、推送证书、分发证书和MDM证书&#xff0c;帮助开发者了解…

Win11如何显示文件后缀名

有小伙伴发现在更新了Win11之后&#xff0c;文件的后缀名就被隐藏起来了&#xff0c;那么Win11怎么显示文件的后缀名呢&#xff0c;下面小编就给大家带来Win11显示文件后缀名的方法&#xff0c;大家感兴趣的话可以来看一看。 Win11显示文件后缀名的方法&#xff1a; 方法一&a…

低代码平台是否能替代电子表格?

在计算机技术普及之前&#xff0c;会计、助理或者是销售人员&#xff0c;都需要用纸和笔来记录和维护每一笔交易。计算机技术兴起之后&#xff0c;一项技术发明——电子表格的出现改变了低效的状况。电子表格的第一个版本出现在1977年&#xff0c;一个名为“VisiCalc”的程序。…

OpenCV(二十七):图像距离变换

1.像素间距离 2.距离变换函数distanceTransform() void cv::distanceTransform ( InputArray src, OutputArray dst, int distanceType, int maskSize, int dstType CV_32F ) src:输入图像&#xff0c;数据类型为CV8U的单通道图像dst:输出图像&#xff0c;与输入图像…

2023-09-07 LeetCode每日一题(修车的最少时间)

2023-09-07每日一题 一、题目编号 2594. 修车的最少时间二、题目链接 点击跳转到题目位置 三、题目描述 给你一个整数数组 ranks &#xff0c;表示一些机械工的 能力值 。ranksi 是第 i 位机械工的能力值。能力值为 r 的机械工可以在 r * n2 分钟内修好 n 辆车。 同时给你…

WebServer 解析HTTP 请求报文

一、TCP 状态转换 浏览器访问网址&#xff0c;TCP传输全过程 二、TCP协议的通信过程 三、TCP 通信流程 // TCP 通信的流程 // 服务器端 &#xff08;被动接受连接的角色&#xff09; 1. 创建一个用于监听的套接字- 监听&#xff1a;监听有客户端的连接- 套接字&#xff1a;这…

C#开发的OpenRA游戏之系统参数选项按钮

C#开发的OpenRA游戏之系统参数选项按钮 前面分析了信标按钮,从图上可以看到,靠右边的按钮,就是系统参数选项按钮: 这个按钮与前面三个按钮是不一样的,虽然它们在排列位置上是放在一起,但是处理的方法方式是不一样的,因为这个选项按钮,并不需要发命令给服务器,再返回来…

Kafka的文件存储与稀疏索引机制

![在这里插入图片描述](https://img-blog.csdnimg.cn/dde7fc866d214985baaa87300a472578.png)这些是存储在分区(分区才是实际的存储)文件中的. seg是逻辑概念 而实际由log存储的. index是偏移量索引而timeindex是时间戳索引 log就是seg 找数据就是先找log 再从log去找

使用aidlux进行模型迁移、部署、推理

AidLux是一个构建在ARM硬件上&#xff0c;基于创新性跨Android/鸿蒙 Linux融合系统环境的智能物联网 (AIoT) 应用开发和部署平台。 说的直白点&#xff0c;aidlux就是一个在arm架构芯片的设备上运行的linux系统&#xff0c;我们可以将身边的安卓设备当作边缘设备&#xff0c;在…

stm32f4_奇怪的bug_串口数据错乱,一个串口收到另一个串口的数据

1、开发环境简介 芯片型号&#xff1a;stm32f407igt6 官方库函数&#xff1a;HAL库 2、bug现象描述和原因推测 使用了2个串口&#xff0c;一个是串口5-波特率115200&#xff0c;一个是串口4-波特率9600&#xff0c;但是串口4时不时会收到上一次发给串口5的数据。不是同一个串…

【计算机网络】 IP协议格式以及以太网帧结构

文章目录 IP协议格式以太网帧结构 IP协议格式 IP工作在网络层 IP头分为两部分&#xff0c;固定部分和可变部分&#xff0c;固定部分就是一定要带这些数据&#xff0c;正常存储应该是连续的&#xff0c;并不是像图中这样会换行&#xff0c;图中只是为了方便观察。 首先是一个版…

论数据库的种类

摘要 数据库是现代信息管理和数据存储的重要工具&#xff0c;几乎在各个领域都有广泛应用。不同类型的数据库适用于不同的应用场景和需求。本文将介绍几种常见的数据库种类&#xff0c;并探讨它们的特点和适用范围。 正文 一、关系型数据库&#xff08;RDBMS&#xff09; 关…

自定义封装异步任务组件,实现FutureTask功能

FutureTask 在 JDK1.8 后的异步编排API中的CompletableFuture&#xff0c;提供了 异步任务的成功回调、异常回调。 public class FutureTaskTest {public static void main(String[] args) throws Exception {CompletableFuture<String> future CompletableFuture.sup…

kodi的IPTV直播源爬取

安装了kodi的IPTV插件后&#xff0c;就能看电视&#xff0c;但是网上的直接源不太稳定。想起家里的有个魔百盒hm201是可以看电视和点播&#xff0c;就想通过爬取魔百盒里的直播源实现家里的打造自己基本稳定直播源&#xff0c;实现全屋的电视自由。 原文地址&#xff1a; IPTV直…

U-net网络学习记录

U-net网络 本质上是一个用于图像分割的神经网络 输入是一幅图&#xff0c;输出是目标的分割结果。继续简化就是&#xff0c;一幅图&#xff0c;编码&#xff0c;或者说降采样&#xff0c;然后解码&#xff0c;也就是升采样&#xff0c;然后输出一个分割结果。根据结果和真实分…