Sei sulla pagina 1di 3

source ("lstar_newmodel.

R")
data = read.table ("data.txt", header = TRUE)
x <-data $ cpi
y <-data $ rpi
z <-data $ m2
cpi.lstar <-lstar (x, m = 2, d = 1, thVar = z, control = list (maxit = 3000))
cpi.lstar
names (cpi.lstar)
# [1] "str" "coefficients" "fitted.values" "residuals" "k"
# [6] "model" "model.specific"
g = cpi.lstar $ coefficients [7]
th = cpi.lstar $ coefficients [8]
gfun <-function (y, g, th) 1 / (1 + exp (-g * (y-th)))
G = gfun (z, g, th)
par (mfrow = c (2,1))
plot (G, type = "l", col = "red")
plot (G, z)

######### Statistical Tests:


library (fGarch)
# Lagged Series:
.tslagGarch = function (x, k = 1) {
ans = NULL
for (i in k) ans = cbind (ans, .tslag1Garch (x, i))
indexes = (1: length (ans [, 1])) [! is.na (apply (ans, 1, sum))]
ans = ans [indexes,]
if (length (k) == 1) ans = as.vector (ans)
ans}
.tslag1Garch = function (x, k) {
c (rep (NA, times = k), x [1: (length (x)-k)])}
# Statistical Tests:
cat ("\ n Residuals Tests: \ n")
rs = cpi.lstar $ residuals
ans = NULL
# Normality Tests:
jbtest = jarqueberaTest (rs) @test
ans = rbind (ans, c (jbtest [1], jbtest [2]))
if (length (rs) <5000) {
swtest = shapiro.test (rs)
if (swtest [2] <2.6e-16) swtest [2] = 0
ans = rbind (ans, c (swtest [1], swtest [2]))
} else {
ans = rbind (ans, c (NA, NA))
}
# Ljung-Box Tests:
box10 = Box.test (rs, lag = 10, type = "Ljung-Box")
box15 = Box.test (rs, lag = 15, type = "Ljung-Box")
box20 = Box.test (rs, lag = 20, type = "Ljung-Box")
ans = rbind (ans, c (box10 [1], box10 [3]))
ans = rbind (ans, c (box15 [1], box15 [3]))
ans = rbind (ans, c (box20 [1], box20 [3]))
box10 = Box.test (rs ^ 2, lag = 10, type = "Ljung-Box")
box15 = Box.test (rs ^ 2, lag = 15, type = "Ljung-Box")
box20 = Box.test (rs ^ 2, lag = 20, type = "Ljung-Box")
ans = rbind (ans, c (box10 [1], box10 [3]))
ans = rbind (ans, c (box15 [1], box15 [3]))
ans = rbind (ans, c (box20 [1], box20 [3]))
# Ljung-Box Tests-tslag required
lag.n = 12
xs = as.matrix (rs) ^ 2
n = nrow (xs)
tmp.x = .tslagGarch (xs [, 1], 1: lag.n)
tmp.y = xs [(lag.n + 1): n, 1]
fit = lm (tmp.y ~ tmp.x)
stat = (n-lag.n) * summary.lm (fit) $ r.squared
ans = rbind (ans, c (stat, p.value = 1-pchisq (stat, lag.n)))
# Add Names:
rownames (ans) = c (
"Jarque-Bera Test R Chi ^ 2",
"Shapiro-Wilk Test R W",
"Ljung-Box Test R Q (10)",
"Ljung-Box Test R Q (15)",
"Ljung-Box Test R Q (20)",
"Ljung-Box Test R ^ 2 Q (10)",
"Ljung-Box Test R ^ 2 Q (15)",
"Ljung-Box Test R ^ 2 Q (20)",
"LM Arch Test R TR ^ 2")
colnames (ans) = c ("Statistic", "p-Value")
print (ans)
Statistic p-Value
Jarque-Bera Test R Chi ^ 2 3.021414 0.2207539
Shapiro-Wilk Test R W 0.9368604 0.2828191
Ljung-Box Test R Q (10) 8.92331 0.5393969
Ljung-Box Test R Q (15) 20.06886 0.1693071
Ljung-Box Test R Q (20) NA NA
Ljung-Box Test R ^ 2 Q (10) 2.390212 0.9923808
Ljung-Box Test R ^ 2 Q (15) 6.469093 0.970746
Ljung-Box Test R ^ 2 Q (20) NA NA
LM Arch Test R TR ^ 2 5 0.957979

Author: Southern Time: 2010-11-5 12:34:37

epoch is a very good teacher, thank you very much! Really a good teacher, just do
n’t know where he is now.
This article comes from: S-Plus & R Special Edition of the National

Potrebbero piacerti anche