精华内容
下载资源
问答
  • python 中判断变量是否定义方法

    万次阅读 2016-06-21 16:38:34
    python中检测某个变量是否有定义第一种方法使用内置函数locals(): locals():获取已定义对象字典'testvar' in locals().keys()第二种方法使用内置函数dir(): dir():获取已定义对象列表'testvar' in dir()第三种...

    python中检测某个变量是否有定义

    第一种方法使用内置函数locals():
    locals():获取已定义对象字典

    'testvar'   in   locals().keys()

    第二种方法使用内置函数dir():
    dir():获取已定义对象列表

    'testvar'   in   dir()

    第三种方法使用内置函数vars():
    vars():获取已定义对象字典

    vars().has_key('testvar')

    测试如下:

    #testvar未定义  
    print 'testvar' in locals().keys()  
    #输出:False  
    
    print 'testvar' in dir()  
    #输出:False  
    
    print vars().has_key('testvar')  
    #输出:False  
    #定义testvar  
    testvar=1  
    
    print 'testvar' in locals().keys()  
    #输出:True  
    
    print 'testvar' in dir()  
    #输出:True  
    
    print vars().has_key('testvar')  
    #输出:True  

    还有使用try…except…自己定义的,总之方法很多.

    展开全文
  • 为了方便理解,这里假设因变量为y,解释变量为x1(内生)、x2,控制变量为c1,工具变量为z1。 OLS回归 y = β1x1 +β2x2 + β3*c1 + e 直接ols回归 reg y x1 x2 c1 2.异方差检验 #检验异方差: hettest #Breusch-...

    为了方便理解,这里假设因变量为y,解释变量为x1(内生)、x2,控制变量为c1,工具变量为z1。

    OLS回归

    y = β1x1 +β2x2 + β3*c1 + e

    1.直接ols回归

    reg y x1 x2 c1
    

    2.异方差检验
    在完成基本的OLS回归后,输入:

    #1.Breusch-Pagan test(B-P)检验
    reg y x1 x2 x3 c1
    estat hettest,iid rhs
    	#对所有解释变量做检验
    estat hettest x1 x2,iid 
    	#仅对x1 x2做检验
    #2.White怀特检验,它用所有解释变量及他们的高次项和交叉项来对残差平方做回归,得到R方后再做LM检验。相对于BP检验,更适用于大样本。
    reg y x1 x2 x3 c1
    estat imtest,white
    

    3.处理异方差
    (1)OLS+异方差稳健标准误,即在reg命令后加上’,r’,或者’,robust’
    #注:处理后回归结果不会显示adj-R2,输入di e(r2-a)查看
    (2)加权最小二乘法(WLS)与可行加权最小二乘法(FWLS),但一般只有异方差非常严重并且对条件方差函数的具体形式很有把握的时候,FWLS

    reg y A B C 
    predict e,residual                       
    gen lne2=log(e^2)                     
    reg lne2 A (当你怀疑异方差主要由解释变量A引起)                    predict lne2f                   
    gen e2f=exp(lne2f)                  
    reg y A B  C [aw=1/e2f],robust
    

    在这里插入图片描述
    在这里插入图片描述
    4.内生性检验
    (1)若模型存在内生性,则应使用异方差稳健的Durbin-Wu-Huasman test(DWH),它使用扩充解释变量的方法产生稳健的检验统计量。

    estat endogenous
    

    在这里插入图片描述
    (2)其他情况可选:

    #1.Huasman检验
    Huasman iv ols
        #先把其他模型est store为另外的名字,然后再进行检验
    #2.ovtest
    ovtest
    	#Ramsey RESET test,根据p值判断,若p小于0,则不能排除内生性的可能
    

    5.多重共线性
    当vif全部小于10并且平均大于1时,排除多重共线

    estat vif
    #若存在问题,可采用逐步回归进行修正:
    sw reg y x1 x2 c1,pr(0.05)
    	#注:含二次项的要另外处理
    

    工具变量回归

    • 内生性来源:测量误差、样本选择问题、互为因果、遗漏变量、模型设定等
    • 估计方法:2sls、2sls small(适合小样本)、liml(适合弱工具变量)、gmm(适合异方差)
    #2SLS
    ivregress 2sls y x2 c1 (x1 = z)
    ivregress 2sls y x2 c1 (x1 = z),vce(robust)  	      
        #vce(robust)代表控制异方差的存在
    #liml,对若工具变量更不敏感的有限信息最大似然法,若与2sls的结果差不多,则认为不存在若工具变量的问题
    ivregress liml y x2 c1 (x1 = z),r
    
    #注:在大样本下,LIML 与2SLS是渐近等价的
    #GMM
    ivregress gmm y x2 c1 (x1 = z)
    

    1.检验解释变量的内生性

    reg y x1 x2 c1
    est store ols
    ivregress 2sls y x2 c1 (x1 = z)
    est store iv
    hausman ols iv,constant sigmamore
    
    #注:若存在异方差,则Hausman检验不成立,应使用:
    estat endogenous
    

    2.弱工具变量检验

    #弱工具变量检验
    estat firststage,forcenonrobust all
    

    共输出三张表:

    • 第一张为关键诊断统计量的概述性统计表,若F统计量大于经验值10则确定z并非若工具变量。
      注:回归R-sq和调整R-sq值如果很低则表示工具变量对拟合的贡献很小,也反映了IV方法对估计精度的损失;partial
      R-sq是控制了其他变量后的拟合度,若其值降低,则表明需要警惕弱工具变量的可能性
    • 第二张给出了Shea’s partial R-squared,当只有一个内生解释变量,它会等价于前述partial R-sq。
    • 第三张是stock-yogo检验结果,当Minimum eigenvalue statistic 值大于16.38时认为Z不是弱工具变量。
      在这里插入图片描述

    3.过度识别检验
    当存在多个内生变量时,需要考虑工具变量的个数以确保所有的变量都能被识别。

    1. 如果工具变量个数少于内生变量个数,则无法进行 2SLS 估计,称为“不可识别”(unidentified);
    2. 如果工具变量个数正好等于内生变量个数,则称为 “恰好识别”(justidentified 或 exactly identified);
    3. 如果工具变量个数大于内生变量个数,则称为“过度识别”(overidentified)。在恰好识别或过度识别的情况下,均可进行 2SLS
      估计;而在不可识别的情况下,则无法进行。
    #过度识别检验
    estat overid
     # 若是Sargan-Basman检验的统计量对应的p值大于0.05,则认为所有的工具变量都是外生的,也就是有效的,反之则是无效的。
    

    其他命令

    1.中心化和标准化(需安装center)

    findit center
    #中心化
    center x1 x2 c1
    	#注:生成的新变量默认前面带'c_',若要自己命名:
    center x1,g(new_x1)
    
    #标准化
    center x1,x2,c1,prefix(z_) standardize
    	#注:生成的新变量默认前面带'z_',
    

    注:
    1.STATA常用统计命令
    2.工具变量回归

    展开全文
  • 传统ols中的hypothesis要求xix_ixi​与uiu_iui​无关。但是在实际中很难满足这个假设,有时候因变量(在单方程模型中就是内生...这个时候比较有效的方法是采取工具变量法进行估计参数值。 Namely, an apppropriat...

    传统ols中的hypothesis要求xix_iuiu_i无关。但是在实际中很难满足这个假设,有时候因变量(在单方程模型中就是内生变量)也会反过来影响自变量。ols估计将是有偏和不一致的,(有偏指的是参数估计值于期望值不相等,一致性是大样本依概率收敛于期望值,可以参考另外一个博文)。这个时候比较有效的方法是采取工具变量法进行估计参数值。
    Namely, an apppropriate instrumental variable(s) should be incorporated in the equation, which is used to replace the dependent variable in the right hand side of the equation. And 一个工具变量should meet the following requriements:

    • VI should be high correlated with the endongenous variable
    • VI is independent with uiu_i
    • At the same, VI has relatively lower collinearity with other explanary variables.

    s很多估计方法可以利用, 比如2ls, gmm,sgmm。 which can be found in STATA.
    about identification definition:

    • This process of using extra exogenous variables as instruments for endogenous RHS variables is known as identification(识别)
    • If there are no additional exogenous variables outside the original equation that can be used as instruments for the endogenous RHS variables then the equation is said to be unidentified(不能识别)
    展开全文
  • 一个有效工具变量应该满足以下两个条件: (1)相关性:工具变量应该与解释变量有关; (2)外生性:工具变量与扰动项无关; 传统的工具变量法一般是称之为“两阶段最小二乘回归”;以上图为例,在一篇文章中,两...

    OLS是常用的回归方法之一,那么OLS在使用过程中最重要的一个前提是解释变量与扰动项不相关,解释变量可以理解为我们研究时的自变量,扰动项可以理解为我们研究时与自变量独立的控制变量,如果出现解释变量与扰动项相关时,这时候为了克服内生性对研究问题的影响,我们可以在回归方程中加入工具变量解决问题。

    一个有效的工具变量应该满足以下两个条件:
    (1)相关性:工具变量应该与解释变量有关;
    (2)外生性:工具变量与扰动项无关;
    在这里插入图片描述
    传统的工具变量法一般是称之为“两阶段最小二乘回归”;以上图为例,在一篇文章中,两个阶段的回归分别如第二列第三列结果显示:
    回归一:用内生解释变量对工具变量进行回归,得到拟合值;
    回归二:用被解释变量对第一阶段回归的拟合值进行回归;

    当工具变量与解释变量之间关系很弱时,称此时的工具变量为“弱工具变量”,判断弱工具变量的方法,可以通过F统计量来判断,其临界值来自Stock and Yogo(2005)。

    改用OLS还是工具变量法,如何判断是否有内生变量(对解释变量内生性的检验):豪斯曼检验——其原假设为所有解释变量均为外生变量,弱假设成立,用OLS和工具变量法效果无异,
    豪斯曼检验的stata实现如下:
    在这里插入图片描述

    展开全文
  • 在js中变量有效范围问题

    千次阅读 2017-06-22 17:19:55
    JavaScript中变量的作用 本文适合JS初学者,大神请绕路! 1.在方法中定义一个变量的时候不用var的情况 //告诉浏览器的解析器当前文件的保存的编码格式,让解析器用GB2312编码来解析此文档 在方法中定义一个...
  • 工具变量 (IV) 估计是处理内生性问题的基本方法,在经济学实证研究中有着极为广泛的应用。 一个合格的工具变量需要同时满足以下两个条件: 第一,相关性,即工具变量应该与内生变量相关; 第二,外生性,即工具变.....
  • 问:用一个工具变量时,内生性检验显示没有内生性问题;用两个工具变量时,就会检验出内生性,同时回归的R平方缺失。请问怎么理解这些结果? 答:这里涉及两个问题:第一,为什么使用不同工具变量,内生性检验的结果...
  • 什么是工具变量法? Instrumental variable methods The method of instrumental variables (IV) is used to estimate causal relationships when controlled experiments are not feasible or when a treatment is...
  • 本篇是本人总结的基本Stata使用手册(4):工具变量
  • 解释变量和误差项存在内生性问题 内生性问题来源 内生性问题主要来自于三个方面,分别为:遗漏变量、联立性以及度量误差 遗漏变量 遗漏变量是指可能与解释变量相关的变量,本来应该加以控制,但却没有控制的变量。...
  • 运用ThreadLocal工具实现线程专有变量

    千次阅读 2012-06-27 00:02:34
    普通对象的变量,当有多个线程访问时,虽然每个线程都有一份拷贝,但这是由于虚拟机优化而发生的,原则上来看都是同一份。可以通过加volatitle关键字阻止虚拟机优化。本文讨论的相反,希望实现每一个线程都有自己...
  • 如何使Unix 下环境变量设置永远有效

    千次阅读 2009-08-24 10:45:00
    也就是说,如果在shell会话中设置环境变量,这只对当前的会话有效。当系统工程师退出这个会话、下次重新登陆时,操作系统又会采用默认值。但是大部分时候系统工程师可能希望这些环境变量能够永久生效。此时就需要把...
  • 9.6.1 替换变量 2011-12-08 16:53 宁洪/吴云洁/李梦汶 等译 清华大学出版社 我要评论(0) 字号:T | T 综合评级: 想读(8) 在读(5) 已读(1) 品书斋鉴(0) 已有14人发表书评 《OCP/OCA认证考试指南...
  • 外部变量 全局变量

    千次阅读 2010-04-05 20:52:00
     在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译...
  • 来源:公众号【编程珠玑】 作者:守望先生 ...这些是编程语言中的基本概念,...关注公众号【编程珠玑】,获取更多Linux/C/C++/Python/Go/算法/工具等原创技术文章。 后台免费获取经典电子书和视频资源
  • JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都是很痛苦的事情,但是程序...
  • 1.什么是变量(内存当中一片区域的地址)? 变量即在程序运行过程中它的值是允许改变的量 变量是用一串固定的字符来标示不固定的值的一种方法 变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储...
  • ahk变量与内置变量

    千次阅读 2017-02-09 10:14:35
    变量 变量的类型: AutoHotkey 中没有明确的变量类型. 然而, 只包含数字 (可以含有小数点) 的变量进行数学运算或比较时, 会被自动转换为数值. (为了提高性能, 在内部会对数字进行缓存以避免与字符串之间的转换.)...
  • 讨论全局变量之前我们先要明白几个基本的概念:  1. 编译单元(模块):  在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不...
  • AutoCAD系统变量和环境变量

    千次阅读 2011-02-24 19:44:00
    AutoCAD 系统变量 环境变量
  • Ubuntu修改配置环境变量

    万次阅读 2016-04-10 09:12:13
    在 Ubuntu 系统中有三种设置环境变量 PATH 的方法。第一种适用于为单一用户设置 PATH,第二种是为全局设置 PATH,第三种设置临时环境变量(这在编译安装某些库的时候经常用到);设置临时环境变量如在文章 《Swift...
  • linux 查看环境变量和修改环境变量

    万次阅读 2014-03-20 10:44:38
    一、查看环境变量 ...一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build_tools就是
  • mysql的会话变量,全局变量,状态信息

    千次阅读 2018-10-26 16:50:57
    例如是否自动提交,事务隔离级别这些变量。我们可以通过修改系统的会话变量和全局变量来影响数据库运行(其中有些变量修改需要修改重启才能生效)。。。。。。变量设置是过程,我们最终目的是要看状态(见下图),...
  • C++ 全局变量和局部变量

    千次阅读 2013-03-09 15:24:16
     在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR), 因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是...
  • java虚拟机 jvm 局部变量表实战

    千次阅读 热门讨论 2016-04-02 12:48:36
    java局部变量表是栈帧重要组中部分之一。他主要保存函数的参数以及局部的变量信息。局部变量表中的变量作用域是当前调用的函数。函数调用结束后,随着函数栈帧的销毁。局部变量表也会随之销毁,释放空间。 由于局部...
  • JavaScript 变量提升

    千次阅读 2016-12-15 09:49:33
    回归基础: JavaScript 变量提升(Hoisting)变量声明是所有的编程语言中最基础部分之一。然而,JavaScript 有一个怪异点,称之为变量提升(hositing),这个能够让一个看上去无关紧要的声明变成一个小bug。这篇文章...
  • CAD系统变量

    千次阅读 2018-05-11 14:34:07
    *CAD系统变量 要获取到系统变量的值,然后解析系统变量的含义,在网上找到这些资料: 3DDWFPREC 控制三维DWF发布的精度。 3DCONVERSIONMODE 用于将材质和光源定义转换为当前产品版本。 3DSELECTIONMODE 控制使用...
  • shell的本地变量和环境变量

    千次阅读 2015-09-24 16:08:31
    为使shell编程更有效,系统提供了一些shell变量。shell变量可以保存诸如路径名、文件名或者一个数字这样的变量名。shell将其中任何设置都看做文本字符串。 有两种变量,本地和环境。严格地说可以有4种,但其余两种是...
  • Ansible中內建变量的使用

    千次阅读 2017-11-26 22:33:25
    Ansible中內建变量的使用Ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。在Ansible中,我们也可以使用变量以提高Ansible针对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 312,130
精华内容 124,852
关键字:

如何判断工具变量是否有效