📄 felogit_demo.m
字号:
% PURPOSE: demonstrate use of felogit.m
% Simon D. Woodcock, sdw9@cornell.edu
% 9/13/2002
%---- GENERATE SOME DEMO DATA WITH A TYPICAL UNBALAMCED ----%
%---- PANEL STRUCTURE ----%
N = 1000; % number of observational units
T = 20; % max number of repeated observations
nvar = 5; % number of covariates
maxit = 10; % maximum number of iterations
tol = 1e-8; % convergence tolerance
% unbalance the data by randomly determining the number of repeated
% obseravations for each observational unit
T_i = round(2 + T*rand(N,1));
% create indices for observational units and repetitions
id = round(100000+100000*rand(N,1)); % random numeric id's for obs units
for i = 1:N % put the id's and fixed effects in a T x N matrix
for t = 1:T_i(i,1)
cmat(t,i) = 5*i/N; % make the fixed effects a known function of i so we can assess accuracy
imat(t,i) = id(i,1);
tmat(t,i) = t; % id's for repetitions
end;
end;
% stack the data id's and fixed effects into conformable vectors
[junk,punk,ivec] = find(imat);
[junk,punk,tvec] = find(tmat);
[junk,punk,c] = find(cmat);
nobs = length(ivec);
clear imat tmat cmat;
% create rest of data
x = randn(nobs,nvar); % covariates
beta = ones(nvar,1); % slope parameters
e = sqrt(1)*randn(nobs,1);
P = exp(x*beta + c + e) ./ ( 1 + exp(x*beta + c + e) );
u = rand(nobs,1);
y = u < P; % response variable
clear c e P u beta punk junk T_i nvar N T id;
pack;
%---- SHOW WHAT THE DATA LOOKS LIKE ----%
disp('Here is a print of the first 20 observations in our data');
look=[ivec(1:20) tvec(1:20) y(1:20) x(1:20,:)]
%---- DEMONSTRATE CALL OF FELOGIT ----%
results = felogit(y,x,ivec,tvec,[],[],maxit,tol);
%---- PRINT RESULTS ----%
prt(results);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -