4

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

我想估计的非线性函数

我正在测试另一篇论文的结果,并且想使用 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) ))

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

lnwage(i) = alpha0 + alpha1*ln(sum((j), power(S_over_H(i,j),alpha2) * exp(alpha3 * distance(i,j))))
4

1 回答 1

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')

PS请解释什么是GAMS。

于 2013-09-16T07:40:08.730 回答