實操)
真正的從業(yè)者寫東西不喜歡彎彎繞。我先把話說直白空間點格局分析里reduced second moment measure約化二階矩測度是一個基礎得不能再基礎、但又特別容易被繞暈的概念。很多論文一上來就是“Ripleys K函數(shù)”但K函數(shù)的底子就是這個約化二階矩測度。而“半調(diào)”這個詞放在這里其實是一個特別貼切的應用場景——半色調(diào)網(wǎng)點本身就是一種典型的空間點格局網(wǎng)點分布是聚是散、是均勻還是隨機直接影響印刷品和屏幕顯示的質(zhì)感。把這兩者放在一起既能把理論講透又能落到非常具體的圖像/印刷應用上。這篇文章我打算用“從現(xiàn)象到理論再回到實操”的方式來寫。你不需要數(shù)學功底多深只要知道點在平面上是怎么分布、怎么數(shù)距離就能看懂K函數(shù)在干什么。我會先講半調(diào)網(wǎng)點與分析需求再把reduced second moment measure的數(shù)學定義掰開揉碎然后用R從零手寫一個K函數(shù)估計器最后給出一套半調(diào)網(wǎng)點分析的完整流程和排坑指南。全文會照顧不同基礎的讀者但有志于做點格局分析的建議重點看第二節(jié)和第三節(jié)那兩節(jié)是真正的核心。1. 半調(diào)場景與空間點格局一張網(wǎng)點圖能看出多少名堂1.1 半調(diào)半色調(diào)處理到底是在干什么“半調(diào)”或者“半色調(diào)”half-tone這個詞印刷行業(yè)和圖像處理領域的老人都很熟。它的核心任務只有一個用離散的、尺寸或密度不等的網(wǎng)點去模擬連續(xù)色調(diào)比如照片上的深淺灰階。原理說起來也不復雜——人眼的分辨率有限當網(wǎng)點足夠小、距離足夠近時你在正常視距下看到的不再是一個個點而是由網(wǎng)點面積率決定的“視覺灰度”。50%的灰度你可以用同樣大小、間隔均勻的黑點鋪滿一半面積來模擬也可以用大小不變、但疏密隨機變化的點來模擬。前者叫調(diào)幅加網(wǎng)AM加網(wǎng)通過點大小變化后者叫調(diào)頻加網(wǎng)FM加網(wǎng)通過點位置疏密變化。如果你把每個網(wǎng)點的中心抽取出來當成平面上的一組點坐標那么這就構成了一個標準的空間點格局。我當年第一次把半調(diào)網(wǎng)點圖導入數(shù)據(jù)分析軟件時第一反應是這玩意兒怎么看都不像隨機撒點點與點之間總保持著一種“若即若離”的距離。這種“若即若離”用肉眼很難準確描述但你把它交給統(tǒng)計工具就能得到明確的量化結論。而空間點格局分析的所有經(jīng)典工具——Ripleys K函數(shù)、L函數(shù)、成對相關函數(shù)——正是用來干這件事的。1.2 空間點格局分析要回答的三個基本問題對于任意一組平面點數(shù)據(jù)我們通常關心三件事這組點是不是完全隨機分布在空間統(tǒng)計學里叫CSRComplete Spatial Randomness如果不是隨機那是傾向于聚集多個點擠在一起例如疾病暴發(fā)案例點還是傾向于均勻/抑制點與點之間有排斥力例如樹木之間的競爭分布這種聚集或抑制的特征尺度有多大換句話說在多大的距離范圍內(nèi)點與點之間的相互作用才明顯這第三個問題特別重要。因為現(xiàn)實中的數(shù)據(jù)很少是全有或全無的。一片森林里的樹可能在小尺度上有排斥樹冠遮擋陽光在大尺度上又因為土壤條件呈斑塊狀聚集。如果你只用一個數(shù)來概括整個格局必然把這種尺度依賴的行為抹平了。所以我們需要的是一個“函數(shù)”而不是一個“統(tǒng)計量”。reduced second moment measure給出的K(r)函數(shù)本質(zhì)上就是把“空間結構隨距離變化”這一信息完整地保留下來。為了讓你有個直觀印象我先說結論對于完全隨機分布的泊松點過程K(r)的理論值等于πr2。如果實際值大于πr2說明在尺度r上點傾向于聚集如果小于πr2說明在尺度r上點傾向于均勻分布或相互排斥。在半調(diào)網(wǎng)點里我們通常期望看到后者——也就是網(wǎng)點之間存在某種“最小距離”約束不會靠得太近這是調(diào)頻加網(wǎng)算法刻意設計出來的結果。2. reduced second moment measure的數(shù)學原理與直覺2.1 數(shù)學定義剝掉“密度”的外衣再看鄰居數(shù)reduced second moment measure的正式定義在近代空間統(tǒng)計教材里一般寫成這樣設空間點過程在區(qū)域內(nèi)的強度為λ即單位面積上的平均點數(shù)定義K(r) λ?1 · E[ 從某個“典型”點出發(fā)半徑r范圍內(nèi)除自身外其他點的個數(shù) ]這里“reduced”約化的由來就是除了一個λ。為什么除邏輯是這樣的一個點的鄰域內(nèi)能找到多少鄰居受兩件事影響——一是這個區(qū)域整體布點的密度λ二是點之間的真實空間交互結構。密度高自然鄰居多但這不是我們想研究的“結構”。把K(r)除以λ之后得到的結果就只跟“點的空間概率結構”有關而跟整體密度無關。這就是“約化”二字的精髓。嚴格地說reduced second moment measure并不是直接指K(r)這個函數(shù)而是指點過程中用于描述點對二階結構的測度。但由于絕大多數(shù)實際分析的落點都在K(r)函數(shù)及其變換形式上所以行業(yè)內(nèi)很多時候會把“K函數(shù)/約化二階矩測度”混著稱呼——只要心里清楚這里的數(shù)學對象是二階矩結構就可以。為了讓你徹底理解我打個比方假如你站在一片空曠的廣場上想知道周圍的人對你來說是“有意聚攏”的還是“有意隔開”的你先得知道廣場上平均每平方米站幾個人密度λ。如果每平方米10個人你身邊3米內(nèi)站100個人不稀奇如果每平方米0.1個人你身邊3米內(nèi)站100個人就非常蹊蹺。K(r)就是這樣一個扣除密度影響后、純粹衡量“鄰居隨距離累積情況”的曲線。2.2 從K到L和g解決“方差穩(wěn)定”和“局部刻畫”兩個問題K(r)有一個讓人不那么舒服的地方理論值πr2隨r的平方增長畫出來是一條拋物線。這條曲線在r較小時變化平緩在大r時變化劇烈視覺上不直觀而且方差隨距離變大也不穩(wěn)定。所以實際應用中極少有人直接讀K(r)都是做了變換后再讀。最常用的變換叫Besag變換定義L(r) sqrt(K(r)/π)。如果點是完全隨機那么L(r) ≈ r畫出來就是一條45度直線。把這條直線去掉就得到L(r) L(r) - r在隨機情況下圍繞0值波動正值表示聚集負值表示均勻。L函數(shù)的優(yōu)勢在于方差相對穩(wěn)定容易疊加置信帶而且坐標軸可以直接讀出“偏離隨機程度”的空間尺度。國內(nèi)很多文獻里說的“L函數(shù)分析”指的就是這個。另一個重要工具是成對相關函數(shù)g(r) K(r) / (2πr)。你從名字就能猜到它描述的是“在兩個點之間距離正好為r處找到一對點的概率密度”相對隨機水平的高低。g(r)1表示該距離下沒有異常g(r)1表示該距離下點對更容易出現(xiàn)g(r)1表示該距離下點對被“抑制”。如果說K是累積量我看到的是“半徑r以內(nèi)總共有多少”那么g就是瞬時量我看的是“恰好距離為r這一圈上有多少”。g函數(shù)在判斷“抑制尺度”時非常敏銳——比如半調(diào)網(wǎng)點如果存在最小間距d那么g(r)會在r接近d時從0快速上升這個拐點位置就是最小間距的估計值。這在材料微觀結構、細胞分布分析里尤其好用。2.3 一階矩和二階矩為什么只看“密度”遠遠不夠很多人會問我有每個點的坐標算一下平均密度和點間距不就行了為什么要搞出這么復雜的測度理論答案是密度一階矩只告訴你“這組點多不多”完全無法區(qū)分“聚集、隨機、均勻”這三種空間結構。舉個例子同樣100個點可能簇擁成5個團也可能以等間距鋪滿整個區(qū)域。兩者的密度完全一樣但物理含義、生成機制、后續(xù)處理決策完全不同。這時候就必須借助二階矩點對結構來區(qū)分。二階矩看的是“所有點對之間的距離分布”而reduced second moment measure是把這個距離分布做了“密度標準化”后的數(shù)學表達。理解了這一點你再看任何文獻里的K/L/g函數(shù)都不會再被繞暈——它們本質(zhì)上都是對“點對距離分布”的某種變換。3. 實操用R從零手寫K函數(shù)估計器3.1 核心思路計算所有點對距離并與隨機預期對比我在前面賣了個關子說K函數(shù)就是“數(shù)鄰居”。那實際代碼怎么實現(xiàn)樸素的想法絕不復雜對于平面上n個點遍歷每個點i數(shù)一數(shù)在半徑r范圍內(nèi)有多少個其他點j累加除以點密度λ再除以點總數(shù)n相當于對“所有典型點”取平均。寫成公式就是K(r) (1 / (n · λ)) · Σ? Σ???≠?? I( d(i,j) ≤ r )其中I(·)是指示函數(shù)兩點距離小于等于r時取1否則取0。這里λ通常用n/A估算A是觀測窗口面積。這個樸素實現(xiàn)有個致命問題邊界。如果某個點靠近研究區(qū)域邊界那么它半徑r的圓會有一部分跑到窗口外面去外面的點我們沒觀測到這就導致K(r)被系統(tǒng)性低估而且越靠近邊界的點偏差越大。這不是小問題我在實際項目里見過有人不做邊界校正結果把所有真實結果都解讀成了“人工抑制”完全是假象。3.2 邊界校正的幾種主流方案解決邊界效應業(yè)界有四大經(jīng)典方案。我把它們的思路和適用場景整理在下面方法核心思想實現(xiàn)難度適用場景無校正raw直接數(shù)不考慮邊界低只適合窗口遠大于分析尺度、邊界點極少的情況Border方法最小包絡法只統(tǒng)計那些“以r為半徑的圓完全落在窗口內(nèi)”的點作為中心點低簡單有效但r越大可用點越少浪費數(shù)據(jù)Isotropic方法各向同性校正對每個落在窗口外的圓弧部分做加權按“可見比例”修正中spatstat默認方法在平穩(wěn)假設下很穩(wěn)健Translate方法平移校正利用卷積/平移重疊面積做權重中窗口形狀不規(guī)則時也適用理論性質(zhì)好在絕大多數(shù)場景下我建議直接采用isotropic校正——它由Ripley提出也是R語言spatstat包中Kest函數(shù)默認使用的邊界處理方式。本質(zhì)上它干的事是當一個點i的半徑r圓有一部分落在窗外時不再簡單丟棄這個點而是只按“圓落在窗口內(nèi)的弧長比例”來加權計數(shù)。這樣一來所有點都能參與全部尺度的計算數(shù)據(jù)利用率高偏差也小。3.3 從零實現(xiàn)樸素K函數(shù)與L變換為了讓你徹底搞懂K函數(shù)的計算我先把毫無優(yōu)化的樸素版本寫一遍。這個版本適合理解原理不適合大規(guī)模數(shù)據(jù)。naive_k - function(x, y, r, win_area) { n - length(x) lambda - n / win_area counts - numeric(length(r)) for (i in seq_len(n)) { for (j in seq_len(n)) { if (i j) next d - sqrt((x[i] - x[j])^2 (y[i] - y[j])^2) counts - counts (d r) } } (counts / n) / lambda }這段代碼對每個中心點i、每個其他點j、每個r都算距離并比較。時間復雜度是O(n2m)n是點數(shù)m是r的個數(shù)。點數(shù)少還好點一多——比如半調(diào)網(wǎng)點上萬甚至幾十萬個點——這種雙重循環(huán)直接卡死。我跑過一萬個點、100個r值的計算用這種循環(huán)方式要等好幾分鐘完全不可用。優(yōu)化手段也不神秘一是利用對稱性距離矩陣是對稱的只需要算一半二是用R的向量化操作用dist()或者outer()一次性算距離矩陣再對每個r做比較三是實在不行就調(diào)用spatstat里的底層C代碼那個才是真正能跑百萬級點數(shù)的方案。下面給出一個向量化改進版本vectorized_k - function(x, y, r, win_area) { n - length(x) lambda - n / win_area dist_mat - as.matrix(dist(cbind(x, y))) diag(dist_mat) - Inf sapply(r, function(rr) { sum(dist_mat rr) / (n * lambda) }) }這里把dist_mat的對角線設為Inf確保不把自己算成鄰居。向量化版本在幾千點規(guī)模下已經(jīng)可以秒出結果。3.4 用spatstat包做標準K/L分析實際工程里我不會手搓K函數(shù)而是直接調(diào)用spatstat。它是空間點格局分析的行業(yè)標準包穩(wěn)定性和功能完備性遠非自己寫的幾十行代碼可比。標準流程分三步第一步構造ppp對象。ppp是“planar point pattern”的縮寫除了點的x、y坐標還必須指定觀測窗口owin即observation window。這個窗口可以是一個矩形、一個多邊形甚至是不規(guī)則區(qū)域。窗口的定義直接決定邊界校正的效果不能隨手填一個大概范圍。library(spatstat) # 假設 x, y 是網(wǎng)點中心坐標 win - owin(range(x), range(y)) # 實際用最小外接矩形 pp - ppp(x x, y y, window win)第二步調(diào)用Kest函數(shù)計算K函數(shù)。這里有幾個參數(shù)值得留意correction isotropic是默認的邊界校正方式r是你希望評估的距離序列不指定時spatstat會自動生成一組一般從0到窗口短邊長度的一半左右。K_result - Kest(pp, correction isotropic)第三步用envelope函數(shù)做隨機模擬檢驗。這是K函數(shù)分析中最重要的一環(huán)——僅憑一條K曲線無法判斷顯著偏離必須把它放到“完全隨機過程”的模擬分布里去比較。envelope函數(shù)默認跑39次或99次隨機模擬輸出上、下包絡帶。如果實測曲線在很多距離段上都超出了包絡帶才能說該尺度下存在顯著的聚集或抑制。env_result - envelope(pp, Kest, nsim 99, correction isotropic) plot(env_result)同樣的邏輯適用于L函數(shù)。只需要把Kest換成Lest或者直接用Kest的結果開方歸一化。行業(yè)習慣是報告L(r)-r而不是K(r)因為“是否偏離0線”比“是否偏離πr2”要直觀得多。3.5 參數(shù)選擇與結果解讀的實用建議在實際讀圖時有幾個細節(jié)我建議你特別留意r的取值范圍不要盲目取到很大。當r接近窗口短邊的一半時邊界校正權重會變得極不穩(wěn)定估算方差急劇上升。一般我取到min(寬, 高)的四分之一到三分之一就足夠回答絕大多數(shù)生態(tài)/材料/圖像問題了。包絡帶不等于正式假設檢驗。envelope算出的上下包絡本質(zhì)上是MCS蒙特卡洛模擬的極值分布嚴格來說要做pointwise點態(tài)或global整體的顯著性判斷。如果只是粗略看看可以接受包絡帶如果要發(fā)文章建議再做一步全局包絡檢驗比如用dclf.test或mad.test。別只看一個r值。K函數(shù)是全局曲線匯總成一個數(shù)就丟失了尺度信息。如果結果報告必須精簡可以選關鍵尺度比如抑制最強的那個r作為代表值但完整結論應當基于整條曲線的形狀。4. 半調(diào)網(wǎng)點分析的完整實操案例與解讀4.1 模擬一組“調(diào)頻加網(wǎng)”風格的網(wǎng)點回到半調(diào)這個話題。為了演示reduced second moment measure在真實場景里怎么用我先生成一組模擬的調(diào)頻加網(wǎng)網(wǎng)點。設計思路是在一個100×100的平面上隨機撒點但在撒點過程中加入最小距離約束——任意兩個點之間的距離不能小于3個單位。這種生成機制叫“硬核過程”hard-core process它會產(chǎn)生一個典型的、具有抑制性的點格局與真實調(diào)頻加網(wǎng)的結構非常接近。set.seed(2024) n_points - 300 x - numeric(n_points) y - numeric(n_points) i - 1 while (i n_points) { cand_x - runif(1, 0, 100) cand_y - runif(1, 0, 100) if (i 1) { x[i] - cand_x; y[i] - cand_y; i - i 1 } else { dists - sqrt((x[1:(i-1)] - cand_x)^2 (y[1:(i-1)] - cand_y)^2) if (min(dists) 3) { x[i] - cand_x; y[i] - cand_y; i - i 1 } } }然后把它變成ppp對象并跑Kest和envelope。win - owin(c(0, 100), c(0, 100)) pp_hardcore - ppp(x, y, window win) env_hc - envelope(pp_hardcore, Kest, nsim 99, correction isotropic) plot(env_hc)你會看到K曲線或L轉(zhuǎn)換后曲線在短距離處明顯低于隨機包絡帶說明存在顯著的抑制效應。更重要的是隨著r增大曲線逐漸向隨機水平靠攏說明“3個單位最小距離”的影響只在小尺度上存在超過一定距離后點與點之間互不影響。這正是硬核點過程的特征。4.2 三種典型模式的對比隨機、聚集、抑制只看一種模式不夠過癮。這里給你一個可以反復對照的“三件套”實驗在同樣的窗口里分別生成完全隨機點泊松過程、聚集點用Matérn簇過程、抑制點硬核過程然后分別算L(r)-r曲線。完全隨機點的結果會在0線附近小幅波動包絡帶也基本對稱噪聲稍大時個別點超線但不會大面積持續(xù)偏離。聚集點的L(r)-r曲線在短距離為正值且值可能很高說明“在小范圍內(nèi)點特別愛往一起湊”隨著r增加曲線緩慢回落但可能在多個尺度都保持正值存在多尺度聚集結構。抑制點的L(r)-r曲線在短距離為負值且負得越深說明抑制越強。r超過特征尺度后曲線回升到0附近。通過讀取“曲線由負轉(zhuǎn)正的轉(zhuǎn)折點”大約就能估計出最小間距或特征作用范圍。如果你要分析真實半調(diào)網(wǎng)點這三種模式對照著看基本上一眼就能判斷你的加網(wǎng)算法是偏隨機、偏聚集還是偏均勻。調(diào)幅加網(wǎng)因為網(wǎng)點位置基本落在規(guī)則網(wǎng)格上會呈現(xiàn)出“強均勻周期性”的復雜特征調(diào)頻加網(wǎng)因為誤差擴散算法刻意避免相鄰網(wǎng)點重合通常表現(xiàn)為中短距離上的抑制特征。4.3 真實場景一印刷網(wǎng)點質(zhì)量檢測印刷品上的網(wǎng)點如果加網(wǎng)算法或打印設備出問題可能出現(xiàn)網(wǎng)點并接、漏白、局部過密等問題。傳統(tǒng)肉眼抽查效率低而且主觀性太強。用圖像采集設備把印刷品掃描成高分辨率位圖提取網(wǎng)點中心坐標后直接跑K函數(shù)和包絡檢驗就能自動發(fā)現(xiàn)網(wǎng)點分布是否出現(xiàn)異常聚集。如果某個區(qū)域的網(wǎng)點L值在特定尺度上顯著為正那就說明網(wǎng)點出現(xiàn)了粘連或失控堆積可以立刻標記出來返工。這套流程在高速印刷質(zhì)量在線檢測里是“機器視覺空間統(tǒng)計”的一個很典型的落地組合。4.4 真實場景二材料微觀結構與生物醫(yī)學同樣的方法換一個數(shù)據(jù)來源用在掃描電鏡圖像上分析顆粒材料里金屬顆粒的分布是否均勻用在組織切片圖像上分析細胞的排布是否有聚集用在基站或門店選址規(guī)劃上分析服務點的空間覆蓋是否合理。每次遇到這類需求我都跟人說一句話不管你的點是細胞、顆粒還是網(wǎng)點只要它們落在二維平面上空間點格局分析的語言就是通用的。reduced second moment measure這一整套理論換的只是點坐標的采集方式內(nèi)核完全不變。5. 常見問題與排查技巧實錄5.1 邊界效應處理不當結果嚴重失真這是新手上路最容易栽的坑。很多人隨便寫個腳本算出K值發(fā)現(xiàn)結果嚴重偏低然后誤判為“強抑制效應”。其實真正原因是窗口外有大量未觀測的點沒有被計數(shù)。我的建議是排查階段先用border校正和isotropic校正各跑一遍如果兩個結果差異很大但趨勢一致說明邊界校正確實在起作用如果差異大到結論反轉(zhuǎn)一定要先檢查窗口定義是否合理再決定信任哪個結果。5.2 非平穩(wěn)點過程下K函數(shù)容易誤讀K函數(shù)的原始定義假設點過程是平穩(wěn)的一階強度處處相等。但在很多真實場景里點的密度隨空間位置變化——比如圖像邊緣的網(wǎng)點中心提取遺漏、材料樣品中心顆粒多而邊緣顆粒少。這種情況下K函數(shù)的“全局平均”會被密度梯度污染短距離結果尤其不可靠。解決思路有兩類一是先做密度估計或趨勢移除再用殘差點做K分析二是用inhomogeneous K函數(shù)非齊次K函數(shù)它通過逐點強度的權重調(diào)整來消除密度變化的影響。后者在spatstat里對應Kinhom函數(shù)半調(diào)網(wǎng)點這類密度受灰度控制的場景中如果灰階跨度很大建議認真考慮用Kinhom替代普通Kest。5.3 各向異性點模式K函數(shù)“偏心”的盲區(qū)K函數(shù)從定義上就是各向同性的——它只統(tǒng)計距離不管方向。如果你的網(wǎng)點分布在某個方向上存在拉伸或聚集比如噴墨打印機噴頭堵塞導致水平方向網(wǎng)點間距異常K函數(shù)可能完全看不出來。這時候你需要旋轉(zhuǎn)點云分方向計算K函數(shù)或者直接使用 anisotropically corrected Kest。實操上更簡單的做法是先畫一張各向異性診斷圖比如把點對向量映射成極坐標熱圖再用L(r, θ)之類的方向化工具做細看。我在實際印刷項目里確實遇到過K函數(shù)一切正常但網(wǎng)點在45度方向上有規(guī)律性的堆疊。這就是方向性結構全局K解決不了。5.4 樣本量過小包絡檢驗形同虛設K函數(shù)的方差隨點數(shù)的減少而增大包絡帶也會越鋪越寬。當n低于30時任何尺度異常都很難通過顯著性檢驗。反過來n達到幾萬甚至幾十萬時包絡帶變得非常窄細微的實際偏差也能被檢測出來——這時候要注意統(tǒng)計顯著不等于實際顯著。比如10000個點里的K函數(shù)與理論值有1%的偏差包絡檢驗可能說它顯著但工程上這種偏差完全可以忽略。結論報告時我給的建議是顯著性結果務必配上效應量比如L(r)-r的最大偏離值避免只報一個p值讓讀者誤判。5.5 代碼運行效率與內(nèi)存爆炸問題半調(diào)網(wǎng)點動輒幾十萬、上百萬個點。直接調(diào)用as.matrix(dist(...))構建百萬×百萬的距離矩陣內(nèi)存直接爆炸——100萬個點光距離矩陣就要8TB量級。這里分享三條經(jīng)驗第一能開稀疏計算就別構建稠密矩陣spatstat內(nèi)部的配對距離算法是分塊處理的內(nèi)存友好第二如果必須自己對大量點做距離計算用FNN包或RANN包做K近鄰搜索然后從近鄰表推K函數(shù)第三真到百萬級規(guī)模建議干脆換成Python生態(tài)的k-d樹或GPU加速方案R在這塊的空間索引支持稍弱一些。5.6 關于“顯著性”的一個額外提醒最后提醒一句包絡檢驗里nsim99只是生成了99條模擬曲線它們構成的包絡帶只是“99次隨機試驗中的最小值到最大值”并不是嚴格意義上的95%置信區(qū)間。嚴謹?shù)淖龇ㄊ前裯sim提到999或4999或者用基于秩的全局包絡方法。對于發(fā)文章或者支撐產(chǎn)品決策的結論這一步不能省。寫在最后的個人經(jīng)驗我從第一次接觸K函數(shù)到現(xiàn)在已經(jīng)用這套工具處理過印刷網(wǎng)點、生態(tài)調(diào)查數(shù)據(jù)和細胞切片圖像。每一次換應用場景我都能感受到reduced second moment measure這個概念的普適性——它不只是教材里一個拗口的數(shù)學名詞而是你手里真正的尺子能測量“點與點之間如何在空間上相互影響”。如果讓我給剛接觸空間點格局分析的讀者一條建議那就是不要只在R里跑Kest一定要先模擬一組你知道“正確答案”的數(shù)據(jù)親眼看著K曲線在隨機/聚集/抑制三種模式下如何變化。這個手感建立起來之后你再去看任何真實數(shù)據(jù)的K/L/g曲線解讀會準確得多。半調(diào)網(wǎng)點分析這個方向也有不少可以繼續(xù)深挖的地方比如把二階矩理論推向各向異性變異函數(shù)、把Kinhom用于非平穩(wěn)網(wǎng)點、結合深度學習直接端到端預測印刷質(zhì)量。工具永遠在更新但“用點對距離結構揭示空間真相”這個核心思想在可預見的將來都不會過時。