虚拟变量的方法介绍及python实现方式
虚拟变量的定义作用
计量经济学中对虚拟变量给出了定义、作用及使用场景,进一步的深入了解可以系统性学习。
定义:虚拟变量 ( Dummy Variables) ,用以反映无法定量度量的因素,譬如性别对收入的影响,是量化了的质变量,通常取值为0或1。
另外一些名字:又称哑变量、虚设变量、名义变量、属性变量、双值变量、定性变量、二院型变量等
作用:引入哑变量可使线形回归模型变得更复杂,但对问题描述更简明,一个方程能达到两个方程的作用,而且接近现实
简单点说,如果有一个数据字段“性别”,里面只有两个元素“男”、“女”,那么转换成为0(男)、1(女)的量化方式,并将每个元素形成一列,便是虚拟变量。譬如:
虚拟变量模型
模型定义
引入到模型有两种基本方式:
虚拟变量的设置原则
若定性因素有m个相互排斥的类型或属性,只能引入(m-1)个虚拟变量,否则会陷入"虚拟变量陷阱",产生完全共线性。(如果f(x)没有截距项,应引入m个虚拟变量)
一般情况,虚拟变量取“0”值代表比较的基准
虚拟变量在单一方程中,可以作为解释变量,也可以作为被解释变量
python的几种实现方式
准备工作,载入相关的包,准备数据集
import pandas as pd
import numpy as np
from sklearn.preprocessing import OneHotEncoder,LabelEncoder
oenc=OneHotEncoder(sparse=False)
lenc=LabelEncoder()
store=pd.DataFrame({'gender':[0.0,11.0,'unknow']})
方式1:通过pandas中的get_dummies生成,
dummies = pd.get_dummies(store['gender'], prefix='gender' )
df=pd.concat([store,dummies],axis=1)
print(df)
# 通过apply自己构建
df1=store.copy()
for col_feat in df1.gender.unique():add_col='gender_{}'.format(col_feat)df1[add_col]=df1['gender'].apply(lambda x:1 if x==col_feat else 0)
print(df1)
# one-hot 先序列化,然后再做独热编码
arr=np.array(store[['gender']].astype(str)).ravel()
lenc_code=lenc.fit_transform(arr)
oenc_code=oenc.fit_transform(lenc_code.reshape(-1,1))
add_col=list(map(lambda x:'gender_{}'.format(x),np.unique(arr)))
df_onehot=pd.concat([store,pd.DataFrame(oenc_code,columns=add_col)],axis=1)
print(df_onehot)
参考《计量经济学:虚拟变量模型》
虚拟变量的方法介绍及python实现方式相关推荐
- 气象数据分析之EMD方法介绍及python的实现
文章目录 前言 一.EMD方法介绍 二.在python中的实现 1.引入库 2.生成一个随机的信号 3.做EMD分解,提取IMF和res 4.可视化 最后 前言 经验模态分解(Empirical Mo ...
- stata质别变量赋值_【STATA学习笔记】虚拟变量的生成
生成虚拟变量的方法,一共3种. gen 和 replace 命令一起用. 首先,用[codebook qa301]查看原数据中,"现在的户口状况"赋值情况. 然后,用gen对&qu ...
- 因果推断1--基本方法介绍(个人笔记)
目录 一.因果推断介绍 1.1 什么是因果推断 1.2为什么研究因果推断 1.3因果推断阶梯 1.4因果推断问题分类 二.因果推断理论框架 2.1 定义(这些定义后面会经常用到) 2.2 Assump ...
- 【计量经济学导论】13. 虚拟变量与双重差分
文章目录 虚拟变量与双重差分 虚拟变量的模型设定 虚拟变量的回归分析 虚拟变量的综合应用 结构变化分析 交互效应分析 双重差分模型 双重差分模型的优点 虚拟变量与双重差分 虚拟变量的模型设定 首先我们 ...
- python加号换行,Python字符串拼接六种方法介绍
Python字符串拼接的6种方法: 1.加号 第一种,有编程经验的人,估计都知道很多语言里面是用加号连接两个字符串,Python里面也是如此直接用"+"来连接两个字符串: prin ...
- python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...
本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...
- python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)
本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...
- 第八章 Python类中常用的特殊变量和方法
上章花了近三十章节介绍类的知识,本章估计内容也比较多,讲完这些,其实还有更多.为什么这么多类有关的知识呢,这是因为在Python里面一切皆对象,就连整型.浮点数.字符串这些比较常规的类型都是作为类来实 ...
- python 定义函数方法_Python动态定义函数的方法介绍
本篇文章给大家带来的内容是关于Python动态定义函数的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 基于 MIT 许可协议 在 Python 中,没有可以在运行时简化函数 ...
最新文章
- 【 FPGA 】设置伪路径
- PHP中全局变量$_POST[]和$_GET[]
- golang中的http conn实现分析
- ASP.NET Core微服务(四)——【静态vue使用axios解析接口】
- OCA第5部分中的Java难题
- 一文读懂架构整洁之道(附知识脉络图)
- 检查电脑是否被安装木马三个小命令
- SpringBoot之获取配置文件中的数据
- python卸载旧版本后依旧残余的问题
- 【干货】华为组织成长的动力机制.pdf(附下载链接)
- 青岛大学计算机科学技术学院图灵班,北京大学第三届图灵班(2018级)开班仪式举行...
- 计算机网络课程设计报告
- 改进的自适应中值滤波算法 去除椒盐噪声 python 代码实现
- 阅读《经济学人》,学会这样查词典,从此英语学习不求人
- linux 查看已安装软件
- unity当前项目里面AssetBundle和加载的方法总结
- Linux 使用for循环结构
- Synchronized解析——一层一层剥开洋葱的心
- 自动控制原理笔记(5)——线性系统的根轨迹法
- [机缘参悟-30]:鬼谷子-内揵篇-同理心,站在对方的立场,拉近与对方的心理距离