Filter out ML of model_comparison.m

Also documents that ML is not supported and adds reference for model comparison
Related to #681
time-shift
Johannes Pfeifer 2014-07-01 18:50:24 +02:00
parent f4f7b8d0a1
commit 85f336496d
2 changed files with 20 additions and 5 deletions

View File

@ -5674,8 +5674,12 @@ estimates using a higher tapering are usually more reliable.
@descriptionhead
This command computes odds ratios and estimate a posterior density
over a collection of models. The priors over models can be specified
as the @var{DOUBLE} values, otherwise a uniform prior is assumed.
over a collection of models
(see e.g. @cite{Koop (2003), Ch. 1}). The priors over models can be specified
as the @var{DOUBLE} values, otherwise a uniform prior over all models is assumed.
In contrast to frequentist econometrics, the models to be compared do not need to be nested.
However, as the computation of posterior odds ratios is a Bayesian technique,
the comparison of models estimated with maximum likelihood is not supported.
@examplehead
@ -11939,6 +11943,9 @@ Kim, Jinill, Sunghyun Kim, Ernst Schaumburg, and Christopher A. Sims
discrete time dynamic equilibrium models,'' @i{Journal of Economic
Dynamics and Control}, 32(11), 3397--3414
@item
Koop, Gary (2003), @i{Bayesian Econometrics}, John Wiley & Sons
@item
Koopman, S. J. and J. Durbin (2003): ``Filtering and Smoothing of
State Vector for Diffuse State Space Models,'' @i{Journal of Time

View File

@ -75,10 +75,18 @@ for i=1:NumberOfModels
eval(['MarginalLogDensity(i) = mstruct.oo_.MarginalDensity.' type ';'])
catch
if strcmpi(type,'LaplaceApproximation')
disp(['MODEL_COMPARISON: I cant''t find the Laplace approximation associated to model ' ModelNames{i}])
if isfield(mstruct.oo_,'mle_mode')
disp(['MODEL_COMPARISON: Model comparison is a Bayesian approach and does not support models estimated with ML'])
else
disp(['MODEL_COMPARISON: I cant''t find the Laplace approximation associated to model ' ModelNames{i}])
end
return
elseif strcmpi(type,'ModifiedHarmonicMean')
disp(['MODEL_COMPARISON: I cant''t find the modified harmonic mean estimate associated to model ' ModelNames{i}])
if isfield(mstruct.oo_,'mle_mode')
disp(['MODEL_COMPARISON: Model comparison is a Bayesian approach and does not support models estimated with ML'])
else
disp(['MODEL_COMPARISON: I cant''t find the modified harmonic mean estimate associated to model ' ModelNames{i}])
end
return
end
end
@ -124,7 +132,7 @@ name = modelname(idx(end)+1:end);
function name = get_model_name_without_extension(modelname)
idx = strfind(modelname,'.mod');
if isempty(idx)
idx = strfind(modelname,'.dyn')
idx = strfind(modelname,'.dyn');
end
if isempty(idx)
name = modelname;