虚拟变量的方法介绍及python实现方式

article/2025/11/3 6:59:12

虚拟变量的定义作用

计量经济学中对虚拟变量给出了定义、作用及使用场景,进一步的深入了解可以系统性学习。

定义:虚拟变量 ( Dummy Variables) ,用以反映无法定量度量的因素,譬如性别对收入的影响,是量化了的质变量,通常取值为0或1。

另外一些名字:又称哑变量、虚设变量、名义变量、属性变量、双值变量、定性变量、二院型变量等

作用:引入哑变量可使线形回归模型变得更复杂,但对问题描述更简明,一个方程能达到两个方程的作用,而且接近现实

简单点说,如果有一个数据字段“性别”,里面只有两个元素“男”、“女”,那么转换成为0(男)、1(女)的量化方式,并将每个元素形成一列,便是虚拟变量。譬如:

image

虚拟变量模型

模型定义

image

引入到模型有两种基本方式:

image
image
image

虚拟变量的设置原则

若定性因素有m个相互排斥的类型或属性,只能引入(m-1)个虚拟变量,否则会陷入"虚拟变量陷阱",产生完全共线性。(如果f(x)没有截距项,应引入m个虚拟变量)

一般情况,虚拟变量取“0”值代表比较的基准

虚拟变量在单一方程中,可以作为解释变量,也可以作为被解释变量

image
image
image
image
image

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']})

image

方式1:通过pandas中的get_dummies生成,

dummies = pd.get_dummies(store['gender'], prefix='gender' )
df=pd.concat([store,dummies],axis=1)
print(df)

image


# 通过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)

image

# 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)

image

参考《计量经济学:虚拟变量模型》


http://chatgpt.dhexx.cn/article/bWRkeccR.shtml

相关文章

【计量经济学】虚拟变量

虚拟变量–潘登同学的计量经济学笔记 文章目录 虚拟变量--潘登同学的计量经济学笔记 对定性信息的描述只有一个虚拟变量的情形虚拟变量系数的解释虚拟变量的作用效果检验工资性别歧视因变量为对数形式的情况 多个虚拟变量的情形虚拟变量系数的解释使用虚拟变量包含序数信息虚拟…

php读取文件名称,php如何获取文件名

php获取文件名的方法&#xff1a;可以用basename()函数来获取文件名&#xff0c;例如&#xff1a;【basename($full_name)】。还可以使用pathinfo()函数来获取文件名。 PHP中获取文件名的方式 1、直接用basename&#xff1a;<?php $full_name c:\wamp\php\php.ini; $base…

python获取当前系统的日期_python怎么获取当前系统时间

python获取当前系统时间&#xff0c;包括年月日&#xff0c;时分秒&#xff0c;主要通过Python中的datetime模块来实现。 下面我们就通过具体的代码示例&#xff0c;给大家详细介绍Python获取当前时间日期的实现方法。 代码示例如下&#xff1a;import datetime now datetime.…

mysql如何获取当前时间_mysql怎么获取当前时间

mysql获取当前时间的方法&#xff1a;可以通过执行【select now();】语句来获取当前时间。还可以通过执行【select current_timestamp, current_timestamp();】语句来获取。 获得当前日期时间(date time)函数&#xff1a;now()mysql> select now(); --------------------- …

如何通过php获取今天的时间,如何使用php获取当前时间和日期

如何使用php获取当前时间和日期&#xff1f;在php中我们可以使用date()函数来获取当前时间和日期&#xff0c;也可以在PHP> 5.2的 版本中使用DateTime PHP类来获取日期和时间&#xff0c;下面我们就来看看具体的内容。 使用date()函数输出当前日期和时间。它将使用php.ini中…

php如何获取当前日期时间函数,php如何使用date()函数获取当前时间

php如何使用date()函数获取当前时间?本篇文章就给大家介绍具体介绍PHP使用date()函数获取当前时间的方法,希望对你们有所帮助。 date()函数可以将获取到的时间戳转换为更易读的日期和时间格式。当date()函数中不自定义一个时间戳时,将使用当前日期和时间。 下面我们来看看使…

PHP 获取当前访问的URL

<?php /** * 获取当前访问的完整url * return string * date 2020/7/23 */ function getUrl() {// 判断当前页采用的协议是HTTP还是HTTPS // 443端口&#xff1a;即网页浏览端口&#xff0c;主要用于HTTPS服务&#xff0c;是提供加密和通过安全端口传输的另一种HTTP。 $url…

python之点积

数学中点积也就是内积&#xff0c;是指两个向量各自对应位相乘后求和&#xff0c;比如x (x1,x2),y(y1,y2),则x与y的内积结果为x1*y1x2*y2,因此 python中一维数组之间的点积&#xff0c;即为数组各个位乘积之和&#xff0c;如&#xff1a; x1 np.arange(0,9) print(x1) y1 …

点积、叉积、内积、外积

点积、叉积、内积、外积 点积内积 &#xff08;结果标量&#xff09; 叉积外积 (结果矢量) 点积&#xff08;内积、数量积&#xff09;&#xff1a; matlab or python&#xff1a;dot() / np.dot() 数学符号&#xff1a;A.B<a,b> 相乘相加 物理意义&#xff1a; 向量…

点积和叉积在计算机图形学的应用

点积和叉积在计算机图形学中&#xff0c;是最为基础且重要的概念&#xff0c;初学者弄清它的概念的应用&#xff0c;是很重要的。最后一节&#xff0c;是为了加强理解记录&#xff0c;如果不看也是可以的&#xff0c;大家选择观看&#xff0c;有兴趣可以去看原视频&#xff0c;…

线性代数【18】点积和对偶性

前言&#xff1a; 本节&#xff0c;尝试通过线性变换来理解&#xff0c;或者说来表述点积。 在尝试理解的过程中&#xff0c;我们发现了线性变换&#xff0c;尤其是从多维空间到一维空间的线性变换&#xff0c;一定有某个严格的1x2的向量和他对应&#xff0c;这种微妙的而自然…

【Python】详解Numpy中的点积运算

1. 引言 根据数学家的说法&#xff0c;点积是一种运算&#xff0c;它取两个等长的向量作为输入&#xff0c;然后返回一个数字&#xff08;标量&#xff09;。向量A与向量B的点积用符号表示为A•B。在线性代数中&#xff0c;点积是输入向量中每个对应元素的乘积之和。 本文重点…

cuda点积运算

最近在研究并行运算的规约算法&#xff0c;在看《GPU高性能编程CUDA实战》这本书中点积运算时&#xff0c;有些问题想了很久&#xff0c;记录下来&#xff1b; 注点积公式&#xff1a;&#xff08;dot(A,B)a1*b1a2*b2...an*bn&#xff09; 书上例子算点积运算时分为了以下几步…

Unity3D C#数学系列之点积

文章目录 1 定义2 几何意义3 向量a向量b xaxbyaybzazb4 应用案例4.1 求两向量的夹角4.2 判断两向量是否垂直4.3 判断NPC是否在攻击范围内4.4 已知入射光线和表面法线求反射光线 5 项目 1 定义 可知&#xff0c;点积得到的是一个标量&#xff0c;这个标量代表什么呢&#xff1f…

内积、点积和坐标

内积是一个纯数学概念&#xff0c;在向量空间中&#xff0c;只要满足一定的性质&#xff08;正性、定性、可加性、齐性和共轭对称性&#xff09;的函数运算就可以成为内积&#xff0c;因此具体的内积具有很多种形式。 点积是定义在空间上的一种内积&#xff0c;具体的形式为&am…

点积与投影的关系

点积与投影的关系 一个向量在另一个单位向量上的投影长度&#xff0c;等于这两个向量的点积。 怎么理解 a、b、c分别为三个向量&#xff0c;如果有abc&#xff0c;那么c在某个向量上的投影值等于a和b分别在该向量上的投影值相加(反方向的投影为负值) i&#xff0c;j分别是向…

防抖与节流的个人理解及其对应的应用场景

什么是防抖和节流&#xff0c;他们的应用场景有哪些 防抖 (debounce) 防抖&#xff0c;顾名思义&#xff0c;防止抖动&#xff0c;以免把一次事件误认为多次&#xff0c;敲键盘就是一个每天都会接触到的防抖操作。 想要了解一个概念&#xff0c;必先了解概念所应用的场景。在…

JS防抖和节流

欢迎学习交流&#xff01;&#xff01;&#xff01; 持续更新中… 文章目录 防抖节流二者区别应用场景 防抖和节流都是为了项目优化而出现的&#xff0c;官方没有具体定义的&#xff0c;他们的出现主要是为了解决一些短时间内连续执行的事件带来性能上的不佳和内存的消耗巨大等…

手写防抖节流

文章目录 手写前端常用技巧-防抖节流防抖节流1. 首节流2. 尾节流3. 首尾节流 总结 手写前端常用技巧-防抖节流 防抖&#xff1a;当持续触发事件时&#xff0c;一定时间内没有再触发事件&#xff0c;才会在一段时间之后触发事件处理函数。 节流&#xff1a;当持续触发事件时&am…

防抖和节流

1. 什么是防抖 防抖策略&#xff08;debounce&#xff09;是当事件被触发后&#xff0c;延迟 n 秒后再执行回调&#xff0c;如果在这 n 秒内事件又被触发&#xff0c;则重新计时。 1.2. 防抖的应用场景 用户在输入框中连续输入一串字符时&#xff0c;可以通过防抖策略&…