如何从nlme::gls模型中提取AR系数及其显著性检验结果
提取带AR(1)项的gls模型中AR系数及显著性的方法
nlme包的gls()模型默认不会在summary()输出中展示自相关结构的参数估计与显著性,你可以通过以下方式提取对应内容:
- 提取AR(1)系数的点估计值
直接调取模型相关结构模块的系数即可,注意设置unconstrained = FALSE获取原始尺度的AR系数,而非参数变换后的值:
# 提取AR(1)系数 ar_est <- coef(gls$modelStruct$corStruct, unconstrained = FALSE) ar_est
- 获取AR系数的显著性判断
你可以通过intervals()函数直接获取AR系数的95%置信区间,通过区间是否包含0判断显著性;如果需要精确p值,可以结合参数估计值和标准误计算:
# 方法1:通过置信区间快速判断显著性 intervals(gls, which = "correlation") # 方法2:计算精确p值 # 提取AR系数标准误(vcov设置full=TRUE才会输出相关结构参数的方差协方差矩阵) ar_se <- sqrt(diag(vcov(gls, full = TRUE)))[["phi1"]] # 计算Z值与双侧p值 z_score <- ar_est / ar_se p_value <- 2 * pnorm(abs(z_score), lower.tail = FALSE) # 输出结果 cat("AR(1)系数估计值:", ar_est, "\n", "标准误:", ar_se, "\n", "p值:", p_value, sep = "")
内容的提问来源于stack exchange,提问作者Francesca
相关产品推荐
相关产品推荐

