湿度的时间序列预测
Posted
技术标签:
【中文标题】湿度的时间序列预测【英文标题】:Time Series Forecasting for Humidity 【发布时间】:2018-06-16 11:02:06 【问题描述】:我有以下输入值并想预测时间戳列表中存在的值的湿度值
startDate = "2013-01-01"
endDate = "2013-01-01"
knownTimestamps = ['2013-01-01 00:00','2013-01-01 01:00','2013-01-01 02:00','2013-01-01 03:00','2013-01-01 04:00',
'2013-01-01 05:00','2013-01-01 06:00','2013-01-01 08:00','2013-01-01 10:00','2013-01-01 11:00',
'2013-01-01 12:00','2013-01-01 13:00','2013-01-01 16:00','2013-01-01 17:00','2013-01-01 18:00',
'2013-01-01 19:00','2013-01-01 20:00','2013-01-01 21:00','2013-01-01 23:00']
humidity = ['0.62','0.64','0.62','0.63','0.63','0.64','0.63','0.64','0.48','0.46','0.45','0.44','0.46','0.47','0.48','0.49','0.51','0.52','0.52']
timestamps = ['2013-01-01 07:00','2013-01-01 09:00','2013-01-01 14:00','2013-01-01 15:00','2013-01-01 22:00']
我正在使用以下函数在 python 中使用 AR 模型预测湿度值
from statsmodels.tsa.arima_model import ARIMA
def predictMissingHumidity(startDate, endDate, knownTimestamps, humidity, timestamps):
data_prediction = pd.DataFrame('knownTimestamps': knownTimestamps,'humidity': humidity)
print(data_prediction.head(10))
history = [float(x) for x in data_prediction.humidity]
predictions = []
test = timestamps
for t in range(len(test)):
model = ARIMA(history, order=(2,2,0))
model_fit = model.fit(disp=0)
output = model_fit.forecast()
yhat = output[0]
predictions.append(float(yhat))
print(predictions)
return predictions
模型为时间戳列表中的值预测相同的湿度值。
res = predictMissingHumidity(startDate, endDate, knownTimestamps, humidity, timestamps)
print(res)
output = [0.5287247355700563, 0.5287247355700563, 0.5287247355700563,
0.5287247355700563, 0.5287247355700563]
谁能帮我解决我哪里出错了
【问题讨论】:
我没有看到你在函数中返回predictions
或调用函数。
是的,我没有在问题中包含该部分,我会进行更改
【参考方案1】:
对我来说,看起来你只是重复相同的计算 n 次,其中 n 是 len(test)。迭代变量 t 从未使用过,所有参数每次都相同。
【讨论】:
以上是关于湿度的时间序列预测的主要内容,如果未能解决你的问题,请参考以下文章
粮食温度预测基于matlab GA优化BP神经网络粮食温度预测研(多输入单输出)(含优化前的对比)含Matlab源码 2404期
基于 CNN-GRU 的菇房多点温湿度预测方法研究 学习记录