1、1 极大似然估计法极大似然估计法(maximum likelihood,ML),是不同,是不同于最小二乘法的另一种参数估计方法,是从极大似然原理于最小二乘法的另一种参数估计方法,是从极大似然原理发展起来的其他估计方法的基础。虽然其应用没有最小二发展起来的其他估计方法的基础。虽然其应用没有最小二乘法普遍,但在计量经济学理论上占据很重要的地位,因乘法普遍,但在计量经济学理论上占据很重要的地位,因为极大似然原理比最小二乘原理更本质地揭示了通过样本为极大似然原理比最小二乘原理更本质地揭示了通过样本估计母体参数的内在机理,计量经济学理论的发展更多的估计母体参数的内在机理,计量经济学理论的发展更多的是以极
2、大似然估计原理为基础的,对于一些特殊的计量经是以极大似然估计原理为基础的,对于一些特殊的计量经济学模型,只有极大似然方法才是很成功的估计方法。济学模型,只有极大似然方法才是很成功的估计方法。2 EViews包含了一些常用方法,如最小二乘法、非线性包含了一些常用方法,如最小二乘法、非线性最小二乘法、加权最小二乘法、最小二乘法、加权最小二乘法、TSLS、GMM、ARIMA、ARCH、GARCH等方法,这些方法可以解决可能遇到的大等方法,这些方法可以解决可能遇到的大多数估计问题。但是,我们在研究中也可能会碰到一些不多数估计问题。但是,我们在研究中也可能会碰到一些不在上述之列的特殊的模型,这些模型可能
3、是现存方法的一在上述之列的特殊的模型,这些模型可能是现存方法的一个扩展,也可能是一类全新的问题。个扩展,也可能是一类全新的问题。为了能解决这些特殊的问题,为了能解决这些特殊的问题,EViews提供了提供了这一工具来估计各种不同类型的模型。对数这一工具来估计各种不同类型的模型。对数极大似然估计对象提供了一个一般的,开放的工具,可以极大似然估计对象提供了一个一般的,开放的工具,可以通过这个工具极大化相关参数的似然函数对一大类模型进通过这个工具极大化相关参数的似然函数对一大类模型进行估计。行估计。3 使用对数极大似然估计对象估计时,我们用使用对数极大似然估计对象估计时,我们用EViews的序列生成器
4、,将样本中各个观测值的对数似然贡献描述的序列生成器,将样本中各个观测值的对数似然贡献描述为一个未知参数的函数。可以给出似然函数中一个或多个为一个未知参数的函数。可以给出似然函数中一个或多个参数的解析微分,也可以让参数的解析微分,也可以让EViews自动计算数值微分。自动计算数值微分。EViews将寻找使得指定的似然函数最大化的参数值,并将寻找使得指定的似然函数最大化的参数值,并给出这些参数估计的估计标准差。给出这些参数估计的估计标准差。在本章,我们将详细论述对数极大似然估计对象,在本章,我们将详细论述对数极大似然估计对象,说明其一般特征。并给出了一些可以使用该方法的具体的说明其一般特征。并给出
5、了一些可以使用该方法的具体的例子。例子。4 设总体的概率密度函数为设总体的概率密度函数为P,其类型是已知的,但含有未其类型是已知的,但含有未知参数(向量)知参数(向量)。我们的目的就是依据从该总体抽得的随机我们的目的就是依据从该总体抽得的随机样本样本 y1,y2,yT,寻求对,寻求对 的估计。的估计。观测值观测值 y1,y2,yT 的联合密度函数被给定为的联合密度函数被给定为 (8.1.1)其中:其中:y=(y1,y2,yT)。将这一联合密度函数视为参数。将这一联合密度函数视为参数 的函数,称为样本的似然函数(的函数,称为样本的似然函数(likelihood function)。)。TttyP
6、L1)();(y5 极大似然原理就是寻求参数的估计值极大似然原理就是寻求参数的估计值 ,使得所,使得所给样本值的概率密度(即似然函数)的值在这个参数给样本值的概率密度(即似然函数)的值在这个参数值之下,达到最大。在当前的情形下,就是寻求值之下,达到最大。在当前的情形下,就是寻求 的的估计值,使得似然函数估计值,使得似然函数 L(y;)相对于给定的观测值相对于给定的观测值 y1,y2,yT 而言达到最大值,而言达到最大值,就被称为极大似然估计就被称为极大似然估计量。量。6 在在 L(y;)关于关于 i(i=1,2,n,n是未知参数的个数)是未知参数的个数)的偏导数存在时,要使的偏导数存在时,要使
7、 L(y;)取最大值取最大值,必须满足必须满足,i=1,2,n (8.1.2)由上式可解得由上式可解得 n 1 向量向量 的极大似然估计值的极大似然估计值 ,而式,而式(8.1.2)也被称为似然函数。也被称为似然函数。0);(yLi 7 因为因为 L(y;)与与 lnL(y;)在同一点处取极值,所在同一点处取极值,所以也可以由以也可以由,i=1,2,n(8.1.3)求得,因为对数可将乘积变成求和,所以,式求得,因为对数可将乘积变成求和,所以,式(8.1.3)往往往往比直接使用式比直接使用式(8.1.2)来得方便。式来得方便。式(8.1.3)也被称为对数似也被称为对数似然函数。然函数。0);(l
8、nyLi8 考虑多元线性回归模型的一般形式考虑多元线性回归模型的一般形式 ,t=1,2,T(8.1.4)其中其中 k 是解释变量个数,是解释变量个数,T 是观测值个数,随机扰动项是观测值个数,随机扰动项 ,那么那么 yt 服从如下的正态分布:服从如下的正态分布:其中其中(8.1.5)tktktttuxxxy22110tu),0(2Nty),(2tNktktttxxx221109 y 的随机抽取的的随机抽取的 T 个样本观测值的联合概率函数为个样本观测值的联合概率函数为 (8.1.6)这就是变量这就是变量y的似然函数,未知参数向量的似然函数,未知参数向量=1,2,k,2。对似然函数求极大值和对数
9、似然函数求极大值是等价对似然函数求极大值和对数似然函数求极大值是等价的,式的,式(8.1.6)的的为:为:(8.1.7)TtttyTTTttTeyPyyyPL122)(2121212)2(1)(),(),(TtttTtttyyTL122212222)(21)2ln(21)(21)2ln(2),(ln10 注意,可以将对数似然函数写成注意,可以将对数似然函数写成 t 时刻所有观测值的时刻所有观测值的对数似然贡献和的形式,对数似然贡献和的形式,(8.1.8)这里对数似然的单个贡献(用小写字母表示)由下面这里对数似然的单个贡献(用小写字母表示)由下面的式子给出:的式子给出:(8.1.9)),(),(
10、ln212TttlL2222)(21)2ln(21),(tttylTt,2,111 式(式(8.1.7)也可用标准正态分布的密度函数)也可用标准正态分布的密度函数 表示表示 (8.1.10)式中式中 为为 (8.1.11)这里对数似然函数每个观测值的贡献式这里对数似然函数每个观测值的贡献式(8.1.9)又可以由下面的又可以由下面的式子给出:式子给出:(8.1.12)TtttTtyTL122122)(21)ln(21)2ln(2),(lnTttty12)ln(21)(lnTtttzTz1221)2ln(2)(lntttyz)ln(21ln),(2tttylTt,2,112 用对数极大似然估计来估
11、计一个模型,主要的工作是用对数极大似然估计来估计一个模型,主要的工作是建立用来求解似然函数的说明文本。用建立用来求解似然函数的说明文本。用EViews指定对数指定对数极大似然函数的说明是很容易的,因为似然函数的说明只极大似然函数的说明是很容易的,因为似然函数的说明只是一系列对序列的赋值语句,这些赋值语句在极大化的过是一系列对序列的赋值语句,这些赋值语句在极大化的过程中被反复的计算。我们所要做的只是写下一组语句,在程中被反复的计算。我们所要做的只是写下一组语句,在计算时,这些语句将描述一个包含每个观测值对似然函数计算时,这些语句将描述一个包含每个观测值对似然函数贡献的序列。贡献的序列。13 注意
12、到,我们能将对数似然函数写成所有观测值注意到,我们能将对数似然函数写成所有观测值 t 的的的形式,的形式,这里这里由下面的式子给出:由下面的式子给出:),(),(ln212TttlL2222)(21)2ln(21),(tttylTt,2,114 以只含一个解释变量的一元线性回归方程为例以只含一个解释变量的一元线性回归方程为例 ,t=1,2,T 假定知道模型参数的真实值,并且想用假定知道模型参数的真实值,并且想用EViews产生产生一个包含每个观测值的贡献的序列。一个包含每个观测值的贡献的序列。tttuxy110),0(2Nut2222)(21)2ln(21),(tttylTt,2,115 未知
13、参数向量未知参数向量 =0,1,2,可以将参数初值赋给系数向可以将参数初值赋给系数向量的量的c(1)到到c(3)元素,然后把下面的赋值语句作为元素,然后把下面的赋值语句作为EViews的命的命令或程序来执行。令或程序来执行。Series res=y-c(1)-c(2)*x Series var=c(3)Series logL1=-log(2*3.14159*var)/2-(res2/var)/2 前面两行语句描述了用来存储计算时的中间结果的序列。前面两行语句描述了用来存储计算时的中间结果的序列。第一个语句创建了第一个语句创建了,而第二个语句创建了,而第二个语句创建了。而序列。而序列包含了包含了
14、的集合。的集合。2222)(21)2ln(21),(tttyl16 下面考虑下面考虑2个变量的例子:个变量的例子:这里,这里,y,x,w 是观测序列,而是观测序列,而 =1,2,3,2是模型的参数。是模型的参数。有有T个观测值的样本的对数似然函数可以写成:个观测值的样本的对数似然函数可以写成:这里,这里,是标准正态分布的密度函数。是标准正态分布的密度函数。),0(2321NuuwxytttttTtTttttwxyTL1122321222)()log(21)2log(2),(logTttttwxy12321)log(21(log17 将这一例子的对数极大似然函数过程写成下面的赋值语将这一例子的对
15、数极大似然函数过程写成下面的赋值语句:句:Series res=y-c(1)-c(2)*x-c(3)*w Series var=c(4)Series logL1=log(dnorm(res/sqrt(var)-log(var)/2 前面两行语句创建了残差序列前面两行语句创建了残差序列res和方差序列和方差序列var,参数,参数c(1),c(2),c(3)代表了回归系数代表了回归系数 1,2,3,c(4)代表了代表了 2,序列序列logL1包含了每个观测值的对数似然贡献的集合。包含了每个观测值的对数似然贡献的集合。)log(21log),(2321ttttwxyl18 下面考虑稍复杂的例子,假设
16、数据是由条件异方差回归模下面考虑稍复杂的例子,假设数据是由条件异方差回归模型生成的:型生成的:这里,这里,x,y,w 是观测序列,而是观测序列,而=1,2,3,2,是模型的参是模型的参数。有数。有T个观测值的样本的对数似然函数可以写成:个观测值的样本的对数似然函数可以写成:这里,这里,是标准正态分布的密度函数。是标准正态分布的密度函数。Tttttttwwwxy122/321)log(21(logTtTttttttwwxywTL1122321222)()log(21)2log(2),(log),0(2321ttttttwNuuwxyTt,2,119 将这一例子的对数极大似然函数过程写成下面的赋值
17、语句:将这一例子的对数极大似然函数过程写成下面的赋值语句:Series res=y-c(1)-c(2)*x-c(3)*w Series var=c(4)*wc(5)Series logL1=log(dnorm(res/sqrt(var)-log(var)/2 前面两行语句创建了残差序列前面两行语句创建了残差序列res和方差序列和方差序列var,参数,参数c(1),c(2),c(3)代表回归系数代表回归系数 1,2,3,c(4)代表代表 2,c(5)代表代表 ,序,序列列logL1包含了每个观测值的对数似然贡献的集合。包含了每个观测值的对数似然贡献的集合。)log(21log),(22/321t
18、tttttwwwxylTt,2,120 现在假定不知道模型参数的真实值,而想使用数据现在假定不知道模型参数的真实值,而想使用数据来估计它。参数的极大似然估计被定义为:使得样本中来估计它。参数的极大似然估计被定义为:使得样本中所有随机抽取的一组观测值的联合概率密度,即似然函所有随机抽取的一组观测值的联合概率密度,即似然函数取最大值的那组参数值。数取最大值的那组参数值。而对数极大似然方法使得寻找这些极大似然估计变而对数极大似然方法使得寻找这些极大似然估计变得容易了。只需创建一个对数似然对象,把上面的赋值得容易了。只需创建一个对数似然对象,把上面的赋值语句输入到语句输入到logL的说明窗口,然后让的
19、说明窗口,然后让EViews来估计这个来估计这个模型。模型。21 在输入赋值语句时,只需对上面的文本做两处微小的在输入赋值语句时,只需对上面的文本做两处微小的改动就可以了。首先,改动就可以了。首先,(因(因为似然说明暗含了假定序列是当前的)。第二,为似然说明暗含了假定序列是当前的)。第二,(关键字(关键字为包含为包含)。)。这样,要在这样,要在logL说明窗口输入下面的内容:说明窗口输入下面的内容:logL logl res=y-c(1)-c(2)*x-c(3)*w var=c(4)*wc(5)logl=log(dnorm(res/sqrt(var)-log(var)/2 对数似然函数的第一行
20、,对数似然函数的第一行,logL logl,告诉,告诉EViews用用logl序列来存储似然贡献。余下的行定义了中间结果的计算序列来存储似然贡献。余下的行定义了中间结果的计算和实际的似然贡献的计算。和实际的似然贡献的计算。22 当用当用EViews估计模型参数时,它将对不同参数值估计模型参数时,它将对不同参数值重复执行说明中的赋值语句,使用迭代法来求使得对重复执行说明中的赋值语句,使用迭代法来求使得对数似然贡献最大的一组参数值。当数似然贡献最大的一组参数值。当EViews再不能提高再不能提高全部似然贡献时,它将停止迭代并在估计输出中报告全部似然贡献时,它将停止迭代并在估计输出中报告最终参数值和
21、估计标准差。最终参数值和估计标准差。本章下面的部分将更详细地讨论使用似然方法说本章下面的部分将更详细地讨论使用似然方法说明,估计和检验时要遵循的规则。明,估计和检验时要遵循的规则。23 要创建一个似然对象,选择要创建一个似然对象,选择Objects/New Object./LogL或者在命令窗口输入或者在命令窗口输入“logL”。似然窗口将打开一个空。似然窗口将打开一个空白说明视图。说明视图是一个文本窗口,在这个窗口里可白说明视图。说明视图是一个文本窗口,在这个窗口里可以输入描述统计模型的说明语句,还可以设置控制估计程以输入描述统计模型的说明语句,还可以设置控制估计程序各个方面的选项。序各个方
22、面的选项。24 正如上节中所描述的那样,似然说明的主线是一系正如上节中所描述的那样,似然说明的主线是一系列赋值语句,在计算时,这些赋值语句将产生一个包含列赋值语句,在计算时,这些赋值语句将产生一个包含样本中每个观测值的对数似然贡献的序列。赋值语句的样本中每个观测值的对数似然贡献的序列。赋值语句的多少可以自己决定。多少可以自己决定。25 每个似然说明都必须包含一个控制语句,该语句命名了每个似然说明都必须包含一个控制语句,该语句命名了保存似然贡献的序列。语句的格式为:保存似然贡献的序列。语句的格式为:这里这里logL是关键字是关键字,series_name是保存似然贡献的序列的是保存似然贡献的序列
23、的名字,可以写在似然说明的任何位置。名字,可以写在似然说明的任何位置。例如,对于一元线性回归方程的似然说明来说,第一行:例如,对于一元线性回归方程的似然说明来说,第一行:logL logl是似然贡献的序列的说明。当对模型进行计算时,是似然贡献的序列的说明。当对模型进行计算时,EViews将在现有参数值下执行每个赋值语句,并将结果保存将在现有参数值下执行每个赋值语句,并将结果保存到指定名称的序列里。如果序列不存在,系统将自动创建,到指定名称的序列里。如果序列不存在,系统将自动创建,如果已经存在,系统将使用现有的序列,并覆盖序列原来的如果已经存在,系统将使用现有的序列,并覆盖序列原来的内容。内容。
24、26 如果想在估计完成后删除说明中的一个或多个序列,可如果想在估计完成后删除说明中的一个或多个序列,可以使用以使用temp语句:语句:这个语句告诉这个语句告诉EViews在对说明的计算完成后,删除列表在对说明的计算完成后,删除列表中的序列。如果在中的序列。如果在logL中创建了许多中间结果,又不愿意工中创建了许多中间结果,又不愿意工作文件因包含这些结果的序列而弄得混乱的话,删除这些序作文件因包含这些结果的序列而弄得混乱的话,删除这些序列将是很有用的。例如,图列将是很有用的。例如,图8.2中的最后一行语句就是命令中的最后一行语句就是命令EViews在估计结束后,删除估计产生的中间序列在估计结束后
25、,删除估计产生的中间序列res、var和和logl。这里需要强调一点,在似然说明的文本中可以加入说明这里需要强调一点,在似然说明的文本中可以加入说明语句,说明语句的前面加上撇号语句,说明语句的前面加上撇号“”,则这个语句将不被执,则这个语句将不被执行。行。27 在上面的例子中,我们使用了系数在上面的例子中,我们使用了系数c(1)到到c(5)作为未知作为未知参数的名称。更一般的,出现在说明中一个已命名的系数向参数的名称。更一般的,出现在说明中一个已命名的系数向量中的每一个元素都将被视为待估参数。量中的每一个元素都将被视为待估参数。例如创建例如创建2个命名个命名的系数向量:的系数向量:beta(2
26、)sigma(1)于是可以写出下面的似然说明:于是可以写出下面的似然说明:logL logL1 res=cs-beta(1)-beta(2)*inc var=sigma(1)logl1=log(dnorm(res/sqrt(var)-log(var)/228 由于说明中的已命名的系数向量的所有元素都将被视由于说明中的已命名的系数向量的所有元素都将被视为待估参数,为待估参数,。如果一个参数对似然没有影响,那么在试。如果一个参数对似然没有影响,那么在试图进行参数估计时,将遇到一个奇异错误。图进行参数估计时,将遇到一个奇异错误。应该注意到除了系数元素外所有的对象在估计过程中应该注意到除了系数元素外所
27、有的对象在估计过程中都将被视为固定的,不可改变的。例如,假定都将被视为固定的,不可改变的。例如,假定omega是工是工作文件中一个已命名的标量作文件中一个已命名的标量(scalar omega),如果将子表,如果将子表达式达式var定义如下定义如下:var=omega EViews将不会估计将不会估计omega。omega的值将被固定在估计的值将被固定在估计的开始的开始值上值上。29 logL说明包含了一个或多个能够产生包含似然贡说明包含了一个或多个能够产生包含似然贡献的序列的赋值语句。在执行这些赋值语句的时候,献的序列的赋值语句。在执行这些赋值语句的时候,EViews总是从顶部到底部执行,所
28、以后面计算要用到总是从顶部到底部执行,所以后面计算要用到的表达式应放在前面。的表达式应放在前面。EViews对整个样本重复地计算每个表达式。对整个样本重复地计算每个表达式。EViews对模型进行重复计算时采用对模型进行重复计算时采用和和两种不同方式,这样就必须指定采用那种方两种不同方式,这样就必须指定采用那种方式,即观测值和方程的执行顺序。式,即观测值和方程的执行顺序。30 默认情形下,默认情形下,EViews用观测值顺序来计算模型,此用观测值顺序来计算模型,此种方式是先用第一个观测值来计算所有的赋值语句,接种方式是先用第一个观测值来计算所有的赋值语句,接下来是用第二个观测值来计算所有的赋值语
29、句,如此往下来是用第二个观测值来计算所有的赋值语句,如此往复,直到估计样本中所有观测值都使用过。这是用观测复,直到估计样本中所有观测值都使用过。这是用观测值顺序来计算递归模型的正确顺序,递归模型中每一个值顺序来计算递归模型的正确顺序,递归模型中每一个观测值的似然贡献依赖于前面的观测值,例如观测值的似然贡献依赖于前面的观测值,例如AR模型或模型或ARCH模型。模型。31 可以改变计算的顺序,这样可以改变计算的顺序,这样EViews就可以用方程顺序来就可以用方程顺序来计算模型,先用所有的观测值来计算第一个赋值语句,然后计算模型,先用所有的观测值来计算第一个赋值语句,然后用所有的观测值计算第二个赋值
30、语句,如此往复,对说明中用所有的观测值计算第二个赋值语句,如此往复,对说明中每一个赋值语句都用同样方式进行计算。这是用中间序列的每一个赋值语句都用同样方式进行计算。这是用中间序列的总量统计作为后面计算的输入的模型的正确顺序。总量统计作为后面计算的输入的模型的正确顺序。可以通过在说明中加入一条语句来声明所选择的计算方可以通过在说明中加入一条语句来声明所选择的计算方法。要用方程顺序来计算,仅加一行关键字法。要用方程顺序来计算,仅加一行关键字“”。要。要用样本顺序来计算,可以用关键字用样本顺序来计算,可以用关键字“byobs”。如果没有给。如果没有给出关键字,那么出关键字,那么。32 以例以例3.1
31、的消费函数作为例子,分析普通回归方程的极大的消费函数作为例子,分析普通回归方程的极大似然估计方法。消费函数的被解释变量似然估计方法。消费函数的被解释变量cs为实际居民消费,为实际居民消费,解释变量为实际可支配收入解释变量为实际可支配收入inc,变量均为剔除了价格因素的,变量均为剔除了价格因素的实际年度数据,样本区间为实际年度数据,样本区间为19782006年。那么凯恩斯消费年。那么凯恩斯消费函数的方程形式就可以写成:函数的方程形式就可以写成:(8.2.5)其中:其中:ut服从标准正态分布,服从标准正态分布,cs=CS/CPI,inc=YD/CPI,CPI 代表代表1978年为年为1的居民消费价
32、格指数,的居民消费价格指数,代表自发消费,代表自发消费,代表边际消费倾向,则参数向量为代表边际消费倾向,则参数向量为=(,u2),观测值,观测值个数个数T=29。tttuinccs33 利用前面的式利用前面的式(8.2.2),我们可以写出这个方程的对数极大,我们可以写出这个方程的对数极大似然函数似然函数 (8.2.6)(8.2.6)式中式中zt=(cst-inct)/u。29122912222/ln)(ln2)(ln)2ln(229)(lntuttuttuzinccsL34 利用极大似然方法求解,作为利用极大似然方法求解,作为byobs语句的一个例子,语句的一个例子,考虑下面的说明:考虑下面的
33、说明:EViews用观测值顺序来计算模型,此种方式是先用第一用观测值顺序来计算模型,此种方式是先用第一个观测值来计算所有的赋值语句,接下来是用第二个观测值个观测值来计算所有的赋值语句,接下来是用第二个观测值来计算所有的赋值语句,如此往复,直到估计样本中所有观来计算所有的赋值语句,如此往复,直到估计样本中所有观测值都使用过。本例将方差作为未知参数测值都使用过。本例将方差作为未知参数c(3),一起求解。,一起求解。35 进行极大似然求解之后,得到进行极大似然求解之后,得到 和和 的估计值的估计值:c(3)是方差的估计结果。这个结果与最小二乘法得到的结是方差的估计结果。这个结果与最小二乘法得到的结果
34、完全相同。果完全相同。36 作为作为byeqn语句的一个例子,考虑下面的说明:语句的一个例子,考虑下面的说明:进行极大似然求解之后,得到进行极大似然求解之后,得到 和和 的估计值的估计值:37 根据第根据第4章例章例4.1,各省人均家庭交通及通讯支出,各省人均家庭交通及通讯支出(cum)和可和可支配收入支配收入(in)的关系,样本个数为的关系,样本个数为30,考虑如下具有异方差性,考虑如下具有异方差性的方程:的方程:(8.2.40)为消除方程中的异方差,利用加权最小二乘法求解,设为消除方程中的异方差,利用加权最小二乘法求解,设t=cumt 0 1 int,w=1/|,可以写出式可以写出式(8.
35、2.40)的对数极大的对数极大似然函数似然函数 (8.2.41)它的未知参数向量为它的未知参数向量为 =(0,1)。tttuincum10301222102ln30)2ln(230)(lntttttwwinwwcumwL38 也可用同样的处理方法利用极大似然方法求解,作为也可用同样的处理方法利用极大似然方法求解,作为byeqn语句的一个例子,考虑下面的说明语句的一个例子,考虑下面的说明:这个说明通过利用残差这个说明通过利用残差res建立加权向量建立加权向量w=1/abs(res)来完成来完成一个加权最小二乘回归。一个加权最小二乘回归。res的赋值语句计算了在每次计算时的的赋值语句计算了在每次计
36、算时的残差,而这被用做构造权重序列。残差,而这被用做构造权重序列。byeqn语句指示语句指示EViews在一在一个给定的迭代过程中,必须先算出所有的残差个给定的迭代过程中,必须先算出所有的残差res,然后再计算,然后再计算残差的加权向量残差的加权向量w。本例方差用样本方差替代,也可将方差作为。本例方差用样本方差替代,也可将方差作为未知参数未知参数c(3),一起求解。,一起求解。39利用极大似然方法估计出未知参数利用极大似然方法估计出未知参数 后,写出后,写出方程为:方程为:(-392.6)(225.5)ttincum056.099.4640 极大似然估计量的计算方法有许多种,有解析方法,也有数
37、极大似然估计量的计算方法有许多种,有解析方法,也有数值解法。设值解法。设 =(1,2,n)是待求的未知参数向量,如例是待求的未知参数向量,如例8.1中中 =(,2),异方差例子中异方差例子中 =(,2,)。首先求极大似然首先求极大似然估计的迭代公式。为求极大似然估计,需要求解估计的迭代公式。为求极大似然估计,需要求解(8.1.13)设设 是超参数向量的精确值,采用是超参数向量的精确值,采用Taylor展开式,取一次近展开式,取一次近似,并设似,并设 表示参数空间上的任意一点,则可将表示参数空间上的任意一点,则可将 lnL(y;)/表表示成示成 (8.1.14)0);(lnyL 0)(lnlnl
38、n2LLL41令其为令其为0,可得,可得 (8.1.15)于是得到于是得到 (8.1.16)12lnlnLL)()(lnln12)()1(llLLll42 求求(l)(l=1,2,),它的收敛值,它的收敛值 (8.1.17)为所求的极大似然估计。式为所求的极大似然估计。式(8.1.16)中对数似然函数的中对数似然函数的,而对数似然,而对数似然函数的函数的。计算式计算式(8.1.16)中的海塞中的海塞(Hessian)矩阵的逆矩阵,计算量是很矩阵的逆矩阵,计算量是很大的。计算式大的。计算式(8.1.16)的方法有多种,近似的方法可节省时间的方法有多种,近似的方法可节省时间但缺少严密性,而严密的方
39、法又有计算时间长的缺点。实际但缺少严密性,而严密的方法又有计算时间长的缺点。实际应用中要根据所用计算机的功能选择适当的方法。应用中要根据所用计算机的功能选择适当的方法。limll43 默认情形下,当极大化似然函数和形成标准差的估默认情形下,当极大化似然函数和形成标准差的估计时,计时,EViews计算似然函数关于参数的数值微分。也可计算似然函数关于参数的数值微分。也可以用以用deriv语句为一个或多个导数指定解析表达式,该语句为一个或多个导数指定解析表达式,该语句格式为:语句格式为:这里这里pname是模型中的一个参数名称,而是模型中的一个参数名称,而sname是由模型是由模型产生的对应的导数序
40、列的名称。产生的对应的导数序列的名称。例如例如 deriv c(1)grad1 c(2)grad2 c(3)grad3 grad1=xa/d grad2=grad1*x1 grad3=grad2*x2 44 如果模型的参数没有指定解析微分,如果模型的参数没有指定解析微分,EViews将用数值方将用数值方法来计算似然函数关于这些参数的导数。在计算导数时的步法来计算似然函数关于这些参数的导数。在计算导数时的步长由两个参数控制:长由两个参数控制:。用。用(i)表示参数表示参数 在第在第 i 次迭代时的值,那么在第次迭代时的值,那么在第 i+1 次迭代时的次迭代时的步长由下式定义:步长由下式定义:被定
41、义为:被定义为:),max()()1(mrsii)1()1()()1()(2)(log)(log)(logiiiiiissLsLL45而而则由下式计算:则由下式计算:(8.19)这里这里 logL 是似然函数。双侧导数更加精确,但它要对似是似然函数。双侧导数更加精确,但它要对似然函数进行的计算量大概是单侧导数的两倍,运行时间上然函数进行的计算量大概是单侧导数的两倍,运行时间上也是如此。也是如此。)1()()1()()(log)(log)(logiiiiisLsLL46 derivstep可以用来控制步长和在每次迭代时计算导可以用来控制步长和在每次迭代时计算导数的方法。关键字数的方法。关键字de
42、rivstep后面必须设置三项:参数名后面必须设置三项:参数名(或用关键字(或用关键字all代替);相对步长;最小步长。默认设代替);相对步长;最小步长。默认设置(近似的)为:置(近似的)为:这里括弧里的这里括弧里的“”表示用的是单侧导数,而表示用的是单侧导数,而all关键字关键字表示设置的步长适用于所有参数。表示设置的步长适用于所有参数。all后面第一个数值是后面第一个数值是相对步长,第二个数值是最小步长。默认的相对步长为相对步长,第二个数值是最小步长。默认的相对步长为r1.49 10-8,而最小步长为,而最小步长为 m10-10。47 一旦定义了一个似然对象,可以用一旦定义了一个似然对象,
43、可以用EViews来寻找使得似然函数取极大值来寻找使得似然函数取极大值的参数值。只需在似然窗口工具栏中单击的参数值。只需在似然窗口工具栏中单击Estimate就可以打开估计对话框。就可以打开估计对话框。在这个对话框里有许多用来控制估计过程不同方面的选项。大多数问题在这个对话框里有许多用来控制估计过程不同方面的选项。大多数问题使用默认设置就可以。单击使用默认设置就可以。单击OK,EViews将用当前的设置开始估计。将用当前的设置开始估计。48 由于由于EViews使用迭代法来求极大似然估计,初值的使用迭代法来求极大似然估计,初值的选择就显得非常重要了。对于似然函数只有一个极大值选择就显得非常重要
44、了。对于似然函数只有一个极大值的问题,只是经过多少次迭代使估计收敛的问题。对于的问题,只是经过多少次迭代使估计收敛的问题。对于那些多个极大值的似然函数所面临的问题是决定选择极那些多个极大值的似然函数所面临的问题是决定选择极大值中哪一个。在某些情况下,如果不给出合理的初值,大值中哪一个。在某些情况下,如果不给出合理的初值,EViews将无法作出估计。将无法作出估计。默认情况下,默认情况下,EViews使用存储在系数向量的值。如使用存储在系数向量的值。如果在说明中用了果在说明中用了param语句,那么就用语句指定的值语句,那么就用语句指定的值来代替。来代替。49 在前述的例子中,为均值方程系数赋初
45、值的一个方法在前述的例子中,为均值方程系数赋初值的一个方法是简单的是简单的OLS法,这是因为即使在异方差性(有界)存在法,这是因为即使在异方差性(有界)存在的条件下,的条件下,OLS也提供了一致的点估计。为了用也提供了一致的点估计。为了用OLS估计估计值作为初值,首先要估计值作为初值,首先要估计OLS方程:方程:y c x z 在对这个方程进行估计后,在对这个方程进行估计后,C系数向量中的元素系数向量中的元素c(1),c(2),c(3)将包含将包含OLS估计的结果。估计的结果。50 要设置要设置c(4)表示表示OLS估计的残差方差,可以在命令窗口中估计的残差方差,可以在命令窗口中输入下面的赋值
46、语句:输入下面的赋值语句:c(4)=eq1.se2。可选择地,可以利用简单的赋值语句任意设置参数值:可选择地,可以利用简单的赋值语句任意设置参数值:c(4)=0.005 如果在执行了如果在执行了OLS估计及其后面的命令后马上估计估计及其后面的命令后马上估计logl模模型的话,那么将用设置在型的话,那么将用设置在C向量里的值作为初值。向量里的值作为初值。象上面提到的那样,将参数初始值赋值为已知值的另一象上面提到的那样,将参数初始值赋值为已知值的另一种方法是在似然模型说明中加入种方法是在似然模型说明中加入param语句。例如,如果在语句。例如,如果在logl的说明中加入了下面的行的说明中加入了下面
47、的行:param c(1)0.1 c(2)0.1 c(3)0.1 c(4)0.005 那么那么EViews会将初值设置为会将初值设置为:c(1)=c(2)=c(3)=0.1,c(4)=0.005。51 在估计对数似然函数的参数时,在估计对数似然函数的参数时,EViews就在就在Estimation对对话框里指定了将使用的观测值的样本。话框里指定了将使用的观测值的样本。EViews在当前参数值下,在当前参数值下,将使用观测值顺序或方程顺序用样本中的每一个观测值来对将使用观测值顺序或方程顺序用样本中的每一个观测值来对logl中每个表达式进行计算。所有这些计算都服从于中每个表达式进行计算。所有这些计
48、算都服从于EViews中中关于序列表达式计算的规则。关于序列表达式计算的规则。如果在对数似然序列的初始参数值中有缺少值,如果在对数似然序列的初始参数值中有缺少值,EViews将发出错误信息而估计过程也将终止。相对于其他的将发出错误信息而估计过程也将终止。相对于其他的EViews内内部过程的处理方式,在估计模型参数时部过程的处理方式,在估计模型参数时logl估计不能进行终点估计不能进行终点调整或是去掉那些欠缺值的观测值。调整或是去掉那些欠缺值的观测值。52 (1)likelihood Specification:显示定义和编辑似然说明显示定义和编辑似然说明的窗口。的窗口。(2)Estimatio
49、n Output:显示通过最大化似然函数得到显示通过最大化似然函数得到的估计结果。的估计结果。(3)Covariance Matrix:显示参数估计的协方差矩阵。显示参数估计的协方差矩阵。这是通过计算在最优参数值下一阶导数的外积的和的逆求这是通过计算在最优参数值下一阶导数的外积的和的逆求得的。可以用得的。可以用cov这个函数将其保存为这个函数将其保存为(SYM)矩阵。矩阵。(4)Wald Coefficient Test:执行执行Wald系数限制检验。参系数限制检验。参看系数检验,关于看系数检验,关于Wald检验的讨论。检验的讨论。53 (5)Gradients:如果模型没有被估计,显示当前参
50、数如果模型没有被估计,显示当前参数值下值下logL的梯度(一阶导数)视图,若模型已经被估计,的梯度(一阶导数)视图,若模型已经被估计,则显示收敛的参数值下则显示收敛的参数值下logL的梯度视图。当处理收敛问的梯度视图。当处理收敛问题时,这些图将成为有用的鉴别工具。题时,这些图将成为有用的鉴别工具。梯度表格视图可以检查似然函数的梯度。如果模型梯度表格视图可以检查似然函数的梯度。如果模型迭代尚未收敛,那么就在当前参数值下计算梯度,若模迭代尚未收敛,那么就在当前参数值下计算梯度,若模型已经估计出来了,就在收敛的参数值下计算。型已经估计出来了,就在收敛的参数值下计算。54 视图在处理收敛性或奇异点问题