mix_moment {mixAR} | R Documentation |
Conditional moments of MixAR models
Description
Conditional moments of MixAR models.
Usage
mix_location(model, x, index, xcond)
mix_variance(model, x, index, xcond)
mix_central_moment(model, x, index, xcond, k)
mix_moment(model, x, index, xcond, k)
mix_kurtosis(...)
mix_ekurtosis(...)
Arguments
model |
a MixAR object. |
x |
a time series. |
index |
a vector of indices in |
xcond |
a time series, the point prediction is computed for the
first value after the end of the time series. Only the last
|
k |
a positive integer specifying the moment to compute. |
... |
passed on to |
Details
These functions compute conditional moments and related quantities.
kurtosis
and ekurtosis
compute conditional kurtosis and
excess kurtosis, respectively. Effectively, they have the same
parameters as mix_central_moment
, since they pass "..."
to it along with k = 4
. It is an error to supply argument
k
to the kurtosis functions.
Value
when called with one argument (model
), a function with argument xcond
;
otherwise if xcond
is not missing, a single numeric value;
otherwise a vector of length length(index)
.
Note
I wrote the above description recently from reading six years old code, it may need further verification.
Author(s)
Georgi N. Boshnakov
References
Boshnakov GN (2009). “Analytic expressions for predictive distributions in mixture autoregressive models.” Stat. Probab. Lett. , 79(15), 1704-1709. doi:10.1016/j.spl.2009.04.009.
See Also
mix_pdf
, mix_cdf
, mix_qf
for the predictive distributions (pdf, cdf, quantiles);
Examples
## data(ibmclose, package = "fma") # `ibmclose'
ibmclose <- as.numeric(fma::ibmclose)
length(ibmclose) # 369
max(exampleModels$WL_ibm@order) # 2
## compute point predictions for t = 3,...,369
pred <- mix_location(exampleModels$WL_ibm, ibmclose)
plot(pred)
## compute one-step point predictions for t = 360,...369
mix_location(exampleModels$WL_ibm, ibmclose, index = 369 - 9:0 )
f <- mix_location(exampleModels$WL_ibm) # a function
## predict the value after the last
f(ibmclose)
## a different way to compute one-step point predictions for t = 360,...369
sapply(369 - 10:1, function(k) f(ibmclose[1:k]))
## the results are the same, but notice that xcond gives past values
## while index above specifies the times for which to compute the predictions.
identical(sapply(369 - 10:1, function(k) f(ibmclose[1:k])),
mix_location(exampleModels$WL_ibm, ibmclose, index = 369 - 9:0 ))
## conditional variance
f <- mix_variance(exampleModels$WL_ibm) # a function
## predict the value after the last
f(ibmclose)
## a different way to compute one-step point predictions for t = 360,...369
sapply(369 - 10:1, function(k) f(ibmclose[1:k]))
## the results are the same, but notice that xcond gives past values
## while index above specifies the times for which to compute the predictions.
identical(sapply(369 - 10:1, function(k) f(ibmclose[1:k])),
mix_variance(exampleModels$WL_ibm, ibmclose, index = 369 - 9:0 ))
# interesting example
# bimodal distribution, low kurtosis, 4th moment not much larger than 2nd
moWL <- exampleModels$WL_ibm
mix_location(moWL,xcond = c(500,450))
mix_kurtosis(moWL,xcond = c(500,450))
f1pdf <- mix_pdf(moWL,xcond = c(500,450))
f1cdf <- mix_cdf(moWL,xcond = c(500,450))
gbutils::plotpdf(f1pdf,cdf=f1cdf)
gbutils::plotpdf(f1cdf,cdf=f1cdf)
f1cdf(c(400,480))
mix_variance(moWL,xcond = c(500,450))
mix_central_moment(moWL,xcond = c(500,450), k=2)
sqrt(mix_variance(moWL,xcond = c(500,450)))
sqrt(mix_central_moment(moWL,xcond = c(500,450), k=2))