This function performs the Pesaran t Bound test
Arguments
- kardl_model
An object of class
kardl_lmproduced bykardlor an object of classkardl_longrunproduced bykardl_longrun.- case
Numeric or character. Specifies the case of the test to be used in the function. Acceptable values are 1, 2, 3, 4, 5, and "auto". If "auto" is chosen, the function determines the case automatically based on the model's characteristics. Invalid values will result in an error.
1: No intercept and no trend2: Restricted intercept and no trend3: Unrestricted intercept and no trend4: Unrestricted intercept and restricted trend5: Unrestricted intercept and unrestricted trend
- signif_level
Character or numeric. Specifies the significance level to be used in the function. Acceptable values are "auto", "0.10", "0.1", "0.05", "0.025", and "0.01". If a numeric value is provided, it will be converted to a character string. When
"auto"is selected, the function determines the significance level sequentially, starting from the most stringent level ("0.01") and proceeding to"0.025","0.05", and"0.10"until a suitable level is identified. Invalid values will result in an error.- vcov
A variance-covariance matrix to be used for the test. If not provided, the default variance-covariance matrix from the model will be used.
- ...
Additional arguments.
Value
The function returns an object of class "htest" containing the following components:
- statistic
The calculated t-statistic for the test.
- method
A description of the test performed.
- data.name
The name of the data used in the test.
- k
The number of independent variables in the model.
- notes
Any notes or warnings related to the test results, such as sample size considerations or adjustments made to the case based on model characteristics.
- sig
The significance level used for the test, either specified by the user or determined automatically.
- alternative
The alternative hypothesis being tested.
- case
The case used for the test, either specified by the user or determined automatically based on the model's characteristics.
Details
This function performs the Pesaran, Shin, and Smith (PSS) t Bound test, which is used to detect the existence of a long-term relationship (cointegration) between variables in an autoregressive distributed lag (ARDL) model. The t Bound test specifically focuses on the significance of the coefficient of the lagged dependent variable, helping to assess whether the variable reverts to its long-term equilibrium after short-term deviations. The test provides critical values for both upper and lower bounds. If the t-statistic falls within the appropriate range, it confirms the presence of cointegration. This test is particularly useful when working with datasets containing both stationary and non-stationary variables.
Hypothesis testing
The PSS t Bound test evaluates the null hypothesis that the long-run coefficients of the model are equal to zero against the alternative hypothesis that at least one of them is non-zero. The test is conducted under different cases, depending on the model specification.
$$ \Delta {y}_t = \psi + \varphi t + \eta _0 {y}_{t-1} + \sum_{i=1}^{k} { \eta _i {x}_{i,t-1} } + \sum_{j=1}^{p} { \gamma_{j} \Delta {y}_{t-j} }+ \sum_{i=1}^{k} {\sum_{j=0}^{q_i} { \beta_{ij} \Delta {x}_{i,t-j} } }+ e_t $$
$$\mathbf{H_{0}:} \eta_0 = 0$$ $$\mathbf{H_{1}:} \eta_{0} \neq 0$$
References
Pesaran, M. H., Shin, Y. and Smith, R. (2001), "Bounds Testing Approaches to the Analysis of Level Relationship", Journal of Applied Econometrics, 16(3), 289-326.
Examples
kardl_model<-kardl(
DriversKilled~PetrolPrice+drivers+asym(PetrolPrice)+
deterministic(law)+trend,
Seatbelts,
mode=c(1,2,3,0))
my_test<-psst(kardl_model)
# Getting the results of the test.
my_test
#>
#> Pesaran-Shin-Smith (PSS) Bounds t-test for cointegration
#>
#> data: model
#> t = -12.553
#> alternative hypothesis: Cointegrating relationship exists
#>
# Getting details of the test.
my_summary<-summary(my_test)
my_summary
#> KARDL Cointegration Test Summary
#>
#> Pesaran-Shin-Smith (PSS) Bounds t-test for cointegration
#>
#> t statistic = -12.5530733
#>
#> Critical Values (Lower & Upper Bounds):
#> L U
#> 10% -3.13 -3.84
#> 5% -3.41 -4.16
#> 2.5% -3.65 -4.42
#> 1% -3.96 -4.73
#>
#> Decision:
#> Reject H0 → Cointegration (at 1% level)
#>
#> Comparison:
#> At the 1% significance level, t (12.5530733) exceeds the upper bound (4.73).
#> This indicates that the variables tend to move together over time.
#> Conclusion: There is strong evidence of a long-run relationship (cointegration).
#>
#> Hypotheses:
#> H0: Coef(L1.DriversKilled) = 0
#> H1: Coef(L1.DriversKilled) ≠ 0
#>
#> Model Details:
#> Number of regressors (k): 3
#> Case: V
# Getting the critical values of the test.
kardl_extract(my_summary, what = "critical_values")
#> L U
#> 0.10 -3.13 -3.84
#> 0.05 -3.41 -4.16
#> 0.025 -3.65 -4.42
#> 0.01 -3.96 -4.73
# Using a robust variance-covariance matrix for the test:
if (requireNamespace("sandwich", quietly = TRUE)) {
vcov_matrix <- sandwich::vcovHC(kardl_model)
my_test_robust <- psst(kardl_model,
case = 1,
signif_level =0.01,
vcov = vcov_matrix)
my_test_robust
}
#>
#> Pesaran-Shin-Smith (PSS) Bounds t-test for cointegration
#>
#> data: model
#> t = -12.442
#> alternative hypothesis: Cointegrating relationship exists
#>
# Using magrittr :
library(magrittr)
Seatbelts %>%
kardl(
DriversKilled ~ PetrolPrice + drivers + asym(PetrolPrice) +
deterministic(law) + trend,
mode = c(1, 2, 3, 0), data = .
) %>%
psst()
#>
#> Pesaran-Shin-Smith (PSS) Bounds t-test for cointegration
#>
#> data: model
#> t = -12.553
#> alternative hypothesis: Cointegrating relationship exists
#>
# Getting details of the test results using magrittr:
Seatbelts %>%
kardl(
DriversKilled ~ PetrolPrice + drivers + asym(PetrolPrice) +
deterministic(law) + trend,
mode = c(1, 2, 3, 0), data = .
) %>%
psst() %>%
summary()
#> KARDL Cointegration Test Summary
#>
#> Pesaran-Shin-Smith (PSS) Bounds t-test for cointegration
#>
#> t statistic = -12.5530733
#>
#> Critical Values (Lower & Upper Bounds):
#> L U
#> 10% -3.13 -3.84
#> 5% -3.41 -4.16
#> 2.5% -3.65 -4.42
#> 1% -3.96 -4.73
#>
#> Decision:
#> Reject H0 → Cointegration (at 1% level)
#>
#> Comparison:
#> At the 1% significance level, t (12.5530733) exceeds the upper bound (4.73).
#> This indicates that the variables tend to move together over time.
#> Conclusion: There is strong evidence of a long-run relationship (cointegration).
#>
#> Hypotheses:
#> H0: Coef(L1.DriversKilled) = 0
#> H1: Coef(L1.DriversKilled) ≠ 0
#>
#> Model Details:
#> Number of regressors (k): 3
#> Case: V