我有興趣知道線性網絡上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
謝謝。
編輯點評
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
之後,我刪除一些外圍網絡段,似乎有整體網絡上很少或根本沒有效果做了一些非常小的變化。這也導致將一些較長的細分市場分成較小的細分市場。但現在不同點模式在同一個網絡上,我有更長的預計時間:
> 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
系統配置:MacOS的10.9,2.5Ghz的,16GB,R 3.3。 3,RStudio版本1.0.143
你說得對,這有點令人驚訝。需要多長時間運行'system.time({s < - runiflpp(npoints(c),as.linnet(c)); linearK(s,r = seq(0,2,by = 0.20))}) '?通常大部分時間都是生成點模式和計算彙總統計的花費,然後所有與信封的排序和排序保持一致的書通常非常快。 –
我在主要問題中添加了system.time詳細信息。謝謝。希望它在診斷問題時增加一些信息。 – BKS