为什么使用nl估计后访问系数需要的语法与其他估计命令略有不同?

时间:2015-03-01 05:38:31

标签: syntax stata

按照Stata中的大多数估算命令(例如reglogitprobit等),您可以使用_b[ParameterName]语法(或同义词{{ {1}})。例如:

_coef[ParameterName]

接着是

regress y x

将显示x系数的估计值。 di _b[x] 将显示估计的拦截系数(假设di _b[_cons]命令成功),等等。

但是如果我使用非线性最小二乘命令regress我(貌似)必须做一些稍微不同的事情。现在(不考虑这个示例模型,绝对不需要使用NLLS回归):

nl

然后(注意正斜杠)

nl (y = {_cons} + {x}*x)

将显示x系数的估计值。

为什么访问di _b[/x] 后面的参数估算需要不同的语法?是否需要注意细微之处?

1 个答案:

答案 0 :(得分:1)

“撇开那个示例模型,绝对不需要使用NLLS回归”:我认为这是你不能在这里做的......

问题在于为什么语法是这样的。这是逻辑问题和历史问题。为什么选择特定语法最终是StataCorp选择它的程序员的问题。这是对您的问题的一个有限的看法。

回归型模型的主要语法来自为线性回归模型设计的语法,其中默认情况下参数包括截距,如您所知。

非线性回归模型的原始语法(在非线性最小二乘估计的意义上)与估计用户指定的参数束的需要相匹配,这些参数根本不需要包括截距。 否则,不存在拦截是自然默认的问题;没有参数化是一个自然的默认值,nl估计的每个模型都是 sui generis

一个有用的功能是,用户可以在Stata中作为合法名称的约束中选择他们为参数找到的名称,例如alphabeta,{{1} },gammaab等。如果您选择c作为_cons中的拦截,这是一个合法的名称,但不是特别的,只是你的选择; nl不会将其视为应该使用nl约定的信号。

您引用的语法是regress重大重新设计所能实现的一部分,但它与原始哲学一致。

语法不同,因为它可能不是你寻求的答案,但我想你只能从StataCorp获得更全面的答案;开发人员确实在Statalist上闲逛,但他们并没有在这里看到它们。