fstats_mcmc_fitting Module



Contents


Derived Types

type, public, extends(metropolis_hastings) ::  mcmc_regression

The mcmc_regression type extends the metropolis_hastings type to specifically target regression problems. The problem is formulated such that the target distribution takes the form , where is a normal distribution with as the mean and the model variance, is determined by computing the variance for the current estimate of the model.

Components

Type Visibility Attributes Name Initial
procedure(regression_function), public, pointer, nopass :: fcn

The function to fit.

real(kind=real64), public, allocatable, dimension(:) :: lower_limits

An optional array that, if used, provides a lower limit to each parameter in the model. If used, be sure this array is the same dimension as the parameter array. If not used, leave this alone and no lower limits will be placed on the parameters. If used and the array is not sized correctly, it will be ignored.

real(kind=real64), public, allocatable, dimension(:) :: upper_limits

An optional array that, if used, provides an upper limit to each parameter in the model. If used, be sure this array is the same dimension as the parameter array. If not used, leave this alone and no upper limits will be placed on the parameters. If used and the array is not sized correctly, it will be ignored.

real(kind=real64), public, allocatable, dimension(:) :: x

The independent-variable data to fit.

real(kind=real64), public, allocatable, dimension(:) :: y

The dependent-variable data to fit.

Type-Bound Procedures

procedure , public :: compute_fit_statistics => mr_calc_regression_stats Function
procedure , public :: compute_hastings_ratio => mh_hastings_ratio Function
procedure , public :: covariance_matrix => mr_covariance Function
procedure , public :: evaluate_proposal_pdf => mh_eval_proposal Function
procedure , public :: generate_proposal => mr_proposal Function
procedure , public :: get_accepted_count => mh_get_num_accepted Function
procedure , public :: get_chain => mh_get_chain Function
procedure , public :: get_chain_length => mh_get_chain_length Function
procedure , public :: get_data_variance => mr_get_data_variance Function
procedure , public :: get_proposal_cholesky => mh_get_prop_chol_cov Function
procedure , public :: get_proposal_covariance => mh_get_prop_cov Function
procedure , public :: get_proposal_initialized => mh_get_is_prop_init Function
procedure , public :: get_proposal_means => mh_get_prop_mean Function
procedure , public :: get_state_variable_count => mh_get_nvars Function
generic, public :: initialize_proposal => mh_init_proposal_1, mh_init_proposal_2
procedure , public :: likelihood => mr_likelihood Function
procedure , public :: on_acceptance => mr_on_success Subroutine
procedure , public :: on_rejection => mh_on_rejection Subroutine
procedure , public :: push_new_state => mr_push Subroutine
procedure , public :: reset => mh_clear_chain Subroutine
procedure , public :: sample => mh_sample Subroutine
procedure , public :: set_data_variance => mr_set_data_variance Subroutine
procedure , public :: set_proposal_covariance => mh_set_prop_cov Subroutine
procedure , public :: set_proposal_means => mh_set_prop_mean Subroutine
procedure , public :: target_distribution => mr_target Function