R/get_pars_surf.R

Defines functions get_pars_surf

Documented in get_pars_surf

#' Load simulation parameters
#'
#' @export

get_pars_surf <- function(pars, baseline) {

    # Legend
    #   pars[1] = sample_size
    #   pars[2] = n_t
    #   pars[3] = n_dep
    #   pars[4] = noisiness
    #   pars[5] = overlapping
    #   pars[6] = iter
    #   pars[7] = burnin
    #   pars[8] = repetitions
    #   pars[9] = scenario_uid
    #   pars[10] = uid
    #   pars[11:17] = .Random.seed


    # Specify the correct gamma, emiss and eps_str
    if(baseline == TRUE) {
        gamma_sim <- matrix(c(0.9, 0.05, 0.05,
                              0.1, 0.7, 0.2,
                              0.2, 0.3, 0.5), ncol = 3, byrow = TRUE)

        gamma_var <- matrix(c(1.12, 1.12,
                              0.16, 0.16,
                              0.13, 0.13), nrow = 3, byrow = TRUE)

    } else {
        gamma_sim <- matrix(c(0.9, 0.05, 0.05,
                              0.1, 0.7, 0.2,
                              0.2, 0.3, 0.5), ncol = 3, byrow = TRUE)

        gamma_var <- matrix(c(1.12, 1.12,
                              0.16, 0.16,
                              0.13, 0.13), nrow = 3, byrow = TRUE)

        # gamma_sim <- matrix(c(0.96, 0.02, 0.02,
        #                       0.03, 0.94, 0.03,
        #                       0.04, 0.04, 0.92), ncol = 3, byrow = TRUE)
    }

    emiss_sim <- list("low" = list(matrix(c(0.95, 0.02, 0.01, 0.01, 0.01,
                                            0.02, 0.48, 0.48, 0.01, 0.01,
                                            0.02, 0.01, 0.01, 0.48, 0.48), nrow = 3, ncol = 5, byrow = T),

                                   matrix(c(0.02, 0.01, 0.01, 0.48, 0.48,
                                            0.95, 0.02, 0.01, 0.01, 0.01,
                                            0.02, 0.48, 0.48, 0.01, 0.01), nrow = 3, ncol = 5, byrow = T),

                                   matrix(c(0.02, 0.48, 0.48, 0.01, 0.01,
                                            0.02, 0.01, 0.01, 0.48, 0.48,
                                            0.95, 0.02, 0.01, 0.01, 0.01), nrow = 3, ncol = 5, byrow = T),

                                   matrix(c(0.02, 0.01, 0.48, 0.01, 0.48,
                                            0.95, 0.02, 0.01, 0.01, 0.01,
                                            0.02, 0.48, 0.01, 0.48, 0.01), nrow = 3, ncol = 5, byrow = T)),

                      "moderate" = list(matrix(c(0.95, 0.02, 0.01, 0.01, 0.01,
                                                 0.02, 0.48, 0.48, 0.01, 0.01,
                                                 0.02, 0.01, 0.48, 0.48, 0.01), nrow = 3, ncol = 5, byrow = T),

                                        matrix(c(0.02, 0.01, 0.01, 0.48, 0.48,
                                                 0.95, 0.02, 0.01, 0.01, 0.01,
                                                 0.02, 0.01, 0.48, 0.48, 0.01), nrow = 3, ncol = 5, byrow = T),

                                        matrix(c(0.02, 0.48, 0.01, 0.01, 0.48,
                                                 0.02, 0.01, 0.01, 0.48, 0.48,
                                                 0.95, 0.02, 0.01, 0.01, 0.01), nrow = 3, ncol = 5, byrow = T),

                                        matrix(c(0.02, 0.01, 0.48, 0.01, 0.48,
                                                 0.95, 0.02, 0.01, 0.01, 0.01,
                                                 0.02, 0.48, 0.01, 0.01, 0.48), nrow = 3, ncol = 5, byrow = T)),

                      "high" = list(matrix(c(0.02, 0.95, 0.01, 0.01, 0.01,
                                             0.02, 0.48, 0.48, 0.01, 0.01,
                                             0.02, 0.01, 0.48, 0.48, 0.01), nrow = 3, ncol = 5, byrow = T),

                                    matrix(c(0.02, 0.01, 0.01, 0.48, 0.48,
                                             0.02, 0.01, 0.01, 0.01, 0.95,
                                             0.02, 0.01, 0.48, 0.48, 0.01), nrow = 3, ncol = 5, byrow = T),

                                    matrix(c(0.02, 0.48, 0.01, 0.01, 0.48,
                                             0.02, 0.01, 0.01, 0.48, 0.48,
                                             0.02, 0.01, 0.01, 0.95, 0.01), nrow = 3, ncol = 5, byrow = T),

                                    matrix(c(0.02, 0.01, 0.48, 0.01, 0.48,
                                             0.02, 0.01, 0.95, 0.01, 0.01,
                                             0.02, 0.48, 0.01, 0.01, 0.48), nrow = 3, ncol = 5, byrow = T)))

    eps_str <- list("low" = list(matrix(c(-4*1, 1, 1, 1, 1,
                                          1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
                                          1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),

                                 matrix(c(1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
                                          -4*1, 1, 1, 1, 1,
                                          1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),

                                 matrix(c(1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
                                          1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
                                          -4*1, 1, 1, 1, 1), nrow = 3, ncol = 5, byrow = T),

                                 matrix(c(1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, -3/2*1/1.5,
                                          -4*1, 1, 1, 1, 1,
                                          1/1.5, -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T)),

                    "moderate" = list(matrix(c(-4*1, 1, 1, 1, 1,
                                               1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
                                               1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),

                                      matrix(c(1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
                                               -4*1, 1, 1, 1, 1,
                                               1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),

                                      matrix(c(1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5,
                                               1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
                                               -4*1, 1, 1, 1, 1), nrow = 3, ncol = 5, byrow = T),

                                      matrix(c(1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, -3/2*1/1.5,
                                               -4*1, 1, 1, 1, 1,
                                               1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T)),

                    "high" = list(matrix(c(1, -4*1, 1, 1, 1,
                                           1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
                                           1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),

                                  matrix(c(1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
                                           1, 1, 1, 1, -4*1,
                                           1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),

                                  matrix(c(1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5,
                                           1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
                                           1, 1, 1, -4*1, 1), nrow = 3, ncol = 5, byrow = T),

                                  matrix(c(1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, -3/2*1/1.5,
                                           1, 1, -4*1, 1, 1,
                                           1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T)))

    emiss_var <- list("low" = list("low" = list(matrix(c(1.01, 1.01, 1.01, 1.01,
                                                         0.11, 0.11, 0.11, 0.11,
                                                         0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T),

                                                matrix(c(0.11, 0.11, 0.11, 0.11,
                                                         1.01, 1.01, 1.01, 1.01,
                                                         0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T),

                                                matrix(c(0.11, 0.11, 0.11, 0.11,
                                                         0.11, 0.11, 0.11, 0.11,
                                                         1.01, 1.01, 1.01, 1.01), nrow = 3, ncol = 4, byrow = T),

                                                matrix(c(0.11, 0.11, 0.11, 0.11,
                                                         1.01, 1.01, 1.01, 1.01,
                                                         0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T)),

                                   "moderate" = list(matrix(c(0.60, 0.60, 0.60, 0.60,
                                                              0.14, 0.14, 0.14, 0.14,
                                                              0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T),

                                                     matrix(c(0.14, 0.14, 0.14, 0.14,
                                                              0.60, 0.60, 0.60, 0.60,
                                                              0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T),

                                                     matrix(c(0.14, 0.14, 0.14, 0.14,
                                                              0.14, 0.14, 0.14, 0.14,
                                                              0.60, 0.60, 0.60, 0.60), nrow = 3, ncol = 4, byrow = T),

                                                     matrix(c(0.14, 0.14, 0.14, 0.14,
                                                              0.60, 0.60, 0.60, 0.60,
                                                              0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T)),

                                   "high" = list(matrix(c(0.82, 0.82, 0.82, 0.82,
                                                          0.17, 0.17, 0.17, 0.17,
                                                          0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T),

                                                 matrix(c(0.17, 0.17, 0.17, 0.17,
                                                          0.82, 0.82, 0.82, 0.82,
                                                          0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T),

                                                 matrix(c(0.17, 0.17, 0.17, 0.17,
                                                          0.17, 0.17, 0.17, 0.17,
                                                          0.82, 0.82, 0.82, 0.82), nrow = 3, ncol = 4, byrow = T),

                                                 matrix(c(0.17, 0.17, 0.17, 0.17,
                                                          0.82, 0.82, 0.82, 0.82,
                                                          0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T))),


                      "moderate" = list("low" = list(matrix(c(1.01, 1.01, 1.01, 1.01,
                                                              0.11, 0.11, 0.11, 0.11,
                                                              0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T),

                                                     matrix(c(0.11, 0.11, 0.11, 0.11,
                                                              1.01, 1.01, 1.01, 1.01,
                                                              0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T),

                                                     matrix(c(0.11, 0.11, 0.11, 0.11,
                                                              0.11, 0.11, 0.11, 0.11,
                                                              1.01, 1.01, 1.01, 1.01), nrow = 3, ncol = 4, byrow = T),

                                                     matrix(c(0.11, 0.11, 0.11, 0.11,
                                                              1.01, 1.01, 1.01, 1.01,
                                                              0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T)),

                                        "moderate" = list(matrix(c(0.60, 0.60, 0.60, 0.60,
                                                                   0.14, 0.14, 0.14, 0.14,
                                                                   0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T),

                                                          matrix(c(0.14, 0.14, 0.14, 0.14,
                                                                   0.60, 0.60, 0.60, 0.60,
                                                                   0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T),

                                                          matrix(c(0.14, 0.14, 0.14, 0.14,
                                                                   0.14, 0.14, 0.14, 0.14,
                                                                   0.60, 0.60, 0.60, 0.60), nrow = 3, ncol = 4, byrow = T),

                                                          matrix(c(0.14, 0.14, 0.14, 0.14,
                                                                   0.60, 0.60, 0.60, 0.60,
                                                                   0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T)),

                                        "high" = list(matrix(c(0.82, 0.82, 0.82, 0.82,
                                                               0.17, 0.17, 0.17, 0.17,
                                                               0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T),

                                                      matrix(c(0.17, 0.17, 0.17, 0.17,
                                                               0.82, 0.82, 0.82, 0.82,
                                                               0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T),

                                                      matrix(c(0.17, 0.17, 0.17, 0.17,
                                                               0.17, 0.17, 0.17, 0.17,
                                                               0.82, 0.82, 0.82, 0.82), nrow = 3, ncol = 4, byrow = T),

                                                      matrix(c(0.17, 0.17, 0.17, 0.17,
                                                               0.82, 0.82, 0.82, 0.82,
                                                               0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T))),


                      "high" = list("low" = list(matrix(c(0.35, 0.35, 0.35, 0.35,
                                                          0.11, 0.11, 0.11, 0.11,
                                                          0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T),

                                                 matrix(c(0.11, 0.11, 0.11, 0.11,
                                                          0.35, 0.35, 0.35, 0.35,
                                                          0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T),

                                                 matrix(c(0.11, 0.11, 0.11, 0.11,
                                                          0.11, 0.11, 0.11, 0.11,
                                                          0.35, 0.35, 0.35, 0.35), nrow = 3, ncol = 4, byrow = T),

                                                 matrix(c(0.11, 0.11, 0.11, 0.11,
                                                          0.35, 0.35, 0.35, 0.35,
                                                          0.11, 0.11, 0.11, 0.11), nrow = 3, ncol = 4, byrow = T)),

                                    "moderate" = list(matrix(c(0.15, 0.15, 0.15, 0.15,
                                                               0.14, 0.14, 0.14, 0.14,
                                                               0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T),

                                                      matrix(c(0.14, 0.14, 0.14, 0.14,
                                                               0.15, 0.15, 0.15, 0.15,
                                                               0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T),

                                                      matrix(c(0.14, 0.14, 0.14, 0.14,
                                                               0.14, 0.14, 0.14, 0.14,
                                                               0.15, 0.15, 0.15, 0.15), nrow = 3, ncol = 4, byrow = T),

                                                      matrix(c(0.14, 0.14, 0.14, 0.14,
                                                               0.15, 0.15, 0.15, 0.15,
                                                               0.14, 0.14, 0.14, 0.14), nrow = 3, ncol = 4, byrow = T)),

                                    "high" = list(matrix(c(0.18, 0.18, 0.18, 0.18,
                                                           0.17, 0.17, 0.17, 0.17,
                                                           0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T),

                                                  matrix(c(0.17, 0.17, 0.17, 0.17,
                                                           0.18, 0.18, 0.18, 0.18,
                                                           0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T),

                                                  matrix(c(0.17, 0.17, 0.17, 0.17,
                                                           0.17, 0.17, 0.17, 0.17,
                                                           0.18, 0.18, 0.18, 0.18), nrow = 3, ncol = 4, byrow = T),

                                                  matrix(c(0.17, 0.17, 0.17, 0.17,
                                                           0.18, 0.18, 0.18, 0.18,
                                                           0.17, 0.17, 0.17, 0.17), nrow = 3, ncol = 4, byrow = T))))

    # emiss_sim <- list("low" = list(matrix(c(0.96, 0.01, 0.01, 0.01, 0.01,
    #                                         0.02, 0.47, 0.47, 0.02, 0.02,
    #                                         0.02, 0.02, 0.02, 0.47, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                matrix(c(0.02, 0.47, 0.47, 0.02, 0.02,
    #                                         0.96, 0.01, 0.01, 0.01, 0.01,
    #                                         0.02, 0.02, 0.02, 0.47, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                matrix(c(0.01, 0.96, 0.01, 0.01, 0.01,
    #                                         0.47, 0.02, 0.47, 0.02, 0.02,
    #                                         0.02, 0.02, 0.02, 0.47, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                matrix(c(0.47, 0.02, 0.47, 0.02, 0.02,
    #                                         0.02, 0.02, 0.02, 0.47, 0.47,
    #                                         0.01, 0.96, 0.01, 0.01, 0.01), nrow = 3, ncol = 5, byrow = T),
    #
    #                                matrix(c(0.01, 0.01, 0.96, 0.01, 0.01,
    #                                         0.47, 0.47, 0.02, 0.02, 0.02,
    #                                         0.02, 0.02, 0.02, 0.47, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                matrix(c(0.01, 0.01, 0.01, 0.96, 0.01,
    #                                         0.02, 0.47, 0.47, 0.02, 0.02,
    #                                         0.47, 0.02, 0.02, 0.02, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                matrix(c(0.02, 0.47, 0.47, 0.02, 0.02,
    #                                         0.47, 0.02, 0.02, 0.02, 0.47,
    #                                         0.01, 0.01, 0.01, 0.96, 0.01), nrow = 3, ncol = 5, byrow = T),
    #
    #                                matrix(c(0.01, 0.01, 0.01, 0.01, 0.96,
    #                                         0.02, 0.47, 0.47, 0.02, 0.02,
    #                                         0.47, 0.02, 0.02, 0.47, 0.02), nrow = 3, ncol = 5, byrow = T)),
    #
    #                   "moderate" = list(matrix(c(0.96, 0.01, 0.01, 0.01, 0.01,
    #                                              0.02, 0.47, 0.47, 0.02, 0.02,
    #                                              0.02, 0.02, 0.47, 0.47, 0.02), nrow = 3, ncol = 5, byrow = T),
    #
    #                                     matrix(c(0.02, 0.47, 0.47, 0.02, 0.02,
    #                                              0.96, 0.01, 0.01, 0.01, 0.01,
    #                                              0.02, 0.47, 0.02, 0.02, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                     matrix(c(0.01, 0.96, 0.01, 0.01, 0.01,
    #                                              0.47, 0.02, 0.47, 0.02, 0.02,
    #                                              0.02, 0.47, 0.02, 0.02, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                     matrix(c(0.47, 0.02, 0.02, 0.02, 0.47,
    #                                              0.02, 0.02, 0.02, 0.47, 0.47,
    #                                              0.01, 0.96, 0.01, 0.01, 0.01), nrow = 3, ncol = 5, byrow = T),
    #
    #                                     matrix(c(0.01, 0.01, 0.96, 0.01, 0.01,
    #                                              0.47, 0.02, 0.47, 0.02, 0.02,
    #                                              0.02, 0.47, 0.02, 0.02, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                     matrix(c(0.01, 0.01, 0.01, 0.96, 0.01,
    #                                              0.02, 0.47, 0.02, 0.02, 0.47,
    #                                              0.47, 0.02, 0.02, 0.02, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                     matrix(c(0.47, 0.47, 0.02, 0.02, 0.02,
    #                                              0.47, 0.02, 0.02, 0.47, 0.02,
    #                                              0.01, 0.01, 0.01, 0.01, 0.96), nrow = 3, ncol = 5, byrow = T),
    #
    #                                     matrix(c(0.02, 0.47, 0.47, 0.02, 0.02,
    #                                              0.01, 0.01, 0.01, 0.01, 0.96,
    #                                              0.47, 0.02, 0.02, 0.02, 0.47), nrow = 3, ncol = 5, byrow = T)),
    #
    #                   "high" = list(matrix(c(0.01, 0.96, 0.01, 0.01, 0.01,
    #                                          0.02, 0.47, 0.47, 0.02, 0.02,
    #                                          0.02, 0.47, 0.47, 0.02, 0.02), nrow = 3, ncol = 5, byrow = T),
    #
    #                                 matrix(c(0.02, 0.47, 0.02, 0.02, 0.47,
    #                                          0.01, 0.01, 0.01, 0.01, 0.96,
    #                                          0.02, 0.47, 0.02, 0.02, 0.47), nrow = 3, ncol = 5, byrow = T),
    #
    #                                 matrix(c(0.01, 0.01, 0.96, 0.01, 0.01,
    #                                          0.47, 0.02, 0.47, 0.02, 0.02,
    #                                          0.47, 0.02, 0.47, 0.02, 0.02), nrow = 3, ncol = 5, byrow = T),
    #
    #                                 matrix(c(0.02, 0.02, 0.02, 0.47, 0.47,
    #                                          0.02, 0.02, 0.02, 0.47, 0.47,
    #                                          0.01, 0.01, 0.01, 0.96, 0.01), nrow = 3, ncol = 5, byrow = T),
    #
    #                                 matrix(c(0.02, 0.47, 0.02, 0.47, 0.02,
    #                                          0.01, 0.01, 0.01, 0.96, 0.01,
    #                                          0.02, 0.47, 0.02, 0.47, 0.02), nrow = 3, ncol = 5, byrow = T),
    #
    #                                 matrix(c(0.47, 0.02, 0.47, 0.02, 0.02,
    #                                          0.47, 0.02, 0.47, 0.02, 0.02,
    #                                          0.96, 0.01, 0.01, 0.01, 0.01), nrow = 3, ncol = 5, byrow = T),
    #
    #                                 matrix(c(0.47, 0.47, 0.02, 0.02, 0.02,
    #                                          0.47, 0.47, 0.02, 0.02, 0.02,
    #                                          0.01, 0.96, 0.01, 0.01, 0.01), nrow = 3, ncol = 5, byrow = T),
    #
    #                                 matrix(c(0.47, 0.02, 0.47, 0.02, 0.02,
    #                                          0.01, 0.01, 0.96, 0.01, 0.01,
    #                                          0.47, 0.02, 0.47, 0.02, 0.02), nrow = 3, ncol = 5, byrow = T)))
    #
    # eps_str <- list("low" = list(matrix(c(-4*1, 1, 1, 1, 1,
    #                                       1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                       1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                              matrix(c(1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                       -4*1, 1, 1, 1, 1,
    #                                       1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                              matrix(c(1, -4*1, 1, 1, 1,
    #                                       -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                       1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                              matrix(c(-3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                       1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
    #                                       1, -4*1, 1, 1, 1), nrow = 3, ncol = 5, byrow = T),
    #
    #                              matrix(c(1, 1, -4*1, 1, 1,
    #                                       -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5,
    #                                       1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                              matrix(c(1, 1, 1, -4*1, 1,
    #                                       1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                       -3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                              matrix(c(1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                       -3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5,
    #                                       1, 1, 1, -4*1, 1), nrow = 3, ncol = 5, byrow = T),
    #
    #                              matrix(c(1, 1, 1, 1, -4*1,
    #                                       1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                       -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T)),
    #
    #                 "moderate" = list(matrix(c(-4*1, 1, 1, 1, 1,
    #                                            1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                            1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                                   matrix(c(1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                            -4*1, 1, 1, 1, 1,
    #                                            1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                                   matrix(c(1, -4*1, 1, 1, 1,
    #                                            -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                            1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                                   matrix(c(-3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5,
    #                                            1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
    #                                            1, -4*1, 1, 1, 1), nrow = 3, ncol = 5, byrow = T),
    #
    #                                   matrix(c(1, 1, -4*1, 1, 1,
    #                                            -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                            1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                                   matrix(c(1, 1, 1, -4*1, 1,
    #                                            1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5,
    #                                            -3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                                   matrix(c(-3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5,
    #                                            -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5,
    #                                            1, 1, 1, 1, -4*1), nrow = 3, ncol = 5, byrow = T),
    #
    #                                   matrix(c(1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                            1, 1, 1, 1, -4*1,
    #                                            -3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T)),
    #
    #                 "high" = list(matrix(c(1, -4*1, 1, 1, 1,
    #                                        1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                        1/1.5, -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                               matrix(c(1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5,
    #                                        1, 1, 1, 1, -4*1,
    #                                        1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                               matrix(c(1, 1, -4*1, 1, 1,
    #                                        -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                        -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                               matrix(c(1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
    #                                        1/1.5, 1/1.5, 1/1.5, -3/2*1/1.5, -3/2*1/1.5,
    #                                        1, 1, 1, -4*1, 1), nrow = 3, ncol = 5, byrow = T),
    #
    #                               matrix(c(1/1.5, -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5,
    #                                        1, 1, 1, -4*1, 1,
    #                                        1/1.5, -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T),
    #
    #                               matrix(c(-3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                        -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                        -4*1, 1, 1, 1, 1), nrow = 3, ncol = 5, byrow = T),
    #
    #                               matrix(c(-3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5,
    #                                        -3/2*1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5, 1/1.5,
    #                                        1, -4*1, 1, 1, 1), nrow = 3, ncol = 5, byrow = T),
    #
    #                               matrix(c(-3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5,
    #                                        1, 1, -4*1, 1, 1,
    #                                        -3/2*1/1.5, 1/1.5, -3/2*1/1.5, 1/1.5, 1/1.5), nrow = 3, ncol = 5, byrow = T)))

    # Set the correct ones
    emiss_sim <- emiss_sim[[as.character(pars[5])]]
    eps_str <- eps_str[[as.character(pars[5])]]

    # Set emission distribution with noisiness
    eps <- as.numeric(pars[4])
    emiss_sim <- lapply(seq_along(emiss_sim),function(e, emiss_sim, eps_str, eps) {emiss_sim[[e]] + eps_str[[e]]*eps}, emiss_sim, eps_str, eps)

    # Set marker for noisiness
    if(as.numeric(pars[4]) == 0.03){
        noise <- "low"
    } else if(as.numeric(pars[4]) == 0.09){
        noise <- "moderate"
    } else if(as.numeric(pars[4]) == 0.15){
        noise <- "high"
    }

    # Return model parameters
    return(list(sample_size  = as.numeric(pars[1]),
                n_t          = as.numeric(pars[2]),
                m            = 3,
                n_dep        = as.numeric(pars[3]),
                q_emiss      = rep(5, as.numeric(pars[3])),
                # gamma_var    = 1,
                # emiss_var    = rep(1, as.numeric(pars[3])),
                gamma_var    = gamma_var,
                emiss_var    = emiss_var[[as.character(pars[5])]][[noise]],
                noisiness    = as.numeric(pars[4]),
                overlapping  = as.character(pars[5]),
                iter         = as.numeric(pars[6]),
                burnin       = as.numeric(pars[7]),
                repetitions  = as.numeric(pars[8]),
                scenario_uid = pars[9],
                uid          = pars[10],
                save_all     = FALSE,
                gamma_sim    = gamma_sim,
                emiss_sim    = emiss_sim[1:as.numeric(pars[3])]))

}
smildiner/simHMM documentation built on July 17, 2022, 2 p.m.