8.5 Both process- and observation-error

Here is an example where we have both process and observation error but the covariates only affect the process: \[\begin{equation} \begin{gathered} \mathbf{x}_t = \mathbf{B}\mathbf{x}_{t-1} + \mathbf{C}_t\mathbf{c}_t + \mathbf{w}_t, \text{ where } \mathbf{w}_t \sim \text{MVN}(0,\mathbf{Q})\\ \mathbf{y}_t = \mathbf{x}_{t-1} + \mathbf{v}_t, \text{ where } \mathbf{v}_t \sim \text{MVN}(0,\mathbf{R}), \end{gathered} \tag{8.5} \end{equation}\] \(\mathbf{x}\) is the true algae abundances and \(\mathbf{y}\) is the observation of the \(\mathbf{x}\)’s.

Let’s say we knew that the observation variance on the algae measurements was about 0.16 and we wanted to include that known value in the model. To do that, we can simply add \(\mathbf{R}\) to the model list from the process-error only model in the last example.

D <- d <- A <- U <- "zero"
Z <- "identity"
B <- "diagonal and unequal"
Q <- "equalvarcov"
C <- "unconstrained"
c <- covariates
R <- diag(0.16, 2)
x0 <- "unequal"
tinitx <- 1
model.list <- list(B = B, U = U, Q = Q, Z = Z, A = A, R = R, 
    D = D, d = d, C = C, c = c, x0 = x0, tinitx = tinitx)
kem <- MARSS(dat, model = model.list)
Success! abstol and log-log tests passed at 36 iterations.
Alert: conv.test.slope.tol is 0.5.
Test with smaller values (<0.1) to ensure convergence.

MARSS fit is
Estimation method: kem 
Convergence test: conv.test.slope.tol = 0.5, abstol = 0.001
Estimation converged in 36 iterations. 
Log-likelihood: -240.3694 
AIC: 500.7389   AICc: 501.7815   
 
                              Estimate
B.(X.Greens,X.Greens)          0.30848
B.(X.Bluegreens,X.Bluegreens)  0.76101
Q.diag                         0.33923
Q.offdiag                     -0.00411
x0.X.Greens                   -0.52614
x0.X.Bluegreens               -0.32836
C.(X.Greens,Temp)              0.23790
C.(X.Bluegreens,Temp)          0.16991
C.(X.Greens,TP)                0.02505
C.(X.Bluegreens,TP)            0.14183
Initial states (x0) defined at t=1

Standard errors have not been calculated. 
Use MARSSparamCIs to compute CIs and bias estimates.

Note, our estimates of the effect of temperature and total phosphorous are not that different than what you get from a simple multiple regression (our first example). This might be because the autoregressive component is small, meaning the estimated diagonals on the \(\mathbf{B}\) matrix are small.

Here is an example where we have both process and observation error but the covariates only affect the observation process: \[\begin{equation} \begin{gathered} \mathbf{x}_t = \mathbf{B}\mathbf{x}_{t-1} + \mathbf{w}_t, \text{ where } \mathbf{w}_t \sim \text{MVN}(0,\mathbf{Q})\\ \mathbf{y}_t = \mathbf{x}_{t-1} + \mathbf{D}\mathbf{d}_t + \mathbf{v}_t, \text{ where } \mathbf{v}_t \sim \text{MVN}(0,\mathbf{R}), \end{gathered} \tag{8.6} \end{equation}\] \(\mathbf{x}\) is the true algae abundances and \(\mathbf{y}\) is the observation of the \(\mathbf{x}\)’s.

C <- c <- A <- U <- "zero"
Z <- "identity"
B <- "diagonal and unequal"
Q <- "equalvarcov"
D <- "unconstrained"
d <- covariates
R <- diag(0.16, 2)
x0 <- "unequal"
tinitx <- 1
model.list <- list(B = B, U = U, Q = Q, Z = Z, A = A, R = R, 
    D = D, d = d, C = C, c = c, x0 = x0, tinitx = tinitx)
kem <- MARSS(dat, model = model.list)
Success! abstol and log-log tests passed at 45 iterations.
Alert: conv.test.slope.tol is 0.5.
Test with smaller values (<0.1) to ensure convergence.

MARSS fit is
Estimation method: kem 
Convergence test: conv.test.slope.tol = 0.5, abstol = 0.001
Estimation converged in 45 iterations. 
Log-likelihood: -239.5879 
AIC: 499.1759   AICc: 500.2185   
 
                              Estimate
B.(X.Greens,X.Greens)            0.428
B.(X.Bluegreens,X.Bluegreens)    0.859
Q.diag                           0.314
Q.offdiag                       -0.030
x0.X.Greens                     -0.121
x0.X.Bluegreens                 -0.119
D.(Greens,Temp)                  0.373
D.(Bluegreens,Temp)              0.276
D.(Greens,TP)                    0.042
D.(Bluegreens,TP)                0.115
Initial states (x0) defined at t=1

Standard errors have not been calculated. 
Use MARSSparamCIs to compute CIs and bias estimates.