------------------------------------------------ lines 6-134 of file: example/continue_cascade.py ------------------------------------------------ {xrst_begin_parent continue_cascade_xam} {xrst_spell dage dtime } Example Continuing a Cascade ############################ For this example everything is constant in age and time. Nodes ***** The following is a diagram of the node tree for this example. The :ref:`glossary@root_node` is n0, the first :ref:`glossary@fit_goal_set` is {n3, n4, n2}, the second :ref:`glossary@fit_goal_set` is {n5, n6}, and the leaf nodes are {n3, n4, n5, n6}:: n0 /-----/\-----\ n1 (n2) / \ / \ (n3) (n4) [n5] [n6] fit_goal_set ============ {xrst_literal # BEGIN fit_goal_set # END fit_goal_set } A cascade using the first fit_goal_set is started at node n0. After that finishes, the cascade is continued from node n2 using the second fit_goal_set. Parallel Processing ******************* This example sets :ref:`option_all_table@max_number_cpu` as an example of parallel processing. The results for nodes n3 and n4 are computed in parallel during the call to :ref:`cascade_root_node-name`. The results for nodes n5 and n6 are computed in parallel during the call to :ref:`continue_cascade-name`. {xrst_literal # BEGIN option_all # END option_all } see :ref:`create_all_node_db@option_all`. Rates ***** The only non-zero dismod_at rate for this example is :ref:`glossary@iota`. Covariate ********* There are no covariates for this example. Simulated Data ************** rate_true(rate, a, t, n, c) =========================== For *rate* equal to iota, this is the true value for *rate* in node *n* at age *a*, time *t*, and covariate values *c*. The values *a*, *t*. *c*, are not used by this function for this example. {xrst_literal # BEGIN rate_true # END rate_true } y_i === The only simulated integrand for this example is :ref:`glossary@Sincidence` which is a direct measurement of iota. This data is simulated without any noise; i.e., the i-th measurement is simulated as *y_i = rate_true('iota', None, None, n_i, None)* where *n_i* is the node. The data is modeled as having noise even though there is no simulated noise. n_i === Data is only simulated for the leaf nodes; i.e., each *n_i* is in the set { n3, n4, n5, n6 }. Since the data does not have any nose, the data residuals are a measure of how good the fit is for the nodes in the fit goal sets. Parent Rate Smoothing ********************* This is the iota smoothing used for the fit_node. There are no :ref:`glossary@dage` or :ref:`glossary@dtime` priors because there is only one age and one time point. Value Prior =========== The following is the value prior used for the root_node {xrst_literal # BEGIN parent_value_prior # END parent_value_prior } The mean and standard deviation are only used for the root_node. The :ref:`create_shift_db-name` routine replaces them for other nodes. Child Rate Smoothing ******************** This is the smoothing used for the random effect for each child of the fit_node. There are no dage or dtime priors because there is only one age and one time point in this smoothing. Value Prior =========== The following is the value prior used for the children of the fit_node: {xrst_literal # BEGIN child_value_prior # END child_value_prior } Checking The Fit **************** The results of the fit are checked by check_cascade_node using the :ref:`check_cascade_node@avgint_table` that was created by the root_node_db routine. The node_id for each row is replaced by the node_id for the fit being checked. routine uses these tables to check that fit against the truth. {xrst_end continue_cascade_xam}