:orphan:

.. The content of this file was generated
.. automatically by the popy.conf.fio.rstdoc_writer module


.. _mfit_spec:



.. _mfit-method_options_spec:

METHOD_OPTIONS
**************

Type: :term:`dict_record <dict_record>`

method options for mfit_script

Example:-

.. code-block:: pyml

    METHOD_OPTIONS:
        py_module: mfit
        rand_seed: 12345
        float_format: default


.. _mfit-method_options-py_module_spec:

py_module
=========

Type: :term:`one_of(mfit) <one_of>`

Python module required to process this script file

Example:-

.. code-block:: pyml

    py_module: mfit


.. _mfit-method_options-rand_seed_spec:

rand_seed
=========

Type: :term:`int <int>` / :term:`auto <auto>`

Option to set seed to make run result
reproducible -e.g. when debugging.

Example:-

.. code-block:: pyml

    rand_seed: 12345


.. _mfit-method_options-float_format_spec:

float_format
============

Type: :term:`str <str>`

Format string for numerical output

Example:-

.. code-block:: pyml

    float_format: default


.. _mfit-description_spec:

DESCRIPTION
***********

Type: :term:`dict_record <dict_record>`

Description fields for script.

Example:-

.. code-block:: pyml

    DESCRIPTION:
        name: example
        title: A PKPD model
        author: J.R. Hartley
        abstract: |
        keywords: []


.. _mfit-description-name_spec:

name
====

Type: :term:`str <str>`

Unique name used to distinguish script

Example:-

.. code-block:: pyml

    name: example


.. _mfit-description-title_spec:

title
=====

Type: :term:`str <str>`

A longer text string that could serve as a title

Example:-

.. code-block:: pyml

    title: A PKPD model


.. _mfit-description-author_spec:

author
======

Type: :term:`str <str>`

Author of the model

Example:-

.. code-block:: pyml

    author: J.R. Hartley


.. _mfit-description-abstract_spec:

abstract
========

Type: :term:`verbatim <verbatim>`

Abstract paragraph describing model

Example:-

.. code-block:: pyml

    abstract: |


.. _mfit-description-keywords_spec:

keywords
========

Type: :term:`list <list>`

Keywords list used to categorise models.

Example:-

.. code-block:: pyml

    keywords: []


.. _mfit-file_paths_spec:

FILE_PATHS
**********

Type: :term:`dict_record <dict_record>`

file paths for mfit_script

Example:-

.. code-block:: pyml

    FILE_PATHS:
        input_data_files_glob: input.csv*
        output_folder: auto
        temp_folder: auto
        log_folder: auto
        output_file_ext: ['svg']
        output_iteration_results: True


.. _mfit-file_paths-input_data_files_glob_spec:

input_data_files_glob
=====================

Type: :term:`input_files_as_glob <input_files_as_glob>`

Glob path to multiple pop data files using * symbol.

Example:-

.. code-block:: pyml

    input_data_files_glob: input.csv*


.. _mfit-file_paths-output_folder_spec:

output_folder
=============

Type: :term:`output_folder <output_folder>` / :term:`auto <auto>`

Output folder - results of computation stored here

Example:-

.. code-block:: pyml

    output_folder: auto


.. _mfit-file_paths-temp_folder_spec:

temp_folder
===========

Type: :term:`output_folder <output_folder>` / :term:`auto <auto>`

Temp folder - temporary files stored here

Example:-

.. code-block:: pyml

    temp_folder: auto


.. _mfit-file_paths-log_folder_spec:

log_folder
==========

Type: :term:`output_folder <output_folder>` / :term:`auto <auto>`

Log folder - log files stored here

Example:-

.. code-block:: pyml

    log_folder: auto


.. _mfit-file_paths-output_file_ext_spec:

output_file_ext
===============

Type: :term:`list_of(pdf,png,svg) <list_of>`

Output file extension - determines graphical output file format.

Example:-

.. code-block:: pyml

    output_file_ext: ['svg']


.. _mfit-file_paths-output_iteration_results_spec:

output_iteration_results
========================

Type: :term:`bool <bool>`

Option to output iteration-by-iteration values.

Example:-

.. code-block:: pyml

    output_iteration_results: True


.. _mfit-data_fields_spec:

DATA_FIELDS
***********

Type: :term:`dict_record <dict_record>`

data fields for popy.dat.fields object

Example:-

.. code-block:: pyml

    DATA_FIELDS:
        type_field: TYPE
        id_field: ID
        time_field: TIME


.. _mfit-data_fields-type_field_spec:

type_field
==========

Type: :term:`str <str>`

Field name in data file that contains row type info, e.g. obs/dose etc

Example:-

.. code-block:: pyml

    type_field: TYPE


.. _mfit-data_fields-id_field_spec:

id_field
========

Type: :term:`str <str>`

Field name in data file that contains identity string for each data row e.g. obs/dose etc

Example:-

.. code-block:: pyml

    id_field: ID


.. _mfit-data_fields-time_field_spec:

time_field
==========

Type: :term:`str <str>`

Field name in data file that contains time or event for each data row

Example:-

.. code-block:: pyml

    time_field: TIME


.. _mfit-preprocess_spec:

PREPROCESS
**********

Type: :term:`verbatim <verbatim>`

Code that preprocesses the input data.
Use this to filter rows and create derived covariates.

Example:-

.. code-block:: pyml

    PREPROCESS: |


.. _mfit-level_params_spec:

LEVEL_PARAMS
************

Type: :term:`repeat_record <repeat_record>`

Level params to define hierarchical population model

Example:-

.. code-block:: pyml

    LEVEL_PARAMS:
        GLOBAL:
            params: |
                f[KA] ~ P1.0
                f[CL] ~ P1.0
                f[V1] ~ P20
                f[Q] ~ P0.5
                f[V2] ~ P100
                f[KA_isv,CL_isv,V1_isv,Q_isv,V2_isv] ~ spd_matrix() [
                    [0.05],
                    [0.01, 0.05],
                    [0.01, 0.01, 0.05],
                    [0.01, 0.01, 0.01, 0.05],
                    [0.01, 0.01, 0.01, 0.01, 0.05],
                ]
                f[PNOISE] ~ P0.1

            split_field: None

            split_dict: {}

        INDIV:
            params: |
                r[KA, CL, V1, Q, V2] ~ mnorm([0,0,0,0,0], f[KA_isv,CL_isv,V1_isv,Q_isv,V2_isv])

            split_field: ID

            split_dict: "*"


.. _mfit-level_params-params_spec:

params
======

Type: :term:`verbatim <verbatim>`

Defines names subsets, defined by ranges of split field values

Example:-

.. code-block:: pyml

    params: |


.. _mfit-level_params-split_field_spec:

split_field
===========

Type: :term:`str <str>`

Field to split level into sub levels

Example:-

.. code-block:: pyml

    split_field: none


.. _mfit-level_params-split_dict_spec:

split_dict
==========

Type: :term:`dict <dict>` / :term:`star <star>`

Defines named subsets, defined by ranges of split field values

Example:-

.. code-block:: pyml

    split_dict: {}


.. _mfit-model_params_spec:

MODEL_PARAMS
************

Type: :term:`verbatim <verbatim>`

Defines the mapping from c[X], f[X] and r[X] variables to individual model m[X] parameters.

Example:-

.. code-block:: pyml

    MODEL_PARAMS: |
        m[KA] = f[KA] * exp(r[KA])
        m[CL] = f[CL] * exp(r[CL])
        m[V1] = f[V1] * exp(r[V1])
        m[Q] = f[Q] * exp(r[Q])
        m[V2] = f[V2] * exp(r[V2])
        m[ANOISE] = 0.001
        m[PNOISE] = f[PNOISE]


.. _mfit-states_spec:

STATES
******

Type: :term:`verbatim <verbatim>`

Optional section for setting initial values of s[X] variables
can also set slabel[X] text labels.

Example:-

.. code-block:: pyml

    STATES: |


.. _mfit-derivatives_spec:

DERIVATIVES
***********

Type: :term:`verbatim <verbatim>`

Define how the covariates and effects determine flows
between compartments.

Example:-

.. code-block:: pyml

    DERIVATIVES: |
        # s[DEPOT,CENTRAL,PERI] = @dep_two_cmp_cl{dose:@bolus{amt:c[AMT]}}
        d[DEPOT] = @bolus{amt:c[AMT]} - m[KA]*s[DEPOT]
        d[CENTRAL] = m[KA]*s[DEPOT] - s[CENTRAL]*m[CL]/m[V1] - s[CENTRAL]*m[Q]/m[V1]  + s[PERI]*m[Q]/m[V2]
        d[PERI] = s[CENTRAL]*m[Q]/m[V1] - s[PERI]*m[Q]/m[V2]


.. _mfit-predictions_spec:

PREDICTIONS
***********

Type: :term:`verbatim <verbatim>`

Define the final predicted m[X] variables to be output
by the compartment model system.

Example:-

.. code-block:: pyml

    PREDICTIONS: |
        p[DV_CENTRAL] = s[CENTRAL]/m[V1]
        var = m[ANOISE]**2 + m[PNOISE]**2 * p[DV_CENTRAL]**2
        c[DV_CENTRAL] ~ norm(p[DV_CENTRAL], var)


.. _mfit-ode_solver_spec:

ODE_SOLVER
**********

Type: :term:`one_of_record <one_of_record>`

one of many possible solvers

Example:-

.. code-block:: pyml

    ODE_SOLVER:
        SCIPY_ODEINT: {atol: 1e-06, rtol: 1e-06, max_nsteps: 10000000, use_sens: False}


.. _mfit-ode_solver-no_solver_spec:

NO_SOLVER
=========

Type: :term:`dict_record <dict_record>`

Null method for blank derivatives.

Example:-

.. code-block:: pyml

    NO_SOLVER: {}


.. _mfit-ode_solver-analytic_spec:

ANALYTIC
========

Type: :term:`dict_record <dict_record>`

Analytic method for solving ODE

Example:-

.. code-block:: pyml

    ANALYTIC: {}


.. _mfit-ode_solver-scipy_odeint_spec:

SCIPY_ODEINT
============

Type: :term:`dict_record <dict_record>`

odeint solver record

Example:-

.. code-block:: pyml

    SCIPY_ODEINT:
        atol: 1e-06
        rtol: 1e-06
        max_nsteps: 10000000
        use_sens: False


.. _mfit-ode_solver-scipy_odeint-atol_spec:

atol
----

Type: :term:`float <float>`

Absolute tolerance of ode solver.

Example:-

.. code-block:: pyml

    atol: 1e-06


.. _mfit-ode_solver-scipy_odeint-rtol_spec:

rtol
----

Type: :term:`float <float>`

Relative tolerance of ode solver.

Example:-

.. code-block:: pyml

    rtol: 1e-06


.. _mfit-ode_solver-scipy_odeint-max_nsteps_spec:

max_nsteps
----------

Type: :term:`int <int>`

Maximum number of steps allowed in ode solver.

Example:-

.. code-block:: pyml

    max_nsteps: 10000000


.. _mfit-ode_solver-scipy_odeint-use_sens_spec:

use_sens
--------

Type: :term:`bool <bool>`

Option to use sensitivity equations in ode solver.

Example:-

.. code-block:: pyml

    use_sens: False


.. _mfit-fit_methods_spec:

FIT_METHODS
***********

Type: :term:`list_record <list_record>`

one of many possible fitters

Example:-

.. code-block:: pyml

    FIT_METHODS:
        - JOE:
            ODE_SOLVER: {INHERIT: {}}
            max_n_main_iterations: 30
            CONVERGER: {OBJ_INC: {}}
            recompute_jacobians_flag: False
            use_chain: False
            reset_re_flag: True


.. _mfit-fit_methods-joe_spec:

JOE
===

Type: :term:`dict_record <dict_record>`

Joint Optimisation and Estimation method

Example:-

.. code-block:: pyml

    JOE:
        ODE_SOLVER: {INHERIT: {}}
        max_n_main_iterations: 50
        CONVERGER: {OBJ_INC: {}}
        recompute_jacobians_flag: False
        use_chain: False
        reset_re_flag: True


.. _mfit-fit_methods-joe-max_n_main_iterations_spec:

max_n_main_iterations
---------------------

Type: :term:`int <int>`

Maximum number of iterations

Example:-

.. code-block:: pyml

    max_n_main_iterations: 50


.. _mfit-fit_methods-joe-converger_spec:

CONVERGER
---------

Type: :term:`one_of_record <one_of_record>`

Convergence methods.

Example:-

.. code-block:: pyml

    CONVERGER:
        OBJ_INC: {}


.. _mfit-fit_methods-joe-converger-none_spec:

NONE
^^^^

Type: :term:`dict_record <dict_record>`

No convergence testing.

Example:-

.. code-block:: pyml

    NONE: {}


.. _mfit-fit_methods-joe-converger-obj_inc_spec:

OBJ_INC
^^^^^^^

Type: :term:`dict_record <dict_record>`

Objective function increase converger.

Example:-

.. code-block:: pyml

    OBJ_INC: {}


.. _mfit-fit_methods-joe-converger-obj_sim_spec:

OBJ_SIM
^^^^^^^

Type: :term:`dict_record <dict_record>`

Objective function similar converger.

Example:-

.. code-block:: pyml

    OBJ_SIM: {}


.. _mfit-fit_methods-joe-recompute_jacobians_flag_spec:

recompute_jacobians_flag
------------------------

Type: :term:`bool <bool>`

Option to recompute jacobians more often, e.g in noise optimiser.

Example:-

.. code-block:: pyml

    recompute_jacobians_flag: False


.. _mfit-fit_methods-joe-use_chain_spec:

use_chain
---------

Type: :term:`bool <bool>`

Option to use chain rule when computing derivatives.

Example:-

.. code-block:: pyml

    use_chain: False


.. _mfit-fit_methods-joe-reset_re_flag_spec:

reset_re_flag
-------------

Type: :term:`bool <bool>`

Reset r[X]=0.0 before each r[X] optimisation

Example:-

.. code-block:: pyml

    reset_re_flag: True



