我看到 Stata 具有binormal
计算双变量累积分布函数的命令,但没有用于计算双变量概率密度函数的相应(官方)命令。(如果我错了,请告诉我)。我知道有一个用户编写的函数bnormpdf
,但与normalden
单变量概率密度函数等官方命令不同,要生成的变量出现在右侧。
bnormpdf x1 x2, rho(.2) dens(pdf_b) double
我想知道这种模式在编程时是否会产生任何影响,例如最大似然(这可能看起来太宽泛了)。
我看到 Stata 具有binormal
计算双变量累积分布函数的命令,但没有用于计算双变量概率密度函数的相应(官方)命令。(如果我错了,请告诉我)。我知道有一个用户编写的函数bnormpdf
,但与normalden
单变量概率密度函数等官方命令不同,要生成的变量出现在右侧。
bnormpdf x1 x2, rho(.2) dens(pdf_b) double
我想知道这种模式在编程时是否会产生任何影响,例如最大似然(这可能看起来太宽泛了)。
目前尚不清楚您在担心什么,但在 Stata 术语中,您在这里的功能和命令是错误的。
在 Stata 中,命令和函数是完全不相交的。
一个命令可以调用一个函数,而在 Stata 中这是使用函数的唯一方法。但是函数可能不会调用命令。
用户不能在 Stata 中编写函数。(用户可以编写egen
函数和 Mata 函数,但这些类别在这里都不相关。)只有 Stata 的开发人员可以编写 Stata 函数。
请注意,Stata 的一些(偶尔)用户在讨论 Stata 时更愿意忽略 Stata 自己的术语,可能是因为他们认为它有悖常理。我不建议这样做。Stata 的术语选择可供讨论,但您需要先了解 Stata 的术语,然后才能进行讨论。
说了这么多,我认为您的问题没有什么可补充的。
http://www.stata.com/manuals13/dfunctions.pdf文档binormal()
,用 Stata 术语来说,它是一个函数,而不是一个命令。
bnormpdf
(SSC) 相反不是一个函数而是一个命令。
但是,没有什么能阻止您在自己的程序中使用其中一个或两个。语法必然不同,因此您必须bnormpdf
先创建一个新变量,然后再将该变量用于您自己的目的。您不能bnormpdf
在其他命令中使用调用。