python - 使用sklearn在python中进行时空克里金法?

标签 python scikit-learn gaussian kriging

我有大约 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/

相关文章:

python - 关闭调试打印

machine-learning - 分类编码之前还是之后标准化?

python - Scipy:ipython 笔记本中的并行计算?

c++ - filter2d() 与 gaussian kernel 和 GaussianBlur() 的区别

python - 取消任务会取消任务正在等待的 future 。它是如何工作的?

python - 创建具有固定数量元素(长度)的范围

matlab - Exp 的自定义算法。 Matlab 中的最大化

r - 如何用R计算高斯混合模型中的Fisher信息矩阵

javascript - 文件上传后是否可以留在页面上并收到“确定”消息?

machine-learning - SciKit SGD 回归器 RBF 核近似