首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中使用sklearn进行时空克里金法?

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

Stack Overflow用户
提问于 2018-05-17 16:56:33
回答 2查看 1.8K关注 0票数 8

我有大约6个气象站的天气数据。对于所有这些站点,我都有可用的经度和纬度,以及日期时间(从2016年初开始每隔10分钟)。我想使用克里金插值方法来填充其他经纬度位置(这些站点之间)的缺失值。

我知道scikit learn有可以用于克里金法的“GaussianProcessRegressor”。然而,我不明白我如何在拟合过程中包括时间维度。这是可能的吗?或者我应该为我拥有的每个datetime建立一个单独的模型?

X必须是一个特征数组,在我的例子中应该是纬度和经度(我想)。X现在是每个站点的6个经度/经度对(例如52.1093、5.181)的列表。我带了一个人去测试探地雷达。Y是一个长度为6的列表,它包含了这些站点在该特定时间的露点。

现在的问题是,我实际上想要对所有的日期时间做克里格法。如何合并这些datetimes?我是否应该将日期时间作为特征添加到X数组中(例如52.1093、5.181、2017年、1、2、10、50)?这在我看来真的很奇怪。然而,我找不到任何其他方法来对时间因素进行建模。

我安装GaussianProcessRegressor的代码如下:

代码语言:javascript
复制
    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)
EN

Stack Overflow用户

发布于 2021-11-05 10:40:32

我假设你想要开箱即用的解决方案。你有一些选择,尽管我觉得有些选择有点老生常谈。

  1. 使用pykrige 3D Kriging在Graeler et al. 2013中将时间建模为第三维。小心地重新缩放您的时间变量,以模拟您的X,Y coordinates.
  2. Build您的克里金系使用scikit Gstat.
  3. Solve您的克里金系的时空变异函数独立于每个时间周期,这可能是您最糟糕的选择,因为它忽略了您的点的时间依赖性。

Graeler等人。2013在他们的论文中描述、比较和扩展了其中的一些选项。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50387302

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档