需要先对输入数据进行处理,去除NaN值和无穷大值,并确保所有数据都在float64的取值范围内。下面给出一个处理代码的示例:
import numpy as np
import pandas as pd
from statsmodels.tsa.arima.model import ARIMA
# 读入数据,假设源数据文件为data.csv
df = pd.read_csv('data.csv')
# 去除NaN值和无穷大值
df = df.replace([np.inf, -np.inf], np.nan).dropna()
# 将数据转换为float64类型(如果不是的话)
df = df.astype('float64')
# 构建ARIMA模型并进行预测
model = ARIMA(df, order=(1, 1, 1))
result = model.fit()
forecast = result.forecast()
需要注意的是,在处理数据的时候,如果数据量过大,可能需要采用分块读入的方式来避免内存不足的问题。