1

良い一日、

私はBaddeley らを通して働いてきました。2015 mppm {spatstat}を使用してポイント プロセス モデルを複数のポイント パターンに適合させます。私のポイント パターンは、保護地域 ( owin ) 内の大型草食動物 (つまり、オス/メスのポイント地域 ( x, y ) * 5 年) の年間カウント データです。河川までの距離 (rivD) や植生生産性 (NDVI) など、多くの空間共変量があります。

当初、私は草食動物の反応が rivD + NDVI の関数であるモデルを当てはめ、性別によって係数を変化させました (以下の再現可能な例の mppm1 を参照)。しかし、私の年間ポイント パターンは、一時的に増加する傾向があるという点で年ごとに独立していません (つまり、5 年目と比較して 1 年目に指数関数的に多くの動物がいます)。そこで、切片が年ごとに変化することを許可すれば、これを説明できると考えて、ランダム効果として年を追加しました (mppm2 を参照)。

今、私はこれが正しい方法であるかどうか疑問に思っていますか?GAMMgamm {mgcv}をフィッティングする場合、時間相関構造を追加しますが、 (mppm3 を参照)correlation = corAR1(form=~year)でこれが可能だとは思いませんか?mppm

で複製されたポイントパターンでこの時間相関構造を処理する方法についてのアイデアを本当に感謝しmppm {spatstat}ます。

どうもありがとうございました

サンドラ

# R version 3.3.1 (64-bit)
library(spatstat) # spatstat version 1.45-2.008

#### Simulate point patterns
# multitype Neyman-Scott process (each cluster is a multitype process)
nclust2 = function(x0, y0, radius, n, types=factor(c("male", "female"))) {
  X = runifdisc(n, radius, centre=c(x0, y0))
  M = sample(types, n, replace=TRUE)
  marks(X) = M
  return(X)
}

year1 = rNeymanScott(5,0.1,nclust2, radius=0.1, n=5)
# plot(year1)
#-------------------
year2 = rNeymanScott(10,0.1,nclust2, radius=0.1, n=5)
# plot(year2)
#-------------------
year2 = rNeymanScott(15,0.1,nclust2, radius=0.1, n=10)
# plot(year2)
#-------------------
year3 = rNeymanScott(20,0.1,nclust2, radius=0.1, n=10)
# plot(year3)
#-------------------
year4 = rNeymanScott(25,0.1,nclust2, radius=0.1, n=15)
# plot(year4)
#-------------------
year5 = rNeymanScott(30,0.1,nclust2, radius=0.1, n=15)
# plot(year5)

#### Simulate distance to rivers
line <- psp(runif(10), runif(10), runif(10), runif(10), window=owin())
# plot(line)
# plot(year1, add=TRUE)

#------------------------ UPDATE ------------------------#
#### Create hyperframe
#---> NDVI simulated with distmap to point patterns (not ideal but just to test)
hyp.years = hyperframe(year=factor(2010:2014),
                       ppp=list(year1,year2,year3,year4,year5),
                       NDVI=list(distmap(year5),distmap(year1),distmap(year2),distmap(year3),distmap(year4)),
                       rivD=distmap(line),
                       stringsAsFactors=TRUE)
hyp.years$numYear = with(hyp.years,as.numeric(year)-1)
hyp.years

#### Run mppm models
# mppm1 = mppm(ppp~(NDVI+rivD)/marks,data=hyp.years); summary(mppm1)
#..........................
# mppm2 = mppm(ppp~(NDVI+rivD)/marks,random = ~1|year,data=hyp.years); summary(mppm2)
#..........................
# correlation = corAR1(form=~year)
# mppm3 = mppm(ppp~(NDVI+rivD)/marks,correlation = corAR1(form=~year),use.gam = TRUE,data=hyp.years); summary(mppm3)

###---> Run mppm model with annual trend and random variation in growth
mppmCorr = mppm(ppp~(NDVI+rivD+numYear)/marks,random = ~1|year,data=hyp.years)
summary(mppm1)
4

1 に答える 1