活动介绍
file-type

R接口与X-13ARIMA-SEATS的季节性调整软件介绍

ZIP文件

下载需积分: 32 | 1.84MB | 更新于2025-01-06 | 17 浏览量 | 4 下载量 举报 2 收藏
download 立即下载
X-13ARIMA-SEATS是由美国人口普查局开发的最新季节性调整工具,它继承并发展了先前的X-12ARIMA软件的功能,并融入了tramoSeats的特色。该软件主要用于经济和市场数据分析中,以识别和调整数据的季节性波动,帮助研究者和决策者更准确地把握经济活动的趋势。" 知识点详细说明: 1. R语言接口: - R是一种用于统计计算和图形表示的编程语言和软件环境。 - R语言具有强大的数据处理能力和丰富的统计分析库。 - R语言接口通常指的是能够使R与其他软件或数据库进行数据交换和操作的机制。 - 使用R语言接口可以方便地将外部程序或库的功能集成到R环境中,从而扩展R的功能。 2. X-13ARIMA-SEATS简介: - X-13ARIMA-SEATS是美国人口普查局为季节性调整需求开发的官方软件,用于时间序列数据的分析和处理。 - 该软件是X-12ARIMA的升级版,X-12ARIMA同样由美国人口普查局开发,并被广泛应用于经济数据的季节调整。 - X-13ARIMA-SEATS在X-12ARIMA的基础上加入了tramo Seats的功能,tramo Seats是另一款用于时间序列分析的软件,特别擅长处理季节性和非季节性成分。 - X-13ARIMA-SEATS提供了更为精确和灵活的季节调整能力,支持多种模型和选项。 3. 季节性调整: - 季节性调整是指从时间序列数据中去除季节性波动成分,以便更好地分析和预测趋势。 - 在经济、商业、气象等领域,季节性调整是非常重要的步骤,它有助于研究者理解数据的真实变化情况。 - X-13ARIMA-SEATS软件能够帮助用户识别季节性波动,估计并移除季节性影响,从而得到调整后的数据。 4. 数据分析: - 在经济和市场数据分析中,季节性调整是重要的预处理步骤。 - 准确的季节性调整可以提升后续统计分析和模型预测的准确性。 - 通过X-13ARIMA-SEATS软件,分析人员可以更加深入地探究数据背后的模式和结构。 5. 开源软件: - 开源意味着软件的源代码可以被公开访问和修改。 - 开源软件的用户不仅可以自由使用,还可以对软件进行定制和改进。 - R语言接口和X-13ARIMA-SEATS都是开源软件,促进了学术界和产业界的协作与创新。 6. 使用场景: - R语言接口到X-13ARIMA-SEATS可以在多种环境下使用,包括Windows、Linux和MacOS等操作系统。 - 它适合于经济学家、统计学家、市场分析师以及任何需要进行时间序列分析的专业人士。 资源中提到的“seasonal-master”文件,很可能包含了R语言接口到X-13ARIMA-SEATS的安装文件或源代码文件,这表明用户可以通过简单的安装或配置过程将X-13ARIMA-SEATS集成到R语言环境中,进而利用该软件强大的季节性调整功能。

相关推荐

filetype

1. ARIMA 2. SARIMA 3. VAR 4. Auto-ARIMA 5. Auto-SARIMA 6. LSTM 7. GRU 8. RNN 9. CNN 10. MLP 11. DNN 12. MLP-LSTM 13. MLP-GRU 14. MLP-RNN 15. MLP-CNN 16. LSTM-ARIMA 17. LSTM-MLP 18. LSTM-CNN 19. GRU-ARIMA 20. GRU-MLP 21. GRU-CNN 22. RNN-ARIMA 23. RNN-MLP 24. RNN-CNN 25. CNN-ARIMA 26. CNN-MLP 27. CNN-LSTM 28. CNN-GRU 29. ARIMA-SVM 30. SARIMA-SVM 31. VAR-SVM 32. Auto-ARIMA-SVM 33. Auto-SARIMA-SVM 34. LSTM-SVM 35. GRU-SVM 36. RNN-SVM 37. CNN-SVM 38. MLP-SVM 39. LSTM-ARIMA-SVM 40. LSTM-MLP-SVM 41. LSTM-CNN-SVM 42. GRU-ARIMA-SVM 43. GRU-MLP-SVM 44. GRU-CNN-SVM 45. RNN-ARIMA-SVM 46. RNN-MLP-SVM 47. RNN-CNN-SVM 48. CNN-ARIMA-SVM 49. CNN-MLP-SVM 50. CNN-LSTM-SVM 51. CNN-GRU-SVM 52. ARIMA-RF 53. SARIMA-RF 54. VAR-RF 55. Auto-ARIMA-RF 56. Auto-SARIMA-RF 57. LSTM-RF 58. GRU-RF 59. RNN-RF 60. CNN-RF 61. MLP-RF 62. LSTM-ARIMA-RF 63. LSTM-MLP-RF 64. LSTM-CNN-RF 65. GRU-ARIMA-RF 66. GRU-MLP-RF 67. GRU-CNN-RF 68. RNN-ARIMA-RF 69. RNN-MLP-RF 70. RNN-CNN-RF 71. CNN-ARIMA-RF 72. CNN-MLP-RF 73. CNN-LSTM-RF 74. CNN-GRU-RF 75. ARIMA-XGBoost 76. SARIMA-XGBoost 77. VAR-XGBoost 78. Auto-ARIMA-XGBoost 79. Auto-SARIMA-XGBoost 80. LSTM-XGBoost 81. GRU-XGBoost 82. RNN-XGBoost 83. CNN-XGBoost 84. MLP-XGBoost 85. LSTM-ARIMA-XGBoost 86. LSTM-MLP-XGBoost 87. LSTM-CNN-XGBoost 88. GRU-ARIMA-XGBoost 89. GRU-MLP-XGBoost 90. GRU-CNN-XGBoost 91. RNN-ARIMA-XGBoost 92. RNN-MLP-XGBoost 93. RNN-CNN-XGBoost 94. CNN-ARIMA-XGBoost 95. CNN-MLP-XGBoost 96. CNN-LSTM-XGBoost 97. CNN-GRU-XGBoost 98. ARIMA-ANN 99. SARIMA-ANN 100. VAR-ANN 上面这些缩写模型的全称及相关用途功能详细解释

filetype

numpy.core._exceptions.MemoryError: Unable to allocate 140. MiB for an array with shape (50, 50, 7344) and data type float64 依据下述代码,给出可以解决上述报错的修改方案 # -*- coding:utf-8 _*- ''' Author: philosophylato Date: 2022-08-30 15:04:30 LastEditors: philosophylato LastEditTime: 2022-08-30 15:14:41 Description: your project version: 1.0 ''' from this import d import pandas as pd import matplotlib.pyplot as plt import pylab as pl import warnings import pandas as pd import numpy as np import matplotlib as mpl mpl.use('Agg') import matplotlib.pyplot as plt from datetime import datetime from math import sqrt from sklearn.metrics import mean_squared_error from pmdarima.arima import auto_arima from sklearn.metrics import mean_squared_error from pmdarima.arima import auto_arima from sklearn.metrics import r2_score from sklearn.metrics import mean_absolute_error from datetime import datetime # 一次性预测多个值 ''' # 文档部分参考:http://alkaline-ml.com/pmdarima/modules/generated/pmdarima.arima.auto_arima.html?highlight=auto_arima ARIMA是一个非常强大的时间序列预测模型,但是数据准备与参数调整过程非常耗时 Auto ARIMA让整个任务变得非常简单,舍去了序列平稳化,确定d值,创建ACF值和PACF图,确定p值和q值的过程 Auto ARIMA的步骤: 1.加载数据并进行数据处理,修改成时间索引 2.预处理数据:输入的应该是单变量,因此需要删除其他列 3.拟合Auto ARIMA,在单变量序列上拟合模型 4.在验证集上进行预测 5.计算RMSE:用验证集上的预测值和实际值检查RMSE值 Auto-ARIMA通过进行差分测试,来确定差分d的顺序,然后在定义的start_p、max_p、start_q、max_q范围内拟合模型。 如果季节可选选项被启用,auto-ARIMA还会在进行Canova-Hansen测试以确定季节差分的最优顺序D后,寻找最优的P和Q超参数。 为了找到最好的模型,给定information_criterion auto-ARIMA优化,(‘aic’,‘aicc’,‘bic’,‘hqic’,‘oob’) 并返回ARIMA的最小值。 注意,由于平稳性问题,auto-ARIMA可能无法找到合适的收敛模型。如果是这种情况,将抛出一个ValueError, 建议在重新拟合之前使数据变稳定,或者选择一个新的顺序值范围。 非逐步的(也就是网格搜索)选择可能会很慢,特别是对于季节性数据。Hyndman和Khandakar(2008)中概述了逐步算法。 ''' #第一步:加载数据集 xls=pd.read_excel('date_xlsx1.xls') xls.to_csv('transform_279675204.csv',index=False) data=pd.read_csv("transform_279675204.csv") print(data.head(5)) data.index=pd.to_datetime(data.Date) select_cols=['RegCP'] data = data[select_cols] data=data.fillna(method='ffill') data.head(5) def arima_(): warnings.filterwarnings(action='ignore') # 第二步:预处理数据-由于所给数据本身就是单变量序列,并且没有空值,因此,可以不进行这一步处理 # 将数据分成训练集与验证集 #val_size = 100 #train_size = 10 * val_size #train, val = data[-(train_size + val_size):-val_size + 1]['data'], data[-val_size:]['data'] # plot the data train=data.loc['2003-03-01 00:00:00':'2020-06-27 23:00:00',:] val=data.loc['2003-12-31 00:00:00':'2020-06-30 23:00:00',:] fig = plt.figure() fig.add_subplot() plt.figure(dpi=300,figsize=(24,8)) plt.plot(train, 'r-', label='train_data') plt.plot(val, 'y-', label='val_data') plt.legend(loc='best') plt.show(block=False) # 第三步:buliding the model # 仅需要fit命令来拟合模型,而不必要选择p、d、q的组合,模型会生成AIC值和BIC值,以确定参数的最佳组合 # AIC和 BIC是用于比较模型的评估器,这些值越低,模型就越好 ''' 网址:http://alkaline-ml.com/pmdarima/modules/generated/pmdarima.arima.auto_arima.html?highlight=auto_arima auto_arima部分参数解析(季节性参数未写): 1.start_p:p的起始值,自回归(“AR”)模型的阶数(或滞后时间的数量),必须是正整数 2.start_q:q的初始值,移动平均(MA)模型的阶数。必须是正整数。 3.max_p:p的最大值,必须是大于或等于start_p的正整数。 4.max_q:q的最大值,必须是一个大于start_q的正整数 5.seasonal:是否适合季节性ARIMA。默认是正确的。注意,如果season为真,而m == 1,则season将设置为False。 6.stationary :时间序列是否平稳,d是否为零。 6.information_criterion:信息准则用于选择最佳的ARIMA模型。(‘aic’,‘bic’,‘hqic’,‘oob’)之一 7.alpha:检验水平的检验显著性,默认0.05 8.test:如果stationary为假且d为None,用来检测平稳性的单位根检验的类型。默认为‘kpss’;可设置为adf 9.n_jobs :网格搜索中并行拟合的模型数(逐步=False)。默认值是1,但是-1可以用来表示“尽可能多”。 10.suppress_warnings:statsmodel中可能会抛出许多警告。如果suppress_warnings为真,那么来自ARIMA的所有警告都将被压制 11.error_action:如果由于某种原因无法匹配ARIMA,则可以控制错误处理行为。(warn,raise,ignore,trace) 12.max_d:d的最大值,即非季节差异的最大数量。必须是大于或等于d的正整数。 13.trace:是否打印适合的状态。如果值为False,则不会打印任何调试信息。值为真会打印一些 ''' model = auto_arima(train, start_p=0, start_q=0, max_p=20, max_q=20, max_d=3, seasonal=True, test='adf',m=24, error_action='ignore', information_criterion='bic', njob=-1, trace=True, suppress_warnings=True) import time T1 = time.time() model.fit(train) print('train用时',time.time()-T1) #第四步:在验证集上进行预测 T2=time.time() forecast1 = model.predict(n_periods=len(val)) print('test用时',time.time()-T2) print(forecast1) forecast = pd.DataFrame(forecast1, index=val.index, columns=['prediction']) # calculate rmse rmse = np.sqrt(mean_squared_error(val, forecast)) print('RMSE : %.4f' % rmse) # 计算RMSE rmse = np.sqrt(mean_squared_error(val, forecast)) r2score=r2_score(val, forecast) mae=mean_absolute_error(val, forecast) #mape=mean_absolute_percentage_error(test,predictions_) print('mse',mean_squared_error(val, forecast)) print('rmse',rmse) print('r2',r2score) #print('mape',mape) print('mae',mae) #plot predictions #fig = plt.figure() plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签 plt.figure(figsize=(12,5)) #fig.add_subplot() #plt.figure(dpi=300,figsize=(24,8)) #plt.plot(train, 'r-', label='train') x = np.arange(72) plt.plot(x,val,'bo-',label='true value') #plt.plot(forecast,'ro-',label='predict value') #plt.xticks(pd.date_range('2020-6-28','2020-7-1',freq='1d'),rotation=0) y_offset=np.ones(72)*mae print(x) plt.errorbar(x,y=forecast1,fmt='ro-',yerr=y_offset,label="predict value") #plt.xticks(pd.date_range('2020-6-28','2020-7-1',freq='1d'),rotation=0) plt.legend(loc='best') plt.title('X-13-ARIMA-SEAT模型-单模型连续预测') plt.show()#block=False) arima_()

weixin_38743481
  • 粉丝: 700
上传资源 快速赚钱