全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
3321 3
2014-04-14
连老师:
您好!
::高级部分::
          *              计量分析与Stata应用
          *       =================================
          *           第九讲  模拟分析与自抽样
          *       =================================
          *          9.6  检定统计量的势(Power)

第82-127行
cap program drop powerfcn
  program define powerfcn
  version 9.2
    syntax newvarname[, Mean(real 5) sd(real .1) obs(integer 10) Alpha(real 0.05)]
    local se  = `sd'/sqrt(`obs')     /*s.e.*/
    local z_a = invnorm(`alpha'/2)   /*alpha% critical value*/
    local lb  = `mean' + `z_a'*`se'  /*lower bound*/
    local ub  = `mean' - `z_a'*`se'  /*upper bound*/
  * 设定50个可能的母体期望值 4.76(0.01)5.25
    set obs 50
    tempvar tt
    gen `tt' = _n - 25
    capture confirm numeric variable mean
    if !_rc{
       replace mean = `mean' + `tt'/250
    }
    else{
       gen mean = `mean' + `tt'/250
    }
  * Find the probability of a Type II error
    tempvar zlow zup beta
    gen `zlow' = (`lb' - mean)/`se'
    gen `zup'  = (`ub' - mean)/`se'
    gen `beta' = normal(`zup') - normal(`zlow')
  * 计算 Power
    gen `varlist' = 1-`beta'
  end
*-----------------------------------------------

*- 样本数对Power的影响
    clear
    powerfcn power16,  obs(16)
    powerfcn power100, obs(100)     
    powerfcn power500, obs(500)

    line power16 power100 power500 mean, sort ///
         legend(off) yline(0.05,lp(dash))     ///
         ylabel(,angle(0) format(%2.1f))      ///     
         text(0.9 4.995 "n=500")              ///
         text(0.7 5.035 "n=100")              ///
         text(0.5 5.057 "n=16")               ///
         caption(std.dev.=0.1; alpha=0.05)


问题:
1. 观测值设定是否混淆?
第89行  syntax newvarname[, Mean(real 5) sd(real .1) obs(integer 10) Alpha(real 0.05)]
和第95行 set obs 50
是否有矛盾?

2. 图形横坐标从哪里来的?
根据最后几行的命令(第121-127行   line power16 power100 power500 mean, sort ///等),画出图形横坐标(4.9,5.1),这横坐标是从什么地方来的?
根据第94行的提示: * 设定50个可能的母体期望值 4.76(0.01)5.25,这个数值范围怎么在图形上体现?

3. 怎么理解这个图形?
(1)第117行 powerfcn power16,  obs(16),观测值16是对程序中哪一个设定?是89行的obs(integer 10)还是95行的set obs 50
(2)从图形上看:怎么看出这3条曲线观测值的差异?毕竟16个观测值和500个观测值差别很大,在X轴上描绘的点的密集程度差别很大怎么在图上看出来?

4. 两条命令是否重复多余?
第92行    local lb  = `mean' + `z_a'*`se'  /*lower bound*/
和第106行    gen `zlow' = (`lb' - mean)/`se'
这两条命令就是一个简单的算术变换,即 `zlow' =  `z_a' ,为何还要加106行命令,这不多此一举吗?而且,第108行  
gen `beta' = normal(`zup') - normal(`zlow')
可以直接改为
gen `beta' =  normal( -`z_a' ) - normal(`z_a' )
这样岂不更简单?

谢谢连老师!

二维码

扫码加我 拉你入群

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

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

全部回复
2014-4-17 15:27:34
问题:
1. 观测值设定是否混淆?
第89行  syntax newvarname[, Mean(real 5) sd(real .1) obs(integer 10) Alpha(real 0.05)]
和第95行 set obs 50
是否有矛盾?
A: 应该把 95 行修改为 set obs `obs',这样 obs(integer 10) 选项才能起作用。多谢你的建议。完成这个修改后,第三个问题第(1)问的问题也解决了。

2. 图形横坐标从哪里来的?
根据最后几行的命令(第121-127行   line power16 power100 power500 mean, sort ///等),画出图形横坐标(4.9,5.1),这横坐标是从什么地方来的?
A: 这是由Stata 根据横坐标变量 mean 的取值范围自行设定的。
根据第94行的提示: * 设定50个可能的母体期望值 4.76(0.01)5.25,这个数值范围怎么在图形上体现?

3. 怎么理解这个图形?
(1)第117行 powerfcn power16,  obs(16),观测值16是对程序中哪一个设定?是89行的obs(integer 10)还是95行的set obs 50?
(2)从图形上看:怎么看出这3条曲线观测值的差异?毕竟16个观测值和500个观测值差别很大,在X轴上描绘的点的密集程度差别很大怎么在图上看出来?
A: 时隔很久,我刚才又重新绘制了这个图形,三幅图的对比非常明显。我也写下了三幅图中的结论:         
    *- 结论:
    *  1. 样本数越大,Power越高;
    *  2. 实际观测值与母体期望偏离越大,Power越高;
    *  3. 当实际观测值等于母体期望时,Power均为0.05  


4. 两条命令是否重复多余?
第92行    local lb  = `mean' + `z_a'*`se'  /*lower bound*/
和第106行    gen `zlow' = (`lb' - mean)/`se'
这两条命令就是一个简单的算术变换,即 `zlow' =  `z_a' ,为何还要加106行命令,这不多此一举吗?而且,第108行  
gen `beta' = normal(`zup') - normal(`zlow')
可以直接改为
gen `beta' =  normal( -`z_a' ) - normal(`z_a' )
这样岂不更简单?
A:YES。


二维码

扫码加我 拉你入群

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

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

2014-4-19 20:32:56
谢谢连老师的耐心回答!
A: 时隔很久,我刚才又重新绘制了这个图形,三幅图的对比非常明显。我也写下了三幅图中的结论:         
    *- 结论:
    *  1. 样本数越大,Power越高;
    *  2. 实际观测值与母体期望偏离越大,Power越高;
    *  3. 当实际观测值等于母体期望时,Power均为0.05  
问题:
(1)“时隔很久”什么意思?是不是这些知识已经过时了?
(2)您写的三点结论,我懂了,图形也没错误,但是,我的问题(可能我没表述清楚)是:
line连线图应该是把散点连起来,怎么没看清点呢?只有曲线,毕竟6个观测值和500个观测值差别很大,在X轴上描绘的点的密集程度差别很大,这个差别怎么在图上看出来?
二维码

扫码加我 拉你入群

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

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

2014-4-22 18:12:19
A. 不是过时,这是很基本的内容,但很多人不做这一块,所以很少被问及;

B. 绘图时,如果设定 twoway line 则绘制的是折线图,不会在节点上打点;如果使用 twoway connect 命令则会显示节点。你试一下。
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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