1. 程式人生 > >空間點過程分析的R語言實現+PART1(1~4.6)

空間點過程分析的R語言實現+PART1(1~4.6)

    研究WSN空間覆蓋能力的論文或多或少會假設隨機部署的節點位置是服從柏鬆點過程(Possion Point Process,PPP)的,剛接觸到這個概念也是挺懵了,之前學過隨機過程、排隊論都是講的一維上的Possion Process,而二維平面上的PPP如何實現呢?在許多論壇上搜索後,終於找到實現二維PPP的程式碼實現,原來有個大牛Adrian Baddeley集結了一幫人搞了一個R語言包spatstat專門研究Spatial point process。先給出二維平面上SPP生成程式碼:

library(spatstat)
X <- runifpoint(100) # 二項過程
plot(X)     
X <- rpoispp(5)      # 柏鬆過程()
plot(X)
X <- rpoispp(function(x, y) { exp( 2 + 5 * x) }) # 密度函式
plot(X)
plot(rMaternI(200, 0.05))
plot(rMaternII(200, 0.05))

 

  《Analysing spatial point patterns in R》是Adrian Baddeley寫的關於SPP/R入門材料,我想多瞭解研究空間隨機分佈點的統計方法,下面介紹材料的part1--Overview。

  1. Introduction

    首先介紹了點集表示的背景,一般用來表示二維平面上位置,也可以表示曲面上的或者三維空間中、時空中(這個很厲害的樣子)的位置。對於有內在屬性的點(要在畫圖中顯示出區別)又稱為marks,資料集中起註釋作用的資料稱為協變數(Covariates),比如spatial function定義了空間上的高度,通常使用畫素值或等高線表現。

    然後介紹了幾個常用的概念。密度(Intensity)表示點集的稀疏情況,根據不同的情況存在均勻密度和非均勻密度的說法。節點間的作用(Interpoint interaction)表示點集的成簇情況。此外對於有協變數的資料,一般還會探求其與密度是否有關係。還演示了幾個關於不同點集之間相互影響的例子。

    SPP中的統計方法已經有了很長曆史,儘管點過程中的概率理論發展的很好,但是統計方法並沒發展起來。直到最近,有幾項技術發展起來,包括概括統計學(ad hoc平均近鄰距離,統計基礎較少),與柏鬆過程比較(檢查是否完全隨機),建模(仍需完善)。

 2. Statistical fomulation

   在隨機點過程資料集X中,不僅僅點的位置是隨機的,點的數量也同樣是隨機的。研究過程:在得到一個點過程X後,我們只觀察固定大小的取樣視窗W內的資料,藉此推斷X的引數,直觀上如圖所示1。

圖1

 3. The R system

    介紹了R語言的執行介面,基本命令操作,一些SPP常用的包及其安裝。

 4. Introduction to spastat

    首先介紹了資料集‘Swedish pines’的匯入

data(swedishpines)
X <- swedishpines
plot(X)

 學習intensity的概念,並使用高斯核估計/等高線將其視覺化

summary(X)
plot(density(X,10))
contour(density(X, 10), axes = FALSE)

 嵌塊計數的方式進一步瞭解SPP,介紹了Ripley's K function以及Monte Carlo test的R實現

Q <- quadratcount(X, nx = 4, ny = 3)
plot(X)
plot(Q, add = TRUE, cex = 2)