Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我可以使用statsmodel ARIMA插值时间序列吗?_Python_Pandas_Arima - Fatal编程技术网

Python 我可以使用statsmodel ARIMA插值时间序列吗?

Python 我可以使用statsmodel ARIMA插值时间序列吗?,python,pandas,arima,Python,Pandas,Arima,在Python 3.7中,我有一个时间序列,由一个数据帧表示,其中索引是DateTimeIndex,单值列是股价: 缺口对应于NaN“价格”值,有126个非NaN值和20个NaN值。我想做的是插值非NaN值,以预测NaN值。我尝试了几种插值方法(线性、三次样条),但它们不够精确,从上面的图来看,似乎有明显的上升趋势,也有一些每周周期的痕迹,所以我决定使用statsmodel ARIMA。这是我的密码: def fill_in_dataframe_ARIMA( df ): price_

在Python 3.7中,我有一个时间序列,由一个数据帧表示,其中索引是DateTimeIndex,单值列是股价:

缺口对应于NaN“价格”值,有126个非NaN值和20个NaN值。我想做的是插值非NaN值,以预测NaN值。我尝试了几种插值方法(线性、三次样条),但它们不够精确,从上面的图来看,似乎有明显的上升趋势,也有一些每周周期的痕迹,所以我决定使用statsmodel ARIMA。这是我的密码:

def fill_in_dataframe_ARIMA(  df ):
    price_is_not_NaN = df[ 'price' ].notnull()
    price_is_NaN = np.logical_not( price_is_not_NaN )
    # Convert the datetimes of the index into milliseconds:
    datetime_ms = df.index.map( to_ms )
    # Train the ARIMA model:
    train_datetime_ms = datetime_ms[ price_is_not_NaN ]
    train_price = df.price[ price_is_not_NaN ]
    arima_model = ARIMA( train_price, ( 5, 1, 2 ), train_datetime_ms ).fit()
    # Use model to predict the missing prices:
    missing_datetime_ms = datetime_ms[ price_is_NaN ]
    missing_price = arima_model.predict( exog = missing_datetime_ms )
    return missing_price
我期望的是
missing\u price
最终成为一个类似数组的对象,包含20个条目,比如
missing\u datetime\u ms
。相反,
missing\u price
有125个条目,比
train\u datetime\ms:train\u price
中的样本数少一个


显然,我不明白什么是内生和外生(更不用说内插和外推)。有人能解释一下我是如何得到20个预测条目的预期结果的吗?

我对一些空气污染数据也有类似的问题。还没有找到解决办法。你修好了吗?我在读了几篇说明后放弃了ARIMA,这些说明表明用于训练ARIMA的时间序列必须是周期性的,并且在你想要预测的时间之前,每个周期都必须有样本。此外,如果你决定无论如何都要尝试,请查看SARIMA(季节性ARIMA),它包括对季节性和趋势的处理,而普通ARIMA假设时间序列是平稳的。我对一些空气污染数据也有类似的问题。还没有找到解决办法。你修好了吗?我在读了几篇说明后放弃了ARIMA,这些说明表明用于训练ARIMA的时间序列必须是周期性的,并且在你想要预测的时间之前,每个周期都必须有样本。此外,如果您决定无论如何都要尝试,请查看SARIMA(季节性ARIMA),它包括对季节性和趋势的处理,而普通ARIMA假设时间序列是平稳的。