1

在 R 中,我想测试偏最小二乘 (PLS) 模型 m1 与非嵌套替代 m2 的规范,应用 Davidson-MacKinnon J 测试。对于简单的线性结果 Y,使用 plsr 估计器后跟 jtest 命令可以很好地工作:

# Libraries and data
library(plsr)
library(plsRglm)  
library(lmtest)
Z <- Cornell # illustration dataset coming with the plsrglm package

# Simple linear model
m1 <- plsr(Z$Y ~ Z$X1 + Z$X2 + Z$X3 + Z$X4 + Z$X5 ,2) # including X1
m2 <- plsr(Z$Y ~ Z$X6 + Z$X2 + Z$X3 + Z$X4 + Z$X5 ,2) # including X6 as alternative
jtest(m1,m2)

但是,如果我使用广义线性模型 (plsRglm) 估计器来解释结果的可能非线性分布,例如:

# Generalized Model
m1 <- plsRglm(Z$Y ~ Z$X1 + Z$X2 + Z$X3 + Z$X4 + Z$X5 ,2, modele = "pls-glm-family", family=Gamma(link = "log"), pvals.expli=TRUE)
m2 <- plsRglm(Z$Y ~ Z$X6 + Z$X2 + Z$X3 + Z$X4 + Z$X5 ,2, modele = "pls-glm-family", family=Gamma(link = "log"), pvals.expli=TRUE)    

使用 jtest 时遇到错误:

> jtest(m1,m2)
Error in terms.default(formula1) : no terms component nor attribute
> 

似乎 plsRglm 不保存 jtest 可以处理的“公式”类的对象。有没有人建议如何编辑我的代码以使其正常工作?

谢谢!

4

0 回答 0