为什么在使用nl进行估计之后访问系数需要与其他估计命令稍微不同的语法

  • 本文关键字:其他 命令 语法 访问 nl 之后 syntax stata
  • 更新时间 :
  • 英文 :


根据Stata中的大多数估计命令(例如reglogitprobit等),可以使用_b[ParameterName]语法(或同义的_coef[ParameterName])访问估计。例如:

regress y x

然后是

di _b[x]

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

但如果我使用非线性最小二乘命令nl,我(似乎)必须做一些稍微不同的事情。现在(对于这个示例模型,完全没有必要使用NLLS回归):

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

后面跟着(注意正斜杠)

di _b[/x]

将显示x系数的估计值。

为什么访问nl之后的参数估计需要不同的语法?有什么微妙之处需要注意吗?

"撇开这个示例模型不谈,绝对没有必要使用NLLS回归":我认为这是你在这里不能做的。。。。

问题是为什么语法是这样的。这是一个逻辑问题,也是一个历史问题。为什么选择特定的语法最终是StataCorp程序员的一个问题。以下是对你的问题的一个有限的看法。

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

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

一个有用的功能是,用户可以在Stata中被视为合法名称的限制范围内,为参数选择他们认为自然的名称,例如alphabetagammaabc等。如果您在nl中选择_cons作为截距,这是一个合法名称,但在其他方面并不特殊,只是您的选择;nl不会将其视为应该使用regress约定转换的信号。

您引用的语法是nl的重大重新设计所实现的语法的一部分,但它与最初的哲学是一致的。

语法的不同可能不是你想要的答案,但我想你只能从StataCorp得到更完整的答案;开发人员确实会在Statalist上闲逛,但他们在这里并不显眼。

最新更新