从0开始学习R语言--Day42--LM检验

区别于Moran's I检验,前者在初步观察空间数据的分布时,能给出暗含规律的结果,但具体是什么规律是无法分辨的,而LM检验可以给出到底是因为邻接的数据还是因为其他的因素,比如在分析房价起伏时,前者只能给出房价高的扎堆在一起,有某种规律,而后者可以给出类似一片区域靠近学校,所以这片区域的房价较高的结论。

以下是一个例子:

R 复制代码
library(spdep)
library(spatialreg)

# 生成模拟空间数据集
set.seed(123)
n <- 100  # 观测点数量
x <- runif(n, 0, 10)  # x坐标
y <- runif(n, 0, 10)  # y坐标
coords <- cbind(x, y)  # 坐标矩阵

# 创建空间权重矩阵(这里使用k近邻,k=4)
knn <- knn2nb(knearneigh(coords, k=4))
W <- nb2listw(knn, style="W")  # 行标准化权重矩阵

# 生成解释变量和被解释变量
X1 <- rnorm(n)
X2 <- rnorm(n)
# 生成具有空间自相关的误差项
rho <- 0.4  # 空间自相关系数
e <- solve(diag(n) - rho * listw2mat(W), rnorm(n))
Y <- 2 + 1.5*X1 - 0.8*X2 + e  # 真实模型包含空间误差

# 拟合普通OLS模型
ols_model <- lm(Y ~ X1 + X2)

# 进行LM检验
lm_tests <- lm.LMtests(ols_model, listw=W, test=c("LMerr", "LMlag", "RLMerr", "RLMlag", "SARMA"))
summary(lm_tests)

# 查看检验结果
print(lm_tests)

输出:

R 复制代码
	Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial dependence

data:  
model: lm(formula = Y ~ X1 + X2)
test weights: listw

RSerr = 0.9902, df = 1, p-value = 0.3197


	Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial dependence

data:  
model: lm(formula = Y ~ X1 + X2)
test weights: listw

RSlag = 4.5736, df = 1, p-value = 0.03247


	Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial dependence

data:  
model: lm(formula = Y ~ X1 + X2)
test weights: listw

adjRSerr = 0.6968, df = 1, p-value = 0.4039


	Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial dependence

data:  
model: lm(formula = Y ~ X1 + X2)
test weights: listw

adjRSlag = 4.2802, df = 1, p-value = 0.03856


	Rao's score (a.k.a Lagrange multiplier) diagnostics for spatial dependence

data:  
model: lm(formula = Y ~ X1 + X2)
test weights: listw

SARMA = 5.2704, df = 2, p-value = 0.0717

结果显示,LM-error的p值大于0.05,说明误差项中没有显著的空间自相关,不需要考虑这个;而LM-lag的p小于0.05,说明在分析时需要考虑空间的滞后项,也就是数据点临近数据对其的影响。

相关推荐
ECT-OS-JiuHuaShan18 分钟前
哲学是迭代学,数学是拓扑学
开发语言·人工智能·学习·算法·机器学习·php·拓扑学
leo_messi9419 分钟前
Mysql学习(十二) -- SQL执行到底做了什么事?
sql·学习·mysql
敲代码的嘎仔24 分钟前
从零实现视频续播 + 学习进度统计:前端心跳、条件更新、GROUP BY 统计全链路拆解
java·前端·数据库·学习·面试·职场和发展·音视频
xcLeigh43 分钟前
AI 编程学习路线图:一份覆盖前端、后端、全栈的系统学习计划
前端·人工智能·学习
fanfan_hongyun2 小时前
UE5.1 学习记录-玩家控制器
学习·ue5
传奇开心果编程10 小时前
【xilem0.4基础语法学与练】第13课:Xilem 0.4 最简短代码体现“一切皆设计图“
学习·rust·前端框架
小雪崩10 小时前
嵌入式学习 day45:51单片机基础
学习·51单片机
彧azz12 小时前
Java学习语法篇:变量
java·学习
Yanjun2i12 小时前
Agent学习记录五:Pydantic验证
人工智能·python·学习
xqqxqxxq14 小时前
AI Agent学习:Agent协作工具技术笔记(李博杰《深入理解 AI Agent》4.6观后总结)
笔记·学习