我有以下代码,它以最低的AIC返回模型,但我希望所有模型的AIC按升序或降序排列,而不使用R中内置的排序函数。
sp <- rnorm(100) ## just some toy data to make code work!
spfinal.aic <- Inf
spfinal.order <- c(0,0,0)
for (p in 1:4) for (d in 0:1) for (q in 1:4) {
spcurrent.aic <- AIC(arima(sp, order=c(p, d, q)))
if (spcurrent.aic < spf
我有一个包含多个城市的数据集,我正在尝试为每个城市构建一个ARIMA模型,因此在我的代码中,我使用for循环拆分数据,并在将这些参数发送到最终拟合之前找到最佳模型。我的问题是,我如何使这个过程自动化?有没有办法从ARIMACheck函数返回的最佳模型中提取p,d,q值? def ARIMACheck(data):
from pmdarima import auto_arima
fit = auto_arima(data[20], trace=True)
return fit
def ARIMA(data, p, d, q):
from stat
我正在尝试从pmdarima库的auto_arima模型中提取估计的(未预测的)值,但我一直无法。我尝试过:modl.fit(),它不会生成以后需要它们与训练值()()=len(mod1.it())一起绘制的值。
import pmdarima as pm
import matplotlib.pyplot as plt
import numpy as np
data = pm.datasets.load_lynx()
train, test = model_selection.train_test_split(data, train_size=90)
# Fit a simple aut
基本上,我们可以从auto.arima中提取最优AR顺序。
> auto.arima(ret.fin.chn,trace=TRUE,allowdrift=TRUE)
ARIMA(2,0,2) with non-zero mean : -14242.19
ARIMA(0,0,0) with non-zero mean : -14239.24
ARIMA(1,0,0) with non-zero mean : -14241.3
ARIMA(0,0,1) with non-zero mean : -14238.16
ARIMA(1,0,2) with non-zero m
我在python中编写了一个代码来生成ARIMA模型的序列并确定它们的AIC值来比较them.The代码如下,
p=0
q=0
d=0
for p in range(5):
for d in range(1):
for q in range(4):
arima_mod=sm.tsa.ARIMA(df,(p,d,q)).fit()
print(arima_mod.params)
print arima_mod.aic()
我收到一条错误消息如下,
TypeError
我正在24 CPU 200+GB RAM云服务器上的20000元素数据集上拟合ARIMA模型(从状态模型)到现在超过24小时。它装载了所有的CPU。但花了这么长时间.它是怎么工作的还是这里出了什么问题?
p,d,q只是数
from statsmodels.tsa.arima_model import ARIMA
for t in range(len(test)):
model = ARIMA(history, order=(p, d, q))
model_fit = model.fit(disp=1)
output = model_fit.forecast()
我正在尝试实现一个时间序列模型,并得到一些奇怪的异常,这些异常对我毫无意义。我想知道我是否犯了一个错误,或者这是不是完全可以预料到的。细节来了..。
在训练我的模型时,我尝试做一个网格搜索,以找到最好的(p,d,q)设置。以下是完整的代码(我将在下面解释正在发生的事情):
下面的可复制代码本质上是来自的一个副本,有一些细微的更改.:
import warnings
from pandas import Series
from statsmodels.tsa.arima_model import ARIMA
from sklearn.metrics import mean_squared_err
我正在尝试拟合具有多个输入的ARIMA模型。只要输入是一个单独的数组,它就能正常工作。
,有人建议我将输入数组放到一个多维数组结构中。所以我就这么做了:
import numpy as np
from statsmodels.tsa.arima_model import ARIMA
a = [1, 2, 3]
b = [4, 5, 6]
data = np.dstack([a, b])
for p in range(6):
for d in range(2):
for q in range(4):
order = (p,d,q)
我正在尝试用Python做一个月度房价预测模型。我现在正在使用网格搜索配置超参数。根据附加的ACF/PACF,p/d/q_值的范围应该是多少? 实例为299个月。我目前正在测试p(0;13),d(0;4),q(0;13)。但这需要永远的时间 # evaluate an ARIMA model for a given order (p,d,q) and return RMSE
def evaluate_arima_model(X, arima_order):
# prepare training dataset
X = X.astype('float32
我试图从一个表中提取不同的参数,并将它们放在一个列中。我试过了,但没有成功。
这是一个例子
Models = c("ARIMA(1,0,10)(80,0,90)[12] with non-zero mean",
"ARIMA(2,0,11) with non-zero mean",
"ARIMA(3,0,12)(81,0,91)[12] with non-zero mean",
"ARIMA(4,0,13)(82,0,92)[12] with non-zero mean
我正在尝试写一个代码来生成一系列的arima模型,并比较不同的models.The代码如下。
p=0
q=0
d=0
pdq=[]
aic=[]
for p in range(6):
for d in range(2):
for q in range(4):
arima_mod=sm.tsa.ARIMA(df,(p,d,q)).fit(transparams=True)
x=arima_mod.aic
x1= p,d,q
print (x1,x)
是否有可能在python中执行带有多处理的ARIMA模型?在我使用的下列代码中有一个错误:
import warnings
from pandas import read_csv
from pandas import datetime
from statsmodels.tsa.arima_model import ARIMA
from sklearn.metrics import mean_squared_error
import multiprocessing
from multiprocessing import pool
# evaluate an ARIMA model fo
过去,我一直在使用auto.arima,取得了很大的成功。但是,我开始遇到一个错误,我在排除故障时遇到了困难。错误是:
Error in search.arima(x, d, D, max.p, max.q, max.P, max.Q, max.order, :
No ARIMA model able to be estimated
这是我使用的代码;不幸的是,我不能共享数据,因为它们是专有的。
auto.arima(myts
,max.p=5, max.d=5, max.q=5, ma
我试图在财务数据上拟合arima模型,但我得到了一个错误:
arima中的误差(spReturnsOffset,order = c(p,d,q)):来自CSS的非平稳AR部分
关于下列代码:
library(quantmod)
getSymbols("^GSPC", from="1950-01-01")
spReturns = diff(log(Cl(GSPC)))
#differenced logarithmic returns of the "Closing Price" of the S&P500 and strip o
让我们假设我们有以下代码,它使用BIC标准选择最佳ARIMA模型
function [AR_order,MA_order]= complete_arima(Y)
%% if not specific input from user, use default time series
if nargin<1
Y=xlsread('ARIMA','ARIMA','d6:d468');
end
% Y is the observed time series
%% graphical representation of time s
我正在尝试构建一个函数,在这个函数中,我用一个arima循环来估计许多for模型。
我让for循环运行并获得我想要的输出,但是一旦我试图将代码放入函数中,就会出现错误。
这是循环:
model_acc <- data.frame()
for (p in 0:4) {
for(d in 0:2){
for (q in 0:4){
model <- arima(data, order=c(p,d,q), method = "ML")
acc <- accuracy(model)
acc <- as