我有大约 6 个气象站的天气数据。对于所有这些站,我都有可用的经度和纬度,还有日期时间(从 2016 年初开始每 10 分钟一次)。我想使用克里金插值方法来填充其他长/纬度位置(这些站之间)的缺失值。
我知道 scikit-learn 具有可用于克里金法的“GaussianProcessRegressor”。但是,我不明白如何在拟合过程中包含时间维度。这甚至是可能的还是应该为我的每个约会时间安装一个单独的模型?
X 必须是一组特征,在我的情况下是纬度和经度(我认为)。 X 现在是每个站的 6 个纬度/经度对(例如 [52.1093, 5.181])的列表。我花了一个日期来测试 GPR。 y 是长度为 6 的列表,其中包含那些站点在特定时间的露点。
现在的问题是,我实际上想对所有日期时间进行克里金法。我如何合并这些日期时间?我是否应该将日期时间添加为 X 数组中的特征(例如 [52.1093, 5.181, 2017, 1, 2, 10, 50])?这对我来说真的很奇怪。但是,我找不到任何其他方法来模拟时间因素。
我拟合 GaussianProcessRegressor 的代码:
one_date = meteo_df[meteo_df['datetime'] ==
datetime].drop_duplicates(subset=['long', 'lat'], keep='last')
long = one_date['long']
lat = one_date['lat']
x = [[la,lo] for la, lo in zip(lat, long)]
y = list(one_date['dew_point'])
GPR = GaussianProcessRegressor(n_restarts_optimizer=10)
GPR.fit(x, y)
最佳答案
见 D.E. 的论文迈尔斯、S. De Iaco 和 D. Posa
您需要欧几里得坐标,例如位置的 UTM 而不是纬度/经度
关于python - 使用sklearn在python中进行时空克里金法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50387302/