Me inclino por el comentario de @StasK. Sin embargo, algo como lo que quieres es factible, aunque un poco complicado de interpretar. Lo que propongo a continuación te dice cómo el efecto marginal de $x$ varía con $x$ .
Usted sabe que la media condicional de la variable dependiente en un modelo probit es $$\mathbb{Pr}[y=1 \vert x,z]=\Phi(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi).$$ La variable $x$ es lo que nos importa. El vector $z$ contiene algunas otras covariables. $\Phi(.)$ es la fdc normal estándar, y $\varphi(.)$ es el pdf normalizado, que se utilizará a continuación.
El efecto marginal de $x$ es $$\frac{\partial \mathbb{Pr}[y=1 \vert x,z]}{\partial x}=\varphi(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi)\cdot(\beta + 2\cdot\gamma \cdot x).$$ El cambio en el efecto marginal es la segunda derivada $$ \frac{\partial^2 \mathbb{Pr}[y=1 \vert x,z]}{\partial x^2} = \varphi(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi)\cdot(2\cdot\gamma) +(\beta + 2\cdot\gamma \cdot x)\cdot\varphi'(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi). $$
Desde $\varphi′(x)=−x \cdot \varphi(x)$ esto se "simplifica" a
$$ \frac{\partial^2 \mathbb{Pr}[y=1 \vert x,z]}{\partial x^2} = \varphi(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi)\cdot \left[ 2\cdot\gamma -(\beta + 2\cdot\gamma \cdot x)^2\cdot(\alpha + \beta \cdot x + \gamma \cdot x^2+z'\pi)\right]. $$
Tenga en cuenta que esto es una función de $x$ y $z$ s, por lo que podemos evaluar esta cantidad en varios valores posibles. Obsérvese también que, mientras que el primer término es seguramente positivo, ya que se trata de una densidad normal, es difícil firmar el segundo término aunque se conozca el signo y la magnitud de los coeficientes.
Suponiendo que no haya metido la pata en la derivada, así es como podría hacer esto en Stata:
#delimit;
sysuse auto, clear;
probit foreign c.mpg##c.mpg c.weight, coefl;
/* At own values of covarites */
margins, expression(normalden(predict(xb))*(2*_b[c.mpg#c.mpg] - predict(xb)*(_b[c.mpg]+2*_b[c.mpg#c.mpg]*mpg)^2));
/* At chosen values of covarites */
margins, expression(normalden(predict(xb))*(2*_b[c.mpg#c.mpg] - predict(xb)*(_b[c.mpg]+2*_b[c.mpg#c.mpg]*mpg)^2)) at(mpg=20 weight=3000);
/* At avermpg value of covariates */
margins, expression(normalden(predict(xb))*(2*_b[c.mpg#c.mpg] - predict(xb)*(_b[c.mpg]+2*_b[c.mpg#c.mpg]*mpg)^2)) atmeans;
Si lo hiciera yo mismo y me diera pereza, podría utilizar contrastes inversos adyacentes. Por ejemplo, aquí está la segunda derivada evaluada en 4 valores de $x$ :
margins, expression(normalden(predict(xb))*(2*_b[c.mpg#c.mpg] - predict(xb)*(_b[c.mpg]+2*_b[c.mpg#c.mpg]*mpg)^2)) at(mpg = (10 20 30 40));
Aquí hay una comparación de los derivados. Esto compara los efectos marginales de mpg a mpg de x+1 con el efecto marginal a mpg de x:
margins, dydx(mpg) at(mpg = (10 11 20 21 30 31 40 41)) contrast(atcontrast(ar(2(2)8)._at) wald);
Fíjate en lo cerca que están las salidas de los dos comandos, pero el segundo es mucho más fácil.
No sé qué r es tu código, así que no puedo verificar si lo que tienes es correcto.