首页 > 编程语言 >Python自激励阈值自回归(SETAR)、ARMA、BDS检验、预测分析太阳黑子时间序列数据

Python自激励阈值自回归(SETAR)、ARMA、BDS检验、预测分析太阳黑子时间序列数据

时间:2023-10-18 19:45:12浏览次数:45  
标签:阈值 Python ...... AR SETAR BDS 序列 模型

全文链接 :https://tecdat.cn/?p=33896

原文出处:拓端数据部落公众号

这篇文章展示了自激励阈值自回归SETAR的使用,用于分析经常被客户研究的太阳黑子数据集。具体而言,研究SETAR模型的估计和预测。

我们在这里考虑原始的太阳黑子序列以匹配ARMA示例,尽管文献中许多来源在建模之前对序列进行变换。

   
import numpy as np
import pandas as pd
......
   
dta.index = pd.Index(sm.......m_range('1700', '2008'))

image.png

首先,我们将用ARMA对数据进行AR(3)过程拟合。

   
arma_mod30 = sm.tsa.ARMA(dta, (3,0)).fit()......0.hqic

image.png

为了测试非线性,可以使用线性AR(3)模型的残差进行BDS检验。

   
bds.bds(arm......sid, 3)

image.png

这表明可能存在潜在的非线性结构。为了试图捕捉这个结构,我们将对数据拟合SETAR(2)模型,允许两种制度,并且每个制度都是AR(3)过程。在这里,我们没有指定延迟或阈值值,因此它们将从模型中最优选择。

注意:在摘要中,\gamma参数是阈值值。

   
ser_23 = star......).fit()

image.png

AIC和BIC准则更喜欢SETAR模型而不是AR模型。

注意:这是一个自助法检验,所以在改进之前速度可能会比较慢。

   
f_sat, pae,bsf_tas = stoest()

image.png

零假设是SETAR(1),因此我们可以拒绝它,选择SETAR(2)作为备择假设。

不过需要注意的是,order_test()的默认假设是存在异方差性,这在这里可能是不合理的。

   
f_stat_h, pvalue_h, bs_f_stats_h = ......g')
print pvalue

image.png

需要注意,在考虑时序残差时,BDS检验仍然拒绝原假设,尽管比AR(3)模型的拒绝程度更小。我们可以查看残差图,看看误差是否具有零均值,但可能不具有同方差性。

   
print bds.bds(setar_mod23.resid, 3)
setar_mod23.resid.plot(figsize=(10,5));

image.png

image.png

相对于ARMA模型,这里估计了两种新类型的参数。延迟参数和阈值。延迟参数选择要使用作为阈值变量的过程滞后,并且阈值指示将数据点分隔为(此处为两个)状态的阈值变量的哪些值。

似然比统计量小于临界值的替代阈值包含在置信集中,置信区间的下限和上限分别是置信集中最小和最大的阈值。

   
setarmd23.plo......ght=5);

image.png

我们可以查看样本内动态预测和样本外预测。

   
predit_am_mo30 = arma_mod30.predict('1990', '2012', dynamic=True)
   
ax = dta.ix['1950':].pot(igsze=(12,8))......

image.png

看起来,SETAR模型的动态预测能够稍微更好地跟踪观察到的数据点,而不是AR(3)模型。我们可以通过均方根预测误差进行比较,并看到SETAR表现略好一些。

   
def rsf(y, yhat):
    return (y.sb(yhat**2).man()
prnt 'AR(3):        ', rse(dta.SNACTIVI......od23)

image.png

然而,如果扩展预测窗口,则明显SETAR模型是唯一一个适合数据形状的模型,因为数据是循环的。

   
preict_am_mo30_long = ama_md30.predict('1960', '2012', dynamic=True)......
ax.legend();

下载.png

   
print 'AR(3):        ', rmsfe(dta.S......ong)

image.png


exosystem-strategy_thumb_1282674536_1536x1536.webp

最受欢迎的见解

1.在python中使用lstm和pytorch进行时间序列预测

2.python中利用长短期记忆模型lstm进行时间序列预测分析

3.Python用RNN循环神经网络:LSTM长期记忆、GRU门循环单元、回归和ARIMA对COVID-19新冠疫情新增人数时间序列

4.Python TensorFlow循环神经网络RNN-LSTM神经网络预测股票市场价格时间序列和MSE评估准确性

5.r语言copulas和金融时间序列案例

6.R 语言用RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测

7.Matlab创建向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列

8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类

9.R语言结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析

标签:阈值,Python,......,AR,SETAR,BDS,序列,模型
From: https://www.cnblogs.com/tecdat/p/17773180.html

相关文章

  • python-zipfile
    python-zipfile目录python-zipfile常用方法压缩包信息解压文件压缩文件批量压缩参考链接zipfile是python的一个内置模块,专门用于压缩文件和解压文件常用方法ZipFile(filename[,mode[,compression[,allowZip64]]])importzipfilefile_path="D:/test.zip"file_path2="......
  • python-functools
    python-functools目录python-functoolspartial偏函数案例1-普通使用案例2-延迟执行案例3-回调函数添加参数partialmethodreducewrapsupdate_wrappercache(user_function)lru_cache(maxsize)singledispatchsingledispatchmethod参考资料functools模块用于高阶函数:作用与或者返回......
  • 利用 python 抽取pdf 中表格到 excel
    首先推荐camelotpdf_file_input="TTAF086-2021.pdf"tables=camelot.read_pdf(pdf_file_input,pages='11',flavor='stream')df=tables[0].dfdf.to_excel("TTAF086-2021.xlsx",index=False)pdf表格效果如下其......
  • Python基础习题1
    请大家不要上网搜索或在pycharm里试运行,尽量要闭卷做练习,做错的我们统一讲解。 1. 关于 Python的编程环境,下列的哪个表述是正确的?(   )A、Python的编程环境是图形化的;B、 Python只有一种编程环境ipython;C、Python自带的编程环境是IDLE;D、用windows自带的......
  • Linux 下安装 miniconda,管理 Python 多环境
    安装miniconda1、下载安装包Miniconda3-py37_22.11.1-1-Linux-x86_64.sh,或者自行选择版本2、把安装包上传到服务器上,这里放在/home/software3、安装bashMiniconda3-py37_22.11.1-1-Linux-x86_64.sh4、按回车WelcometoMiniconda3py37_22.11.1-1Inordertocontin......
  • mac搭建python3 开发环境
    #这是linux版的,macos版的https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.8.2-MacOSX-x86_64.shcurlhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py38_4.8.2-Linux-x86_64.sh-o/tmp/miniconda.shbash/tmp/minic......
  • 【小白必看】轻松获取王者荣耀英雄皮肤图片的Python爬虫程序
    前言当谈到王者荣耀游戏时,无法忽视的是其丰富多样的英雄皮肤。这些皮肤不仅为玩家提供了个性化的游戏体验,还展示了设计师们的创造力和努力。然而,要手动下载每个英雄的皮肤图片是一项枯燥且费时的任务。幸运的是,我们可以利用编程的力量来自动化这一过程。本文将介绍如何使用Pytho......
  • 【Python&RS】基于GDAL栅格数据/图片位深度(bit)转换
    ​    最近在用OpenCv库处理图片时发现cv库无法读取64位的tif影像,所有想通过Python将64位的图片转换成8位的。今天就跟大家分享一下如何利用Python的GDAL库,实现栅格数据/图片的位深度转换。        在数字图像处理中,我们常常会听到不同的位数术语,比如64位、16......
  • 【小白必看】Python爬虫数据处理与可视化
    前言本文分析了一段Python代码,主要功能是从网页中提取数据并进行数据处理与可视化。代码通过发送HTTP请求获取网页内容,使用XPath解析网页内容,并提取所需数据。然后使用pandas库构建数据结构,对数据进行统计与分组,并使用matplotlib库进行数据可视化。最后,对数据进行筛选、排序和保......
  • 【小白必看】使用Python批量下载英雄联盟皮肤图片的技术实现
    前言英雄联盟是一款备受喜爱的团队对战游戏,游戏中每位英雄都有各种精美的皮肤供玩家选择。本文将介绍一个使用Python编写的英雄联盟皮肤下载器,可以快速获取所有英雄的皮肤图片,让您更方便地欣赏和收藏这些皮肤。运行效果截图导入必要的模块和库importrequests#pipi......