【隨筆】地理探測器原理與運用

文章目錄

  • 一、作者與下載
    • 1.1 軟件作者
    • 1.2 軟件下載
  • 二、原理簡述
    • 2.1 空間分異性與地理探測器的提出
    • 2.2 地理探測器的數學模型
      • 2.21 分異及因子探測
      • 2.22 交互作用探測
      • 2.23 風險區與生態探測
  • 三、使用:excel

一、作者與下載

1.1 軟件作者

作者:
在這里插入圖片描述
DOI: 10.11821/dlxb201701010

文獻:地理探測器:原理與展望。直接看這個文獻也可以。

1.2 軟件下載

主頁:http://www.geodetector.cn/Download.html

分別是excel宏、R包、QGIS和ArcGIS Pro工具箱。

excel的都帶有示例數據,不過第三個和第一個的數據是相同的(可能是網站文件設置錯誤,截至我發文日期)。
在這里插入圖片描述

二、原理簡述

2.1 空間分異性與地理探測器的提出

空間分異性的科學意義:

空間分異性(空間分層異質性)表現為地理現象在子區域內的方差小于總區域方差,例如氣候帶、土地利用分區等。地理探測器通過量化這一分異性,為揭示其驅動因子提供了統計學工具。

地理探測器的核心優勢:

  1. 無需線性假設:適用于非線性關系分析。
  2. 物理含義明確:通過方差分解直接量化因子解釋力。
  3. 多類型數據兼容:支持類型量(如分類地圖)和離散化數值量的分析。

基本邏輯:

  • 分異性檢驗:若子區域方差和( S S W SSW SSW)小于總方差( S S T SST SST),則存在空間分異。
  • 因子關聯性:若兩變量空間分布一致,則存在統計關聯。

2.2 地理探測器的數學模型

2.21 分異及因子探測

q統計量用于度量因子解釋力:
q = 1 ? ∑ h = 1 L N h σ h 2 N σ 2 = 1 ? S S W S S T q = 1 - \frac{\sum_{h=1}^{L} N_h \sigma_h^2}{N\sigma^2} = 1 - \frac{SSW}{SST} q=1?Nσ2h=1L?Nh?σh2??=1?SSTSSW?
式中:

  • L L L為分層數, N h N_h Nh? N N N為子區域與全區域樣本數。
  • σ h 2 \sigma_h^2 σh2? σ 2 \sigma^2 σ2為子區域與總體方差。

在這里插入圖片描述

顯著性檢驗通過非中心F分布實現:
F = N ? L L ? 1 ? q 1 ? q ~ F ( L ? 1 , N ? L ; λ ) F = \frac{N-L}{L-1} \cdot \frac{q}{1-q} \sim F(L-1, N-L; \lambda) F=L?1N?L??1?qq?F(L?1,N?L;λ)
其中非中心參數 λ \lambda λ為:
λ = 1 σ 2 [ ∑ h = 1 L Y ˉ h 2 ? 1 N ( ∑ h = 1 L N h Y ˉ h ) 2 ] \lambda = \frac{1}{\sigma^2} \left[ \sum_{h=1}^{L} \bar{Y}_h^2 - \frac{1}{N} \left( \sum_{h=1}^{L} N_h \bar{Y}_h \right)^2 \right] λ=σ21? ?h=1L?Yˉh2??N1?(h=1L?Nh?Yˉh?)2 ?

某個因子的q值越大,他對因變量的解釋力就越強。顯著性檢驗的p值,就不用說了吧,比如小于0.01,就代表xxx.


2.22 交互作用探測

通過比較單因子與多因子疊加的 q q q值,判斷交互作用類型:

  1. 非線性增強 q ( X 1 ∩ X 2 ) > q ( X 1 ) + q ( X 2 ) q(X_1 \cap X_2) > q(X_1) + q(X_2) q(X1?X2?)>q(X1?)+q(X2?)
  2. 雙因子增強 q ( X 1 ∩ X 2 ) > max ? ( q ( X 1 ) , q ( X 2 ) ) q(X_1 \cap X_2) > \max(q(X_1), q(X_2)) q(X1?X2?)>max(q(X1?),q(X2?))
  3. 單因子主導 max ? ( q ( X 1 ) , q ( X 2 ) ) < q ( X 1 ∩ X 2 ) < q ( X 1 ) + q ( X 2 ) \max(q(X_1), q(X_2)) < q(X_1 \cap X_2) < q(X_1) + q(X_2) max(q(X1?),q(X2?))<q(X1?X2?)<q(X1?)+q(X2?)
  4. 獨立作用 q ( X 1 ∩ X 2 ) = q ( X 1 ) + q ( X 2 ) q(X_1 \cap X_2) = q(X_1) + q(X_2) q(X1?X2?)=q(X1?)+q(X2?)
  5. 非線性減弱 q ( X 1 ∩ X 2 ) < min ? ( q ( X 1 ) , q ( X 2 ) ) q(X_1 \cap X_2) < \min(q(X_1), q(X_2)) q(X1?X2?)<min(q(X1?),q(X2?))

在這里插入圖片描述
這里的疊加,不是把各個因子相加,而是相交,簡單來說就是分類增加了。看下圖就明白了:
在這里插入圖片描述

2.23 風險區與生態探測

  1. 風險區差異檢驗(t檢驗):
    t Y ˉ h = 1 ? Y ˉ h = 2 = Y ˉ h = 1 ? Y ˉ h = 2 Var ( Y ˉ h = 1 ) n h = 1 + Var ( Y ˉ h = 2 ) n h = 2 t_{\bar{Y}_{h=1} - \bar{Y}_{h=2}} = \frac{\bar{Y}_{h=1} - \bar{Y}_{h=2}}{\sqrt{\frac{\text{Var}(\bar{Y}_{h=1})}{n_{h=1}} + \frac{\text{Var}(\bar{Y}_{h=2})}{n_{h=2}}}} tYˉh=1??Yˉh=2??=nh=1?Var(Yˉh=1?)?+nh=2?Var(Yˉh=2?)? ?Yˉh=1??Yˉh=2??
    自由度 d f df df為:
    d f = ( Var ( Y ˉ h = 1 ) n h = 1 + Var ( Y ˉ h = 2 ) n h = 2 ) 2 1 n h = 1 ? 1 ( Var ( Y ˉ h = 1 ) n h = 1 ) 2 + 1 n h = 2 ? 1 ( Var ( Y ˉ h = 2 ) n h = 2 ) 2 df = \frac{\left( \frac{\text{Var}(\bar{Y}_{h=1})}{n_{h=1}} + \frac{\text{Var}(\bar{Y}_{h=2})}{n_{h=2}} \right)^2}{\frac{1}{n_{h=1}-1} \left( \frac{\text{Var}(\bar{Y}_{h=1})}{n_{h=1}} \right)^2 + \frac{1}{n_{h=2}-1} \left( \frac{\text{Var}(\bar{Y}_{h=2})}{n_{h=2}} \right)^2} df=nh=1??11?(nh=1?Var(Yˉh=1?)?)2+nh=2??11?(nh=2?Var(Yˉh=2?)?)2(nh=1?Var(Yˉh=1?)?+nh=2?Var(Yˉh=2?)?)2?

  2. 生態探測(F檢驗):
    F = N X 1 ( N X 2 ? 1 ) S S W X 1 N X 2 ( N X 1 ? 1 ) S S W X 2 F = \frac{N_{X1}(N_{X2}-1)SSW_{X1}}{N_{X2}(N_{X1}-1)SSW_{X2}} F=NX2?(NX1??1)SSWX2?NX1?(NX2??1)SSWX1??
    其中 S S W X 1 SSW_{X1} SSWX1? S S W X 2 SSW_{X2} SSWX2?為兩因子分層后的層內方差和。


三、使用:excel

以excel版本為例,R語言和GIS版本的也是類似的,R語言看它的help有函數說明的。

直接打開excel版本的xlsm文件,你可能無法使用,因為這是帶宏的表格,系統會阻止運行。

在xlsm文件上右鍵–>屬性:在最下面的位置會有一個解除阻止運行之類的選項(名字忘了),設置一下即可。圖中我已經解除限制了,沒有顯示。
在這里插入圖片描述

🟢打開表格:里面的數據可以刪除換成自己的。自變量需要設置為分類變量。比如一個自變量是全國各個城市的GDP,你可以使用各自算法將數據分為幾類,比如使用分位數,分為高中低三類,再編碼為1、2、3這種。這個不會的話問AI即可。

接著讀取數據到GUI界面,設置自變量、因變量,運行。

在這里插入圖片描述
運行后會生成幾個sheet:一般只使用交互效應和因子探測的表格,環境和風險的不常用。
在這里插入圖片描述


🟢 數據說明:

他需要你提供一個“表格”形式的數據,比如ArcGIS的屬性表。

數據量不要太大了:

  • 第一是數據量大,你電腦內存可能不足,比如一個像元一個值,幾十米分辨率,你的研究區可能就會有幾十億個像元,存為csv需要幾十GB,運行的時候內存通常不足;
  • 第二是運行時間太久,這個不用多說;
  • 第三是使用excel的情況下,excel就支持幾百萬行數據。實際上幾萬行數據,這個程序就會溢出的。
  • 第四十結果q值會非常小,因為這個計算出來的方差會非常小,那個比值接近1,q就接近0了。

建議的數據示例:每個城市的數據(因變量+自變量),這樣就只有幾百或者幾十行數據。

另外一點是,自變量的分類(離散化)可能會影響結果:因為這個地理探測器的原理可以看作是,找到一條或者幾條分界線,使得自變量和因變量都是用這一組分界線,能將數據很好的區分(當然這個比喻并不是是否準確)。這個分界線其實就相當于你對自變量的分類


參考文獻:

王勁峰, 徐成東. 地理探測器:原理與展望[J]. 地理學報, 2017, 72(1): 116-134 https://doi.org/10.11821/dlxb201701010
Jinfeng WANG, Chengdong XU. Geodetector: Principle and prospective[J]. Acta Geographica Sinica, 2017, 72(1): 116-134 https://doi.org/10.11821/dlxb201701010

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/902993.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/902993.shtml
英文地址,請注明出處:http://en.pswp.cn/news/902993.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用達夢官方管理工具SQLark快速生成數據庫ER圖并導出

在數據庫設計與開發中&#xff0c;實體-關系圖&#xff08;ER 圖&#xff09;作為數據建模的核心工具&#xff0c;能夠直觀呈現表結構、字段屬性及表間關系&#xff0c;是團隊溝通和文檔維護的重要工具。然而&#xff0c;對于許多使用達夢數據庫的開發者來說&#xff0c;可用的…

單精度浮點運算/定點運算下 MATLAB (VS) VIVADO

VIVADO中單精度浮點數IP核計算結果與MATLAB單精度浮點數計算結果的對比 MATLAB定點運算仿真&#xff0c;對比VIVADO計算的結果 目錄 前言 一、VIVADO與MATLAB單精度浮點數運算結果對比 二、MATLAB定點運算仿真 總結 前言 本文介紹了怎么在MATLAB中使用單精度浮點數進行運算…

力扣-141.環形鏈表

題目描述 給你一個鏈表的頭節點 head &#xff0c;判斷鏈表中是否有環。 如果鏈表中存在環 &#xff0c;則返回 true 。 否則&#xff0c;返回 false 。 class Solution { public:bool hasCycle(ListNode *head) {ListNode *fast head;ListNode *slow head;while (fast! n…

RESTful學習筆記(一)

Web發展 一、API 程序硬件接口&#xff08;Application Programming Interface&#xff09;&#xff0c;是預先定義好的邏輯函數&#xff0c;軟件系統不同組成部分銜接的約定&#xff0c;直接調用函數&#xff0c;無序訪問代碼細節&#xff0c;分為SDK和Web應用接口兩類 SDK…

SD2351核心板:重構AI視覺產業價值鏈的“超級節點”

在AI視覺技術狂飆突進的當下&#xff0c;一個吊詭的現象正在浮現&#xff1a;一方面&#xff0c;學術界不斷刷新著ImageNet等基準測試的精度紀錄&#xff1b;另一方面&#xff0c;產業界卻深陷“算法有、場景無&#xff0c;技術強、落地難”的怪圈。明遠智睿SD2351核心板的問世…

【數據結構】紅黑樹原理及實現

目錄 一. 紅黑樹的概念1. 紅黑樹的規則思考 2. 紅黑樹的效率 二.紅黑樹的實現1. 紅黑樹的結構2. 紅黑樹的插入3. 紅黑樹的平衡調整情況1&#xff1a;變色情況2&#xff1a;單旋變色情況3&#xff1a;雙旋變色 4. 紅黑樹插入及平衡調整代碼實現5.紅黑樹的驗證 一. 紅黑樹的概念 …

時間復雜度分析

復雜度分析的必要性&#xff1a; 當給我們一段代碼時&#xff0c;我們是以什么準則來判斷代碼效率的高低呢&#xff1f;每一段代碼都會消耗一段時間&#xff0c;或占據一段數據空間&#xff0c;那么自然是在實現相同功能的情況下&#xff0c;代碼所耗時間最少&#xff0c;所占…

L1-1、Prompt 是什么?為什么它能“控制 AI”?

*Prompt 入門 L1-1 想象一下&#xff0c;你只需輸入一句話&#xff0c;AI 就能自動為你寫一篇文案、生成一份報告、甚至規劃你的創業計劃。這種“對話即編程”的背后魔法&#xff0c;就是 Prompt 的力量。 &#x1f50d; 一、Prompt 的定義與由來 Prompt&#xff08;提示詞&am…

微信小程序文章管理系統開發實現

概述 在內容為王的互聯網時代&#xff0c;高效的文章管理系統成為各類平臺的剛需。幽絡源平臺今日分享一款基于SSM框架開發的微信小程序文章管理系統完整解決方案&#xff0c;該系統實現了多角色內容管理、智能分類、互動交流等功能。 主要內容 一、用戶端功能模塊 ??多角…

【Python-Day 5】Python 格式化輸出實戰:%、format()、f-string 對比與最佳實踐

Langchain系列文章目錄 01-玩轉LangChain&#xff1a;從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊&#xff1a;四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain&#xff1a;從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

R7周:糖尿病預測模型優化探索

&#x1f368; 本文為&#x1f517;365天深度學習訓練營中的學習記錄博客 &#x1f356; 原作者&#xff1a;K同學啊 一、數據預處理 1.設置GPU import torch.nn.functional as F import torch.nn as nn import torch, torchvisiondevice torch.device("cuda"…

使用Tortoise-ORM和FastAPI構建評論系統

title: 使用Tortoise-ORM和FastAPI構建評論系統 date: 2025/04/25 21:37:36 updated: 2025/04/25 21:37:36 author: cmdragon excerpt: 在models.py中定義了Comment模型,包含id、content、created_at、updated_at字段,并與User和Article模型建立外鍵關系。schemas.py中定義了…

【VS Code】如何使用SSH打開遠程服務器Docker上的項目或文件夾

要在VS Code中使用SSH打開遠程服務器Docker上的項目或文件夾&#xff0c;您需要結合使用VS Code的Remote - SSH擴展和Docker的遠程訪問功能。以下是詳細步驟&#xff1a; 安裝VS Code Remote - SSH擴展 打開VS Code。點擊左側活動欄的擴展圖標&#xff08;或使用快捷鍵CtrlShif…

NHANES指標推薦:PLP

文章題目&#xff1a;Association of pyridoxal 5-phosphate (PLP) with lipid profiles: a population-based cohort study DOI&#xff1a;10.3389/fnut.2025.1545301 中文標題&#xff1a;5-磷酸吡哆醛 (PLP) 與血脂譜的關系&#xff1a;一項基于人群的隊列研究 發表雜志&am…

MySQL 詳解之備份與恢復策略:數據安全的最后一道防線

在任何信息系統中,數據都是最寶貴的資產。數據的丟失可能源于多種原因:硬件故障、人為誤操作、軟件 Bug、惡意攻擊,甚至自然災害。一旦發生數據丟失,如果沒有有效的備份和恢復機制,后果可能是災難性的,可能導致業務中斷、經濟損失甚至法律責任。 數據庫備份與恢復,正是…

2026《數據結構》考研復習筆記五(棧、隊列)

棧、隊列 一、棧1.卡特蘭數2.不合法的出棧序列 二、隊列1.循環隊列2.輸入輸出受限隊列&#xff08;四個數1234&#xff09; 三、算法1.棧在括號匹配中的應用2.中綴表達式求值&#xff08;通過轉化為后綴表達式再后綴表達式求值&#xff09;3.中綴表達式轉化為后綴表達式4.后綴表…

深入解析微軟MarkitDown:原理、應用與二次開發指南

一、項目背景與技術定位 微軟開源的MarkitDown并非簡單的又一個Markdown解析器&#xff0c;而是針對現代文檔處理需求設計的工具鏈核心組件。該項目誕生于微軟內部大規模文檔系統的開發實踐&#xff0c;旨在解決以下技術痛點&#xff1a; 大規模文檔處理性能&#xff1a;能夠高…

pyinstaller打包paddleocr發生錯誤解決

python環境是3.9&#xff0c;github paddleocr v2.10.0。 一個非常簡單的案例如下&#xff0c;打包時發生錯誤。 import requests from paddleocr import PaddleOCR if __name__ "__main__":paddleocr_ocr PaddleOCR(use_angle_clsTrue, langch,det_model_dirmode…

算法之回溯法

回溯法 回溯法定義與概念核心思想回溯法的一般框架偽代碼表示C語言實現框架 回溯法的優化技巧剪枝策略實現剪枝的C語言示例記憶化搜索 案例分析N皇后問題子集和問題全排列問題尋路問題 回溯法的可視化理解決策樹狀態空間樹回溯過程 回溯法與其他算法的比較回溯法與動態規劃的區…

命令行指引的嘗試

效果 步驟 首先初始化一個空的項目&#xff0c;然后安裝一些依賴 npm init -y npm install inquirer execa chalk ora至于這些依賴是干嘛的&#xff0c;如下圖所示&#xff1a; 然后再 package.json 中補充一個 bin 然后再根目錄下新建一個 index.js , 其中的內容如下 #!/…