时间序列与预测

先查看各命令展开的示例,再按需展开其他选项及 R 实现。改写代码前,请阅读适用条件及差异说明。

ac

自相关函数

Stata

ac y, lags(12)

R 包:stats

stats::acf(y, lag.max = 12, plot = FALSE)

与 Stata 有差异 固定流程;请明确调整示例列名。R返回数值相关系数;绘图需另行调用。

arch

GARCH(1,1)条件方差模型

Stata

arch y, arch(1) garch(1) noconstant

R 包:tseries

tseries::garch(as.numeric(y), order = c(1, 1), trace = FALSE)

与 Stata 有差异 固定流程;请明确调整示例列名。须另拟合均值模型;优化和初始化方式不同。

ARCH(1)条件方差模型

Stata

arch y, arch(1) noconstant

R 包:tseries

tseries::garch(as.numeric(y), order = c(0, 1), trace = FALSE)

与 Stata 有差异 固定流程;请明确调整示例列名。tseries::garch针对零均值序列;须先去除或明确建模条件均值。

arfima

分数阶差分ARMA估计

Stata

arfima y, ar(1) ma(1)

R 包:fracdiff

fracdiff::fracdiff(y, nar = 1, nma = 1)

与 Stata 有差异 固定流程;请明确调整示例列名。fracdiff使用近似似然,且MA参数符号约定不同。

arfimasoc

分数阶ARMA阶数比较

Stata

arfimasoc y, maxar(1) maxma(1)

R 包:fracdiff

{ grid <- expand.grid(p = 0:1, q = 0:1); grid$AIC <- mapply(function(p, q) { f <- fracdiff::fracdiff(y, nar = p, nma = q); -2 * f$log.likelihood + 2 * (p + q + 2) }, grid$p, grid$q); grid }

固定流程;请明确调整示例列名。使用近似似然进行选阶,不声称数值完全一致。

arima

包含外生变量的ARMAX模型

Stata

arima y x, arima(1,0,0)

R 包:stats

stats::arima(y, order = c(1, 0, 0), xreg = x)

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

另有 11 个示例及替代实现

季节差分移动平均模型

Stata

arima y, arima(0,0,0) sarima(0,1,1,4)

R 包:stats

stats::arima(y, order = c(0, 0, 0), seasonal = list(order = c(0, 1, 1), period = 4))

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

季节自回归模型

Stata

arima y, arima(0,0,0) sarima(1,0,0,4)

R 包:stats

stats::arima(y, order = c(0, 0, 0), seasonal = list(order = c(1, 0, 0), period = 4))

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

含截距MA(1)

Stata

arima y, arima(0,0,1)

R 包:stats

stats::arima(y, order = c(0, 0, 1))

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

差分移动平均模型

Stata

arima y, arima(0,1,1)

R 包:stats

stats::arima(y, order = c(0, 1, 1))

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

含截距AR(1)

Stata

arima y, arima(1,0,0)

R 包:stats

stats::arima(y, order = c(1, 0, 0))

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

状态空间极大似然估计

Stata

arima y, arima(1,0,0) diffuse

R 包:stats

stats::arima(y, order = c(1, 0, 0), method = "ML", SSinit = "Rossignol2011")

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

零均值自回归模型

Stata

arima y, arima(1,0,0) noconstant

R 包:stats

stats::arima(y, order = c(1, 0, 0), include.mean = FALSE)

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

ARMA(1,1)模型

Stata

arima y, arima(1,0,1)

R 包:stats

stats::arima(y, order = c(1, 0, 1))

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

ARMA估计方法:ML

Stata

arima y, arima(1,0,1)

R 包:stats

stats::arima(y, order = c(1, 0, 1), method = "ML")

与 Stata 有差异 固定流程;请明确调整示例列名。明确指定似然方法,避免依赖R默认CSS-ML初始化。

ARMA估计方法:CSS

Stata

arima y, arima(1,0,1) // conditional least-squares alternative

R 包:stats

stats::arima(y, order = c(1, 0, 1), method = "CSS")

固定流程;请明确调整示例列名。条件平方和是替代流程,并非Stata默认似然。

一阶差分ARIMA

Stata

arima y, arima(1,1,0)

R 包:stats

stats::arima(y, order = c(1, 1, 0))

与 Stata 有差异 固定流程;请明确调整示例列名。参数化、初始值和似然约定不同;须比较同一模型设定。

arimasoc

ARMA信息准则比较

Stata

arimasoc y, maxar(2) maxma(2)

R 包:stats

{ grid <- expand.grid(p = 0:2, q = 0:2); grid$AIC <- mapply(function(p, q) stats::AIC(stats::arima(y, order = c(p, 0, q), method = "ML")), grid$p, grid$q); grid }

固定流程;请明确调整示例列名。应在可比较样本上选阶;R和Stata的似然常数可能不同。

corrgram

自相关与偏自相关表

Stata

corrgram y, lags(8)

R 包:stats

list(ac = stats::acf(y, lag.max = 8, plot = FALSE), pac = stats::pacf(y, lag.max = 8, plot = FALSE))

与 Stata 有差异 固定流程;请明确调整示例列名。R返回数值相关系数;绘图需另行调用。

cumsp

累积谱分布

Stata

cumsp y

R 包:stats

{ sp <- stats::spectrum(y, plot = FALSE, taper = 0); data.frame(frequency = sp$freq, cumulative = cumsum(sp$spec) / sum(sp$spec)) }

固定流程;请明确调整示例列名。仅计算曲线数据,不含置信带。

dfgls

DF-GLS单位根检验:trend

Stata

dfgls y, maxlag(4) 

R 包:urca

urca::ur.ers(y, type = "DF-GLS", model = "trend", lag.max = 4)

与 Stata 有差异 固定流程;请明确调整示例列名。滞后选择和有限样本临界值可能不同。

DF-GLS单位根检验:constant

Stata

dfgls y, maxlag(4) notrend

R 包:urca

urca::ur.ers(y, type = "DF-GLS", model = "constant", lag.max = 4)

与 Stata 有差异 固定流程;请明确调整示例列名。滞后选择和有限样本临界值可能不同。

dfuller

ADF单位根检验:drift,0阶增广滞后

Stata

dfuller y, lags(0)

R 包:urca

urca::ur.df(y, type = "drift", lags = 0)

与 Stata 有差异 固定流程;请明确调整示例列名。应匹配确定项、样本区间和滞后选择;临界值实现可能不同。

ADF单位根检验:none,0阶增广滞后

Stata

dfuller y, lags(0) noconstant

R 包:urca

urca::ur.df(y, type = "none", lags = 0)

与 Stata 有差异 固定流程;请明确调整示例列名。应匹配确定项、样本区间和滞后选择;临界值实现可能不同。

ADF单位根检验:trend,0阶增广滞后

Stata

dfuller y, lags(0) trend

R 包:urca

urca::ur.df(y, type = "trend", lags = 0)

与 Stata 有差异 固定流程;请明确调整示例列名。应匹配确定项、样本区间和滞后选择;临界值实现可能不同。

ADF单位根检验:drift,2阶增广滞后

Stata

dfuller y, lags(2)

R 包:urca

urca::ur.df(y, type = "drift", lags = 2)

与 Stata 有差异 固定流程;请明确调整示例列名。应匹配确定项、样本区间和滞后选择;临界值实现可能不同。

ADF单位根检验:none,2阶增广滞后

Stata

dfuller y, lags(2) noconstant

R 包:urca

urca::ur.df(y, type = "none", lags = 2)

与 Stata 有差异 固定流程;请明确调整示例列名。应匹配确定项、样本区间和滞后选择;临界值实现可能不同。

另有 1 个示例及替代实现

ADF单位根检验:trend,2阶增广滞后

Stata

dfuller y, lags(2) trend

R 包:urca

urca::ur.df(y, type = "trend", lags = 2)

与 Stata 有差异 固定流程;请明确调整示例列名。应匹配确定项、样本区间和滞后选择;临界值实现可能不同。

fcast

迭代双变量VAR点预测

Stata

fcast compute pred, step(8)

R 包:stats

{ out <- matrix(NA_real_, 8, 2); last <- tail(Y, 1); intercept <- stats::coef(fit)[1, ]; for (h in 1:8) { last <- matrix(intercept + drop(A %*% drop(last)), nrow = 1); out[h, ] <- last }; colnames(out) <- colnames(Y); out }

与 Stata 有差异 固定流程;请明确调整示例列名。仅点预测,不计算系统预测误差协方差和区间。

forecast

八期ARIMA预测

Stata

forecast solve, begin(161)

R 包:forecast

forecast::forecast(fit, h = 8)

固定流程;请明确调整示例列名。仅提供单方程预测流程,不翻译预测系统中的恒等式。

含90%预测区间的预测

Stata

forecast solve, begin(161) periods(8) simulate(errors, statistic(stddev, prefix(sd_)))

R 包:forecast

forecast::forecast(fit, h = 8, level = 90)

固定流程;请明确调整示例列名。仅提供单方程预测流程,不翻译预测系统中的恒等式。R直接计算90%解析预测区间;Stata示例模拟预测标准差,须另行构造区间。

ARIMA一步拟合值

Stata

forecast solve, begin(161) static

R 包:forecast

stats::fitted(forecast::Arima(y, order = c(1, 0, 0)))

固定流程;请明确调整示例列名。提供样本内一步预测流程;Stata须另设置forecast模型。

irf

简约式VAR(1)脉冲响应矩阵

Stata

irf create model, step(8)

R 包:base

{ powers <- vector("list", 9); powers[[1]] <- diag(2); for (h in 2:9) powers[[h]] <- powers[[h - 1]] %*% A; powers }

与 Stata 有差异 固定流程;请明确调整示例列名。针对单位简约式创新的响应;正交结构响应还需要识别方案。

Cholesky正交化VAR响应

Stata

irf create model, step(8) // orthogonalized responses

R 包:base

{ impact <- t(chol(crossprod(stats::residuals(fit)) / stats::nobs(fit))); powers <- vector("list", 9); powers[[1]] <- impact; for (h in 2:9) powers[[h]] <- A %*% powers[[h - 1]]; powers }

与 Stata 有差异 固定流程;请明确调整示例列名。递归顺序为y再x;协方差除数和识别假设影响结果。

ivlpirf

工具变量局部投影点响应

Stata

ivlpirf y, endogenous(x = z) step(8) lags(1)

R 包:AER

vapply(0:8, function(h) { i <- 2:(nrow(data) - h); d <- data.frame(outcome = data$y[i + h], impulse = data$x[i], Ly = data$y[i - 1], instrument = data$z[i]); unname(stats::coef(AER::ivreg(outcome ~ impulse + Ly | instrument + Ly, data = d))[2]) }, numeric(1))

固定流程;请明确调整示例列名。按期限进行2SLS;工具变量有效性、归一化和HAC推断须另行决定。

lpirf

局部投影的外生冲击动态响应

Stata

lpirf y, exog(x) step(8) lags(1)

R 包:stats

vapply(0:8, function(h) { i <- 2:(nrow(data) - h); unname(stats::coef(stats::lm(data$y[i + h] ~ data$x[i] + data$y[i - 1] + data$x[i - 1]))[2]) }, numeric(1))

固定流程;请明确调整示例列名。按期限分别进行点估计;研究分析仍须补充HAC推断及系统约束。

newey

Newey-West HAC系数推断

Stata

newey y x, lag(4)

R 包:sandwich

{ fit <- stats::lm(y ~ x, data = data); lmtest::coeftest(fit, vcov. = sandwich::NeweyWest(fit, lag = 4, prewhite = FALSE, adjust = TRUE)) }

与 Stata 有差异 固定流程;请明确调整示例列名。须统一带宽、预白化和有限样本修正。

pac

偏自相关函数

Stata

pac y, lags(12)

R 包:stats

stats::pacf(y, lag.max = 12, plot = FALSE)

与 Stata 有差异 固定流程;请明确调整示例列名。R返回数值相关系数;绘图需另行调用。

pergram

原始周期图

Stata

pergram y

R 包:stats

stats::spectrum(y, plot = FALSE, taper = 0, detrend = FALSE)

与 Stata 有差异 固定流程;请明确调整示例列名。归一化方法和默认渐消窗可能不同。

pperron

Phillips-Perron Z-alpha检验:constant

Stata

pperron y, lags(4) 

R 包:urca

urca::ur.pp(y, type = "Z-alpha", model = "constant", use.lag = 4)

与 Stata 有差异 固定流程;请明确调整示例列名。Stata同时报告多个统计量,R每次选择一个;须匹配核函数和确定项。

Phillips-Perron Z-tau检验:constant

Stata

pperron y, lags(4) 

R 包:urca

urca::ur.pp(y, type = "Z-tau", model = "constant", use.lag = 4)

与 Stata 有差异 固定流程;请明确调整示例列名。Stata同时报告多个统计量,R每次选择一个;须匹配核函数和确定项。

Phillips-Perron Z-alpha检验:trend

Stata

pperron y, lags(4) trend

R 包:urca

urca::ur.pp(y, type = "Z-alpha", model = "trend", use.lag = 4)

与 Stata 有差异 固定流程;请明确调整示例列名。Stata同时报告多个统计量,R每次选择一个;须匹配核函数和确定项。

Phillips-Perron Z-tau检验:trend

Stata

pperron y, lags(4) trend

R 包:urca

urca::ur.pp(y, type = "Z-tau", model = "trend", use.lag = 4)

与 Stata 有差异 固定流程;请明确调整示例列名。Stata同时报告多个统计量,R每次选择一个;须匹配核函数和确定项。

predict

动态ARIMA预测及标准误

Stata

predict yhat, y dynamic(161)

R 包:stats

stats::predict(fit, n.ahead = 8)

固定流程;请明确调整示例列名。仅提供单方程预测流程,不翻译预测系统中的恒等式。

psdensity

参数化AR(1)谱密度

Stata

arima y, arima(1,0,0)
psdensity density, n(64)

R 包:stats

{ phi <- unname(fit$coef["ar1"]); omega <- seq(0, pi, length.out = 64); data.frame(frequency = omega / (2 * pi), density = fit$sigma2 / (2 * pi * Mod(1 - phi * exp(-1i * omega))^2)) }

与 Stata 有差异 固定流程;请明确调整示例列名。须统一频率尺度及密度归一化。

rolling

扩展窗口递归回归

Stata

rolling _b, window(40) recursive: regress y x

R 包:stats

t(vapply(40:nrow(data), function(i) stats::coef(stats::lm(y ~ x, data[seq_len(i), ])), numeric(2)))

与 Stata 有差异 固定流程;请明确调整示例列名。固定首个观察,逐步扩展估计终点。

滚动窗口回归系数

Stata

rolling _b, window(40): regress y x

R 包:zoo

zoo::rollapply(data, width = 40, FUN = function(z) stats::coef(stats::lm(y ~ x, data = as.data.frame(z))), by.column = FALSE, align = "right")

与 Stata 有差异 固定流程;请明确调整示例列名。输出行对应完整右对齐窗口;实际使用须明确处理拟合失败。

滚动样本波动率

Stata

rolling sd=r(sd), window(20): summarize y

R 包:zoo

zoo::rollapply(y, width = 20, FUN = stats::sd, align = "right")

与 Stata 有差异 固定流程;请明确调整示例列名。计算样本标准差,并非模型条件波动率。

sspace

局部线性趋势状态空间模型

Stata

sspace (level L.level L.slope, state noconstant) (slope L.slope, state noconstant) (y level, noconstant)

R 包:stats

stats::StructTS(y, type = "trend")

与 Stata 有差异 固定流程;请明确调整示例列名。对应特定局部线性趋势模型;初始化可能不同。

局部水平状态空间模型

Stata

sspace (level L.level, state noconstant) (y level, noconstant)

R 包:stats

stats::StructTS(y, type = "level")

与 Stata 有差异 固定流程;请明确调整示例列名。对应特定局部水平模型;sspace支持更广泛的模型。

tsfilter

Baxter-King近似带通周期

Stata

tsfilter bk cycle = y, minperiod(6) maxperiod(32) smaorder(12)

R 包:stats

{ K <- 12; j <- -K:K; low <- 2 * pi / 32; high <- 2 * pi / 6; w <- ifelse(j == 0, (high - low) / pi, (sin(high * j) - sin(low * j)) / (pi * j)); w <- w - mean(w); stats::filter(y, w, sides = 2) }

与 Stata 有差异 固定流程;请明确调整示例列名。对称有限阶带通滤波损失端点观察。

Hodrick-Prescott趋势周期分解

Stata

tsfilter hp cycle = y, smooth(1600) trend(trend)

R 包:base

{ n <- length(y); D <- diff(diag(n), differences = 2); trend <- drop(solve(diag(n) + 1600 * crossprod(D), as.numeric(y))); data.frame(trend = trend, cycle = as.numeric(y) - trend) }

与 Stata 有差异 固定流程;请明确调整示例列名。要求完整规则序列;通过惩罚最小二乘直接求解双侧HP滤波。

tsreport

定位缺失时间期

Stata

tsreport, report

R 包:base

data.frame(previous = head(data$t, -1), next_time = tail(data$t, -1), gap = diff(data$t))[diff(data$t) != 1, ]

固定流程;请明确调整示例列名。假设时间为单位间隔整数;日期日历须明确间隔规则。

tssmooth

简单指数平滑

Stata

tssmooth exponential smooth = y, parms(.3)

R 包:stats

stats::HoltWinters(y, alpha = .3, beta = FALSE, gamma = FALSE)

固定流程;请明确调整示例列名。初始值、端点处理和趋势形式不同,比较前须统一。

Holt趋势平滑流程

Stata

tssmooth hwinters smooth = y

R 包:stats

stats::HoltWinters(y, gamma = FALSE)

固定流程;请明确调整示例列名。初始值、端点处理和趋势形式不同,比较前须统一。

五期居中移动平均

Stata

tssmooth ma smooth = y, window(2 1 2)

R 包:stats

stats::filter(y, rep(1 / 5, 5), sides = 2)

固定流程;请明确调整示例列名。初始值、端点处理和趋势形式不同,比较前须统一。

四期向后移动平均

Stata

tssmooth ma smooth = y, window(3 1 0)

R 包:stats

stats::filter(y, rep(1 / 4, 4), sides = 1)

固定流程;请明确调整示例列名。初始值、端点处理和趋势形式不同,比较前须统一。

加法季节Holt-Winters平滑

Stata

tssmooth shwinters smooth = y

R 包:stats

stats::HoltWinters(y, seasonal = "additive")

固定流程;请明确调整示例列名。初始值、端点处理和趋势形式不同,比较前须统一。

另有 1 个示例及替代实现

滑动中位数非线性平滑

Stata

tssmooth nl smooth = y, smoother(3)

R 包:stats

stats::runmed(as.numeric(y), k = 3, endrule = "median")

与 Stata 有差异 固定流程;请明确调整示例列名。比较前须单独核对端点处理规则。

ucm

不可观测成分模型:level

Stata

ucm y, model(llevel)

R 包:stats

stats::StructTS(y, type = "level")

与 Stata 有差异 固定流程;请明确调整示例列名。R仅支持部分结构模型;Stata ucm允许更多成分和约束。

不可观测成分模型:trend

Stata

ucm y, model(lltrend)

R 包:stats

stats::StructTS(y, type = "trend")

与 Stata 有差异 固定流程;请明确调整示例列名。R仅支持部分结构模型;Stata ucm允许更多成分和约束。

不可观测成分模型:BSM

Stata

ucm y, model(lltrend) seasonal(4)

R 包:stats

stats::StructTS(y, type = "BSM")

与 Stata 有差异 固定流程;请明确调整示例列名。R仅支持部分结构模型;Stata ucm允许更多成分和约束。

var

逐方程OLS的双变量VAR(1)

Stata

var y x, lags(1)

R 包:stats

stats::lm(cbind(y, x) ~ Ly + Lx, data = lagged)

与 Stata 有差异 固定流程;请明确调整示例列名。对共同样本上的无约束VAR给出相应系数;系统协方差报告不同。

含确定性时间趋势VAR

Stata

var y x, lags(1) exog(trend)

R 包:stats

stats::lm(cbind(y, x) ~ Ly + Lx + seq_len(nrow(lagged)), data = lagged)

与 Stata 有差异 固定流程;请明确调整示例列名。趋势起点影响截距;须统一样本和趋势编号。

无截距双变量VAR

Stata

var y x, lags(1) noconstant

R 包:stats

stats::lm(cbind(y, x) ~ 0 + Ly + Lx, data = lagged)

与 Stata 有差异 固定流程;请明确调整示例列名。须指定相同的滞后矩阵和确定项。

vargranger

检验y是否Granger预测x

Stata

var y x, lags(1)
vargranger

R 包:lmtest

lmtest::grangertest(x ~ y, order = 1, data = data)

与 Stata 有差异 先拟合var y x, lags(1)再运行vargranger;否则Stata的VAR默认滞后1和2阶。grangertest采用F参考分布,vargranger报告Wald卡方;须统一方向和样本,且预测性不等于结构因果。

检验x是否Granger预测y

Stata

var y x, lags(1)
vargranger

R 包:lmtest

lmtest::grangertest(y ~ x, order = 1, data = data)

与 Stata 有差异 先拟合var y x, lags(1)再运行vargranger;否则Stata的VAR默认滞后1和2阶。grangertest采用F参考分布,vargranger报告Wald卡方;须统一方向和样本,且预测性不等于结构因果。

varstable

VAR(1)伴随矩阵特征值

Stata

varstable

R 包:base

eigen(A, only.values = TRUE)$values

与 Stata 有差异 固定流程;请明确调整示例列名。稳定性要求所有伴随矩阵根严格位于单位圆内。

vec

秩一向量误差修正模型

Stata

vec y x, rank(1) lags(2)

R 包:urca

urca::cajorls(urca::ca.jo(Y, type = "trace", ecdet = "none", K = 2, spec = "transitory"), r = 1)

与 Stata 有差异 urca的ecdet=“const”对应Stata的trend(rconstant);ecdet=“none”包含不受约束的截距,对应trend(constant);ecdet=“trend”对应trend(rtrend)。ca.jo不提供Stata的trend(none)或trend(trend)。比较系数前还须统一协整向量的标准化。

vecrank

检验含不受约束截距的协整秩

Stata

vecrank y x, lags(2) trend(constant)

R 包:urca

urca::ca.jo(Y, type = "trace", ecdet = "none", K = 2, spec = "transitory")

与 Stata 有差异 urca的ecdet=“const”对应Stata的trend(rconstant);ecdet=“none”包含不受约束的截距,对应trend(constant);ecdet=“trend”对应trend(rtrend)。ca.jo不提供Stata的trend(none)或trend(trend)。比较系数前还须统一协整向量的标准化。

检验含受约束常数项的协整秩

Stata

vecrank y x, lags(2) trend(rconstant)

R 包:urca

urca::ca.jo(Y, type = "trace", ecdet = "const", K = 2, spec = "transitory")

与 Stata 有差异 urca的ecdet=“const”对应Stata的trend(rconstant);ecdet=“none”包含不受约束的截距,对应trend(constant);ecdet=“trend”对应trend(rtrend)。ca.jo不提供Stata的trend(none)或trend(trend)。比较系数前还须统一协整向量的标准化。

检验含受约束常数项的协整秩

Stata

vecrank y x, lags(2) trend(rconstant) max

R 包:urca

urca::ca.jo(Y, type = "eigen", ecdet = "const", K = 2, spec = "transitory")

与 Stata 有差异 urca的ecdet=“const”对应Stata的trend(rconstant);ecdet=“none”包含不受约束的截距,对应trend(constant);ecdet=“trend”对应trend(rtrend)。ca.jo不提供Stata的trend(none)或trend(trend)。比较系数前还须统一协整向量的标准化。

检验含受约束趋势项的协整秩

Stata

vecrank y x, lags(2) trend(rtrend)

R 包:urca

urca::ca.jo(Y, type = "trace", ecdet = "trend", K = 2, spec = "transitory")

与 Stata 有差异 urca的ecdet=“const”对应Stata的trend(rconstant);ecdet=“none”包含不受约束的截距,对应trend(constant);ecdet=“trend”对应trend(rtrend)。ca.jo不提供Stata的trend(none)或trend(trend)。比较系数前还须统一协整向量的标准化。

检验含受约束趋势项的协整秩

Stata

vecrank y x, lags(2) trend(rtrend) max

R 包:urca

urca::ca.jo(Y, type = "eigen", ecdet = "trend", K = 2, spec = "transitory")

与 Stata 有差异 urca的ecdet=“const”对应Stata的trend(rconstant);ecdet=“none”包含不受约束的截距,对应trend(constant);ecdet=“trend”对应trend(rtrend)。ca.jo不提供Stata的trend(none)或trend(trend)。比较系数前还须统一协整向量的标准化。

另有 1 个示例及替代实现

检验含不受约束截距的协整秩

Stata

vecrank y x, lags(2) trend(constant) max

R 包:urca

urca::ca.jo(Y, type = "eigen", ecdet = "none", K = 2, spec = "transitory")

与 Stata 有差异 urca的ecdet=“const”对应Stata的trend(rconstant);ecdet=“none”包含不受约束的截距,对应trend(constant);ecdet=“trend”对应trend(rtrend)。ca.jo不提供Stata的trend(none)或trend(trend)。比较系数前还须统一协整向量的标准化。

wntestq

AR(1)残差的Ljung-Box检验

Stata

predict e, residuals
wntestq e, lags(8)

R 包:stats

stats::Box.test(stats::residuals(fit), lag = 8, type = "Ljung-Box", fitdf = 1)

与 Stata 有差异 固定流程;请明确调整示例列名。R明确从参考自由度中扣除所估计的AR参数。

Ljung-Box 序列相关联合检验

Stata

wntestq y, lags(8)

R 包:stats

stats::Box.test(y, lag = 8, type = "Ljung-Box")

与 Stata 有差异 固定流程;请明确调整示例列名。检验拟合模型残差时应指定fitdf。

xcorr

正负滞后的互相关

Stata

xcorr y x, lags(8)

R 包:stats

stats::ccf(y, x, lag.max = 8, plot = FALSE)

与 Stata 有差异 固定流程;请明确调整示例列名。解释领先或滞后方向前须核对滞后符号约定。