我有一個特定天數的開爾文溫度模型。我正在使用“滾動視窗”方法對每 28 天的線性回歸進行建模,以預測接下來五天的溫度。
現在我有兩個圖表。我怎樣才能“把它們放在一起”,以便 X 軸顯示來自整個集合的資料,而不僅僅是給定的視窗?結果將有兩條曲線,一條是真實溫度,一條是預測溫度。預測模型在前 28 天不會顯示。
下圖顯示了兩個電流圖。本質上,我希望繪制一個模型,使這些圖按順序排列在一起。我認為這可以在 for 回圈中完成,但我不確定如何執行它。
from sklearn.linear_model import LinearRegression
import matplotlib
import matplotlib.pyplot as plt
reg = LinearRegression().fit(X[0:28], Y[0:28])
reg.score(X, Y)
Y_predict=reg.predict(X[28:33]) #data from days 29-33
plt.plot(Y[28:33],'r')
plt.plot(Y_predict,'b')
print(Y_predict) #temp, days 28-33
reg = LinearRegression().fit(X[29:57], Y[29:57])
Y_predict=reg.predict(X[57:62]) #data from days 29-33
plt.plot(Y[29:57],'r')
plt.plot(Y_predict,'b')
print(Y_predict) #temp, days 28-33

uj5u.com熱心網友回復:
要將這些值放在一起,您可以使用 for 回圈,同時將所有預測值保存在串列中,然后才執行 plot 函式。為此,您必須調整回圈索引中X和Y使用回圈索引的固定范圍,以及WINDOW要預測的大小和天數 ( NEXT_DAYS)。
WINDOW = 28
NEXT_DAYS = 5
Y_predict = [None]*WINDOW
for i in range(0,len(X)-WINDOW, NEXT_DAYS):
reg = LinearRegression().fit(X[i:i WINDOW], Y[i:i WINDOW])
reg.score(X, Y)
Y_predict.extend(reg.predict(X[i WINDOW:i WINDOW NEXT_DAYS]))
plt.plot(Y, 'r', label='Y', alpha=0.5)
plt.plot(Y_predict, 'b', label='Y_pred')
plt.legend()
plt.show()

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/394382.html
標籤:Python matplotlib
上一篇:如何調節滴答圖的數量?
