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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...