【问题标题】:Training and simulating a spatstat ppm using multiple datasets使用多个数据集训练和模拟 spatstat ppm
【发布时间】:2021-03-29 13:02:14
【问题描述】:

免责声明:我对 spatstat 和一般空间点建模非常陌生...请原谅我的天真。

我最近尝试使用 spatstat 来拟合和模拟与天气现象相关的空间点模式,其中空间模式代表一组目击者报告(例如,冰雹发生的报告),并且观察窗口和协变量基于一些气象参数(例如,窗口是湿度至少为 X 的区域,然后在训练模型时额外将湿度变量作为协变量传递)。

moistureMask = owin(mask=moisture>X)
moistureVar = im(moisture)

obsPPP = ppp(x=obsX,y=obsY,window=moistureMask)
myModel = ppm(obsPPP ~ moistureVar)

### then simulate
mySim = simulate(myModel,nsim=10)

我的问题如下:

  1. 是否有可能(或更重要的是,甚至有效),在某一天使用特定的水分变量和面膜进行 ppm 训练,然后在另一天使用不同的水分值和面膜进行训练。我曾考虑使用update 函数从训练模型中切换出窗口和协变量字段,但实际上还没有尝试过。如果答案是肯定的......我有点不清楚如何以编程方式实际执行此操作
  2. 是否可以使用附加数据在线更新 ppm。例如,使用不同日期的数据(每个都有自己的窗口和协变量)训练模型,迭代(类似于训练了多少机器学习模型,使用训练数据块)。例如,假设我想用 10 年的日常数据来训练模型,以及另外 10 年的湿度变量,我想模拟点模式。同样,我在这里也考虑了update 函数,但不清楚新模型是仅基于新数据,还是基于原始数据和新数据的组合。

如果我的方向完全错误,请告诉我。参考和资源表示赞赏。

【问题讨论】:

    标签: r spatstat


    【解决方案1】:

    如果您已使用 ppm 拟合模型并通过指定新数据和/或新协变量来更新它,则新数据将替换旧数据;更新后的模型参数仅使用您在调用 update 时提供的新数据确定。

    update 命令的语法在update.ppm 的在线帮助中进行了描述(ppm 类对象的通用update 的方法)。

    看来您真正想做的是将点过程模型拟合到许多复制数据集,每个数据集由预测器moistureVar 和点模式obsPPP 组成。在这种情况下,您应该使用函数mppm,它将点过程模型拟合到复制数据。

    为此,首先创建一个列表A,其中包含每天的湿度区域,另一个列表B,其中包含每天的冰雹报告位置模式。即,A[[1]] 是第 1 天的湿度区域,B[[1]] 是第 1 天的冰雹报告位置的点模式,依此类推。然后做

       h <- hyperframe(moistureVar=A, obsPPP=B)
       m <- mppm(obsPPP ~ moistureVar, data=h)
    

    这将使单点过程模型适合完整的数据集。

    最后我可以指出模型

      obsPPP ~ moistureVar
    

    非常简单,因为moistureVar 是一个二元预测器。该模型将简单地说,冰雹报告的强度在高湿度区域内取一个值,在该区域外取另一个值。作为替代方案,您可以考虑使用水分含量(例如湿度)作为预测变量。

    详情请参阅the spatstat book 的第 9 章和第 16 章。

    【讨论】:

    • 谢谢阿德里安...确实,这是我昨天解决问题并使用您详尽的文档后所意识到的!感谢您的确认!我今天正在考虑购买这本教科书,因为它似乎是宝贵的资源。我还将链接到您放在一起的 R-cran 中的 pdf,作为复制点模式的初始入门。
    猜你喜欢
    • 2019-10-04
    • 2021-07-22
    • 1970-01-01
    • 2018-10-23
    • 2015-12-01
    • 2016-10-19
    • 2019-01-31
    • 1970-01-01
    • 2021-07-07
    相关资源
    最近更新 更多