I am quite new with MATA. I am currently working on an exercise of performing probit estimation using MATA's optimize() but I keep on getting the 'initial values not feasible' error message.I have tried searching for other discussions and applied the solution from other discussions to no avail.
Basically, I'm simulating a binary choice model Array
and then I have to perform logit estimation of y on x similar to standard STATA probit command:
Code:
probit y x
This is the code that I have come up so far.. Thank you very much in advance for your help!
Code:
mata
mata clear
// a. Simulate Y
// generate random variables
X = rnormal(1000,1,0,1) // X variable
u = rnormal(1000,1,0,1) // error term
// setting up coefficients
alpha = J(1000,1,0) // constants
beta = 2
// Simulate Y*
Y_star = alpha + beta*X + u
// Simulate Y
Y = Y_star :> J(1000,1,0)
// check if the proportion of 1's is between 0.4 and 0.6
mean_Y = mean(Y)
mean_Y
// b. estimate probit estimator
// preparing probit link function
x = X,J(1000,1,1)
b = (beta,1)
xb = x*b'
mu = normal(xb)
// define function
void PROBIT(todo,Y,mu,f,g,H) {
f = Y :* ln(mu) + (1 :- Y) :* ln(1 :- mu)
}
// optimization
p = J(1,cols(X),beta) // initial value
S = optimize_init()
optimize_init_evaluator(S,&PROBIT())
optimize_init_evaluatortype(S,"v2")
optimize_init_technique(S,"bfgs")
optimize_init_argument(S,1,Y)
optimize_init_argument(S,1,X)
optimize_init_params(S,p)
optimize(S)
beta_probit = optimize_result_params(S)'
beta_probit
end
0 Response to Probit estimation using MATA Optimize 'initial values not feasible'
Post a Comment