• R语言代写模型中的加总偏误与内生性:一种数值模拟方法


    引言

    本文中主题是内生性,它可能严重偏向回归估计。我将专门模拟由遗漏变量引起的内生性。在本系列的后续文章中,我将模拟其他规范问题,如异方差性,多重共线性和对撞机偏差。

    数据生成过程

    考虑一些结果变量的数据生成过程(DGP)ÿ​:

    Y = a +  beta x + cz +  epsilon_1

     epsilon_1  sim N(0, sigma ^ {2})

    对于该模拟,我设置参数值一个​,公测​以及C​与模拟正相关的独立变量,X​和ž​(N = 500)。

    1

    2

    3

    4

    6

    7

    8

    9

    # simulation parameters

    set.seed(144);

     a=50; b=.5; c=.01;

      

     x=rnorm(n=ss,mean=1000,sd=50);

    z=d+h*x+rnorm(ss,0,10)

    模拟

    模拟将估计下面的两个模型。第一个模型是正确的,它包含实际DGP中的所有术语。但是,第二个模型省略了DGP中存在的变量。相反,变量被误入了误差项   epsilon_1​。

    (1) thinspace Y = a +  beta x + cz +  epsilon_1

    (2) thinspace Y = a +  beta x +  epsilon_1

    第二个模型将产生一个有偏差的估计公测​。差异也会有偏差。这是因为它X​是内生的,这是一种说它与错误术语相关的奇特方式 epsilon_1​。由于心病(X,Z)> 0​和 epsilon_1 =  epsilon + cz​,然后心病(X, epsilon_1)> 0​。为了说明这一点,我在下面进行了5000次迭代的模拟。对于每次迭代,我ÿ​使用DGP 构造结果变量。然后我运行回归估计公测​,首先是模型1,然后是模型2。

    1

    2

    3

    4

    6

    7

    8

    9

    10

    11

    12

    sim=function(endog){

      e=rnorm(n=ss,mean=0,sd=10)

      # Select data generation process

     if(endog==TRUE){ fit lm(y~x) }else{ fit=lm(y~x+z)}

     return(fit$coefficients)

    }

      sim_results_endog=t(replicate(trials,sim(endog=TRUE)))

    仿真结果该仿真产生两种不同的采样分布公测​。请注意,我已将true值设置为的β= 0.5​。如果ž​不省略,则模拟产生绿色采样分布,以真实值为中心。所有模拟的平均值为0.4998。当ž​被省略,仿真得到的红色采样分布,围绕0.5895居中。它偏离.5895的真实值。此外,偏差采样分布的方差远小于周围的真实方差公测​。这会影响对真实参数执行任何有意义推断的能力。 

    公测​可以通过分析得出。考虑在模型1中(如上所述),X​并  ž​通过以下方式相关:

    (3) thinspace z = d + hx +  epsilon_2

    ž​用等式3 代入等式1并重新排序:

     Y = a +  beta x + c(d + hx +  epsilon_2)+  epsilon_1

     (4) thinspace Y =(a + cd)+( beta + ch)x +( epsilon_1 + c  epsilon_2)

    省略变量时ž​,实际上是估计的等式4。可以看出,公测​数量有偏差CH​。在这种情况下,由于X​并且ž​通过构造正相关并且它们的斜率系数是正的,所以偏差将是正的。根据模拟的参数,应该是“真实的”偏差   CH = 0.09​。这是偏差的分布,它以.0895为中心,非常接近真实的偏差值。

    上述推导还可以让我们确定从知道的相关偏差的方向X​和ž​以及的符号C​(的真局部效果ž​上ÿ​)。如果两者都是相同的符号,那么估计值公测​会有偏见。如果符号不同,则估计值公测​将向下偏移。结论上面的案例很一般,但有特殊的应用。例如,如果我们认为个人的收入是教育年限和工作年经验的函数,那么省略一个变量将偏向另一个变量的斜率估计。

    如果您有任何疑问,请在下面发表评论。 

  • 相关阅读:
    LeetCode44——用搜索的思路去理解动态规划算法
    在vscode中配置LeetCode插件,从此愉快地刷题
    分布式专题——详解Google levelDB底层原理
    高等数学——求解不定积分经典换元法
    动态规划入门——详解完全背包与多重背包问题
    详解聚类算法Kmeans的两大优化——mini-batch和Kmeans++
    Python专题——详解enumerate和zip
    LeetCode42题,单调栈、构造法、two pointers,这道Hard题的解法这么多?
    零基础学Python--------第11章 使用Python操作数据库
    零基础学Python--------第10章 文件及目录操作
  • 原文地址:https://www.cnblogs.com/tecdat/p/10751614.html
Copyright © 2020-2023  润新知