• 回答数

    2

  • 浏览数

    125

小女孩不懂事
首页 > 期刊论文 > r语言数据分析论文

2个回答 默认排序
  • 默认排序
  • 按时间排序

睿智杭州

已采纳

R语言基本数据分析本文基于R语言进行基本数据统计分析,包括基本作图,线性拟合,逻辑回归,bootstrap采样和Anova方差分析的实现及应用。不多说,直接上代码,代码中有注释。1. 基本作图(盒图,qq图) #basic plot boxplot(x) qqplot(x,y)2. 线性拟合 #linear regression n = 10 x1 = rnorm(n)#variable 1 x2 = rnorm(n)#variable 2 y = rnorm(n)*3 mod = lm(y~x1+x2) (mod) #erect the matrix of mod plot(mod) #plot residual and fitted of the solution, Q-Q plot and cook distance summary(mod) #get the statistic information of the model hatvalues(mod) #very important, for abnormal sample detection3. 逻辑回归 #logistic regression x <- c(0, 1, 2, 3, 4, 5) y <- c(0, 9, 21, 47, 60, 63) # the number of successes n <- 70 #the number of trails z <- n - y #the number of failures b <- cbind(y, z) # column bind fitx <- glm(b~x,family = binomial) # a particular type of generalized linear model print(fitx) plot(x,y,xlim=c(0,5),ylim=c(0,65)) #plot the points (x,y) beta0 <- fitx$coef[1] beta1 <- fitx$coef[2] fn <- function(x) n*exp(beta0+beta1*x)/(1+exp(beta0+beta1*x)) par(new=T) curve(fn,0,5,ylim=c(0,60)) # plot the logistic regression curve3. Bootstrap采样 # bootstrap # Application: 随机采样,获取最大eigenvalue占所有eigenvalue和之比,并画图显示distribution dat = matrix(rnorm(100*5),100,5) = 200 #sample 200 times # theta = matrix(rep(0,*5),) theta =rep(0,*5); for (i in 1:) { j = sample(1:100,100,replace = TRUE)#get 100 samples each time datrnd = dat[j,]; #select one row each time lambda = princomp(datrnd)$sdev^2; #get eigenvalues # theta[i,] = lambda; theta[i] = lambda[1]/sum(lambda); #plot the ratio of the biggest eigenvalue } # hist(theta[1,]) #plot the histogram of the first(biggest) eigenvalue hist(theta); #plot the percentage distribution of the biggest eigenvalue sd(theta)#standard deviation of theta #上面注释掉的语句,可以全部去掉注释并将其下一条语句注释掉,完成画最大eigenvalue分布的功能4. ANOVA方差分析 #Application:判断一个自变量是否有影响 (假设我们喂3种维他命给3头猪,想看喂维他命有没有用) # y = rnorm(9); #weight gain by pig(Yij, i is the treatment, j is the pig_id), 一般由用户自行输入 #y = matrix(c(1,10,1,2,10,2,1,9,1),9,1) Treatment <- factor(c(1,2,3,1,2,3,1,2,3)) #each {1,2,3} is a group mod = lm(y~Treatment) #linear regression print(anova(mod)) #解释:Df(degree of freedom) #Sum Sq: deviance (within groups, and residuals) 总偏差和 # Mean Sq: variance (within groups, and residuals) 平均方差和 # compare the contribution given by Treatment and Residual #F value: Mean Sq(Treatment)/Mean Sq(Residuals) #Pr(>F): p-value. 根据p-value决定是否接受Hypothesis H0:多个样本总体均数相等(检验水准为) qqnorm(mod$residual) #plot the residual approximated by mod #如果qqnorm of residual像一条直线,说明residual符合正态分布,也就是说Treatment带来的contribution很小,也就是说Treatment无法带来收益(多喂维他命少喂维他命没区别)如下面两图分别是 (左)用 y = matrix(c(1,10,1,2,10,2,1,9,1),9,1)和(右)y = rnorm(9);的结果。可见如果给定猪吃维他命2后体重特别突出的数据结果后,qq图种residual不在是一条直线,换句话说residual不再符合正态分布,., 维他命对猪的体重有影响。

248 评论

啦啦啦啦7

本文分析利用IBM离职员工数据进行分析。在对离职率的影响因素进行观察的基础至上,建立模型并预测哪些员工更易离职。

一般而言,数据分析分为三个步骤:数据收集与清洗、探索性分析和建模预测。本文的数据集是IBM用于研究员工预测的 模拟数据 ,数据十分完整,无需清洗。因此,本文主要分为三个部分:

通过对IBM离职员工数据实践,本文希望发掘出影响员工流失的因素,并对利用R语言进行数据分析过程进行复习,深化对数据分析工作意义的理解。

IBM离职员工数据集共有35个变量,1470个观测个案。部分需要重点关注的变量如下:

上述变量可以分为三个部分:

载入分析包和数据集

通过描述性统计可以初步观测到:

分析结果:

基于对数据的探索性分析,员工离职有多方面因素的影响,主要有:

1.工作与生活的不平衡——加班、离家远和出差等; 2.工作投入如果不能获得相匹配的回报,员工更倾向离职; 3.优先股认购等福利是员工较为关注的回报形式; 4.年龄、任职过的公司数量的因素也会影响员工离职率;

删除需要的变量:EmployeeCount, EmployeeNumber, Over18, StandardHours 变量重新编码:JobRole, EducationFiled

分析结果表明:

随机森林所得的AUC值为,小于决策树模型。

GBM模型得到的AUC值为

对于对于随机森林和GBM的方法,AUC值小于单一决策树模型的AUC值的情况较少见,这显然说明单一的树拟合得更好或者更稳定的情况。(一般需要得到AUC值大于的模型)

当结果分类变量之间的比列是1:10或者更高的时候,通常需要考虑优化模型。本例中,离职变量的比列是1:5左右,但仍然可能是合理的,因为在决策树中看到的主要问题是预测那些实际离开的人(敏感度)。

加权旨在降低少数群体中的错误,这里是离职群体。

向上采样(up-sampling)指从多数类中随机删除实例。

向下采样(down-sampling)指从少数类中复制实例。

分析结果表明: 加权调整的模型表现最好,相比较于单纯的随机森林和GBM模型,AUC值从上升至,灵敏度也达到了。据此,后续将采用加权调整后的模型进行预测。

已经训练出一个表现较好的模型。将其应用于实践时,需要注意以下几个方面:

可以观察到影响员工流失的前5个因素是:

因此,在实践中就需要注意:

本例中对工作投入高、收入低的员工进行预测。

本例分析仍有需要足够完善的地方,还可以往更多更有意义的地方探索:

237 评论

相关问答

  • 学生毕业论文分析数据分析

    如何利用数据分析工具,对自己的文章进行诊断

    apple樱子 5人参与回答 2023-12-06
  • 大数据分析的论文

    《大数据技术对财务管理的影响》 摘 要:大数据可以快速帮助财务部门建立财务分析工具,而不是单纯做账。大数据应该不仅仅局限于本单位的微观数据,更为重要的关注其他单

    李大胆yao一起吧 3人参与回答 2023-12-05
  • r语言论文代码查重

    有较多的软件可以查文章重复率,例如:panerpass软件。它可以查论文重复率,很快就可以给查重报告,并提醒文字中的某一句的重复率,可以按照其修改,达到要求。

    whiskey456 5人参与回答 2023-12-08
  • r语言数据挖掘论文

    刚接触R语言一周,和matab不同R作用于数据挖掘的库很多,详解见 R语言数据挖掘包 ,下面简介文本分析经常使用到的三个包 tm 为文本挖掘提供

    Johnhockson 3人参与回答 2023-12-08
  • 英语分析数据小论文题目

    [1]潘巍巍.英语在亚洲的传播研究[D].北京外国语大学,2016. [2]曾建松.关联理论本土化研究[D].黑龙江大学,2016.‍ [3]李金梅.《水浒传》

    Loli心的怪蜀黎 3人参与回答 2023-12-12