美文网首页
一个疑惑:解释变量中类别变量的处理

一个疑惑:解释变量中类别变量的处理

作者: CHEN_DIANDIAN | 来源:发表于2020-04-16 16:56 被阅读0次

我们知道,当分类自变量的类别大于两个的时候,需要建立一组虚拟变量(哑变量)来代表变量的归属性质。一般虚拟变量的数目比分类变量的数目少一个,少掉的那个就作为参照类(reference category),参照类的选取是随意的。

问题来了:为什么要这么做呢?如果把这个类别变量(尤其是有序变量)当做连续变量处理,有什么不对的地方吗?

举个栗子:教育变量在回归中作为控制变量。按教育程度由低到高依次记为 1~6,回归中把教育作为一个连续变量 edu 和作为 6 个哑变量 edu1~edu6 处理有何不同?

从系数含义来讲,作为连续变量的 edu, 其系数代表每提升一个教育程度对因变量的影响。由于结果中只有一个系数,其潜在假设是 edu1 和 edu2 对因变量影响的差异 = edu2 和 edu3 对因变量影响的差异 = edu3 和 edu4 对因变量影响的差异 = ……。现实中满足这种假设的情形极为少见。

若作为哑变量处理,参照类的系数为 0,其余哑变量的系数代表与参照类相比对因变量的影响多多少(高出的截距)。它允许各类之间的影响存在差异,可以刻画的情形更多,适用范围更广。

高级计量经济学(陈强著 第2版).png

从模型上看,作为连续变量处理的模型为
y = \alpha +\beta _{1} X_{1}+ \beta _{2} edu+\epsilon
作为虚拟变量处理的模型为
y = \alpha +\gamma_{i} edu_{i} + \beta _{1} X_{1} +\epsilon
引入虚拟变量的本质是对不同类别的子样本使用不同的截距项(引入虚拟变量的交乘项则是使用不同斜率)。该式子等价于
y = \left\{ \begin{array}{**lr**} \alpha + \beta _{1} X_{1} +\epsilon, & edu_{1}=1 & \\ \alpha +\gamma_{2} + \beta _{1} X_{1} +\epsilon, & edu_{2}=1\\ \alpha +\gamma_{3} + \beta _{1} X_{1} +\epsilon, & edu_{3}=1\\ \alpha +\gamma_{4} + \beta _{1} X_{1} +\epsilon, & edu_{4}=1\\ \alpha +\gamma_{5} + \beta _{1} X_{1} +\epsilon, & edu_{5}=1\\ \alpha +\gamma_{6} + \beta _{1} X_{1} +\epsilon, & edu_{6}=1\\ \end{array} \right.

回到问题上,在类别变量是有序的,且编码间隔为 1, 且已知相邻类别间对因变量的影响大致相等的情况下,作为连续变量处理的模型估计出来的系数 \beta_{2} 是不是无偏的?此时的 \beta_{2}\gamma_{i} 有什么关系?

(亲身实践表明,确实会有偏误,系数和 t 统计量都会偏大(负数的话绝对值更小)。在样本量较小、类别变量较多的情况下,比如用子样本回归,用连续变量处理会使不显著的会变为显著。另一个问题是:当模型中的哑变量太多,是否会降低系数的显著性?)

在通常情况下,虚拟变量往往用作控制变量。如果不关心 \beta_{2} 的系数准确性,这样的模型设定会不会影响核心解释变量的估计量 \beta_{1} 的准确性?

相关文章

  • 一个疑惑:解释变量中类别变量的处理

    我们知道,当分类自变量的类别大于两个的时候,需要建立一组虚拟变量(哑变量)来代表变量的归属性质。一般虚拟变量的数目...

  • scikit-learn机器学习:特征提取

    从类别变量中提取特征 许多问题中的解释变量是类别变量或者名义变量,通常使用one-of-k编码算法或者one-ho...

  • Python类别变量处理

    Categorical Encoding Methods   categorical feature(类别变量)是...

  • Python、Java、matlab、C多种语言基础语法对比

    通篇说明:‘★’表示代码中另起一行,'<类别>'表示变量的类别(正在建设) 变量特点 变量操作 读取输入 输出写入...

  • 基础类型和语法

    1.变量及其作用范围? 解析:应该从三方面进行解释:变量的定义,Java变量的类别和含义,变量的作用范围答:1 变...

  • R数据结构之因子

    定义:类别(名义型)变量和有序类别(有序型)变量在R中称为因子(factor)。 函数factor()以一个整数向...

  • R语言基础教程 | 数据结构—因子

    变量可归结为名义型、有序型或连续型变量。名义型变量是没有顺序之分的类别变量。类别(名义型)变量和有序类别(有序型)...

  • Python 基本操作- 类别变量转化

    一、类别变量中“有序”和“无序”的区分 类别变量转化为数字,需要区分是否是有序类别,如 male和female,就...

  • 对于covariate shift的理解

    1.Convariate Convariate,协变量,在实验的设计中,协变量是一个独立变量(解释变量),不为实验...

  • R 数据处理(十五)—— forcat

    1. 前言 在 R 中,因子用于处理类别变量,即具有固定且已知所有可能值的变量。当您希望以非字母顺序显示字符向量时...

网友评论

      本文标题:一个疑惑:解释变量中类别变量的处理

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