簡體   English   中英

濕度的時間序列預測

[英]Time Series Forecasting for Humidity

我有以下輸入值,並希望為時間戳列表中的值預測濕度值

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]  

有人可以幫助我解決我的問題嗎

對我來說,您只是重復相同的計算n次,其中n是len(test)。 永遠不會使用迭代變量t,並且每次所有參數都是相同的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM