FSRBeda enables to monitor several quantities in each step of the Bayesian search
Common part to all examples: load Houses Price Dataset.
load hprice.txt;
% setup parameters
n=size(hprice,1);
y=hprice(:,1);
X=hprice(:,2:5);
[out]=FSRBeda(y,X);
load hprice.txt;
% setup parameters
n=size(hprice,1);
y=hprice(:,1);
X=hprice(:,2:5);
bayes=struct;
n0=5;
bayes.n0=n0;
% set \beta components
beta0=0*ones(5,1);
beta0(2,1)=10;
beta0(3,1)=5000;
beta0(4,1)=10000;
beta0(5,1)=10000;
bayes.beta0=beta0;
% \tau
s02=1/4.0e-8;
tau0=1/s02;
bayes.tau0=tau0;
% R prior settings
R=2.4*eye(5);
R(2,2)=6e-7;
R(3,3)=.15;
R(4,4)=.6;
R(5,5)=.6;
R=inv(R);
bayes.R=R;
[out]=FSRBeda(y,X,'bayes',bayes);
Plot posterior estimates of beta and sigma2 in the interval (subset size) [20 125].
% In this example for the house price data we monitor the forward plots
% of the parameters of the linear model adding 95% and 99% HPD
% regions. The first 8 panels refer to the elements of $\beta_1$
% and the bottom right-hand panel refer to the estimate of sigma2.
% The horizontal lines correspond to prior values
% The vertical lines refer to the step prior to the introduction of the first outlier
% init = point to start monitoring diagnostics along the FS
% run routine FSRB in order to find the outliers automatically
load hprice.txt;
% setup parameters
n=size(hprice,1);
y=hprice(:,1);
X=hprice(:,2:5);
bayes=struct;
n0=5;
bayes.n0=n0;
% set \beta components
beta0=0*ones(5,1);
beta0(2,1)=10;
beta0(3,1)=5000;
beta0(4,1)=10000;
beta0(5,1)=10000;
bayes.beta0=beta0;
% \tau
s02=1/4.0e-8;
tau0=1/s02;
bayes.tau0=tau0;
% R prior settings
R=2.4*eye(5);
R(2,2)=6e-7;
R(3,3)=.15;
R(4,4)=.6;
R(5,5)=.6;
R=inv(R);
bayes.R=R;
outBA=FSRB(y,X,'bayes',bayes', 'plots',0);
dout=n-length(outBA.ListOut);
% init = initial point to start monitoring
init=20;
xlimL=init; % lower value of xlim
xlimU=125; % upper value of xlim
outBAeda=FSRBeda(y,X,'bayes',bayes,'init',init, 'conflev', [0.95 0.99]);
% Set font size, line width and line style
figure;
lwd=2.5;
FontSize=14;
linst={'-','--',':','-.','--',':'};
for j=1:5
my_subplot=subplot(3,2,j);
hold('on')
% plot 95% and 99% HPD trajectories
plot(outBAeda.beta1(:,1),outBAeda.beta1HPD(:,1:2,j),'LineStyle',linst{4},'LineWidth',lwd,'Color','b')
plot(outBAeda.beta1(:,1),outBAeda.beta1HPD(:,3:4,j),'LineStyle',linst{4},'LineWidth',lwd,'Color','r')
% plot posterior estimate of beta1_j
plot(outBAeda.beta1(:,1),outBAeda.beta1(:,j+1)','LineStyle',linst{1},'LineWidth',lwd,'Color','k')
% Add the horizontal line which corresponds to prior values
xL = get(my_subplot,'XLim');
line(xL,[beta0(j) beta0(j)],'Color','r','LineWidth',lwd);
% Set ylim
ylimU=max([outBAeda.beta1HPD(:,4,j); beta0(j)]);
ylimL=min([outBAeda.beta1HPD(:,3,j); beta0(j)]);
ylim([ylimL ylimU])
% Add vertical line in correspondence of the step prior to the
% entry of the first outlier
line([dout; dout],[ylimL; ylimU],'Color','r','LineWidth',lwd);
% Set xlim
xlim([xlimL xlimU]);
ylabel(['$\hat{\beta_' num2str(j-1) '}$'],'Interpreter','LaTeX','FontSize',20,'rot',-360);
set(gca,'FontSize',FontSize);
if j>4
xlabel('Subset size m','FontSize',FontSize);
end
end
% Subplot associated with the monitoring of sigma^2
subplot(3,2,6);
%figure()
hold('on')
% 99%
plot(outBAeda.sigma21HPD(:,1),outBAeda.sigma21HPD(:,4:5),'LineStyle',linst{4},'LineWidth',lwd,'Color','r')
% 95%
plot(outBAeda.sigma21HPD(:,1),outBAeda.sigma21HPD(:,2:3),'LineStyle',linst{2},'LineWidth',lwd,'Color','b')
% Plot 1\/tau1
plot(outBAeda.S21(:,1),1./outBAeda.S21(:,3),'LineWidth',lwd,'Color','k')
ylabel('$\hat{\sigma}^2$','Interpreter','LaTeX','FontSize',20,'rot',-360);
set(gca,'FontSize',FontSize);
% Set ylim
ylimU=max([outBAeda.sigma21HPD(:,5); s02]);
ylimL=min([outBAeda.sigma21HPD(:,4); s02]);
ylim([ylimL ylimU])
% Set xlim
xlim([xlimL xlimU]);
xL = get(my_subplot,'XLim');
% Add the horizontal line which corresponds to prior value of $\sigma^2$
line(xL,[s02 s02],'Color','r','LineWidth',lwd);
% Add vertical line in correspondence of the step prior to the
% entry of the first outlier
line([dout; dout],[ylimL; ylimU],'Color','r','LineWidth',lwd);
xlabel('Subset size m','FontSize',FontSize);
% Add multiple title
suplabel(['Housing data; forward plots in the interval ['...
num2str(xlimL) ',' num2str(xlimU) ...
'] of HPD regions for \beta and \sigma^2'],'t');
Observed curve of r_min is at least 10 times greater than 99.99% envelope -------------------------------------------------- ------------------------- Signal detection loop Tentative signal in central part of the search: step m=511 because rmin(511,546)>99.99% and rmin(510,546)>99.99% and rmin(512,546)>99.99% rmin(511,546)>99.999% ------------------- Signal validation exceedance of upper envelopes Validated signal ------------------------------- Start resuperimposing envelopes from step m=510 Superimposition stopped because r_{min}(512,529)>99.9% envelope Subsample of 528 units is homogeneous ---------------------------- Final output Number of units declared as outliers=18 Summary of the exceedances 1 99 999 9999 99999 10 64 48 38 29 m=100 m=200 m=300 m=400 m=500
Plot posterior estimates of beta and sigma2 in the interval (subset size) [250 n+1].
% In this example for the house price data we monitor the forward plots
% of the parameters of the linear model adding 95% and 99% HPD
% regions. The first 8 panels refer to the elements of $\beta_1$
% and the bottom right-hand panel refer to the estimate of sigma2.
% The horizontal lines correspond to prior values
% The vertical lines refer to the step prior to the introduction of the first outlier
% init = point to start monitoring diagnostics along the FS
% run routine FSRB in order to find the outliers automatically
load hprice.txt;
% setup parameters
n=size(hprice,1);
y=hprice(:,1);
X=hprice(:,2:5);
bayes=struct;
n0=5;
bayes.n0=n0;
% set \beta components
beta0=0*ones(5,1);
beta0(2,1)=10;
beta0(3,1)=5000;
beta0(4,1)=10000;
beta0(5,1)=10000;
bayes.beta0=beta0;
% \tau
s02=1/4.0e-8;
tau0=1/s02;
bayes.tau0=tau0;
% R prior settings
R=2.4*eye(5);
R(2,2)=6e-7;
R(3,3)=.15;
R(4,4)=.6;
R(5,5)=.6;
R=inv(R);
bayes.R=R;
% Automatic outlier detection procedure.
outBA=FSRB(y,X,'bayes',bayes', 'plots',0);
dout=n-length(outBA.ListOut);
% init = initial point to start monitoring
init=250;
xlimL=init; % lower value fo xlim
xlimU=n+1; % upper value of xlim
out=FSRBeda(y,X,'bayes',bayes,'init',init, 'conflev', [0.95 0.99]);
% Set font size, line width and line style
figure;
lwd=2.5;
FontSize=14;
linst={'-','--',':','-.','--',':'};
for j=1:5
my_subplot=subplot(3,2,j);
hold('on')
% plot 95% and 99% HPD trajectories
plot(out.beta1(:,1),out.beta1HPD(:,1:2,j),'LineStyle',linst{4},'LineWidth',lwd,'Color','b')
plot(out.beta1(:,1),out.beta1HPD(:,3:4,j),'LineStyle',linst{4},'LineWidth',lwd,'Color','r')
% plot posterior estimate of beta1_j
plot(out.beta1(:,1),out.beta1(:,j+1)','LineStyle',linst{1},'LineWidth',lwd,'Color','k')
% Add the horizontal line which corresponds to prior values
xL = get(my_subplot,'XLim');
line(xL,[beta0(j) beta0(j)],'Color','r','LineWidth',lwd);
% Set ylim
ylimU=max([out.beta1HPD(:,4,j); beta0(j)]);
ylimL=min([out.beta1HPD(:,3,j); beta0(j)]);
ylim([ylimL ylimU])
% Set xlim
xlim([xlimL xlimU]);
% Add vertical line in correspondence of the step prior to the
% entry of the first outlier
line([dout; dout],[ylimL; ylimU],'Color','r','LineWidth',lwd);
ylabel(['$\hat{\beta_' num2str(j-1) '}$'],'Interpreter','LaTeX','FontSize',20,'rot',-360);
set(gca,'FontSize',FontSize);
if j>4
xlabel('Subset size m','FontSize',FontSize);
end
end
% Subplot associated with the monitoring of sigma^2
subplot(3,2,6);
%figure()
hold('on')
% 99%
plot(out.sigma21HPD(:,1),out.sigma21HPD(:,4:5),'LineStyle',linst{4},'LineWidth',lwd,'Color','r')
% 95%
plot(out.sigma21HPD(:,1),out.sigma21HPD(:,2:3),'LineStyle',linst{2},'LineWidth',lwd,'Color','b')
% Plot 1/tau1
plot(out.S21(:,1),1./out.S21(:,3),'LineWidth',lwd,'Color','k')
ylabel('$\hat{\sigma}^2$','Interpreter','LaTeX','FontSize',20,'rot',-360);
set(gca,'FontSize',FontSize);
% Set ylim
ylimU=max([out.sigma21HPD(:,5); s02]);
ylimL=min([out.sigma21HPD(:,4); s02]);
ylim([ylimL ylimU])
% Set xlim
xlim([xlimL xlimU]);
xL = get(my_subplot,'XLim');
% Add the horizontal line which corresponds to prior value of $\sigma^2$
line(xL,[s02 s02],'Color','r','LineWidth',lwd);
% Add vertical line in correspondence of the step prior to the
% entry of the first outlier
line([dout; dout],[ylimL; ylimU],'Color','r','LineWidth',lwd);
xlabel('Subset size m','FontSize',FontSize);
% Add multiple title
suplabel(['Housing data; forward plots in the interval ['...
num2str(xlimL) ',' num2str(xlimU) ...
'] of HPD regions for \beta and \sigma^2'],'t');
Observed curve of r_min is at least 10 times greater than 99.99% envelope -------------------------------------------------- ------------------------- Signal detection loop Tentative signal in central part of the search: step m=511 because rmin(511,546)>99.99% and rmin(510,546)>99.99% and rmin(512,546)>99.99% rmin(511,546)>99.999% ------------------- Signal validation exceedance of upper envelopes Validated signal ------------------------------- Start resuperimposing envelopes from step m=510 Superimposition stopped because r_{min}(512,529)>99.9% envelope Subsample of 528 units is homogeneous ---------------------------- Final output Number of units declared as outliers=18 Summary of the exceedances 1 99 999 9999 99999 10 64 48 38 29 m=100 m=200 m=300 m=400 m=500
XX=load('BankProfit.txt');
R=load('BankProfitR.txt');
X=XX(:,1:end-1);
y=XX(:,end);
% Load prior information
beta0=zeros(10,1);
beta0(1,1)=-0.5; %
beta0(2,1)=9.1; % Number of products (NUMPRO)
beta0(3,1)=0.001; % direct revenues (DIRREV)
beta0(4,1)=0.0002; % indirect revenues (INDREV)
beta0(5,1)=0.002; % savings accounts SAVACC
beta0(6,1)=0.12; % number of operations NUMOPE
beta0(7,1)=0.0004; % total amount of operations TOTOPE
beta0(8,1)=-0.0004; % Bancomat POS
beta0(9,1)=1.3; % Number of cards NUMCAR
beta0(10,1)=0.00004; % Amount in cards TOTCAR
% \tau
s02=10000;
tau0=1/s02;
% number of obs in which prior was based
n0=1500;
bayes=struct;
bayes.R=R;
bayes.n0=n0;
bayes.beta0=beta0;
bayes.tau0=tau0;
n=length(y);
% run routine FSRB in order to find the outliers automatically
outBA=FSRB(y,X,'bayes',bayes', 'plots',0);
dout=n-length(outBA.ListOut);
% init = point to start monitoring diagnostics along the FS
init=1700;
xlimL=init;
xlimU=n+1;
outBAeda=FSRBeda(y,X,'bayes',bayes,'init',init, 'conflev', [0.95 0.99]);
% Set font size, line width and line style
figure;
lwd=2.5;
FontSize=14;
linst={'-','--',':','-.','--',':'};
nr=4;
nc=3;
for j=1:length(beta0)
my_subplot=subplot(nr,nc,j);
hold('on')
% plot 95% and 99% HPD trajectories
plot(outBAeda.beta1(:,1),outBAeda.beta1HPD(:,1:2,j),'LineStyle',linst{4},'LineWidth',lwd,'Color','b')
plot(outBAeda.beta1(:,1),outBAeda.beta1HPD(:,3:4,j),'LineStyle',linst{4},'LineWidth',lwd,'Color','r')
% plot posterior estimate of beta1_j
plot(outBAeda.beta1(:,1),outBAeda.beta1(:,j+1)','LineStyle',linst{1},'LineWidth',lwd,'Color','k')
% Add the horizontal line which corresponds to prior values
xL = get(my_subplot,'XLim');
line(xL,[beta0(j) beta0(j)],'Color','r','LineWidth',lwd);
% Set ylim
ylimU=max([outBAeda.beta1HPD(:,4,j); beta0(j)]);
ylimL=min([outBAeda.beta1HPD(:,3,j); beta0(j)]);
ylim([ylimL ylimU])
% Set xlim
xlim([xlimL xlimU]);
% Add vertical line in correspondence of the step prior to the
% entry of the first outlier
line([dout; dout],[ylimL; ylimU],'Color','r','LineWidth',lwd);
ylabel(['$\hat{\beta_' num2str(j-1) '}$'],'Interpreter','LaTeX','FontSize',20,'rot',-360);
set(gca,'FontSize',FontSize);
if j>nr*(nc-1)
xlabel('Subset size m','FontSize',FontSize);
end
end
% Subplot associated with the monitoring of sigma^2
subplot(4,3,11);
%figure()
hold('on')
% 99%
plot(outBAeda.sigma21HPD(:,1),outBAeda.sigma21HPD(:,4:5),'LineStyle',linst{4},'LineWidth',lwd,'Color','r')
% 95%
plot(outBAeda.sigma21HPD(:,1),outBAeda.sigma21HPD(:,2:3),'LineStyle',linst{2},'LineWidth',lwd,'Color','b')
% Plot 1\/tau1
plot(outBAeda.S21(:,1),1./outBAeda.S21(:,3),'LineWidth',lwd,'Color','k')
ylabel('$\hat{\sigma}^2$','Interpreter','LaTeX','FontSize',20,'rot',-360);
set(gca,'FontSize',FontSize);
% Set ylim
ylimU=max([outBAeda.sigma21HPD(:,5); s02]);
ylimL=min([outBAeda.sigma21HPD(:,4); s02]);
ylim([ylimL ylimU])
ylimL=8000;
ylimU=14000;
ylim([ylimL ylimU])
% Set xlim
xlim([xlimL xlimU]);
xL = get(my_subplot,'XLim');
% Add the horizontal line which corresponds to prior value of $\sigma^2$
line(xL,[s02 s02],'Color','r','LineWidth',lwd);
% Add vertical line in correspondence of the step prior to the
% entry of the first outlier
line([dout; dout],[ylimL; ylimU],'Color','r','LineWidth',lwd);
xlabel('Subset size m','FontSize',FontSize);
% Add multiple title
suplabel(['Bank profit data; forward plots in the interval ['...
num2str(xlimL) ',' num2str(xlimU) ...
'] of HPD regions for \beta and \sigma^2'],'t');
y
— A vector with n elements that contains the response variables.
Missing values (NaN's) and infinite values (Inf's) are
allowed, since observations (rows) with missing or infinite
values will automatically be excluded from the
computations.
Data Types: single| double
X
— Data matrix of explanatory variables (also called 'regressors')
of dimension (n x p-1).
Rows of X represent observations, and
columns represent variables.Missing values (NaN's) and infinite values (Inf's) are allowed, since observations (rows) with missing or infinite values will automatically be excluded from the computations.
PRIOR INFORMATION is assumed to have a normal distribution with mean \beta_0 and (conditional on \tau_0) covariance (1/\tau_0) (X_0'X_0)^{-1}.
\beta \sim N( \beta_0, (1/\tau_0) (X_0'X_0)^{-1} )
Data Types: single| double
Specify optional comma-separated pairs of Name,Value
arguments.
Name
is the argument name and Value
is the corresponding value. Name
must appear
inside single quotes (' '
).
You can specify several name and value pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
'intercept',false
, bayes=struct;bayes.R=R;bayes.n0=n0;bayes.beta0=beta0;bayes.tau0=tau0;
, bsb=[2 5 1];
, 'init',100 starts monitoring from step m=100
, 'nocheck',true
, 'conflev',[0.90 0.93]
intercept
—Indicator for constant term.true (default) | false.Indicator for the constant term (intercept) in the fit, specified as the comma-separated pair consisting of 'Intercept' and either true to include or false to remove the constant term from the model.
Example: 'intercept',false
Data Types: boolean
bayes
—It specifies prior information.structure.A structure which specifies prior information.
If structure bayes is not supplied the default values which are used are: beta0= zeros(p,1) (vector of zeros); R=eye(p) (Identity matrix); tau0=1/1e+6 (very large value for the prior variance, that is a very small value for tau0); n0=1 (just one prior observation).
Strucure bayes contains the following fields:
Value | Description |
---|---|
beta0 |
p-times-1 vector containing prior mean of \beta |
R |
p-times-p positive definite matrix which can be interepreted as X_0'X_0 where X_0 is a n0 x p matrix coming from previous experiments (assuming that the intercept is included in the model) |
tau0 |
scalar. Prior estimate of \tau=1/ \sigma^2=a_0/b_0. The prior distribution of tau0 is a gamma distribution with parameters a and b, that is p(\tau_0) \propto \tau^{a_0-1} \exp (-b_0 \tau); E(\tau_0)= a_0/b_0. |
n0 |
scalar. Sometimes it helps to think of the prior information as coming from n0 previous experiments. Therefore we assume that matrix X_0 (which defines R), was made up of n0 observations. |
Example: bayes=struct;bayes.R=R;bayes.n0=n0;bayes.beta0=beta0;bayes.tau0=tau0;
Data Types: double
bsb
—list of units forming the initial subset.vector.if bsb=0 then the procedure starts with p units randomly chosen else if bsb is not 0 the search will start with m0=length(bsb). The default value of bsb is '' that is in the first step just prior information is used.
Example: bsb=[2 5 1];
Data Types: double
init
—Search initialization.scalar.scalar, specifies the point where to start monitoring required diagnostics. if init is not specified it will be set equal to : p+1, if the sample size is smaller than 40;
min(3*p+1,floor(0.5*(n+p+1))), otherwise.
Example: 'init',100 starts monitoring from step m=100
Data Types: double
nocheck
—Check input arguments.boolean.Scalar. If nocheck is equal to true no check is performed on matrix y and matrix X. Notice that y and X are left unchanged. In other words the additional column of ones for the intercept is not added. As default nocheck=false. See routine chkinputRB for the details of the operations.
Example: 'nocheck',true
Data Types: boolean
conflev
—confidence levels to be used to compute HPDI.vector.This input option is used just if input stats=1. The default value of conflev is [0.95 0.99] that is 95% and 99% HPDI confidence intervals are computed.
Example: 'conflev',[0.90 0.93]
Data Types: double
out
— description
StructureT consists of a structure 'out' containing the following fields:
Value | Description |
---|---|
RES |
Scaled residuals. Matrix. n x (n-init+1) matrix containing the monitoring of scaled residuals. 1st row = residual for first unit; ...; nth row = residual for nth unit. |
LEV |
Leverage. Matrix. (n+1) x (n-init+1) = matrix containing the monitoring of leverage. 1st row = leverage for first unit; ...; nth row = leverage for nth unit. |
BB |
n x (n-init+1) matrix containing the information about the units belonging to the subset at each step of the forward search. 1st col = indexes of the units forming subset in the initial step; ...; last column = units forming subset in the final step (all units). |
mdrB |
n-init x 3 matrix which contains the monitoring of Bayesian minimum deletion residual or (m+1)ordered residual at each step of the forward search. 1st col = fwd search index (from init to n-1); 2nd col = minimum deletion residual; 3rd col = (m+1)-ordered residual. Remark: these quantities are stored with sign, that is the min deletion residual is stored with negative sign if it corresponds to a negative residual. |
msrB |
n-init+1 x 32= matrix which contains the monitoring of maximum studentized residual among units belonging to subset. 1st col = fwd search index (from init to n); 2nd col = maximum studentized residual. |
Coo |
(n-init+1) x 2 matrix containing the monitoring of Cook or modified Cook distance in each step of the forward search. 1st col = fwd search index (from init to n); 2nd col = monitoring of Cook distance. |
beta1 |
(n-init+1) x (p+1) matrix containing the monitoring of posterior mean of \beta (regression coefficents) \beta_1 = (c*R + X'X)^{-1} (c*R*\beta_0 + X'y) |
Gam |
(n-init+1) x 3 matrix containing: 1st col = fwd search index (from init to n); 2nd col = shape parameter a_1 of the posterior gamma distribution of tau; 3rd col = scale parameter b_1 of the posterior gamma distribution of tau. Remark: a_1 = 0.5 (c*n0 + m) where m is subset size; b_1 = 0.5 * ( n0 / \tau_0 + (y-X*\beta_1)'y +(\beta_0-\beta_1)'*c*R*\beta_0 ) |
covbeta1 |
p x p x (n-init+1) 3D array containing posterior covariance matrix (conditional on tau_1) of \beta. cov(\beta_1) = (1/tau_1) * (c*R + X'X)^{-1}; where tau_1 is defined as a_1/b_1 (that is through the gamma parameters of the posterior distribution of \tau). The posterior distribution of \tau is a gamma distribution with parameters a_1 and b_1. |
S21 |
(n-init+1) x 3 matrix containing the monitoring of posterior estimate of \sigma^2 and \tau in each step of the forward search. 1st col = fwd search index (from init to n); 2nd col = monitoring of \sigma^2_1 (posterior estimate of \sigma^2); 3rd col = monitoring \tau_1 (posterior estimate of \tau). |
Bpval |
(n-init+1) x (p+1) containing Bayesian p-values. p-value = P(|t| > | \hat{\beta} / se(beta) |) = prob. of beta different from 0. 1st col = fwd search index (from init to n); 2nd col = p-value for first variable; ...; (p+1) col = p-value for p-th variable. |
beta1HPD |
(n-init+1)-by-2-by-p 3D array. Bhpd(:,:,1) = lower and upper HPDI of first element of \beta_1 (posterior estimate of \beta); ...; Bhpd(:,:,p) = lower and upper HPDI of last element of \beta_1 (posterior estimate of \beta). |
tau1HPD |
(n-init+1) x 3 containing HPDI for \tau_1. 1st col = fwd search index (from init to n); 2nd col = lower value of HPDI; 3rd col = upper value of HPDI; |
sigma21HPD |
(n-init+1) x 3 containing HPDI for \sigma^2_1. 1st col = fwd search index (from init to n); 2nd col = lower value of HPDI; 3rd col = upper value of HPDI. |
postodds |
(n-init+1)-by-(p+1) matrix which contains posterior odds for \beta_j=0. For example the posterior odd of \beta_0=0 is p(y| model which contains all expl variables except the one associated with beta0) divided by p(y| model which contains all expl variables). 1st col = fwd search index (from init to n); 2nd col = posterior odd for beta_1; ...; (p+1) col = posterior odd for beta_p. |
modelprob |
(n-init+1)-by-(p+1) matrix which contains posterior model probability of the model which excludes variable j. For example if modelprob(j)= 0.28, that is if the probability of the model which does not contain variable j is equal to 0.28, it means that there is a 28 chance that beta_j=0 and a 72 chance that it is not. 1st col = fwd search index (from init to n); 2nd col = posterior model prob of the model which excludes \beta_1; ...; (p+1) col = posterior model prob of the model which excludes beta_p. |
Un |
(n-init) x 11 matrix which contains the unit(s) included in the subset at each step of the fwd search. REMARK: in every step the new subset is compared with the old subset. Un contains the unit(s) present in the new subset but not in the old one Un(1,2) for example contains the unit included in step init+1 Un(end,2) contains the units included in the final step of the search. |
y |
A vector with n elements that contains the response variable which has been used. |
X |
Data matrix of explanatory variables which has been used (it also contains the column of ones if input option intercept was missing or equal to true). |
class |
'FSRBeda'. |
Chaloner, K. and Brant, R. (1988), A Bayesian Approach to Outlier Detection and Residual Analysis, "Biometrika", Vol. 75, pp. 651-659.
Riani, M., Corbellini, A. and Atkinson, A.C. (2018), Very Robust Bayesian Regression for Fraud Detection, "International Statistical Review", http://dx.doi.org/10.1111/insr.12247
Atkinson, A.C., Corbellini, A. and Riani, M., (2017), Robust Bayesian Regression with the Forward Search: Theory and Data Analysis, "Test", Vol. 26, pp. 869-886, https://doi.org/10.1007/s11749-017-0542-6