首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >回归克里金的Logistic函数

回归克里金的Logistic函数
EN

Stack Overflow用户
提问于 2015-04-02 03:43:09
回答 1查看 921关注 0票数 2

我想要执行回归克里格(RK)的二进制存在缺位和主机网格数据作为一个常量预测。我曾经用逻辑函数来估计二元结果和预测因子之间的关系,但是我认为它不是通过RK假设吗?预测变量在模型中没有显着性。有没有其他办法来解决这个问题?

代码的数据:https://drive.google.com/folderview?id=0B7-8DA0HVZqDYk1BcFFwSkZCcjQ&usp=sharing

代码语言:javascript
运行
AI代码解释
复制
presabs <- read.csv("Pres_Abs.csv",header=T, 
                             colClasses = c("integer","numeric","numeric", 
                                            "integer"))

coordinates(presabs) <- c("Long","Lat")   # creates SpatialPointsDataFrame

host <- read.asciigrid("host.asc.txt")  # reads ArcInfo Ascii raster map 

host.ov <- overlay(host, presabs)  # create grid-points overlay
presabs$host.asc.txt <- host.ov$host.asc.txt  #copy host values
presabs$host.asc.txt <- log(host.ov$host.asc.txt)

glm(formula = Pres ~ host.asc.txt, family = binomial, data = presabs)
summary(glm.presabs)

Weighted Residuals:
    Min      1Q  Median      3Q     Max 
-0.3786 -0.3762 -0.3708 -0.3497  3.3137 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.942428   0.320104  -6.068 1.38e-08 ***
host.asc.txt -0.001453   0.003034  -0.479    0.633    
---
Signif. codes:  0***0.001**0.01*0.05.0.1 ‘ ’ 1

Residual standard error: 1.007 on 127 degrees of freedom
Multiple R-squared:  1.317e-05, Adjusted R-squared:  -0.007861 
F-statistic: 0.001673 on 1 and 127 DF,  p-value: 0.9674

然后,当涉及到实际的克里格时,我从教程中构建了这段代码,但是似乎glm的实际残差并没有被输入到krige函数中。在gstat中可以改进吗?

代码语言:javascript
运行
AI代码解释
复制
library(gstat)

# Set bin width for the variogram and max distance:
Bin <- 0.09
MaxDist <- 1
BinNo <- MaxDist/Bin

# Calculate and plot the variogram
surpts.var <- variogram(Pres~1, presabs, cutoff=MaxDist, width = Bin)
plot(surpts.var)

# Insert parameter values for the variogram model
psill = 0.05921
distance = 63.7/111
nugget = 0.06233 # constant

# Fit and plot variogram model:
null.vgm <- vgm(psill,"Sph",distance,nugget) # initial parameters
vgm_Pres_r <- fit.variogram(surpts.var, model=null.vgm, fit.ranges=TRUE, 
                            fit.method=1)
plot(surpts.var,vgm_Pres_r)

# Run RK using universal kriging:
presabs_uk <- krige(Pres~host.asc.txt, locations=presabs, 
                         newdata=host, model=vgm_Pres_r)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-27 05:47:20

krige提到它是

代码语言:javascript
运行
AI代码解释
复制
[using universal kriging]

这意味着它符合线性模型,而不是广义线性模型。它使用的是与原始数据相匹配的变异函数,而不是残差。残差图将由

代码语言:javascript
运行
AI代码解释
复制
surpts.var <- variogram(Pres~host.asc.txt, presabs, cutoff=MaxDist, width = Bin)

但是几乎是相同的,因为变量和网格映射几乎不相关:

代码语言:javascript
运行
AI代码解释
复制
> cor(presabs$Pres,presabs$host.asc.txt)
[1] -0.04281038

所以,在普遍的克里格预测中,你不认识网格地图并不奇怪:两者几乎(线性)是独立的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29412128

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文