全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
14446 10
2014-05-15
我已完成一个需求模型的估计,如模型系数估计值有(a、b、c),根据模型推导出弹性公式(如为a+2b/c),所以把相应系数值代入进去,可计数出弹性值,怎么计算该弹性值的标准误呢?请赐教!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-5-15 22:12:04
我能想到有两种方法(是否可行还有看你的数据和模型):
1. 贝叶斯方法
2. BOOTSTRAP方法
都有机会计算出需要估计参数(或其函数)的MEAN,标准差,甚至是置信区间。
例如,你有50个数据,已知他们服从Gamma(a,b)分布,需要估计参数a,b,并求a/b的期望、标准差和95%置信水平下的置信区间,上述两种方法都可以算。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-15 22:18:32
看 nlcom  命令



Examples
    -----------------------------------------------------------------------------------------------------------------------
    Setup
        . webuse regress
    Fit linear regression model
        . regress y x1 x2 x3
    Estimate the product of the coefficients on x2 and x3
        . nlcom _b[x2]*_b[x3]
    Estimate the ratios of the coefficients on x1 and x2 and on x2 and x3 jointly and post results to e()
        . nlcom (ratio1: _b[x1]/_b[x2]) (ratio2: _b[x2]/_b[x3]), post
    Test whether the two ratios from above are equal
        . test _b[ratio1] = _b[ratio2]
    -----------------------------------------------------------------------------------------------------------------------
    Setup
        . webuse sysdsn3
    Fit maximum-likelihood multinomial logit model
        . mlogit insure age male nonwhite site2 site3
    Estimate the ratio of the coefficients on the male dummy in the Prepaid and Uninsure equations
        . nlcom [Prepaid]_b[male] / [Uninsure]_b[male]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-15 23:34:15
蓝色 发表于 2014-5-15 22:18
看 nlcom  命令
我已试过这两个例子。版主看我的理解对吗:例如先估计方程y=α * x1 + β * x1 * x2,得出系数的估计值分别为a、b。
我要求α+2β的值,不是把a、b的值分别代入α、β吗?再用Delta等方法求这个代入后得出值的标准误吗?
而用nlcom _b[x1]+2*_b[x1*x2]后,结果是:被解释变量还是y,解释变量是α+2β,估计出α+2β的系数值及统计量,是这样吗?
如果是这样的话,就不能用nlcom命令。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-15 23:36:48
TimeT 发表于 2014-5-15 22:12
我能想到有两种方法(是否可行还有看你的数据和模型):
1. 贝叶斯方法
2. BOOTSTRAP方法
如何用bootstrap方法,说的能再具体点吗?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-5-16 00:37:31
wxylzh 发表于 2014-5-15 23:36
如何用bootstrap方法,说的能再具体点吗?
例如,一般的linear regression:

你有一套(50组)数据,每组有个y对应x1和x2.共50个y对应50个x1和50个x2。

你认为 y=a*x1+b*x2+Z, Z~N(0,sigma^2)

你可以用你选定的参数估计法(例如:最小二乘法)(从这50组数)算出a,b和sigma的点估计值(称为a0,b0,s0)。

即a,b,sigma的估计值可以看成是这一套(50组)数据的函数。

BOOTSTRAP的做法是:

(1) 产生50(应不多不少等于数据的组数)个1-50之间的随机整数(例如:15, 24,2, 32, 43,13,24,...)

(2) 按这50个随机数,对于每个随机数,从这一套(50组)数据中抽出该等编号的那组数据,例如第1次抽出第15(因为15是产生的第1个随机数)组(y, x1, x2),

第2次第24组(y, x1, x2),。。。注意可以重复,例如第24组(y, x1, x2)被重复抽中。

(3) 将抽出的50组数看成是新的“一套”数据,根据这套数据,计算用你选定的参数估计法(此例中是最小二乘法)算出a,b和sigma的另外一组点估计值(称为a1,b1,s1)

(4) 重复第1至3步很多次(例如10000次),会得到10000个a的估计值,10000个b的估计值,10000个sigma的估计值

(5) 将这10000的a的估计值,取平均,就得到a估计值的期望,计算这10000的a的标准差,就得到a估计值的标准差;将这10000的a从小到大排序,排名250位的a(设为a_250),排名9750位的a (设为a_9750), 以这两数为端点的区间(a_250,a_9750)就是95%置信区间 (有多种计算置信区间的方法,这方法称为percentile法,还有normal方法, t方法,BCa法,ABC法等等)。

(6) 同样可算b估计值的期望,标准差,置信区间..., 如果要算b/a+sigma的期望、标准差,置信区间,也按第5步的方法(把10000个a换成这10000组a,b,s计算出来的b/a+sigma既可)。

注意,有时BOOTSTRAP其实还是会比较复杂的,上面是个简单的例子。(此linear regression中用的是bootstrapping pairs,计算出来的a, b标准差、置信区间比传统的统计理论计算出来的略大些,如果用bootstrapping residuals来做,即第2步不是抽取50组y,x1,x2,而是抽取50组残差,即y-a0*x1-b0*x2,那么a, b标准差、置信区间会与传统的统计理论计算出来的很接近)。

如需要更多有关BOOTSTRAP方法的信息,可GOOGLE或找些书来读,在论坛搜索一下。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群