使用多元回归分析识别领先/落后

问题描述

我有 3 个重复测量的三个时间序列变量 (x,y,z)。 x 和 z 是自变量。 y 是因变量。 t 是时间变量。所有三个变量都遵循日间变化,它们在白天增加,在夜间减少。下面是模拟数据集的示例。

   library(nlme)
    library(tidyverse)
    n <- 100 
    t <- seq(0,4*pi,100)
    a <- 3
    b <- 2
    c.unif <- runif(n)
    amp <- 2

datalist = list()
for(i in 1:3){
y <- 3*sin(b*t)+rnorm(n)*2
x <- 2*sin(b*t+2.5)+rnorm(n)*2
z <- 4*sin(b*t-2.5)+rnorm(n)*2
data = as_tibble(cbind(y,x,z))%>%mutate(t = 1:100)%>% mutate(replicate = i)
datalist[[i]] <- data
}
df <- do.call(rbind,datalist)
ggplot(df)+
  geom_line(aes(t,x),color='red')+geom_line(aes(t,y),color='blue')+
  geom_line(aes(t,z),color = 'green')+facet_wrap(~replicate,nrow = 1)+theme_bw()

enter image description here

我可以分别确定 y 相对于 x 和 z 的超前/滞后。这可以通过 r 中的 ccf() 函数来完成。例如

ccf(x,y)
ccf(z,y)

但我想用多元回归方法来做。例如,nlme 包和 lme 函数表明 y 和 z 对 x 产生负面影响

lme = lme(data = df,y~ x+ z,random=~1|replicate,correlation = corCAR1( form = ~ t| replicate))

(在实际数据中)x 和 z 不可能对 y 产生负面影响。

我需要时间提前/滞后,而且我想从同一模型中获得标准化系数(t 值以比较效应大小)。

是否有任何可用的多变量模型可以为我提供超前/滞后以及回归系数?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)