数据科学在人力资源的应用(1):工作负荷模型

日期:28 May 2015

所谓工作负荷,是指单位时间内人体承受的工作量,包括体力工作负荷和心理工作负荷两个方面。对于上班族来说,合理的工作负荷直接关系到其工作效率。工作负荷体现了工作任务在数量和质量上的共同要求。

产生工作负荷的外因是实际的工作量,内因则牵涉到个人的主观感受。研究表明,工作负荷与工作倦怠存在高度相关,尤其与情绪衰竭相关度最强。因此,我们通过两种方法来量化 工作负荷。第一种方法,是通过调查问卷请员工依据自身的感受回答,问卷的设计和处理在学术界已经有一些成熟的方法,并且得到了比较广泛的应用,可以用于各个部门和岗位;第二种方法,是根据员工的职务说明书,通过衡量员工完成的任务数量以及任务所需时长,计算员工的工作时间作为工作负荷的衡量,这里需要对不同部门和岗位进行不同指标的测算。

1. 主观问卷测量法

目前学术界和产业界对于工作负荷的评估方法,发展较为成熟的主要有两个体系:一是主观性工作负荷评估技术(Subjective Workload Assessment Technology),简称SWAT;二是NASA任务负荷指数(National Aeronautics and Space Administration-Task Load Index),简称NASA-TLX。

1.1 SWAT量表

SWAT的指标体系中包含三个指标:

  1. 时间负荷(Time Load,记为T),反映工作过程中产生的焦虑、不称心等心理变化的程度。
  2. 努力负荷(Effort Load,记为E),反映工作过程中可用空闲时间的多少。
  3. 心理紧张负荷(Psychological Stress Load,记为S),反映工作过程中需要付出多大努力来完成此作业任务。

调查对象先对这3个条目的重要性进行排序。根据排序的不同结果,将调查对象分到不同的组别。如某一调查对象认为时间最重要,努力其次,心理紧张最后,则相应的组别为TES(即Time Load > Effort Load > Psychological Stress Load);若努力最重要,时间第二,则相应的组别为ETS。

接下来,调查者需要根据自己的实际情况选择每一指标的相应等级,每个指标均分为轻、中、重3个等级,分别用1,2, 3表示,量表对三个指标的各等级都有详细的文字说明:

  • 时间负荷
    • 1:经常存在多余时间且受到外界干扰较少;
    • 2:偶尔存在多余时间,有时会受到外界干扰;
    • 3:经常感觉时间不够用且经常受到外界干扰;
  • 努力负荷
    • 1:只需要付出很少的努力,就能完成指定任务;
    • 2:需要付出一定努力,才能完成指定任务;
    • 3:必须付出很大的努力,才能将任务勉强完成;
  • 心理紧张负荷
    • 1:心情较为压抑,有些焦虑,不开心,但是依然愿意完成作业任务;
    • 2:情绪开始波动、烦躁起来,对于工作要求没有那么严格,需要采取相应辅导才能完成任务;
    • 3:情绪激动,产生恐惧感,迫切希望停止工作;

评价时,研究者先根据排序情况将调查对象归入表1中的6个组别,然后根据每个条目相应的等级从表1中查出分值,再换算为0~100分,分值越大,负荷越重。

  R 人力资源 阅读全文→

将Rmd转换成PDF

日期:13 May 2015

对于用惯了Word的来说,Latex大概是一个噩梦,好在能用惯Word的人并不多。各位观众应该都或多或少的见过各种Word排版技巧充斥在朋友圈,人人网,QQ空间等。跟Latex的命令一样,让人看了就头疼。

如果你会用Knitr,那就一定也会用Markdown(二者都不会的看官请移步这里)。Markdown是HTML的简化,语法简洁,十分钟就能学完。只是Knitr初出之时,Markdown也就只能转成HTML而已。如今Knitr已3岁有余,从Markdown到PDF的转化也很成熟了。话不多说,让我们直奔主题。

预先安装

  • 最新版本的Rstudio(已经内置的Pandoc工具,没听说过这个工具也没关系,装上最新版的Rstudio就是了)。
  • R包:knitrrmarkdown,均可从CRAN上直接下载。
  • Tex环境。Windows用户安装CTEX,Linux用户安装Texlive,Mac用户安装MacTex。似乎各种版本都有精简版和完整版,建议安装完整版。
  R RStudio 阅读全文→

考研英语最可能考哪些词

日期:25 Apr 2015

按照大纲要求,考研英语需要识忆6000+个词汇,其中包含一批比较生僻的词汇。但大纲要求的单词不可能全部出现在试卷中,甚至有的可能根本就没出现过吧?如果真是这样,计算出频率较高的词汇,基础较差的孩子只需把握重点,有的放矢,应该能省不少功夫。其实算出来发现不用背6000+的,需要学的连2000都不到!

介绍下步骤,先清洗掉一些你从来都不会去读的东西,比如标题,以及一些标点符号和数字等;然后删去没必要再学的单词,比如’a’,’the’;接下来还得去除词性变化,比如把’congrates’还原到’congrate’;最后再计算词频。简而言之就是大致经过四个阶段:数据清洗 –> 去除停止词 –> 词干化 –> 计算词频。

(一) 数据清洗

考研英语共分四部分:“section I Use of English”、“section II Reading Comprehension”、“section III Translation”和“section IV Writing”,这些标题以及其他语句如:“Read the following text. Choose the best word(s) for each numbered blank and mark A, B, C or D on ANSWER SHEET 1. (10 points)”在每年的试卷中都会出现,因此在统计词频之前应去除这些语句的干扰。

此外文档中还存在除单词以外的其他干扰:

  • 每部分的标题号:Part A, B, C, D;
  • 阅读的题号:Text 1, 2, 3, 4;
  • 数字包括题号等;
  • 选项的标号:[A]到[G];
  • 作文部分

选取2003—2013年的真题进行计算,对数据手工去除作文部分后,运用正则表达式将文档中的其他干扰去除。正则表达式是一种操作字符串的逻辑公式,可以通过它匹配到符合某个语法规则的字符,从而获取我们想要的特定部分。

  R 文本分析 阅读全文→

Kindle榜小爬虫

日期:31 Mar 2015

好久没更新博客了,今天更新一下前段时间做的一个小爬虫:获取Kindle的图书排行榜.

话说单反穷三代,kindle富一生,这样目测我依旧前途未卜啊。本程序抓取在linux和Mac上是没什么问题的,不过windows会遇到编码问题,暂时没有心情来处理这个bug,就是这么任性~

目标在这里:

  R 爬虫 阅读全文→

微软宣布收购Revolution Analytics

日期:05 Feb 2015

美国时间2015年1月23日,微软官方博客正式宣布,微软已经与商业R语言开发商Revolution Analytics达成了收购协议。同日,Revolution Analytics的官方博客也宣布该公司正式加入微软。这次收购将会增强微软在大数据分析及预测领域中的竞争力,紧密地契合了微软在Azure上的发展战略。

在官方博文中,对于这一家公众并不熟悉却在R语言社区中有卓越成就的公司,微软首先向公众介绍了该公司并直接表达了收购的意图:

  R 微软 阅读全文→

微软为什么收购Revolution Analytics(1):其产品DeployR可将R集成到应用程序

日期:27 Jan 2015

2015年1月23日,微软在其公司博客上发布文章称已经与R语言的服务商Revolution Analytics达成收购协议,促使微软收购Revolution Analytics 的原因在于,企业需要处理的数据量不断增长,以及需要更多软件对这些数据进行分析、处理。Revolution Analytics 的主打产品Revolution R Enterprise(简称RRE)是统计分析类编程语言——R语言的增强版。

SupStat是Revolution Analytics在中国的重要合作伙伴,我们将在公司博客陆续发布几篇文章,回答大家的一个疑问:微软为什么要收购Revolution Analytics?或者换一个问法:RRE有什么强大之处?

首先要向大家介绍的是RRE的一个重要组件——DeployR。

DeployR可以将R的函数的结果:数据、图表或者单纯的一次计算,嵌入到应用程序中,它是一个开源的服务端框架,它能使得你很容易的在服务端实时调用R代码。虽然R是免费开源的,但是RRE是商业软件,需要付费,可Revolution Analytics毕竟还是来自开源社区的公司,他们向学术机构和非盈利机构提供免费或打折的软件,你也可以使用DeployR的开源版——DeployR Open

  R RRE 阅读全文→

学术机构和非盈利组织可以申请免费或打折的Revolution R Enterprise

日期:09 Jan 2015

Revolution R Enterprise 是基于R语言的大数据分析平台,可以突破R的内存瓶颈,并且支持多核、多进程,并且可以和Hadoop、Teradata等数据平台整合。

Revolution R Enterprise拥有各种各样的数据可视化、统计分析、预测性建模以及机器学习的能力。RRE为世界提供最好的服务。得到最具成本效率的分析并能快速地分析大数据,完全与R语言兼容,这些都是现代分析人员实际所需标准。

Revolution R Enterprise

以下是Revolution R Enterprise包含的模块:

  • RevoR: 拥有高性能数学计算库支持的核稳定版开源R软件及其必要软件包
  • DistributedR: "大数据大分析"的并行计算框架
  • ScaleR: 高性能、可扩展、并行化、分布式"大数据大分析"包
  • ConnectR: "大数据大分析"的数据接口
  • DevelopR: 基于Windows系统的R集成开发环境
  • DeployR: 一个Web服务软件开发工具包,用来整合R与第三方产品(包括商业智能,数据可视化,规则引擎等)

关于Revolution R Enterprise的详细介绍可以查看这里

Revolution Analytics十分愿意让学生、教育者和致力于公共事业的组织能够用到那些在商业世界里成功被应用的大数据分析功能。以此为目的,我们建立了三个互补的项目:

  R 阅读全文→

R在银行财务数据分析中的应用

日期:07 Jan 2015

研究方法

搜集银行业上市公司的财务数据分析股票价格的财务影响因素,观测流动比率、净资产负债比率、资产固定资产比率、每股收益、净利润、增长率、股价和公布时间等数据。首先描述性分析对银行业上市公司的财务数据进行基础性描述,以便对整个行业形成直观的印象,然后利用因子分析提取对银行业上市公司股价影响较为明显的因素,分析银行业上市公司股价的决定因素,最后利用回归分析方法确定这些因素对股票价格的影响方向和强弱。

统计方法

  • 描述性分析
  • 因子分析
  • 回归分析

具体分析

本案例为了研究的准确性和普遍性,一共搜集了23家上市的金融银行类股票一定是可的股票价格。同时为了准确反映上市公司财务报表呈现的财务信息与股票价格的关系,我们搜集了流动比率、净资产负债比率、资产固定资产比率、每股收益、净利润、增长率等财务指标。可以点击这里下载数据。

dataf <- read.csv("bank.csv") # 导入数据
dataf
  R 银行业 阅读全文→

台北公共自行车预测

日期:07 Jan 2015

这篇文章是2014年10月21日~29日在台北参加“国际Open Data应用实务班”的学员的报告。

####项目####

演示程序运行在https://yaoch29.shinyapps.io/taipei-city-bike-prediction。源代码在https://github.com/hsu-yc/taipei-city-bike-prediction,文章中的文件路径都是相对于项目的根目录。

####目标####

项目的目标是提供一个台北市公共自行车站的概览[图1],用来预测给定自行车站任意时间的自行车可用量,并对一段时期内可用量的趋势做可视化的呈现[图2]。

图1

图2

  R 开放数据 阅读全文→

使用rxImport()函数导入服务器日志文件

日期:06 Jan 2015

Revolution R Enterprise是款基于R语言的大数据分析工具,它包含的rxImport()函数可以读取带分隔符的文本数据、固定格式的文本文件、SAS数据、SPSS数据、数据库里的数据等。rxImport()函数也可以处理半结构化数据,比如服务器日志文件。下面是一个日志文件的前三行:

190.12.51.140 - - [24/Feb/2013:01:44:32 -0600] "GET /bin/macosx/leopard/contrib/2.12/FGN_1.5.tgz HTTP/1.0" 200 510166 "-" "R (2.12.2 x86_64-apple-darwin9.8.0 x86_64 darwin9.8.0)"
190.12.51.140 - - [24/Feb/2013:01:44:39 -0600] "GET /bin/macosx/leopard/contrib/2.12/fgui_1.0-2.tgz HTTP/1.0" 200 404275 "-" "R (2.12.2 x86_64-apple-darwin9.8.0 x86_64 darwin9.8.0)"
190.12.51.140 - - [24/Feb/2013:01:44:45 -0600] "GET /bin/macosx/leopard/contrib/2.12/fields_6.6.tgz HTTP/1.0" 200 2852202 "-" "R (2.12.2 x86_64-apple-darwin9.8.0 x86_64 darwin9.8.0)"

可以看出它不全是用空格分隔的,不过空格也有一定的用处。下面用rxImport()来读取日志文件的前五行,每次一行:

  R RRE 阅读全文→