Stata中的非线性最小二乘法,如何对变量/集合求和?

Jen*_*ens 4 nls stata

我想通过使用Stata的非线性最小二乘估计以下函数:

我想估计的非线性函数

我正在测试另一个papper的结果,并且想要使用Stata,因为它与我复制的论文中使用的软件/解算器相同,例如,它比使用GAMS更容易.

我的问题是我找不到任何方法来写出上面等式的总和部分.在我的数据中,我所拥有的是一个单独的观察,其中j的值在单独的变量中.我可以用以下方式写出整个表达式(对于三个观察/我):

nl (ln_wage = {alpha0} + {alpha0}*log( ((S_over_H_1)^{alpha2})*exp({alpha3}*distance_1) + ((S_over_H_2)^{alpha2})*exp({alpha3}*distance_2) + ((S_over_H_1)^{alpha2})*exp({alpha3}*distance_1) ))
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法可以告诉Stata对给定数字集的表达式/变量求和,比如在GAMS中你可以写:

lnwage(i) = alpha0 + alpha1*ln(sum((j), power(S_over_H(i,j),alpha2) * exp(alpha3 * distance(i,j))))
Run Code Online (Sandbox Code Playgroud)

Nic*_*Cox 5

您引用的GAMS符号的Stata没有直接的等价物,但您可以这样做

forval j = 1/3 {
    local call `call' S_over_H_`j'^({alpha2}) * exp({alpha3} * distance_`j')
}

nl (ln_wage = {alpha0} + {alpha1} * ln(`call')
Run Code Online (Sandbox Code Playgroud)

PS请解释一下GAMS是什么.