Dear StataList,

I am trying to obtain the marginal effects, with correct confidence intervals, for a probit model that includes an endogenous (continuous) RHS variable, and its square. I am using Stata 13.

I had hoped to use a series of commands like the following:

ivprobit Y X1 (c.X2##c.X2 = Z1 Z2) , vce(cluster CLUSTER_ID)

margins, dydx(X2) atmeans

However, the first line of code exits with the following error message:

-------

Fitting exogenous probit model

Iteration 0: log likelihood = -6048.0731

Iteration 1: log likelihood = -5789.8368

Iteration 2: log likelihood = -5788.8483

Iteration 3: log likelihood = -5788.8482

could not find initial values

r(498);

---------

The code does not end in an error when I execute:

gen X2_2=X2*X2

ivprobit Y X1 (X2 X2_2 = Z1 Z2) , vce(cluster CLUSTER_ID)

However, I do not know how to simply get the confidence intervals for the marginal effect of a change in X2 in this circumstance.

Is there a straightforward way to achieve what I am after? If not, I had thought to manually calculate the marginal effect from the regression that doesn't use the "c." and "##" operators, and bootstrap the standard errors with the cluster option. Does this seem like a sound strategy?

I am trying to obtain the marginal effects, with correct confidence intervals, for a probit model that includes an endogenous (continuous) RHS variable, and its square. I am using Stata 13.

I had hoped to use a series of commands like the following:

ivprobit Y X1 (c.X2##c.X2 = Z1 Z2) , vce(cluster CLUSTER_ID)

margins, dydx(X2) atmeans

However, the first line of code exits with the following error message:

-------

Fitting exogenous probit model

Iteration 0: log likelihood = -6048.0731

Iteration 1: log likelihood = -5789.8368

Iteration 2: log likelihood = -5788.8483

Iteration 3: log likelihood = -5788.8482

could not find initial values

r(498);

---------

The code does not end in an error when I execute:

gen X2_2=X2*X2

ivprobit Y X1 (X2 X2_2 = Z1 Z2) , vce(cluster CLUSTER_ID)

However, I do not know how to simply get the confidence intervals for the marginal effect of a change in X2 in this circumstance.

Is there a straightforward way to achieve what I am after? If not, I had thought to manually calculate the marginal effect from the regression that doesn't use the "c." and "##" operators, and bootstrap the standard errors with the cluster option. Does this seem like a sound strategy?