%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Basic Probit model using Fair's (1978) affairs data
% eliminate "kids" dummy
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
tic; % start stop watch
rand('state',37); % set arbitrary seed for uniform draws
randn('state',37); % set arbitrary seed for normal draws
% Load & prepare data
%%%%%%%%%%%%%%%%%%%%%%
% load c:\klaus\AAEC6564\mlab\worksp\Fair_data.txt;
% data=Fair_data;
% clear Fair_data;
% save c:\klaus\AAEC6564\mlab\worksp\Fair_data data;
%
% 'ok'
% break
load c:\klaus\AAEC6564\mlab\worksp\Fair_data;
% Contents of Data (601 observations)
%1 affair 1=yes, 0=no
%2 male 1=male, 0=female
%3 years married
%4 kids 1=yes, 0=no (from this marriage)
%5 religious 1=yes, 0=no
%6 education (years of completed schooling)
%7 happy 1=yes, 0=no (marriage = happier than the average
%marriage)
y=data(:,1);
n=length(y);
X=[ones(n,1) data(:,2:3) data(:,5:end)]; %drop kids
f0=find(y==0);
f1=find(y==1);
l0=length(f0);
l1=length(f1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% starting values, priors, and tuners
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% general elements
r1=15000; % burn-ins
r2=10000; % keepers
R=r1+r2;
k=size(X,2);
% generic OLS
bols=inv(X'*X)*X'*y;
res=y-X*bols;
s2=(res'*res)/(n-k);
% elements for beta
mu0=zeros(k,1); %diffuse prior for mean of betas
V0=eye(k)*100; % diffuse prior for varcov of beta
betadraw=bols;
[betamat]=gs_probit(X,y,k,n,r1,r2,mu0,V0,betadraw,f0,f1);
'GS done'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Convergence Checks - Geweke's CD diagnostic
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% put all draws together & run diagnostics
allmat=[betamat];
kdiag=klausdiagnostics_greater0(allmat);
% Open log file
[fid]=fopen('c:\Klaus\AAEC6564\mlab\logs\mod5_probit_Fair_nokids.txt','w');
if fid==-1;
warning('File could not be opened');
else;
disp('File opened successfully');
end;
fprintf(fid,'total number of iterations =\t%6.0f \n',R);
fprintf(fid,'burn-in iterations =\t%6.0f \n',r1);
% beta stuff
out=kdiag(1:k,:)';
fprintf(fid,'Output table for betas \n\n');
fprintf(fid,'mean\t\tstd\t\tp(>0)\t\tnse\t\tIEF\t\tm*\t\tcd\n\n');
fprintf(fid,'%6.3f\t%6.3f\t%6.3f\t%6.3f\t%6.3f\t%6.3f\t%6.3f\n',out);
fprintf(fid,'\n');
save c:\klaus\AAEC6564\mlab\worksp\mod5_probit_Fair_nokids betamat X;
%I'm sending the X matrix through since I will need it's mean in the
%prediction script
finish = toc/60;
fprintf(fid,'Time elapsed in minutes \n\n');
fprintf(fid,'%6.3f\n',finish);
st=fclose(fid);
if st==0;
disp('File closed successfully');
else;
warning('Problem with closing file');
end;