精华内容
下载资源
问答
  • 企业控制变量有哪些
    千次阅读
    2022-05-06 22:54:42

    “环境变量”这个词,有经验的开发同学对它一定很熟悉了,它提供给软件工程以高灵活性、高扩展性,大到操作系统,小到某个项目,都有它的影子,它的表现方式有很多。

    微服务应用提倡将配置存储在环境变量中,任何从开发环境切换到生产环境时需要修改的东西都从代码抽取到环境变量里。但是在实际开发中,如果同一台机器运行多个项目,在操作系统中设置环境变量容易冲突,不实用,就会有了从 .env 文件中读取配置, 然后存储到程序的环境变量中。一个项目对应一个 .env 文件,在代码中读取 .env 文件的方式也非常方便。

    很多大型项目会使用环境变量进行配置,作为配置选项的环境变量大大简化了应用程序的部署。这些在云基础设施中也很常见,一个大型项目中通常会配备一个提供环境变量配置服务的配置平台,包括 AB 平台也可以看作是此类的一个例子。

    百度百科上的定义,环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,如:临时文件夹位置和系统文件夹位置等。环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息。

    那么在 Go 中,环境变量通常是什么表现形式呢?有两种很常见,分别是 Go 开发必需的环境变量、普通环境变量


    Go 开发必需的环境变量

    开发 Go,必须在安装 Go 语言开发工具后,再配置 Go 语言自带的开发所必需的环境变量,才算搭建好了基本的 Go 开发环境,进行接下来的 Go 项目管理和开发。

    可以使用以下命令查看系统中的Golang环境变量,

    // 打印 Go 所有默认的环境变量
    $ go env
    GO111MODULE=""
    GOARCH="arm64"
    GOBIN=""
    GOCACHE="/Users/shouyuan/Library/Caches/go-build"
    GOENV="/Users/shouyuan/Library/Application Support/go/env"
    GOEXE=""
    GOFLAGS=""
    GOHOSTARCH="arm64"
    GOHOSTOS="darwin"
    GOINSECURE=""
    GOMODCACHE="/Users/shouyuan/workspace/project/go/pkg/mod"
    GONOPROXY=""
    GONOSUMDB=""
    GOOS="darwin"
    GOPATH="/Users/shouyuan/workspace/project/go"
    GOPRIVATE=""
    GOPROXY="https://goproxy.cn,direct"
    GOROOT="/opt/homebrew/Cellar/go@1.16/1.16.15/libexec"
    GOSUMDB="sum.golang.org"
    GOTMPDIR=""
    GOTOOLDIR="/opt/homebrew/Cellar/go@1.16/1.16.15/libexec/pkg/tool/darwin_arm64"
    GOVCS=""
    GOVERSION="go1.16.15"
    GCCGO="gccgo"
    AR="ar"
    CC="clang"
    CXX="clang++"
    CGO_ENABLED="1"
    GOMOD="/dev/null"
    CGO_CFLAGS="-g -O2"
    CGO_CPPFLAGS=""
    CGO_CXXFLAGS="-g -O2"
    CGO_FFLAGS="-g -O2"
    CGO_LDFLAGS="-g -O2"
    PKG_CONFIG="pkg-config"
    GOGCCFLAGS="-fPIC -arch arm64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/yy/5wksklpj00j341q9w0r3jhxh0000gn/T/go-build2304754593=/tmp/go-build -gno-record-gcc-switches -fno-common"
    
    // 打印某个环境变量的值
    $ go env GOPATH
    /Users/shouyuan/workspace/project/go
    $ go env GOPATH GOROOT
    /Users/shouyuan/workspace/project/go
    /opt/homebrew/Cellar/go@1.16/1.16.15/libexec

    环境变量的设置,会影响我们开发和编译项目的过程与结果,所以还是很有必要了解一下的。虽然常常需要我们配置的环境变量就那么几个,但 Go 语言提供了很多默认的环境变量,让我们可以自由地定制开发和编译器行为。上面这些环境变量中,有些伴随着 Go 一起出现在人们面前,比如 GOPATH;而有些则是随着 Go 语言的发展逐步出现,甚至不同 Go 版本同一名字的环境变量意义也会有不同,比如 GO111MODULE;有些环境变量我们可以永远都不会用到,大概了解一下就可以了。

    通用的

    GCCGO
    GOARCH
    GOBIN
    GOCACHE
    GOFLAGS
    GOOS
    GOPATH
    GOPROXY
    GOPRIVATE
    GO111MODULE
    GORACE
    GOROOT
    GOTMPDIR

    和 cgo 一起使用的

    CC
    CGO_ENABLED
    CGO_CFLAGS
    CGO_CFLAGS_ALLOW
    CGO_CFLAGS_DISALLOW
    CGO_CPPFLAGS, CGO_CPPFLAGS_ALLOW, CGO_CPPFLAGS_DISALLOW
    CGO_CXXFLAGS, CGO_CXXFLAGS_ALLOW, CGO_CXXFLAGS_DISALLOW
    CGO_FFLAGS, CGO_FFLAGS_ALLOW, CGO_FFLAGS_DISALLOW
    CGO_LDFLAGS, CGO_LDFLAGS_ALLOW, CGO_LDFLAGS_DISALLOW
    CXX
    PKG_CONFIG
    AR

    和系统架构体系相关的

    GOARM
    GO386
    GOMIPS
    GOMIPS64

    专用的

    GCCGOTOOLDIR
    GOROOT_FINAL
    GO_EXTLINK_ENABLED
    GIT_ALLOW_PROTOCOL

    其他

    GOEXE
    GOHOSTARCH
    GOHOSTOS
    GOMOD
    GOTOOLDIR

    注意:Go 提供的 Windows 安装包(.msi 后缀)安装完成后,会自动配置几个常用的环境变量。

    记录几个常见的(GOROOT、GOPATH、GOBIN、GOOS、GOARCH、GOPROXY、GOPRIVATE、GO111MODULE)

    GOROOT

    GOROOT 表示 Go 语言的安装目录,

    在 Windows 中,GOROOT 的默认值是 C:/go,在 Mac 或 Linux 中 GOROOT 的默认值是 usr/loca/go,如果将 Go 安装在其他目录中,而需要将 GOROOT 的值修改为对应的目录。

    GOROOT/bin 则包含 Go 为我们提供的工具链,因此,应该将 GOROOT/bin 配置到环境变量 PATH 中,方便我们在全局中使用Go工具链。

    // Mac 上通过 brew install go 安装之后,找到对应的安装目录设置即可
    export GOROOT=/opt/homebrew/Cellar/go/1.18/libexec
    export PATH=$PATH:$GOROOT/bin

    GOPATH

    GOPATH 用于指定我们的工作空间(workspace),用来存放源代码、测试文件、库静态文件、可执行文件。注意,GOPATH 的值不能和 GOROOT 相同。

    类 Unix (Mac OS 或 Linux)操作系统中, GOPATH 的默认值是 $home/go。而在 Windows 中 GOPATH 的默认值则为 %USERPROFILE%\go (比如在 Admin 用户,其值为 C:\Users\Admin\go)。

    我们可以通过修改GOPATH来更换工作区,

    export GOPATH=$HOME/workspace/project/go

    也可以在 GOPATH 中设置多个工作区,不过当我们使用 go get 命令去获取远程库的时候,一般会安装到第一个工作区当中。

    export GOPATH=$HOME/workspace/project/go;$HOME/go

    按照早期的 Go 开发规范和工程(包)组织规则,GOPATH 目录下一般会有三个子目录,分别是 src、pkg、bin,后来 go module 包管理方法(计划写一篇文章专门来总结)出现后,弱化了这种组织规则。其中,src 目录存在开发的源代码文件,其下面对应的目录称为包,pkg 存放编译后的库静态文件,bin 存放源代码编译后的可执行文件。

    GOBIN

    GOBIN 表示程序编译后二进制命令的安装目录。

    当使用 go install 命令编译和打包应用程序时,该命令会将编译后二进制程序打包 GOBIN 目录,一般我们将 GOBIN 设置为 GOPATH/bin 目录。

    export GOBIN=$GOPATH/bin

    GOOS 和 GOARCH

    学习这两个环境变量的用法,就得了解什么是交叉编译_满守园的博客-CSDN博客

    在其他编程语言中进行交叉编译可能要借助第三方工具,但在 Go 语言进行交叉编译非常简单,最简单只需要设置 GOOS 和 GOARCH 这两个环境变量就可以了。

    GOOS 的默认值是我们当前的操作系统,比如 Windows、Linux,注意 Mac 操作的上的值是darwin。 GOARCH 则表示 CPU 架构,如 386、amd64、arm等。

    GOOS 和 GOARCH 的值成对出现,而且只能是下面列表对应的值。

    $GOOS	    $GOARCH
    android	    arm
    darwin	    386
    darwin	    amd64
    darwin	    arm
    darwin	    arm64
    dragonfly   amd64
    freebsd	    386
    freebsd	    amd64
    freebsd	    arm
    linux	    386
    linux	    amd64
    linux	    arm
    linux	    arm64
    linux	    ppc64
    linux	    ppc64le
    linux	    mips
    linux	    mipsle
    linux	    mips64
    linux	    mips64le
    linux	    s390x
    netbsd	    386
    netbsd	    amd64
    netbsd	    arm
    openbsd	    386
    openbsd	    amd64
    openbsd	    arm
    plan9	    386
    plan9	    amd64
    solaris	    amd64
    windows	    386
    windows	    amd64

    编译在 64 位 Linux 系统上运行的程序,

    $ GOOS=linux GOARCH=amd64 go build main.go

    编译 arm 架构 Android系统上运行的程序,

    $ GOOS=android GOARCH=arm GOARM=7 go build main.go

    GOPROXY

    从 Go 1.11 版本开始,官方支持了 go module 包依赖管理工具。不仅如此, Go 1.11 还新增了 GOPROXY 环境变量。如果设置了该变量,下载源代码时将会通过这个环境变量设置的代理地址。Go modules 的扶正是在 Go 1.13 发布中开发者能直接感觉到的最大变化,GOPROXY 环境变量在 Go 1.13 中的用法也发生了一些变化,具体参见https://golang.org/doc/go1.13

    goproxy.io 提供了一个开源的解决方案允许开发者一键构建自己的 GOPROXY 代理服务,同时也提供了公用的代理服务 https://goproxy.io,参见Goproxy.io Enterprise 企业版本功能介绍;七牛云也出了个国内代理 goproxy.cn 方便国内用户更快的访问,参见Goproxy.cngoproxy.cn - 为中国 Go 语言开发者量身打造的模块代理

    没有用 GOPROXY 环境变量的表现,

    $ go get -u -v golang.org/x/tools/go/packages
    package golang.org/x/tools/go/packages: unrecognized import path "golang.org/x/tools/go/packages" (https fetch: Get https://golang.org/x/tools/go/packages?go-get=1: dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.)

    使用 GOPROXY 变量后,可以正常拉取程序包,golang 的 goproxy 配置方法参见golang的goproxy配置 - Go语言中文网 - Golang中文社区

    $ go env -w GO111MODULE=on
    $ go env -w GOPROXY=https://goproxy.cn,direct
    $ go get -u -v github.com/securego/gosec/cmd/gosec
    

    GOPRIVATE

    go get 通过代理服务拉取私有仓库(企业内部 module 或托管站点上的 private 库),而代理服务不可能访问到私有仓库,会出现了 404 错误。Go1.13 版本提供了一个方便的解决方案:GOPRIVATE 环境变量。

    eg.

    export GOPRIVATE=*.corp.example.com,rsc.io/private

    参见 GOPRIVATE 环境变量GOLANG 环境几个重要的env配置参数解析一文说清GO环境变量

    GO111MODULE

    Golang 官方建议是一个项目一个 GOPATH,但是由于麻烦,很多人都不这么做,在 Go 1.11 中推出了 go modules 来解决依赖管理的问题,GO111MODULE 正是控制 go modules 的开关,在 Go 1.13 中也进行了功能升级, 具体参见https://golang.org/doc/go1.13go语言:环境变量GOPROXY和GO111MODULE设置

    普通环境变量

    环境变量是系统级的键-值对,正在运行的进程可以访问它。这些通常用于使同一程序在不同的部署环境(例如 PROD、DEV 或 TEST)中表现不同。在环境中存储配置是 twelve-factor 应用程序的原理之一,它使应用程序具有可移植性。如何在 Go 程序代码中设置、获取以及列出环境变量,也是非常重要的一环。

    目前 Go 中有下面几种在代码里边访问环境变量的方式,

    1. 使用内置标准库 os 包

    Go by Example 中文版: 环境变量

    Go获取与设置环境变量的方法详解_Golang_脚本之家

    Golang获取系统环境变量及godotenv库使用 - 人艰不拆_zmc - 博客园

    2. 使用第三方包(GoDotEnvViper

    比较出众的有两种,包括ViperGoDotEnv,这两种方式受众相当的广泛,生产环境建议还是使用vipergodotenv。ViperGithub的star最多,文档更加全面,GoDotEnv次之。另外还有两个比较小众轻量级的,包括gonfiggo-akka。轮子还是很多的,按照各自实际情况挑选吧。

    详解 Go 中的环境变量

    Environment variables in Golang | LoginRadius Blog​​​​​​​

    Have Fun

    更多相关内容
  • 最新上市公司常用控制变量2000-2020,一手数据,自用数据,20多个常用控制变量,全部数据均更新到2020年,个别指标通过计算得出,包含未处理前的变量!包括dta和excel两种格式! 数据来源于国泰安与万德数据库
  • 变量说明 变量 符号 变量定义 公司规模 Size 年总资产的自然对数 资产负债率 Lev 年末总负债除以年末总资产 总资产净利润率 ROA 净利润/总资产平均余额 净资产收益率 ROE 净利润/股东权益平均余额 总资产周转率 ...
  • Excel和dta两种格式,可以导入stata直接使用。 指标包括: stkcd、year、证券代码、其他应收款净额、非流动资产合计、资产总计、负债合计、实收资本或股本、总资产周转率B、营业收入、管理费用、利润总额、净利润...
  • 常用控制变量数据整理2000-2020.zip
  • 变量“公司年龄”通常称为控制变量。 很少解释为什么必要或控制什么。 适当记录变量的统计意义或重要性; 几乎没有提供其解释。 本文证明了此变量并未提供用户希望我们相信的任何明智信息。 本文提供了许多示例,...
  • 2009−2013​×μt​+φi,t,ind​+εit​(1) 其中, X i , 2009 − 2013 X_{i,2009-2013} Xi,2009−2013​是一系列企业层面的控制变量在2009-2013年的均值,数据来源于工企数据库, μ t \mu _t μt​是时间FE, φ ...

    最近在某年会的学术汇报上看到一篇DID实证论文,不过作者构建的计量模型比较特别。这篇文章的基本财务数据来自工企数据库,但却用于评估2017年实施的某项政策的政策效应。我们知道,一般的工企数据库的年份区间是1998-2013年,就算是使用最新的数据也只能到2015年(最近EPS中国微观经济数据查询系统将其更新至2015年,但数据真实性与有效性本人暂未验证),那么作者是如何用1998-2013年的财务数据来评估2017年实施的某项政策的呢?

    N o t e : Note: Note: 该文首发于微信公众号DMETP,欢迎关注!

    作者构建的基准模型如下式 ( 1 ) (1) (1)(已简化,公式可左右滑动)。

    y i t = β d i d i t + λ X i , 2009 − 2013 × μ t + φ i , t , i n d + ε i t (1) y_{it}=\beta did_{it}+\lambda X_{i,2009-2013}×\mu _t+\varphi _{i,t,ind}+\varepsilon _{it} \tag{1} yit=βdidit+λXi,20092013×μt+φi,t,ind+εit(1)

    其中, X i , 2009 − 2013 X_{i,2009-2013} Xi,20092013是一系列企业层面的控制变量在2009-2013年的均值,数据来源于工企数据库, μ t \mu _t μt是时间FE, φ i , t , i n d \varphi _{i,t,ind} φi,t,ind包括个体FE、时间FE与行业FE。样本区间是2015-2019年。

    可以观察到,被解释变量 y i t y_{it} yit与核心解释变量 d i d i t did_{it} didit均在个体与时间两个维度上变动,但控制变量 X i , 2009 − 2013 X_{i,2009-2013} Xi,20092013只随着个体变动,在时间维度上始终是一个恒常数。为了补充控制变量在时间维度上的信息,作者将这一系列控制变量与时间FE交乘,并称之为控制变量初始值的时间趋势。

    仔细思考一下,这里至少存在四个问题:

    • 第一,只有当变量本身就存在明显的时间趋势时才能以变量初始值的时间趋势来作为替代。对于企业样本来说,企业的财务数据是否存在时间趋势应该是分阶段的,比如在成长期或衰退期,企业的资产、负债等财务指标逐年增长或缩减;但企业如果处在转型期间,则趋势不太明显。此外,并非所有的财务数据都有明显的时间趋势。
    • 第二,变量初始值是2009-2013年的均值,但样本区间是2015-2019年,因此即便能用初始值的时间趋势作为实际值的替代,变量初始值也缺乏2014年的信息,代表性可能没有想象中的那么强。
    • 第三,变量与时间FE的交互项本身不能定义为变量的时间趋势。往期推文有介绍过时间趋势,变量的时间趋势就是变量初始值与时间趋势项trend的交乘,而非初始值与时间FE的交乘,后者的范围更广,实际上包含了前者。
    • 第四,多重共线性。因为变量初始值为恒常数,因此与时间FE交乘后,不同变量的交乘项可以互相表出,即存在多重共线性。

    实际上,模型中引入变量初始值(或称,前定变量)与时间趋势的交乘项是比较常见的做法,如陈诗一等(2021)在基准模型中通过控制三个前定变量(2007年各省人均实际GDP、二氧化硫工业排放强度与废气治理投资占比)与时间趋势三阶多项式的交乘项,以解决可能存在的因遗漏变量而导致的内生性,而时间趋势的三阶多项式则用来规避可能存在的多重共线性。

    [2] 陈诗一, 张建鹏, 刘朝良. 环境规制、融资约束与企业污染减排——来自排污费标准调整的证据[J]. 金融研究, 2021, 495(9): 51-71.

    展开全文
  • 老师同学们大家好,我们将上市公司常用变量进行了整理,这些数据可用于核心解释变量、因变量和控制变量,所有数据的形式均为电子表格Excel,均合在一张电子表格。为了方便大家使用,我们还提供stata格式,大家下载后...
  • 众所周知,Stata是在实证研究中常用统计软件。但是,在确定了论文逻辑甚至花高价找到需要的数据、...在寻找合适的模型中不断尝试新的模型确定模型但是变量回归结果一直没办法在显著区间内又要不断的筛选变量,多次...

    众所周知,Stata是在实证研究中常用统计软件。但是,在确定了论文逻辑甚至花高价找到需要的数据、参考了文献确定模型后,却在实证中没有得到显著的结果,后续论文的推进更是难上加难!

    导师总说这个不显著,自己又不懂怎么才能将最后结果变成显著,最佳模型也不会选择。

    不懂计量、不会操作、不知道什么模型最适合?

    在寻找合适的模型中不断尝试新的模型

    确定模型但是变量回归结果一直没办法在显著区间内

    又要不断的筛选变量,多次重复过程寻找最佳结果。

    不断尝试的痛苦还没有成效,怎么办?

    为此,我们 宝气老师制作了一套Stata命令,压榨所有手头上的数据来筛选符合研究者要求的结果,让大家在论文开始之前对手头的数据和前期的逻辑有一个清楚的认识,避免后期陷入结果不显著的尴尬境地。

    1

    大杀器:一键显著命令

    1、原理

    我们对备选控制变量进行排列组合,将每个组合都代入模型进行回归,然后根据前期设置的要求,来筛选出符号显著性水平和正负号条件(可选选项)的模型。示例如下:

    6f52b1a1fc3e37e0e3ae6cba3ff66fd9.png

    上图演示bq_reg的命令,意味着

    (1)将z1-z10共十个备选控制变量进行排列组合(共1023组)分别代入模型中进行回归

    (2)按照p<,系数大于0的条件去筛选符合条件的模型(也就是控制变量的组合)

    (3)将符合条件的结果列示出来

    2、产品库

    我们的产品包含命令和程序安装包。

    目前为止,我们研发了基于Stata的回归命令有:

    cca6b91d60cf8ff34dd1f2dc91f39a95.png

    基本涵盖了我们用Stata做实证分析时所需要的回归命令。目前这些命令可在Windows系统下使用。Mac系统的还在开发中。

    3、操作与Stata实现

    那么如何使用这些命令呢?而这些命令又是如何在Stata里实现的呢?

    (点击观看视频)

    注:我们产品只是给大家提供一个写论文前的参考,用来进一步严密逻辑、完善模型,同时也避免浪费时间和精力,

    但是模型还是要根据所研究的内容来确定,而不是仅仅依靠显著性。

    不显著可能的原因很多,需要大家在我们数据排查的基础上更加严密地思考,用学术观点和逻辑思维来解决实际问题。

    另外,有时候不显著也是重要的结果,也可以发表,希望大家严谨做学术,不要一味追求显著的结果,多思考变量之间的逻辑,对我们的产品不要过度依赖!

    2

    适用人群

    经济管理,尤其是人文社科类青年教师、博士生、硕士生、高年级本科生。以及Stata爱好者。

    3

    命令获得及优惠信息

    活动时间:2020.27-2021.01

    扫码立即购买!

    更有年鉴数据大礼包赠送。

    4

    购课须知

    更多福利获取

    (PS:工具人茶茶会尽快回复)

    展开全文
  • lecture 11:内生性与工具变量

    千次阅读 2021-04-30 12:38:00
    对于控制变量是否需要外生,控制变量可以内生。 总之,在同方差或者恰好识别情况下,2SLS与GMM等价,没有必要使用GMM。但是同方差很少见,多数都是异方差。文章里所说的2SLS指的是GMM,不过因为我个人把用于解决内...

    内生性问题

    1. “内生性”名称的由来

    现在人们说某个模型有内生性问题(endogeneity issue),是指模型中的一个或多个解释变量与误差项存在相关关系。

    显然,这个解释和内生性这个名字有点不搭。其实内生性问题字面含义是指模型中的解释变量有内生性(endogeneity)。

    在一个模型中,有些变量的值是在模型内部决定的,是内生的(endogenous);有些变量的值是被模型外界决定的,是外生的(exogenous)。在一般模型中,被解释变量应该是内生的,解释变量应该是外生的,解释变量的取值是不能被我们的模型所决定的。内生性问题字面意思指的是解释变量不是完全外生了,有了内生性了。

    此种内生性问题的一个常见症状就是解释变量和误差项存在相关关系。但不知从什么时候起,人们开始把一切“解释变量和误差项存在相关关系”的情况都叫做内生性问题了,也不管它是什么原因导致的。(关于这一点,可以参考Dougherty《introduction to econometrics》第十章和Wooldridge《Introductory Econometrics》第三章)

    所以就这么叫吧,没什么好纠结的了。

    1. 存在内生性问题的后果

    内生性会破坏参数估计的“一致性”。

    参数估计的“一致性”就是指当样本量很大时,用样本估计出的参数会无限趋近于总体的真实参数。当我们用样本估计出的参数没有了一致性,那它也就没什么参考价值了。

    1. 内生性问题的产生原因

    主要有以下几种,当然也不完全,我用简单的单方程线性模型举例:

    1)测量误差(measurement error)

    测量误差指的是模型使用的解释变量的数值和真实数据有误差。

    2)选择偏差

    3)遗漏解释变量(explanatory variable omitted)

    现实问题总是复杂的,一般情况下,谁也没办法找到所有能影响被解释变量的变量,遗漏解释变量几乎是不可避免的。

    4)互为因果(simultaneity)

    被解释变量能够反过来影响解释变量的情况被称为互为因果,有时也被称为反向因果(reverse causality)。

    在这里插入图片描述4. 内生性问题的解决方法

    内生性的解决方法有很多,IV、Heckman两步法、matching类、DID…从IV到2SLS, 到GMM,到系统GMM,应用范围越来越宽。但我有一个忠诚的建议,就是在选择方法之前梳理一下自己的处理逻辑,弄清楚到底内生性问题是由什么引起的。计量经济学的迷人(或者说迷我)之处就在于故事的完整性、逻辑的严密性,如果机械地套用方法,文章就失去了灵魂。

    内生性的解决方法:

    1 工具变量法
    2 自然实验法
    3 处理效应模型
    4 Heckman 模型
    5 引入固定效应
    6 广义矩估计
    7 断点回归
    8 倾向得分匹配模型

    更新

    对文章的一些修正及补充。如果确定有内生性问题,打算用IV法。一般来说,经济学top期刊对IV要求较高,要完全外生的IV。2020年Economic Journal一篇研究古代科举对现代人力资本影响的文章用一个地区到最近的竹林和松林分布地带的河流距离作为科举考试制度的成功程度。更经典的还有Acemoglu 2001的例子。这是完全外生的,很难想到。对于一些管理学文章,非完全外生的IV也是可行的,例如对于企业层面的研究,用滞后项,行业均值,行业除自身外的均值作为IV都是常用的办法。如果IV的个数与内生解释变量个数一致,则需要从理论上说明该IV的外生性和相关性,其中相关性可以通过2SLS第一阶段的F值或者相关系数做个大概判断。如果IV个数大于内生解释变量个数,则要用Hansen J test检验其外生性。

    对于控制变量是否需要外生,控制变量可以内生。

    总之,在同方差或者恰好识别情况下,2SLS与GMM等价,没有必要使用GMM。但是同方差很少见,多数都是异方差。文章里所说的2SLS指的是GMM,不过因为我个人把用于解决内生性的GMM叫做2SLS,把sys-GMM和diff-GMM叫做GMM。所以在异方差时,我说的2SLS指的是GMM。2SLS和GMM的命令高度相似。如果恰好识别,就用2SLS。

    工具变量和2SLS之间的关系:
    其实两者的本质都是一样的,IV可以视为2SLS的一个特例:当内生变量个数与工具变量个数相等时,称之为IV法;而当工具变量个数大于内生变量个数时,称为2SLS。

    参考文献:
    IV2SLS-python使用

    内生性问题及其产生原因

    内生性问题:起因,类型和解决办法

    工具变量相关性与外生性

    08 - Instrumental Variables

    内生性问题刍议:

    为什么学者都逮着“内生性问题”不放?

    作为一个学术后辈,我个人认为学术交流和研究具有复杂性和开放性,没有一个学术问题探讨是自我封闭的,尤其是社会科学中因果关系的分析,需要不断的努力探索和发展。

    大家都知道,社会科学领域研究中的“因果关系”分析,在实证研究范畴中经常会遇到所谓的“内生性问题”。众所周知,内生性问题的产生,是有多重因素影响引起的,从而产生了不同类型的处理方案,比如工具变量法、Heckman二阶段法、安慰剂分析法、倾向得分匹配法等一系列五花八门的分析方法,而且这类内生性问题处理方法也在进一步完善和发展中,这也是为什么近些年来又有很多统计方法不断出现,如DID方法、断点回归分析法等。当然,这些方法的使用都要各自安好应用环境和条件,需要区别对待和运用。

    其中,工具变量法是最为重要的一种内生性处理方法,也是大家常用且易懂的方法。但是,在运用该方法的时候,我们经常会遇到一个非常重要的问题:如何去寻找一个合适且有效的工具变量呢?的确,这是个学术难题,它难处不仅仅在于我们个人能力的有限性,而且还在于客观世界的复杂性带来的学术偏好,以致影响学术审稿的客观性。

    众所周知的是,在社会科学领域,进行实证研究难以避开所考察因素之间的双向因果,即内生性问题。对此,在实际研究操作过程中,工具变量法(instrumental variable method)依然是解决内生性问题的最为有效方法之一,而且相比较而言,对基于调查数据的定量分析,工具变量方法具有独特优势,已构成解决内生性问题的常见方法(陈强,2013;陈云松,2012; Krueger,1991)。但是,如何寻找可靠合适的工具变量,增加了解决内生性问题的难度。

    从因果关系的分析来看,社会科学中因果关系的分析经常被因果关系中的“反向因果”所困扰,这是为什么呢?因为社会科学中很多社会经济现象的发生都是多重因素交织在一起的影响结果,以我们目前的个人主观臆断和能力,显然是我们无法剥离谁是因、谁是果?或许,这也是为什么很多学术同仁在中国知网搜索文献时,经常会遇到似“鸳鸯”类的文献,如:一篇文章主题是“A对B的影响研究”,一篇文章主题是“B对A的影响研究”。那么,我们就产生一种疑虑:到底是谁影响谁呢?相信这类奇怪的选题,你也遇到过不少好!

    也正因为有这种风气或计量潮流的影响,现在学界有关工具变量的探讨,尤其是在学术论文审稿中或者学术会议中,很多审稿人或点评人似乎存在明显的偏好性和误导性,喜欢“乱点谱”,逮着“内生性问题”不放,比如:1、一提意见就指点他人文章因果关系中的内生性问题。2、随意批评别人工具变量的合理性但又不提啥建设性意见。3、过于重视因果关系中内生性问题,由此拒稿。4、追求吸引眼球的工具变量。……

    需要说明的是,在学术规范上,本人是不反对去重视实证分析中的内生性问题,反而为了应对审稿人的要求,每次做了不少内生性问题的处理方案。但是,在这个内生性问题的讨论方面,每个学术人都应该有个节制的程度,针对内生性问题分析的问题上,我们应该做到“有理有据、合情合理”,而不是随意就来“内生性问题”,我们主要从以下几个方面去把关内生性问题:内生性问题你处理重视与否、计量方法的准确性、工具变量度量的合理性、工具变量的外生性,以及内生性问题理论分析阐述等方面。

    实际上,由于经济活动的影响因素繁多复杂,以及经济数据的噪音影响,去寻找一个完全独立于因变量、且仅对自变量产生影响的外生变量是一项艰巨的任务,找到好的工具变量是非常之艰难(陈云松,2012),但康奈尔大学知名计量社会学家Morgan(2002)认为,由于社会科学问题的影响因素较为复杂,只要能和其他方法进行比较和相互补充,就可以更大胆、更冒险地发现和使用工具变量,哪怕工具变量具有明显瑕疵的外生性或无法完全消除质疑,也是值得提倡的。

    为此,我们尽心去努力的是:根据所考察的主题来为寻找合适的工具变量把关,不仅从理论分析上认为所选取的工具变量的适宜性,而且还应通过统计分析来检验工具变量的外生性(即弱工具变量检验),以尽可能地寻找一个恰当的工具变量,运用工具变量法来减轻内生性问题对结论所产生的影响偏误。

    所以,在学术探讨上,大家要保持一种开放的思维来分析学术问题,内生性问题是一个极为复杂的统计问题和社会现象,更需要我们的深思熟虑去看待问题的解决方案和态度。而且,内生性问题的解决,也并不会因为你寻找了一个工具变量、进行了一个内生性处理命令,就可以得到很好或者完全解决的。

    当然,也许你认为我的观点不对,但你想想:你认为你文章的内生性问题,真的处理好了吗?你找的工具变量真的完全“外生”吗?不好意思,也许主效应他们两者之间根本没有什么关系……

    举例:电子资料在群里。
    https://economics.mit.edu/faculty/acemoglu/ Daron Acemoglu
    https://www.sohu.com/a/159507737_728084
    https://blog.csdn.net/weixin_27787297/article/details/113965735
    Sargent数量经济:回归分析与Python
    二阶段最小二乘

    作为示例,我们会重复Acemoglu,Johnson and Robinson(2001,AER)的经典文章的结果

    该论文可以从这里下载(https://economics.mit.edu/files/4123)

    (1)在这篇文章中,作者强调制度对经济发展对的影响

    (2)主要的贡献是利用殖民死亡率作为制度差异的外生变化的来源

    (3)这种变化决定制度是否引起了更多的经济增长,而不是别的方式

    展开全文
  • 网络控制系统(Networked Control Systems,NCSs)是近十几年来随着计算机 技术、网络通信技术以及控制科学...而构成了更加灵活、功能更为强大的控制体系,在企业信息化和自动化的发展过 程中正产生着越来越大的影响。
  • 构建企业环境绩效与财务绩效的理论模型,分别以内部经营性指标净资产收益率和外部市场价值指标托宾Q值作为衡量企业财务绩效的因变量,以环境绩效为自变量,边际利润、资产年限、资产负债率和企业规模为控制变量,运用...
  • 2.1 交乘项中仅一个变量是内生变量 2.2 交乘项中的两个变量均为内生变量 3. Stata 实操 3.1 输入数据 3.2 不考虑内生性的估计结果 3.3 工具变量法处理内生性问题 3.4 考虑内生性和未考虑内生性的估计...
  • 一、适用范围 ...不过这样做一个问题,就是登记的女性,都是在工作的,但是许多受教育程度较高的女性不工作,选择做家庭主妇,这部分样本就没有算在内,样本失去随机性。这就导致模型只是用到了在
  • 通过建立可变质产品的最优经营管理的分布参数控制系统模型,得出了零售企业每个瞬间每种可变质产品的最优经营管理策略,并对空间伴随函数和控制变量给出了明确的经济学解释.该模型更合理地描述了可变质产品的实际经营...
  • 涉及到一个河流的水污染分析,其中污染物较多,同时自变量也较多(气象因素含温度和天气、污染企业数量及其位置、生活污染等)。需要考虑用什么模型来建模呢? 另外,污染物的数值之间,用相关性分析,貌似还有...
  • CAD系统变量

    千次阅读 2018-05-11 14:34:07
    *CAD系统变量 要获取到系统变量的值,然后解析系统变量的含义,在网上找到这些资料: 3DDWFPREC 控制三维DWF发布的精度。 3DCONVERSIONMODE 用于将材质和光源定义转换为当前产品版本。 3DSELECTIONMODE 控制使用...
  • 现代复杂的工业生产过程,通过实施先进控制,可以大大提高工业生产过程操作和控制的稳定性,改善工业生产过程的动态性能,减少关键变量的运行波动幅度,使其更接近于优化目标值,从而将工业生产过程推向更接近装置...
  • 青龙面板jd脚本库环境变量说明

    万次阅读 2022-01-19 16:23:32
    环境变量说明 京东(必须) Name 归属 属性 说明 JD_COOKIE 京东 必须 京东cookie,多个账号的cookie使用&隔开。具体获取参考浏览器获取京东cookie教程 或者 插件获取京东cookie教程 京东隐私安全 环境...
  • thinkphp控制变量在模板中显示

    千次阅读 2016-06-17 09:07:49
    控制器中变量 public function register() { $type = I("param.type");//1.学生注册 2.教师注册 3.其他注册 $this -> assign("type", $type); //q全部部门 $depart1 = M("Depart") -> where("status=1 and fid
  • 【单选题】7、已知int a[]=new int[100],在下列给出的数组元素中,非法的是【判断题】资产,是指企业过去及未来的交易或者事项形成的,由企业拥有或者控制的,预期会给企业带来经济利益的资源。【其它】以5寸相纸为一版,...
  • 用户生命周期价值 CLV,即Customer Lifetime Value,CLV是对客户未来利润的有效预测,用来衡量一个用户在一段时期内对企业有多大价值。 CLV模型在中小企业的具体运营中应用到的不多,更多是在做年度规划,年度财务...
  • 声明变量时必须指定一个类型B.Java认为变量number与Number相同C.Java中唯更多相关问题下列选项不属于房地产开发前期工作主要内容的是()。A.获得土地使用权B.确定规划设计方案并获得规环境保护方案设计的原则()...
  • Stata中因子变量的使用方法

    万次阅读 2018-06-26 18:07:35
    其他控制变量 的 交乘项 ,然后再 联合检验 分组变量的系数以及所有交乘项的系数是否都等于0。此时,即使我们不使用 chowtest 命令,也可以轻松实现 邹氏检验 ,Stata命令如下: . global xx "hours age ...
  • 正常利率下的贷款量代表自变量,公司杠杆和公司年龄代表控制变量,财务绩效指标(ROE,ROA和NPM)代表因变量。 结果表明,贷款额对小企业的财务绩效负显着影响,企业杠杆率对小企业的财务绩效负显着影响,企业...
  • 工业自动化控制-组态王1

    千次阅读 2022-04-21 18:58:50
    ----------------------- 2、自动化软件的定义 其主要包括人机界面软件(HMI),主要具备如下功能及特征: 工业过程动态可视化、数据采集和管理、过程监控报警、报表功能、为其他企业级程序提供数据、简单的控制功能...
  • 根据代理理论的三个假说,公司资本结构和绩效间存在相互影响,利用随机前沿方法估计企业绩效并建立方程模型对黑龙江省企业集团进行实证检验,...用模型验证了影响债权结构和公司绩效的其他控制变量的有效性和显著性。
  • # 然后浏览器访问测试 17、nginx 流量控制 求的数量。请求,可以是一个简单网站首页的GET请求,也可以是登录表单的 POST 请求。流量限制可以用作安全目的,比如可以减慢暴力密码破解的速率。通过将传入请求的速率...
  • 把利用相空间压缩来控制混沌应用于经济系统,并针对经济系统的特点引申出阈值控制法,即通过限制变量取值的上限或(和)下限来达到控制混沌的目的.并以2维动态产量博弈模型为...
  • 合成控制法原理

    千次阅读 2021-05-23 17:34:37
    合成控制法 反事实思维是**鲁宾反事实分析框架(Rubin’s counterfactual framework)**下进行思考, 本质思想是为处理组(treated group)找到一个合适的控制组(control group)。 合成控制法的思想是对于处理组,选择与...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 122,310
精华内容 48,924
热门标签
关键字:

企业控制变量有哪些