Dear all,

 

dynare_estimation_init.m in 4.2.5 currently reads

 

if options_.prefilter == 1

    if options_.missing_data

        bayestopt_.mean_varobs = zeros(n_varobs,1);

        for variable=1:n_varobs

            rdx = find(~isnan(rawdata(:,variable)));

            m = mean(rawdata(rdx,variable));

            rawdata(rdx,variable) = rawdata(rdx,variable)-m;

            bayestopt_.mean_varobs(variable) = m;

        end

    else

        bayestopt_.mean_varobs = mean(rawdata,1)';

        rawdata = rawdata-repmat(bayestopt_.mean_varobs',gend,1);

    end

end

% Transpose the dataset array.

data = transpose(rawdata);

 

Hence, rawdata is overwritten with the demeaned data. This leads to wrong smoother plots. The corresponding part should be:

 

if options_.prefilter == 1

    if options_.missing_data

        data=rawdata;

        bayestopt_.mean_varobs = zeros(n_varobs,1);

        for variable=1:n_varobs

            rdx = find(~isnan(rawdata(:,variable)));

            m = mean(rawdata(rdx,variable));

            data(rdx,variable) = rawdata(rdx,variable)-m;

            bayestopt_.mean_varobs(variable) = m;

        end

    else

        bayestopt_.mean_varobs = mean(rawdata,1)';

        data = rawdata-repmat(bayestopt_.mean_varobs',gend,1);

    end

end

% Transpose the dataset array.

data = transpose(data);

 

I tried to push a fix for cherrypicking to 4.2 but I am not sure I succeeded.

 

Best,

 

Johannes

 

--------

Johannes Pfeifer

Haußerstr. 29

72076 Tübingen

Tel.: +49-(0)7071-6396184

Mobil: +49-(0)170-6936820

jpfeifer@gmx.de