2017-08-31 7 views
0

リニアネットワーク上の0〜2kmの点の相関を知ることに興味があります。私は経験的データのために次のステートメントを使用していますが、これは2分で解決されます。linearK - spatstatの経験値と受理値の差が大きい

obs<-linearK(c, r=seq(0,2,by=0.20)) 

ここで、ランダム性の受け入れをチェックしたいので、同じrレンジのエンベロープを使用しました。

acceptance_enve<-envelope(c, linearK, nsim=19, fix.n = TRUE, funargs = list(r=seq(0,2,by=0.20))) 

しかし、このショーの推定時間は3時間弱であることを。私はちょうどこの大きな時差が正常かどうか尋ねたいと思う。私は構文で、エンベロープの関数呼び出しに対して、シーケンスとしてのrに対する余分な引数を修正していますか?

封筒のこの3時間の実行時間を短縮する効率的な方法はありますか?

私は都市全体の道路網を持っているので、かなり大きく、切断された部分グラフがないことを確認しました。

c  
Point pattern on linear network 
    96 points 
    Linear network with 13954 vertices and 19421 lines 
    Enclosing window: rectangle = [559.653, 575.4999] x 
    [4174.833, 4189.85] Km 

ありがとうございます。 COMMENT

system.time({s <- runiflpp(npoints(c), as.linnet(c)); 
+ linearK(s, r=seq(0,2,by=0.20))}) 
    user system elapsed 
343.047 104.428 449.650 

EDIT 2

AFTER

EDITは、私は、全体的なネットワーク上のほとんど、または全く影響を及ぼさないように見えるいくつかの周辺機器のネットワークセグメントを削除して、いくつかの本当に小さな変更を加えました。これはまた、いくつかの長いセグメントをより小さなセグメントに分割することにつながる。しかし、今異なる点パターンと同じネットワーク上に、私も長い推定時間があります:MacOSの10.9、2.5GHz帯、16ギガバイト、R 3.3:

> month1envelope=envelope(months[[1]], linearK ,nsim = 39, r=seq(0,2,0.2)) 
Generating 39 simulations of CSR ... 
1, 2, [etd 12:03:43] 

を新しいネットワークが

> months[[1]] 
Point pattern on linear network 
310 points 
Linear network with 13642 vertices and 18392 lines 
Enclosing window: rectangle = [560.0924, 575.4999] x [4175.113, 
4189.85] Km 

システムコンフィグあります。 3、RStudio Version 1.0.143

+0

これはやや驚くべきことです。 linear(s、r = seq(0,2、by = 0.20))})}を実行するのにどれくらい時間がかかりますか? '?通常、ほとんどの時間はポイントパターンを生成し、要約統計量を計算するのに費やされます。そして、封筒のソートとランキングを保つすべての本は通常非常に高速です。 –

+0

メインの質問にsystem.timeの詳細を追加しました。ありがとうございました。問題の診断にいくつかの情報を追加したいと考えています。 – BKS

答えて

0

funargsをこの文脈で使用する必要はありません。引き数は直接...引数で渡すことができます。だから私はお勧めします

acceptance_enve <- envelope(c, linearK, nsim=19, 
          fix.n = TRUE, r=seq(0,2,by=0.20)) 

実行を加速するかどうかを確認してください。

+0

ありがとうございます。 Funargsのないこのステートメントは機能しますが、実行時間の短縮はありません。私が密度の高いlpp(同じネットワーク上のより多くのポイント)を使用した場合、私は12時間と推定されます。編集2を見てください。 – BKS

関連する問題