我正在运行一个SUR回归,以80家不同银行的回报率作为因变量。自变量总是一样的。如果有必要回答我的问题,您应该能够使用下面的代码重新创建回归,这些问题是:
谢谢你的帮助。如果有什么东西不见了请告诉我!
发布于 2019-01-26 13:43:24
为此,我们可以直接使用linearHypothesis (参见?linearHypothesis.systemfit)。在第一种情况下
coefs <- coef(cyp3sur)
R1 <- matrix(0, nrow = 1, ncol = length(coefs))
R1[1, grep("Intercept", names(coefs))] <- 1
linearHypothesis(cyp3sur, R1)其中R1只有一行,因为有一个约束。注意,我添加了系数1,而不是1/ 80,因为它们是等价的(X +Y=0与(X + Y) /2= 0)。使用grep可以让我找到拦截的位置。
同样,在第二种情况下,我们有
R2 <- matrix(0, nrow = 1, ncol = length(coefs))
gr1 <- paste0("X", 1:20, "_Event")
gr2 <- paste0("X", 41:80, "_Event")
R2[1, names(coefs) %in% gr1] <- 1 / 20
R2[1, names(coefs) %in% gr2] <- -1 / 40
linearHypothesis(cyp3sur, R2)现在我用paste0构造感兴趣的变量名,并使用%in%确定它们在coefs中的位置。
https://stackoverflow.com/questions/54378662
复制相似问题