首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用pastas时间序列模型进行预测

用pastas时间序列模型进行预测
EN

Stack Overflow用户
提问于 2020-04-23 12:33:37
回答 1查看 92关注 0票数 1

在我的论文项目中,我试图应用粒子过滤器来预测地下水位,该过滤器使用天气预报数据(特别是降雨和蒸发的毫米)。作为粒子过滤过程的一部分,我需要根据这个天气预报数据对地下水位进行预测,我想用一个过去的模型来做。

目前,我已经训练了一个意大利面模型如下:

代码语言:javascript
复制
import pastas as ps

# set up model
model = ps.Model(gwml_train.gws)

# add stresses information
rain = ps.StressModel(wm_train.RH, ps.Gamma, name='rain', settings="prec")
evap = ps.StressModel(wm_train.EV, ps.Gamma, name='evap', settings="evap")
model.add_stressmodel(rain)
model.add_stressmodel(evap)

# solve model
model.solve()

其中gwml_train是1-1-2018年到1-1-2019年的地下水位数据,wm_train是同一数据的天气测量数据。Rh是降雨,EV是蒸发。

该模型解释了结合气象测量给出的地下水位测量结果。我想做的是,对一个没有进行地下水位测量但有天气测量的时期进行预测。

具体来说,我使用的是一个循环,它对1-1-2019年期间的每一天做出30天的预测,直到1-3-2019年。每天我都会得到一个数据集,上面有当天30天的天气预报.我想做的是,把这个天气预报数据加到模型中,然后用它来预测这30天的地下水位。有办法这样做吗?

将数据添加到solve()不起作用,simulate()方法不接受任何数据。

这个问题是由一个用户通过邮件发送给我的。我把它贴在这里是为了在上面添加一个意大利面的问题。

编辑:更新的问题与用户的解释。

EN

回答 1

Stack Overflow用户

发布于 2020-04-23 12:33:37

假设我们已经建立了一个以降水和蒸发为重点的意大利面食模型ml。通过在ml.solve()中指定时间段来优化特定时间段上的timeseries模型

代码语言:javascript
复制
ml.solve(tmin="2010", tmax="2020")

要模拟特定的时间段,请在ml.simulate()中使用相同的tmin/tmax选项。因此,对于2020年1月地下水位的预测:

代码语言:javascript
复制
sim  = ml.simulate(tmin="2020-01-01", tmax="2020-01-31")

sim是一个包含模拟地下水位的pandas.Series。请注意,降水量和蒸发时间序列确实需要您要模拟的期间的数据,否则模型将使用时间序列的平均值来计算地下水位。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61387335

复制
相关文章

相似问题

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