2016-10-29 3 views
0

私は特定の場合にspatstatを試しています。道路の私の形状ファイルでは、私は属性の速度と各道路上の重い車両の%を持っています。道路が適切にアクセス制御されておらず、歩行者が道路を横切っているため、高速かつ重い車両の道路で重大な事故が発生する可能性が高いという観測である。私達はある割合で事故があることを知っています(5kmのストレッチあたり)。ポイントプロセスの強度 - 共変量 - spatstatの重み付け

  1. 可能な場合、私は第二変数%を含むようにしてもその速度でランダムポアソンを生成するように、しかし点が高速(又は高い%トラック)を持つ道路に複数起こること重量を与える
  2. となりますトラックの

概念の小さな証拠を作るために2つの側面をモデル化する最良の方法は何ですか?私は共食いの強さへの影響についてのスパートスタットの本とセクションの一部を読んだが、これはまだ私には不明である。

おかげ

答えて

1

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) 
+0

ありがとうございました。私はより明確化をお願いしたいと思います。あなたが言うとき、この関数は、これらの共変量値を任意の空間位置で検索します。>つまり、各segのzを調べますか?アルゴリズムが 'seg'に達すると、この関数を探しますか?例えば、あなたが言及する例では、もし私がラムダ= zを持っていれば、それはzのポアソン率が各セグメントに適用されることを意味するでしょうか?どのように機能がネットワークに適用されているかは私には分かりません。また、関数がセグメントの長さにも依存するかどうかは明らかではありません。 – BKS

+0

書籍pg720から引用する - 「強度は、uの近くにあるネットワークの単位長さ当たりの期待ポイント数です。私はそれを理解していない。周辺は何ですか?それはsegの共変量zですか?それは私には明らかではありません..あなたの忍耐のためにもう一度ありがとう。 – BKS

関連する問題