old_code/sample_code.R

## Data models ------------------------------------------------------------


dm_poibin(data = abpe,
          prob = 0.98)

apbe %>%          
    dm_dbpois(rate ~ age * sex,
              dispersion ~ sex) %>%
    set_prior_term(age ~ level() + trend()) %>%
    set_prior_sdterm(scale = 0.2)



## System models - single array ---------------------------------------------------------

sysmod <- reg_births %>%
    sm_pois(rate ~ age * sex,
            exposure = popn) %>%
    set_covar(~ pc_student,
              data = schooldata) %>%
    set_prior_term(age ~ hfd(n_comp = 3)) %>%
    set_prior_term(time ~ level(damp = TRUE))


## equivalent of estimateModel --------------------------------------------------

myfit <- sysmod %>%
    fit(n_iter = 500)



## equivalent of estimateCounts --------------------------------------------------

regdeaths_dm <- regdeaths %>%
    dm_poibin(prob = 0.98)

survdeaths_dm <- survdeaths %>%
    dm_dbpois(rate ~ age + sex) %>%
    set_prior_term(age ~ level())


myfit <- regdeaths %>%
    sm_pois(rate ~ age * sex + time) %>%
    set_prior_term(age ~ hfd()) %>%
    set_dm(mod_regdeaths) %>%
    set_dm(mod_survdeaths) %>%
    fit()

deaths_sm <- regdeaths %>%
    sm_pois(rate ~ age * sex + time) %>%
    set_prior_term(age ~ hfd())

myfit <- deaths_sm %>%
    set_dm(regdeaths_dm) %>%
    set_dm(survdeaths_dm) %>%
    fit()



## equivalent of estimateAccount --------------------------------------------------

mod_births <- births_template %>%
    sm_pois(rate ~ age + sex)

mod_regdeaths <- regdeaths %>%
    dm_poibin(prob = 0.98)

mod_survdeaths <- survdeaths %>%
    dm_dbpois(rate ~ age + sex) %>%
    set_prior_term(age ~ level())


## account data treated as error free
myfit <- account %>%
    set_sm(births_mod, series = "births") %>%
    set_sm(deaths_mod, series = "deaths") %>%
    fit()


## account data treated as imperfect/incomplete
myfit <- account %>%
    set_sm(births_mod, series = "births") %>%
    set_sm(deaths_mod, series = "deaths") %>%
    set_dm(regbirths_mod, series = "births") %>%
    set_dm(regdeaths_mod, series = "deaths") %>%
    set_dm(survdeaths_mod, series = "deaths")
    fit()








                 



        
ONSdigital/Bayesian-demographic-accounts documentation built on Jan. 10, 2022, 12:34 a.m.