- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究 R 中“vars”库中的小插图工作示例。我理解小插图中的大部分示例,期望小插图的表 5 here
运行以下代码,我看到协整向量和加载点估计值的来源,但我不明白 t 统计量的来源。
我运行了这段代码:
library("vars")
data("Canada")
Canada <- Canada[, c("prod", "e", "U", "rw")]
vecm <- ca.jo(Canada[, c("rw", "prod", "e", "U")], type = "trace", ecdet = "trend", K = 3, spec = "transitory")
vecm.r1 <- cajorls(vecm, r = 1)
并得到这些特征向量和权重,
Eigenvectors, normalised to first column:
(These are the cointegration relations)
rw.l1 prod.l1 e.l1 U.l1 trend.l1
rw.l1 1.00000000 1.0000000 1.0000000 1.000000 1.0000000
prod.l1 0.54487553 -3.0021508 0.7153696 -7.173608 0.4087221
e.l1 -0.01299605 -3.8867890 -2.0625220 -30.429074 -3.3884676
U.l1 1.72657188 -10.2183404 -5.3124427 -49.077209 -5.1326687
trend.l1 -0.70918872 0.6913363 -0.3643533 11.424630 0.1157125
Weights W:
(This is the loading matrix)
rw.l1 prod.l1 e.l1 U.l1 trend.l1
rw.d -0.084814510 0.048563997 -0.02368720 -0.0016583069 5.722004e-12
prod.d -0.011994081 0.009204887 -0.09921487 0.0020567547 -7.478364e-12
e.d -0.015606039 -0.038019447 -0.01140202 -0.0005559337 -1.229460e-11
U.d -0.008659911 0.020499657 0.02896325 0.0009140795 1.103862e-11
它在表 5 中给出了正确的 alpha 和 beta 值。
但我不知道表 5 中的 t 统计量是在代码中的何处导出的。请问有人能给我指出正确的方向吗?
问候,
詹姆斯
最佳答案
我对 urca
最大的不满是:它不计算 beta 向量的 t 统计量。看起来作者可能在某个时候想要包含该功能(因此您在上面引用的小插图中的表 5)但没有抽出时间实际去做。
好消息:对于一个协整向量 (r=1) 的情况,有示例代码可用于获取标准误差。看这个discussion thread
继续上面的示例,上面讨论的 nabble 线程给出的代码是:
alpha <- coef(vecm.r1$rlm)[1, ] # the coefficients on ecm1
beta <- vecm.r1$beta # the point estimates of beta
resids <- resid(vecm.r1$rlm)
N <- nrow(resids)
sigma <- crossprod(resids) / N
## t-stats for beta
beta.se <- sqrt(diag(kronecker(solve(crossprod(vecm@RK[, -1])),
solve(t(alpha) %*% solve(sigma) %*% alpha))))
beta.t <- c(NA, beta[-1] / beta.se)
names(beta.t) <- rownames(vecm.r1$beta)
beta.t
这完全重现了小插图给出的标准错误。
如果我们使用 gretl 运行相同的模型,我们会得到完全相同的 beta 点估计值,但标准误差大致一致:
您需要编写一个稍微笨拙的“提取”函数来将标准误差和点估计值组合成 texreg
喜欢的形式:
extract.cajo_beta <- function(cajo, orls) {
alpha <- coef(orls$rlm)[1, ];
resids <- resid(orls$rlm);
N <- nrow(resids);
sigma <- crossprod(resids) / N;
# get standard errors and p-values
beta <- orls$beta
beta.se <- sqrt(diag(kronecker(solve(crossprod(cajo@RK[, -1])),
solve(t(alpha) %*% solve(sigma) %*% alpha))));
beta.se2 <- c(NA, beta.se);
beta.t <- c(NA, beta[-1] / beta.se);
beta.pval <- dt(beta.t, df= orls$rlm$df.residual)
tr <- createTexreg(coef.names = as.character(rownames(beta)), coef = as.numeric(beta), se = beta.se2,
pvalues = beta.pval,
# remove this goodness of fit measure afterwards from the table
gof.names = c('Dummy'), gof = c(1), gof.decimal = c(FALSE)
);
return(tr);
}
然后运行:
> screenreg(extract.cajo_beta(vecm, vecm.r1))
=================
Model 1
-----------------
rw.l1 1.00
prod.l1 0.54
(0.61)
e.l1 -0.01
(0.68)
U.l1 1.73
(1.45)
trend.l1 -0.71 *
(0.28)
-----------------
Dummy 1
=================
*** p < 0.001, ** p < 0.01, * p < 0.05
关于r - 从 R 中的 ca.jo 中的 Johannsen 协整法估计 t 统计量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33883920/
在我的设置中,我试图有一个界面 Table继承自 Map (因为它主要用作 map 的包装器)。两个类继承自 Table - 本地和全局。全局的将有一个可变的映射,而本地的将有一个只有本地条目的映射。
Rust Nomicon 有 an entire section on variance除了关于 Box 的这一小节,我或多或少地理解了这一点和 Vec在 T 上(共同)变体. Box and Vec
我是一名优秀的程序员,十分优秀!