如何解决DLNM:错误:coef/vcov 与基矩阵不一致查看帮助交叉
我正在使用分布式滞后非线性模型。我使用来自 DLNM 包的交叉基矩阵运行 glm 模型。当我试图获得预测时,我收到此错误:
Error in crosspred(cbpm1,Tp1,by = 1,bylag = 1,at = speimin:speimax) :
coef/vcov not consistent with basis matrix. See help(crosspred).
这发生在我尝试延迟 1、2 和 3 时;但是当我尝试延迟 0、4 和 5 时没有错误。 我从这个链接 (https://stats.stackexchange.com/questions/482328/error-coef-vcov-not-consistent-with-basis-matrix) 中读到了类似的问题。但是,我仍然无法用自己的代码弄清楚。你的帮助对我来说真的很有意义。谢谢
代码是:
dis <- ss$dis1
vkt <- equalknots(ss$T,nk=2)
lkt = logknots(1,nk=2)
vkpm <- equalknots(ss$spei3,nk=2)
lkpm <- logknots(1,nk=2)
speimin <- min(ss$spei3,na.rm = TRUE)
speimax <- max(ss$spei3,na.rm = TRUE)
cbt1 = crossbasis(ss$T,lag=1,argvar=list(fun="bs",degree=2,knots=vkt),arglag=list(knots=lkt))
cbpm1 <- crossbasis(ss$spei3,knots=vkpm),arglag=list(knots=lkpm))
Tp1 <- glm(dis ~ cbt1 + cbpm1 + ns(RH,3)+ns(timeseries,2*5),family=poisson(link=log),ss)
at=speimin:speimax
predsltp1 <- crosspred(cbpm1,by=1,bylag=1,at=speimin:speimax)
这里是使用的库:
library(splines);library(class);library(stats);library(mda)
library(akima);library(gam);library(mgcv);library(foreign);library(som)
library(dlnm) #equalknots logknots crossbasis
library(splines) #ns
library(magrittr)
这是我的数据集的可重现样本:
> a<-structure(list(job = structure(c(1L,1L,> 1L,1L),.Label = "all",class = "factor"),> age3 = structure(c(1L,> 1L,.Label = "00_05",> sexA = structure(c(1L,2L,> 2L,.Label = c("F","M"),> All = c(65L,53L,92L,68L,81L,103L,144L,44L,40L,> 54L,19L,55L,61L,72L,89L,77L,71L,27L,15L,18L,> 39L,52L,58L,32L,37L),dis1 = c(6L,0L,> 9L,9L,3L,6L,> 3L,0L),dis2 = c(3L,> 6L,> 0L,> T = c(20.39032258,20.39032258,19.78387097,> 19.64193548,19.64193548,18.78709677,19.17419355,> 19.17419355,20.46774194,21.63870968,21.85806452,> 19.73448276,19.73448276,20.55357143,19.925,> 29.12580645,29.12580645,29.39354839,28.96129032,> 28.96129032,27.36666667,27.40333333,27.82333333,> 27.82333333),RH = c(70.09677419,70.09677419,70.03225806,> 70.03225806,70.35483871,72.32258065,> 69.80645161,69.80645161,74.58064516,77.58064516,71.32258065,> 71.32258065,75.82758621,62.28571429,> 72.60714286,77.61290323,75.06451613,> 75.61290323,75.61290323,76.03333333,76.23333333,> 75.03333333,75.03333333),PP = c(11.5,11.5,44.5,> 25.9,25.9,14,5,35.7,34.1,30.8,44.4,> 15.6,15.6,40.7,184,137.1,377,110.5,> 129.8,129.8,292,292),spei3 = c(0.447495072,0.447495072,> 1.537295165,1.537295165,1.285067571,0.441010834,> 0.441010834,1.505630159,1.725831329,1.075029338,> -1.227673724,-1.227673724,0.329690702,0.724314874,> 0.724314874,1.228544608,0.60782059,0.191804009,> 0.191804009,1.752145476,1.94554333,1.139058482,> 1.139058482,-0.554472376,-0.554472376),timeseries = 1:30),class = "data.frame",row.names = c(NA,> -30L))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。