spatstat
機能rpoislpp
は、指定された強度を有するネットワーク上のポアソンランダム点パターンを生成します。この場合、空間的に変化する強度が必要です。これは空間的な場所の関数で指定できます。つまり、rpoislpp(f, L)
のようなものが必要です。ここで、L
は線形ネットワークであり、f
は輝度関数です。
あなたは、道路ごとに共変量の値(速度制限とトラックの割合など)を取得したと仮定します。次に、ネットワーク上の任意の空間位置でこれらの値をルックアップする関数を作成する必要があります。いったんこれを取れば、その点で強度関数を書くことができます。
ネットワークL
(クラスlinnet
のオブジェクト)があるとします。ネットワークのセグメントは、指定した順序で指定することができます。または、これらのセグメントをS <- as.psp(L)
で抽出することができます。これらの各セグメントの共変量値を与えるベクトルz
が必要です(これは長さn=nsegments(S)
の数値ベクトルになります)。次に、z[i]
は、セグメントi
に沿った共変量値です。 (注:あなたは道路がL
の複数のセグメントから構成され、各道路に対する共変量の値を有する場合、各道路に属し、z
を構築L
のどのセグメントを把握するその後最初必要)
次にL
上の任意の空間位置での共変量を評価
Zfun <- linfun(function(x,y,seg,tp) { z[seg] }, L)
これは線形ネットワーク上の関数を作成する(クラスlinfun
):以下を行います。正しくビルドされていることを確認するには、plot(Zfun)
と入力してください。
ここでポイントプロセスの強度をlambda = exp(3*Z+2)
にするとします。そしてあなたは、複数の共変量を持つことができる、など;そして、
lam <- function(x,y,seg,tp) { exp(3 * z[seg] + 2) }
lambda <- linfun(lam, L)
を(言うまでもなく、あなたは括弧内の任意の数式を書くことができません)
最後にランダムな点を生成します。
X <- rpoislpp(lambda, L)
ありがとうございました。私はより明確化をお願いしたいと思います。あなたが言うとき、この関数は、これらの共変量値を任意の空間位置で検索します。>つまり、各segのzを調べますか?アルゴリズムが 'seg'に達すると、この関数を探しますか?例えば、あなたが言及する例では、もし私がラムダ= zを持っていれば、それはzのポアソン率が各セグメントに適用されることを意味するでしょうか?どのように機能がネットワークに適用されているかは私には分かりません。また、関数がセグメントの長さにも依存するかどうかは明らかではありません。 – BKS
書籍pg720から引用する - 「強度は、uの近くにあるネットワークの単位長さ当たりの期待ポイント数です。私はそれを理解していない。周辺は何ですか?それはsegの共変量zですか?それは私には明らかではありません..あなたの忍耐のためにもう一度ありがとう。 – BKS