Welcome to the kDGLM
GitHub repository!
kDGLM
is an innovative R package tailored for Bayesian
analysis of Generalized Dynamic Linear Models (GDLM), catering to both
uni- and multivariate exponential families. This package is your go-to
tool for sequential inference on time series data, offering a broad
spectrum of functionalities including fitting, smoothing, monitoring,
and feed-forward interventions.
Developed based on the methodology proposed in Alves et al.(2024),
kDGLM
integrates seamlessly with established techniques in
the literature, particularly those applied in Gaussian Dynamic Models.
It supports various features such as discount strategies, autoregressive
components, transfer functions, and more, leveraging the Kalman filter
and smoothing properties for exceptional computational efficiency. With
kDGLM, you can expect almost instantaneous fitting times that scale
linearly with your time series length, making it an invaluable tool for
analyzing extended time series datasets.
Currently, kDGLM
supports a variety of distributions,
including:
Furthermore, kDGLM
allows for the joint modeling of
multiple time series, provided each series adheres to one of the
supported distributions. Our ongoing development efforts are focused on
continuously expanding the range of supported distributions to enhance
the package’s versatility.
Whether you are analyzing time series data for research, business
intelligence, or any other purpose, kDGLM
offers a
powerful, efficient, and comprehensive solution for your needs. Explore
our documentation to get started and join the community of users
benefiting from the advanced capabilities of kDGLM
!
Before installing kDGLM, ensure you have the following dependencies installed in your R environment:
extraDistr
>= 1.9.1cubature
>= 2.1.0Rfast
>= 2.0.8generics
>= 0.1.3Additionally, for an enhanced plotting experience, we recommend
installing the ggplot2
and plotly
packages,
which augment the built-in plot methods provided by
kDGLM
.
As of now, kDGLM
is available directly from its GitHub
repository. While we are in the process of submitting kDGLM
to CRAN, you can install the latest version of the package by executing
the following command in your R console:
::install_github('silvaneojunior/kDGLM') remotes
This command uses the remotes package to install kDGLM. If you do not have remotes installed, you can install it first by running install.packages(“remotes”).
After installation, load kDGLM
into your R session:
library(kDGLM)
To test if the package is working properly, execute the following code exemple:
# Poisson case
<- c(AirPassengers)
data
<- polynomial_block(rate = 1, order = 2, D = 0.95)
level <- harmonic_block(rate = 1, order = 2, period = 12, D = 0.975)
season
<- Poisson(lambda = "rate", data = data)
outcome
<- fit(level, season,
fitted.data AirPassengers = outcome
)summary(fitted.data)
plot(fitted.data, plot.pkg = "base")
Refer to the vignettes for
detailed usage instructions. Also see the documentation of the
fit
method for basic examples for each type of outcome the
kDGLM
package offers.
We welcome contributions! If you’re interested in improving kDGLM, please consider submitting bug reports, feature requests, or pull requests.
For support or to provide feedback, please contact Silvaneo dos Santos Jr. or open an issue on the GitHub repository.