美文网首页
2.6_探索数据和回归_14Jun2019

2.6_探索数据和回归_14Jun2019

作者: liang_rujiang | 来源:发表于2019-06-14 12:50 被阅读0次

    目录:
    part 0:介绍
    part 1:安装一些常用的包
    part 2:基本的技能和数据探索(汇报重点)
    part 3:回归操作(汇报重点)
    part 4:一些省力的技巧和结果导出
    part 5:数据管理和探索常用函数

    part 0:介绍

    本文是对书籍Econometric Evaluation of Socio-Economic Programs Theory and Applications2.6节汇报的补充内容。

    除了汇报时使用的所有代码外,这里还放了常用的函数和运算符,可以帮助您更好地探索数据。

    由于本次汇报是操作的汇报,强烈建议大家在自己的电脑上安装stata,组会时带上电脑,跟随我汇报内容自行写作这些代码,而不是直接复制粘贴。

    您必需的基础:

    • 通电的电脑
    • 安装了stata
    • 打开stata并执行下面part1代码(复制粘贴即可,安装过程需要联网)
    • 下载发在群里的states.dta数据集
      以上四个部分需要在组会前准备好。

    part 1:安装一些常用的包

    ssc install aaplot, replace
    ssc install bihist, replace
    ssc install catplot, replace
    ssc install sixplot, replace
    ssc install logout, replace
    ssc install estout, replace
    *如果安装过程遇到困难,请使用搜索引擎自行解决
    

    part 2:基本的技能和数据探索(汇报重点)

    *******************set up***********************
    clear
    set more off
    cap log close
    cd "d:\汇报用ppt_文献提取表_组会安排_交流记录\汇报PPT_汇报材料"
    
    ******************* get help *******************
    * with search engine
    * with help command
    help regress
    * help dta_examples
    
    *************explore, manage data**************
    * get data
    sysuse auto, clear
    
    * explore 
    list in 1/11
    
    * generate new variable by existing variables
    * wrong way
    gen temp = 1 if rep78 >= 4
    list rep78 temp in 1/ 11
    * right way
    gen temp2 = 1 if rep78 >= 4 & rep78 != . 
    list rep78 temp* in 1/ 15
    replace temp2 = 0 if rep78 < 4
    list rep78 temp* in 1/ 15
    drop temp
    ren temp2 binary
    
    describe
    su
    su price
    su price, d
    hist price
    sixplot(price)
    graph box price, by(foreign)
    bihist price, by(foreign)
    
    tab1 foreign
    count if foreign == 1
    
    tabstat price mpg headroom turn, c(s) stat(mean sd median iqr p25 p75) by(foreign)
    
    tab1 rep78
    tab1 rep78, miss
    catplot rep78
    tab1 rep78 foreign binary
    tab1 rep78 foreign binary, miss
    tab2 binary rep78
    tab2 binary foreign, miss chi expect exact row
    tab2 binary rep78, miss
    tab2 foreign binary rep78
    tab2 foreign binary rep78, first
    
    tw sc length weight
    pwcorr length weight, sig
    aaplot length weight
    

    part 3:回归操作(汇报重点)

    *****************reression*******************
    *数据集已发到群里
    use states, clear
    describe state csat expense percent income high college region
    aaplot csat expense
    reg csat expense
    regress csat expense percent income high college
    
    reg csat percent
    
    predict y_hat
    label variable y_hat "predicted mean sat score"
    
    predict e, resid
    label variable e "residual"
    
    sixplot e
    sort e
    su e
    list state percent csat y_hat e in 1 / 5
    list state percent csat y_hat e in -5 / l
    
    des region
    catplot region
    label list region
    su csat if region == 1
    bys region: su csat
    
    oneway csat region
    graph box csat, by(region)
    
    reg csat percent i.region
    
    gen region_neast = 1 if region == 2
    replace region_neast = 0 if region == 1 | region == 3 | region == 4
    
    gen region_neast2 = region
    recode region_neast2 (2 = 1) (1 3 4 = 0)
    
    tab2 region region_neast region_neast2
    
    reg csat percent i.region_neast
    
    graph box percent, by(region_neast)
    
    gen regneast_percent = region_neast * percent
    reg csat i.region_neast percent regneast_percent
    
    

    part 4:一些省力的技巧和结果导出

    *****************output*******************
    sysuse auto, clear
    for var mpg-length: reg price X
    use states, clear
    global covs income high college
    
    tabstat csat expense percent $covs, c(s) s(mean sd min max) format(%10.3f)
    logout, save(des.rtf) word replace : tabstat csat expense percent $covs, c(s) s(mean sd min max) format(%10.3f)
    
    * model 1
    reg csat $covs
    eststo model1
    
    * model2
    reg csat expense $covs
    eststo model2
    
    * model 3
    regress csat expense percent $covs
    eststo model3
    
    esttab model1 model2 model3, /// 
    t star(* 0.1 ** 0.05 *** 0.01) stat(r2 F)
    
    esttab model1 model2 model3 using temp.rtf, /// 
    t star(* 0.1 ** 0.05 *** 0.01) stat(r2 F) replace
    
    estout model3 using model3.rtf, cells("b(fmt(3)) se(fmt(3)) ci_l(fmt(3)) ci_u(fmt(3)) p(fmt(3))") replace
    
    

    part 5:数据管理和探索时常用

    *************tabatat命令的stat选项可以包括下列统计量*************
    mean      平均数
    count     非缺失观测值总数
    n         计数
    max       最大值
    min       最小值
    range     极差=最大值-最小值
    sd        标准差
    var       方差
    cv        变异系数=标准差/平均值
    semean    标准误=标准差/sqrt(n) 
    skewness  偏度
    kurtosis  峰度
    median    中位数(等同于第p50)
    p1        第1百分位数(同理,p5、p10、p25、p50、p75、p95或p99)
    igr       四分位距=p75-p25
    
    
    *************************逻辑运算符*****************************
    ==    等于
    !=    不等于(也可以用~=)
    >     大于
    <     小于
    >=    大于等于
    <=    小于等于
    
    
    *************************数学运算符*****************************
    +    加
    -    减
    *    乘
    /    除
    ^    乘方
    abs(x)      x的绝对值
    ln(x)       x的自然对数
    log10(x)    以10为底x的对数
    

    相关文章

      网友评论

          本文标题:2.6_探索数据和回归_14Jun2019

          本文链接:https://www.haomeiwen.com/subject/yhbufctx.html