Maybe you can help me to order some thoughts: I am not sure if Discourse is the right tool/format, but I am happy for any feedback. In Bridge (GitHub - mschauer/Bridge.jl: A statistical toolbox for diffusion processes and stochastic differential equations. Named after the Brownian Bridge.) I am using a set of idiosyncratic structures as container for sample paths of continuous time random curves measured at discrete times. Think for example of Brownian motions at time points tt[1]
, tt[2]
, etc. I need a structure both as container for measurements and container for the output of random samplers. For my needs time can be a Float64
valued abstract array. I currently use
struct SamplePath{T} <: AbstractPath{T}
tt::Vector{Float64} # I should not have forced a Vector here...
yy::Vector{T}
end
But then the actual meaning changes a bit depending on context. For example tt
can be the times where the process is at a known location, and between those times nothing is known, but in other settings I think of the path as piecewise linear or piecewise constant trajectory, with jumps at times tt
. T
is often Float64
, or SArray
s, or even a Gaussian
struct containing SVector
and SMatrix
characterising location and uncertainty. When I work with higher dimensional data this is not the most convenient and I have also
struct VSamplePath{T} <: Bridge.AbstractPath{T}
tt::Vector{Float64}
yy::Matrix{T}
end
and VSamplePath
and SamplePath
can often be handled together using EllipsisNotation.jl
.
I’d like to put some order structure into this, but do not yet see the light and most time series packages seem to put emphasis on handling object indexed by actual times.