Kaggle學術活動經典案例深度剖析:預測水資源可用性
Acea Smart Water Analytics 您能否預測水資源未來的的可用性?每個數據集代表一種不同類型的水體。由于每個水體彼此不同,相關特征也不同。我們會注意到它的特征與湖泊的特征不同。這些差異是根據每個水體的獨特行為和特征預期的。
步驟1:數據集讀取首先讀取數據,并找到對應的日期列,
from?datetime?import?datetime,?date
df['date']?=?pd.to_datetime(df['date'],?format?=?'%d/%m/%Y')
其中特征列為Rainfall、Temperature、Volume和Hydrometry,標簽列為Depth to Groundwater。

步驟2:數據集分析時間間隔分析日期是否包含連續:通過date列進行diff,如果日期列沒有缺失值則最大diff為1day。
df?=?df.sort_values(by='date')
df['delta']?=?df['date']?-?df['date'].shift(1)
df[['date',?'delta']].head()
缺失值分析分析數據集是否包含空值,繪制的時間序列顯示似乎有一些零值,我們將用nan值替換它們,然后再填充它們。

缺失值填充使用NaN填充使用均值填充使用最近的樣本填充使用插值填充
平滑數據/重采樣重采樣可以提供更多的數據信息。重采樣有兩種類型:
上采樣:采樣頻率增加(例如,數天到數小時)。
下采樣:采樣頻率降低(例如,從天到周)。平穩性一些時間序列模型,如ARIMA,假設基礎數據是平穩的。
平穩性描述了時間序列具有:常數均值和均值不依賴于時間常數方差和方差與時間無關常數協方差和協方差與時間無關

平穩性檢查可以通過三種不同的方法來完成:
視覺上:繪制時間序列并檢查趨勢或季節性
基本統計:拆分時間序列,比較每個分區的均值和方差
統計檢驗:擴充Dickey Fuller檢驗特征工程日期信息周期編碼新的時間特性是周期性的,特征月周期為每年1至12個月。雖然每個月之間的差值在一年內增加1,但在兩年內,月特性從12(12月)跳到1(1月)。

時序分解時間序列分解涉及到將一個序列看作水平、趨勢、季節性和噪聲成分的組合。
等級:級數中的平均值。趨勢:數列中增加或減少的值。季節性:在系列中重復的短期循環。噪聲:數列中的隨機變化。

Lag特征EDA分析相關性分析

自相關分析自相關函數(ACF): P=滯后周期,P幫助調整用于預測序列的擬合線,P對應于MA參數

部分自相關函數(PACF): D是時間序列達到平穩所需的差分變換次數。D對應AR參數。

構建模型時間序列可以是單變量的也可以是多變量的:單變量時間序列只有一個時間因變量。多變量時間序列具有多個時間因變量。數據劃分方法from sklearn.model_selection import TimeSeriesSplit

單變量時序模型 Prophet

ARIMA

LSTM

多變量時序模型Prophet

完整代碼鏈接:https://www.kaggle.com/andreshg/timeseries-analysis-a-complete-guide/notebook
學習數據學術活動,組隊參賽,交流分享
歡迎掃碼聯系我們,還能【免費領取】賽事資料大禮包!


? 2025. All Rights Reserved. 滬ICP備2023009024號-1