clear set obs 1600 set seed 14171 set more off set type double ***************** * create data for Problem 3 ***************** gen x = invnorm(uniform()) gen id = floor((_n - 1) / 8) bys id: gen fe = invnormal(uniform()) bys id: replace fe = fe[1] gen y = ( (exp(1.4*x + fe) / (1 + exp(1.4*x + fe))) > uniform() ) ***************** ** ** run built-in clogit comand for comparison ** logit y x clogit y x, group(id) program drop _all program myclogit args todo b lnf tempvar xb mleval `xb' = `b', eq(1) ** ** YOUR CODE GOES HERE ** ** end ** ** Drop the panels with all 1's and the panels with all 0's ** bys id: gen myN = _N bys id: egen sum_y = sum(y) drop if myN == sum_y | sum_y == 0 ml model d0 myclogit (y = x, noconstant) ml maximize