首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SUR回归:检验系数均值是否等于零

SUR回归:检验系数均值是否等于零
EN

Stack Overflow用户
提问于 2019-01-26 13:07:54
回答 1查看 260关注 0票数 1

我正在运行一个SUR回归,以80家不同银行的回报率作为因变量。自变量总是一样的。如果有必要回答我的问题,您应该能够使用下面的代码重新创建回归,这些问题是:

  1. 如何检验样本中所有80家银行的“事件”系数平均值是否等于零?
  2. 我如何测试样本中的子组,例如前20家银行和最后40家银行,在“事件”方面是否有相似的平均系数,或者它们之间是否存在显著差异? 库(“系统匹配”)库(“plm”) cyp3 <- read.table("https://pastebin.com/raw.php?i=/SpuUiaj7",sep=";",header=TRUE) cyp3Panel<-pdata.framework(cyp3,c("id","t")) cyp3sur<-systemfit(返回价格+预+事件+ Post + Zpre1 + Zevent1 + Zpost1 + Zpre2 + Zevent2 + Zpre3 + Zevent3 + Zpost3,method = "SUR",data = cyp3panel)

谢谢你的帮助。如果有什么东西不见了请告诉我!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-26 13:43:24

为此,我们可以直接使用linearHypothesis (参见?linearHypothesis.systemfit)。在第一种情况下

代码语言:javascript
复制
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可以让我找到拦截的位置。

同样,在第二种情况下,我们有

代码语言:javascript
复制
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中的位置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54378662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档