版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据探索数据描述数据清洗数据集成数据规范数据重构目录数据清洗数据集成数据规范数据重构数据描述数据描述
数据的种类平均值和中位数 数据的离散程度 数据的分布特征 数据的相似性 目录数据是数据对象及其属性的集合。一个数据对象是对一个事物或者物理对象的描述。在数据集中,通常把数据对象称为样本,数据对象的属性称为变量。数据种类描述数据集中位置的统计量主要有:平均值mean():所有样本之和再除以样本数。中位数median():一组数据按顺序依次排列后处在中间位置的数。平均值和中位数描述数据离散程度的统计量:平均值、中位数、方差、标准差、绝对偏差、变异系数、四分位数、极差…数据的离散程度 正态分布偏度和峰度是描述数据分布特征的统计量。数据的分布特征偏度(Skewness)峰度(Kurtosis)install.packages(“tidyr”)library(“tidyr”)install.packages(“ggplot2”)library(“ggplot2”)相似性度量是综合评定两个事物之间相近程度的度量,主要有:相关系数(变量之间的接近程度)和相似系数(样本之间的接近程度)。相关系数:Pearson相关系数、Spearman秩相关系数,等。使用cor()函数计算相关系数数据的相似性:相关系数相似系数:计算样本间的“距离”,主要有欧氏距离、曼哈顿距离、最大距离等方法。使用dist()函数计算相似系数。数据的相似性:相似系数(共有150个样本,产生150*150矩阵,后面数据显示略去)数据描述数据的种类平均值和中位数:mean,median数据的离散程度:var,sd,mad,quantile,range数据的分布特征:skewness,kurtosis数据的相似性:cor,dist小结数据清洗
数据探索的主要任务:数据描述数据清洗数据集成数据规范数据重构目录数据清洗数据集成数据规范数据重构数据描述第七章数据变换数据清洗:处理缺失值、重复值、异常值NA(NotAvailable,缺失值):该数据遗失或不存在NaN(NotaNumber,非数值):不可能出现的值(被0除的结果)NULL:表示未知的状态数据清洗NA的函数缺失值判别函数名含义返回值summary()显示数据的总体概况
is.na()检测缺失值是否存在TRUE或FALSEcomplete.cases()检测行是否完整
TRUE或FALSEna.omit()移除所有含缺失数据的行
aggr()在vim包中,缺失值的可视化描述
第七章数据变换缺失值处理:删除记录、数据插补和不处理方法1:当缺失数据较少时,直接删除相应样本方法2:对缺失数据进行插补方法3:使用对缺失数据不敏感的分析方法缺失值处理常用的数据插补方法缺失值处理--插值法常用插补方法描述固定值插补固定值均值插补法均值/中位数/众数,近邻平均数多重插补法回归模拟预测等模型方法缺失值处理包:mice包(MultivariateImputationbyChainedEquations)处理步骤:
载入数据集
产生多个插补数据(mice函数)
数学建模测试(with函数)
模型结果整合(pool函数)
评价模型优劣(summary函数)
选择最优插补数据(complete函数)缺失值处理—多重插补法例#mice进行插补法处理缺失值inputfile<-read.table(“inputfile.csv”,header=TRUE,sep=‘,’)#缺失数据集md.pattern(inputfile)#数据缺失情况可视化library(mice)imp=mice(inputfile,m=4)#返回包含多个完成插补的完整数据集imp$imp$sales#查看具体插值的数fit=with(imp,lm(sales~date,data=inputfile))#对每个完整数据集应用统计模型pooled=pool(fit)#将这些单独的分析结果整合为一组结果summary(pooled)#查看结果result4=complete(imp,action=3)#选择第三个插补数据集作为结果md.pattern(result4)#查看插补后缺失值的统计可视化imp对象包含:插补方法(PMM:预测均值匹配)
预测变量矩阵其他插补方法,
贝叶斯线性回归(norm)基于bootstrap的线性回归(norm.boot)线性回归预测值(norm.predict)分类回归树(cart)随机森林(rf),等with:插补模型可以多样化,lm,glm等都可应用。pool:整合结果。summary:显示模型系数,查看是否该模型有效。complete:显示完整插补数据集。异常值(离群点):数据中的随机错误或偏差在数据处理中,异常值会影响回归或分类的效果。但在某些情况下,如残次品检测、电脑入侵检测等,异常值检测是研究的主要目的异常值处理数据重复检测函数:unique()、duplicated()unique()函数
:用于向量,去掉重复值。duplicated()函数
:用于向量或数据框,返回TRUE和FALSE,标注该索引所对应的值是否是重复值。重复值处理第七章数据变换数据清洗处理缺失值:判别:summary,is.na,complete.cases,aggr处理:na.omit,mice包,等处理异常值:参考缺失值处理方法处理重复值:duplicated,unique小结数据清洗数据集成数据规范数据重构数据描述数据集成
数据集成数据集的合并 数据子集的获取 数据的分组汇总 数据的频度计算 使用SQL语句 目录数据清洗数据集成数据规范数据重构数据描述数据集成:将多个数据源合并存放在一个一致的数据存储中的过程。数据集的合并:
merge()函数:将多个数据框以关键字为依据进行合并cbind()函数:横向合并,即是向数据框添加列,不需要关键字rbind()函数:综向合并,即是向数据框添加行数据集的合并>Totalframe1<-merge(dataframe1,dataframe2,by="ID")>Totalframe2<-cbind(dataframe1,dataframe2)>Totalframe3<-rbind(dataframe1,dataframe2)通过获取数据子集,可使数据更清晰、更易于进行后续处理。数据子集获取数据结构的索引方法(参考第二章)[row,col]的方式选择行和列通过“==”、“!”、“TRUE”“FALSE”等组成的逻辑表达式subset()函数:获取数据子集的通用函数transform()和within()函数:主要对列变量进行操作数据子集的获取subset()函数:获取数据子集的通用函数。数据子集的获取>subset(mtcars,cyl==4&gear==3)mpgcyldisphpdratwtqsecvsamgearcarbToyotaCorona21.54120.1973.72.46520.011031>subset(mtcars,cyl==4&gear==3,select=c(1:8))mpgcyldisphpdratwtqsecvsToyotaCorona21.54120.1973.72.46520.011>head(airquality,2)OzoneSolar.RWindTempMonthDay1411907.467512361188.07252>newaq1<-transform(airquality,logozone=log(Ozone))>head(newaq1,2)OzoneSolar.RWindTempMonthDaylogozone1411907.467513.7135722361188.072523.583519>newaq2<-transform(airquality,logozone=log(Ozone),Ozone=NULL,WindWind=Wind*Wind,Wind=NULL)>head(newaq2,2)Solar.RTempMonthDaylogozoneWindWind119067513.71357254.76211872523.58351964.00transform()
:对列变量进行增加、删除、修改等操作数据的分组汇总是数据探索的重要应用。apply函数族:通过向量化操作快速对数据进行计算。aggregate()函数:专门用于分组汇总的功能强大的函数。先按变量对行分组,再进行计算,最后组合展示。可以单个变量分组,也可以是多个变量的组合,通过by参数设置。数据的分组汇总aggregate()函数:专门用于分组汇总的功能强大的函数。数据的分组汇总>#按照cyl和gear两个变量进行分组计算均值,结果显示所有行的第1-6列>aggregate(mtcars,by=list(cyl,gear),FUN=mean)[,1:6]Group.1Group.2mpgcyldisphp14321.5004120.100097.000026319.7506241.5000107.500038315.0508357.6167194.166744426.9254102.625076.000056419.7506163.8000116.500064528.2004107.7000102.000076519.7006145.0000175.000088515.4008326.0000299.5000table()函数:统计数据出现的频率的重要函数。频度表数据的频度计算>nrow(mtcars)#查看mtcars的行数[1]32>table(cyl)#统计以cyl分组的频数cyl46811714>table(gear,cyl)#统计以gear和cyl分组的频数cylgear4683121248405212SQL功能灵活强大,可以实现数据的增删改查、运算控制等多种操作。sqldf包是R的扩展包,按照SQL的方式来查询数据框的内容。使用SQL语句>library(sqldf)>#计算每个人的总成绩并排名(要求显示字段:姓名,总成绩)>sqldf("selectname,sum(score)asallscorefromstuscoregroupbynameorderbyallscore")
nameallscore1张三2392李四240
数据集成数据集的合并:merge,cbind,rbind
数据子集的获取:subset,transform,within
数据的分组汇总:aggregate
数据的频度计算:table使用SQL语句:sqldf包
小结数据清洗数据集成数据规范数据重构数据描述数据规范
数据规范:将数据转换成适当的形式目的:消除量纲和取值范围差异的影响、提高结果的可靠性量纲:数据的单位无量纲化:去除数据的单位限制,将其转化为无量纲的纯数值中心化:将数据减去均值标准化:将数据按照比例缩放,使之落入一个特定的区间归一化:数据标准化的方式之一,把数据变为[0,1]或[-1,1]之间数据规范数据规范化方法零-均值规范化:也称标准差标准化,经过处理的数据的平均数为0最小-最大规范化:也称离差标准化,是对原始数据的线性变换,使结果值映射到[0,1]之间小数定标规范化:通过移动属性值的小数位数,将属性值映射到[-1,1]之间标准差均值options()函数:小数定标规范scale()函数:实现零-均值规范化示例scale()函数参数center:中心化scale:标准化options()函数t()函数:转置函数示例原始数据:(1,2,3,4,5,6,7)均值:4中心化:(-3,-2,-1,0,1,2,3)
标准差:sqrt((9+4+1+0+1+4+9)/6)=2.16标准化:(-1.39,-0.926,-0.463,0,0.463,0.926,1.39)数据规范中心化标准化归一化函数:options,scale小结数据清洗数据集成数据规范数据重构数据描述数据重构
数据重构:通过将行移动到列、或将列移动到行,便于数据的计算。使用reshape2包进行数据重构。melt():分解,使每个数据成为唯一的样本-变量组合。dcast():重构,对melt后的数据进行重新构造。数据重构原始数据melt拆分数据dcast重构数据dcast重构数据dcast重构数据dcast重构数据dcast重构数据dcast重构数据>library(reshape2)>datax<-array(1:8,dim=c(2,2,2))>melt(datax)>datay<-array(letters[1:8],dim=c(2,2,2))>melt(datay)meltmelt():分解使每个数据成为唯一的样本-变量组合。使用mtcars数据集的melt应用例使用airquality数据集的melt应用例使用airquality数据集的melt应用例
dcast()重构,对melt后的数据进行重新构造。melt数据dcast重构数据dcast重构数据(后略)(后略)数据重构:通过将行移动到列、或将列移动到行,便于数据的计算使用reshape2包melt:分解dcast:重构小结数据清洗数据集成数据规范数据重构数据描述综合实验理解数据描述、数据清洗、数据集成、
数据规范、数据重构的概念。掌握本章函数的用法。熟悉本章示例代码,掌握实际应用方法。能够通过help方法学习函数中参数的用法。实验目标第5章讲义中的案例第5章综合实验第5章使用的函数第5章思考与练习实验内容及资料目标:学习数据描述方法;熟练掌握R语言常用函数内容:实验1:mtcars数据集的初步探索实验1-1:描述mtcars数据集主要列变量的数据离散情况;实验1-2:描述mtcars数据集主要列变量的数据分布情况;实验1-3:探索mtcars数据集主要列变量相关性和样本间的相似性。Mtcars数据集主要变量:mpg(耗油量)wt(重量)hp(总功率)实验1:mtcars数据集的初步探索apply(mtcars,2,mean)#平均值apply(mtcars,2,median)#中位数apply(mtcars,2,quantile)#四分位数apply(mtcars,2,range)#极差summary(mtcars)apply(mtcars,2,var)#方差apply(mtcars,2,sd)#标准差(均方差)apply(mtcars,2,mad)#中位数绝对偏差#变异系数,公式计算apply(mtcars,2,sd)/apply(mtcars,2,mean)apply(mtcars[,c(1,6,4)],2,mean)#多个变量的平均值mean(mtcars$mpg)#一个变量的平均值table(mtcars$mpg)#基于频数表看众数数据离散情况实验1:mtcars数据集的初步探索library(moments)#偏度:表示分布的不对称程度或偏斜程度apply(mtcars,2,skewness)#峰度:表示峰部的尖度,以正态分布的峰度3位基准apply(mtcars,2,kurtosis)数据分布情况library(tidyr)gather()library(ggplot2)ggplot()实验1:mtcars数据集的初步探索#使用cor()函数计算相关系数#相关系数小于0,说明为变量间负相关,越接近于-1负相关性越强;大于0说明为变量间正相关,越接近于1,正相关性越强cor(mtcars)变量的相关#使用dist()函数计算距离,表示样本的相似度#当距离为0时表示其本身,距离越小,表示样本越相似dist(mtcars,method=“euclidean”,upper=T,diag=T)#欧式距离样本的相似目标:理解数据清洗中处理缺失值的多种方法;熟练掌握R语言函数内容:实验2:处理数据集中的缺失值 实验2-1:使用myair.csv数据集,对缺失值进行判别分析,绘制数据缺失值分布图;实验2-2:使用多种缺失值插补方法(删除、平均值、众数、等),对缺失值进行简单处理;实验2-3:尝试考虑数据之间关系,使用较为复杂的方法(K近邻、随机森林、多重插补、等)对缺失值进行插补。实验2:处理数据集中的缺失值 read.table("XXX.csv",header=F,sep=",")#读取csv文件library(VIM)#加载VIM包aggr(myair)#查看数据缺失图summary(myair)#查看数据特征na.omit(myair)#删掉缺失值所在的行dim(myair)
#查看数据维度初步分析缺失值实验2:处理数据集中的缺失值 myair<-read.table("myair.csv",header=T,sep=",")medvalue<-median(myair$Ozone,na.rm=T)for(iin1:nrow(myair)){myair[i,is.na(myair[i,c("Ozone")])]<-medvalue}缺失值的插补myair$Ozone[which(is.na(myair$Ozone))]
<-medvalue两种方法中位数插补实验2:处理数据集中的缺失值 myair1<-missForest(myair,ntree=50)myair2<-knnImputation(myair,k=5,scale=T,meth=“weighAvg”)myair3<-mice(myair,m=5,method=c(“norm.pred“,“pmm“,“rf“,“norm“))#使用随机森林进行缺失值插补missForest包#使用K近邻进行缺失值插补DMwR2包#使用多重插补进行缺失值插补mice包缺失值的插补-复杂的方法(拓展)目标:了解数据中心化、标准化、归一化、规范化的概念和方法;熟练掌握R语言数据处理相关函数内容:实验3:mtcars数据集的标准化 实验3-1:使用mtcars数据集,完成一些变量的数据中心化、标准化操作;实验3-2:使用mtcars数据集,完成一些变量的数据归一化[0,1]操作;实验3-3:使用plot或ggplot,绘制某变量中心化、标准化、归一化后的图形。实验3:mtcars数据集的标准化 中心化:将数据减去均值标准化:中心化后的数据除以数据的标准差scale(mtcars$mpg,center=T,scale=T)归一化:把数据区间变为[0,1]或[-1,1]之间mtcars$mpg-min(mtcars$mpg))/(max(mtcars$mpg)-min(mtcars$mpg)plot()绘制散点图,x坐标为不同车型,y为去量纲后的数据目标:了解数据重构的概念和方法;掌握reshape2包中函数用法内容:实验4:数据重构实验4-1:熟悉airquality数据集,对数据集进行melt操作并观察数据变化;实验4-2:设计并画出数据重构总体设计图,使用dcast()函数进行多种数据重构,显示前10行数据重构结果。实验4:数据重构melt(airquality)melt(airquality,id.vars=c("month","day"))#将月日作为id变量melt(airquality,measure.vars=c("Solar.R","Wind","Temp"),="V.type",="value")dcast(aq,Ozone+Month+Day~V.type)#对每月数据进行分组计算平均值dcast(aq,Month~V.type,fun.aggregate=mean,na.rm=TRUE)思考与讨论数据分析随机数模拟假设检验方差分析线性回归广义线性回归综合实验目录随机数模拟随机数模拟生成随机数 特定分布的随机数随机抽样目录随机数是在一定范围内随机产生的数,并且得到这个范围内的每一个数的机会一样。它可以被用来安排和模拟一些实验,也可以代替做一些大量重复的实验。runif()函数:生成均匀分布默认为0和1之间的值round()函数:按照四舍五入取整ceiling()和floor()函数:向上或者向下取整生成随机数>runif(5)[1]0.080098530.752247700.340951990.010634130.98427423>round(runif(5))[1]10010>round(runif(5,0,2))[1]02110>ceiling(runif(5,-2,1))[1]111-11>floor(runif(5,-1,2))[1]1-1-11-1函数组合使用,可以灵活生成随机数。经常使用的分布有正态分布、F分布、均匀分布、泊松分布等。统计概率函数特定分布的随机数分布概率密度函数累计分布函数分位数函数随机数函数正态分布dnorm()pnorm()qnorm()rnorm()泊松分布dpois()ppois()qpois()rpois()二项分布dbinom()pbinom()qbinom()rbinom()d:概率密度函数(density)p:分布函数(distributionfunction)q:分位数函数(quantilefunction)
r:随机数生成函数特定分布的随机数>#实验:随机生成正态分布数据并求其密度和累积分布>data<-rnorm(20)#生成20个正态分布的随机数>data#输出data[1]0.911444095-1.5166547410.3819337331.3226692330.874481314[6]-0.1464821730.847957627-0.9730623510.0702208140.029339198[11]-0.0666645031.525276527-0.774989642-0.4908499080.528699849[16]-0.0777487300.588223015-0.8384714600.0088585761.628828244>dnorm(data)#计算data中各个值对应的标准正态分布的密度[1]0.26334150.12630450.37088060.16634930.27217850.39468510.2784673[8]0.24848730.39795990.39877060.39805680.12465910.29545370.3536649[15]0.34690640.39773830.33556430.28070370.39892660.1058768>pnorm(data)#计算data中各个值对应的标准正态分布的累积分布[1]0.818969290.064676940.648744740.907027300.809071900.44177038[7]0.801769220.165261160.527991050.511702970.473424400.93640493[13]0.219172890.311766300.701493160.469013970.721808690.20088299[19]0.503534010.94832531d:概率密度函数(density)p:分布函数(distributionfunction)q:分位数函数(quantilefunction)
r:随机数生成函数从数据集中随机抽样:重复随机抽样和不重复随机抽样。sample()函数:随机抽样set.seed()函数:设定随机数种子,用于随机结果的可重复性随机抽样>#从1-5中随机抽取5次,不重复抽样>sample(1:5,5)[1]41235>#从1-5中随机抽取5次,可重复抽样>sample(1:5,5,replace=TRUE)[1]41541>set.seed(100)#设定种子,其中的数字为任意数>sample(1:52,5)#从52张扑克牌中随机抽取5张[1]1038482514>sample(1:52,5)[1]44232264>set.seed(100)>sample(1:52,5)[1]1038482514随机数模拟生成随机数runif,round,ceiling,floor
特定分布的随机数rnorm,dnorm,pnorm,qnorm随机抽样sample,set.seed小结假设检验假设检验
假设检验的方法均值检验相关性检验目录常用统计方法描述统计:应用在所有数据集合,包括样本和总体。推断统计:从样本出发推断总体性质。总体分布为已知,根据样本数据对总体的参数(均值、方差等)进行推断
假设检验的方法。总体分布未知,根据样本数据对总体分布或特征进行推断
非参数检验。显著性检验分布检验、均值检验、方差齐性检验、相关性检验等。Z检验、t检验、卡方检验、F检验等。假设检验的方法假设检验的主要步骤:提出假设:根据研究目的提出相应的原假设和备择假设,选择检验方式。选择检验统计量:根据原假设提供的前提条件,选择合适的检验统计量。计算概率值:根据统计量分布,计算样本观测值对应的统计量观测值发生的概率值,又称为p值或观测到的显著性水平。比较判断:若p值小于显著性水平即小概率事件(p<0.01或p<0.05),则拒绝原假设,即总体均值与检验值之间有显著性差异;反之,则不能拒绝原假设,即总体均值与检验值之间无显著性差异。假设检验的方法均值检验,是用样本的均值来估计总体的均值。t.test()函数均值检验>t1<-rnorm(100,mean=0,sd=4)#生成正态分布随机数,均值为0,标准差为4>t.test(t1,mu=0)#t检验
OneSamplet-test
data:t1t=-0.019173,df=99,p-value=0.9847alternativehypothesis:truemeanisnotequalto095percentconfidenceinterval:-0.67847380.6654876sampleestimates:meanofx-0.006493091均值检验,是用样本的均值来估计总体的均值。均值检验>t2<-rnorm(100,mean=1,sd=4)>t.test(t2,mu=0) OneSamplet-testdata:t2t=2.309,df=99,p-value=0.02302alternativehypothesis:truemeanisnotequalto095percentconfidenceinterval:0.13300951.7579973sampleestimates:meanofx0.9455034>t1<-rnorm(100,mean=0,sd=4)>t.test(t1,mu=0)#t检验
OneSamplet-test
data:t1t=-0.019173,df=99,p-value=0.9847alternativehypothesis:truemeanisnotequalto095percentconfidenceinterval:-0.67847380.6654876sampleestimates:meanofx-0.006493091相关性检验(correlationtest)是对变量之间是否相关以及相关的程度所进行的统计检验。相关系数:cor()函数,相关性检验:cor.test()函数。相关性检验>cor(iris[,c(1:4)])
Sepal.Length
Sepal.Width
Petal.Length
Petal.WidthSepal.Length1.0000000-0.11756980.87175380.8179411Sepal.Width-0.11756981.0000000-0.4284401-0.3661259Petal.Length0.8717538-0.42844011.00000000.9628654
Petal.Width0.8179411-0.36612590.96286541.0000000相关性检验:cor.test()函数相关性检验>cor.test(iris$Sepal.Length,iris$Petal.Length)
Pearson'sproduct-momentcorrelationdata:iris$Sepal.Lengthandiris$Petal.Lengtht=21.646,df=148,p-value<2.2e-16alternativehypothesis:truecorrelationisnotequalto095percentconfidenceinterval:0.82703630.9055080sampleestimates:cor0.8717538>#对照下面代码分析比较结果>cor.test(iris$Sepal.Length,iris$Sepal.Length)假设检验的方法均值检验:
t.test相关性检验:cor,cor.test小结方差分析方差分析 什么是方差分析单因素方差案例1单因素方差案例2目录方差分析(AnalysisofVariance,简称ANOVA)特点:研究一个或多个分类型自变量与一个数值型因变量之间的关系。目的:分析各个因素的影响以及因素间的交互影响。区别:均值检验(t检验)用于检验两个正态分布的总体均值是否相等,方差分析则检验多个总体(多个组)的均值是否存在差异。分类:单因素方差分析、双因素方差分析、协方差分析等。单因素方差分析:只考虑一个因素对结果的影响。函数:oneway.test()、aov()等方差分析方法单因素方差分析例1:显著相关>aggregate(iris[,1:4],by=list(iris$Species),FUN=mean)Group.1Sepal.LengthSepal.WidthPetal.LengthPetal.Width1setosa5.0063.4281.4620.2462versicolor5.9362.7704.2601.3263virginica6.5882.9745.5522.026>oneway.test(Sepal.Length~Species,iris)
One-wayanalysisofmeans(notassumingequalvariances)
data:Sepal.LengthandSpeciesF=138.91,numdf=2.000,denomdf=92.211,p-value<2.2e-16>summary(aov(Sepal.Length~Species,iris))DfSumSqMeanSqFvaluePr(>F)Species263.2131.606119.3<2e-16***Residuals14738.960.265---Signif.codes:0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1分组计算函数aggregate()
3个类别对应的变量均值有差异单因素方差分析函数oneway.test()
设置“Sepal.Length~Species”,查看不同种类对Sepal.Length的影响。p值小于0.05,因此拒绝原假设,得出结论:不同种类的特征变量有显著差异,和aggregate()函数结果相对应。方差分析函数aov()
输出结果需要加上summary()函数。最后一行显示显著性,其中‘***’表示最显著,‘’表示不显著。p值远小于0.05,说明拒绝原假设,即三种类型花的Sepal.Length变量有显著差异。单因素方差分析例1:显著相关单因素方差分析例2:不显著相关>str(sleep)'data.frame': 20obs.of3variables:$extra:num0.7-1.6-0.2-1.2-0.13.43.70.802...$group:Factorw/2levels"1","2":1111111111...$ID:Factorw/10levels"1","2","3","4",..:12345678910...>oneway.test(extra~group,data=sleep) One-wayanalysisofmeans(notassumingequalvariances)
data:extraandgroupF=3.4626,numdf=1.000,denomdf=17.776,p-value=0.07939
>summary(aov(extra~group,sleep))DfSumSqMeanSqFvaluePr(>F)group112.4812.4823.4630.0792.Residuals1864.893.605---Signif.codes:0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1描述函数str()描述sleep中各变量取值,value为数值型变量,group和ID为因子型变量。单因素方差分析函数oneway.test()设置“extra~group”,查看不同分组对extra值的影响。p-value=0.07939,表明接受原假设,得出结论两组没有显著差异。方差分析函数aov()p值的显著性标记为‘.’,不显著,表明两种催眠药对时间的结果不显著。单因素方差分析例2:不显著相关方差分析 什么是方差分析单因素方差案例相关函数:oneway.test,
aov,aggregate,str,summary小结线性回归(LinearRegression)线性回归变量间关系一元线性回归多项式回归多元线性回归目录含义:用观察使得认知接近真值的过程,回归本源。回归是很多算法的基础。回归(Regression)真值测量值回归回归分析可以衡量不同尺度的变量之间的相互影响,有利于排除并估计出一组最佳的变量,用来构建预测模型。如:如价格变动与促销活动数量之间联系。司机的鲁莽驾驶与道路交通事故数量之间的关系。饭店销售额和顾客消费特点的关系。回归方程表明自变量和因变量之间的显著关系。表明多个自变量对一个因变量的影响强度。回归的应用相关概念方差分析:分类型自变量与数值型因变量之间的关系;回归分析:数值型自变量和数值型因变量之间关系。线性(linear):量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数;非线性(non-linear):指不按比例、不成直线的关系,一阶导数不为常数。一元线性回归方程:一个因变量和一个自变量回归的应用
目标y:因变量、响应变量
预测器
x:自变量、预报变量、解释变量一元线性回归:一个因变量和一个自变量多项式回归:只有一个自变量,但同时包含自变量的幂多元线性回归:一个因变量和多个自变量回归方程
最小二乘法(ordinaryleastsquares,OLS)估算最佳拟合线相关分析是对两个变量之间线性关系的描述与度量。变量之间是否存在关系?如果存在关系,它们之间是什么样的关系?变量之间的关系强度如何?样本所反映的变量之间的关系能否代表总体变量之间的关系?两个假定:两个变量之间是线性关系,两个变量是随机变量。方法:散点图(第4章),相关系数(第5章)测量关系强度,显著性检验(第6章)判断样本所反映总体的关系。变量间关系lm()函数lm()函数是拟合线性模型最基本的函数。(analysisofvariance:方差分析)lm()函数formula中的操作符~对拟合线性模型有用的其他函数一元线性回归attach(women)#建立简单线性回归模型fit<-lm(weight~height)plot(height,weight)abline(fit,col="red")detach(women)一元线性回归>str(women)'data.frame': 15obs.of2variables:$height:num58596061626364656667...$weight:num115117120123126129132135139142...>cor(women)heightweightheight1.00000000.9954948weight0.99549481.0000000>fit<-lm(weight~height,data=women)>summary(fit)Call:lm(formula=weight~height,data=women)Residuals:Min1QMedian3QMax-1.7333-1.1333-0.38330.74173.1167
Coefficients:EstimateStd.ErrortvaluePr(>|t|)(Intercept)-87.516675.93694-14.741.71e-09***height3.450000.0911437.851.09e-14***---Signif.codes:0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
Residualstandarderror:1.525on13degreesoffreedomMultipleR-squared:0.991, AdjustedR-squared:0.9903F-statistic:1433on1and13DF,p-value:1.091e-14Weight=-87.52+3.45*Height多项式回归fit2<-lm(weight~height+I(height^2),data=women)plot(women$height,women$weight)lines(women$height,fitted(fit2))
>fit2<-lm(weight~height+I(height^2),data=women)>summary(fit2)Call:lm(formula=weight~height+I(height^2),data=women)
Residuals:Min1QMedian3QMax-0.50941-0.29611-0.009410.286150.59706
Coefficients:EstimateStd.ErrortvaluePr(>|t|)(Intercept)261.8781825.1967710.3932.36e-07***height-7.348320.77769-9.4496.58e-07***I(height^2)0.083060.0059813.8919.32e-09***---Signif.codes:0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
Residualstandarderror:0.3841on12degreesoffreedomMultipleR-squared:0.9995, AdjustedR-squared:0.9994F-statistic:1.139e+04on2and12DF,p-value:<2.2e-16Weight=261.88-7.35*Height+0.08*Height^2一元回归方程在二维空间中是一条直线,在直角坐标中画出来含有两个自变量的回归方程,在三维空间中以一个平面表示。回归方程中的各项参数仍然使用最小二乘法求得,回归方程的拟合优度、显著性检验等概念和一元线性回归类似。多元线性回归
以state.x77数据集为例,它是一个美国50州对应8个统计项目的矩阵,利用它来进行犯罪率(Murder)与其它因素(Population人口,Illiteracy文盲率,Income收入,Frost结霜天数)多元回归分析。多元线性回归>str(state.x77)num[1:50,1:8]36153652212211021198...-attr(*,"dimnames")=Listof2..$:chr[1:50]"Alabama""Alaska""Arizona""Arkansas".....$:chr[1:8]"Population""Income""Illiteracy""LifeExp"...>class(state.x77)[1]"matrix">states<-as.data.frame(state.x77[,c("Murder","Population","Illiteracy","Income","Frost")])>str(states)'data.frame': 50obs.of5variables:$Murder:num15.111.37.810.110.36.83.16.210.713.9...$Population:num36153652212211021198...$Illiteracy:num2.11.51.81.91.10.71.10.91.32...$Income:num36246315453033785114...$Frost:num201521565201661391031160..state.x77数据集>cor(states)MurderPopulationIlliteracyIncomeFrostMurder1.00000000.34364280.7029752-0.2300776-0.5388834Population0.34364281.00000000.10762240.2082276-0.3321525Illiteracy0.70297520.10762241.0000000-0.4370752-0.6719470Income-0.23007760.2082276-0.43707521.00000000.2262822Frost-0.5388834-0.3321525-0.67194700.22628221.0000000>fit3<-lm(Murder~Population+Illiteracy+Income+Frost,data=states)>summary(fit3)
Call:lm(formula=Murder~Population+Illiteracy+Income+Frost,data=states)
Residuals:Min1QMedian3QMax-4.7960-1.6495-0.08111.48157.6210
Coefficients:EstimateStd.ErrortvaluePr(>|t|)(Intercept)1.235e+003.866e+000.3190.7510Population2.237e-049.052e-052.4710.0173*Illiteracy4.143e+008.744e-014.7382.19e-05***Income6.442e-056.837e-040.0940.9253Frost5.813e-041.005e-020.0580.9541---Signif.codes:0‘***’0.001‘**’0.01‘*’0.05‘.’0.1‘’1
Residualstandarderror:2.535on45degreesoffreedomMultipleR-squared:0.567, AdjustedR-squared:0.5285F-statistic:14.73on4and45DF,p-value:9.133e-08小结线性回归变量间关系一元线性回归多项式回归多元线性回归函数lm()的灵活运用广义线性模型(GeneralizeLinearModel)广义线性模型广义线性模型与glm()函数Logistic回归泊松回归目录回顾:线性回归一元线性回归、多项式回归、多元线性回归因变量:定量(quantitative)的连续型数值数据lm()函数,最小二乘法方法广义线性模型
目标y:因变量、响应变量
预测器
x:自变量、预报变量、解释变量广义线性模型正态线性模型的拓展,适用于连续和离散等多种类型数据。离散型分类数据,离散型计数数据。glm()函数,通过极大似然方法估计出系数。因变量的不同,采用不同方法。如果是连续值:多元线性回归如果是二项分布:logistic回归如果是泊松分布:泊松回归广义线性模型glm()函数glm(formula,family=family(link=function),data,…)广义线性模型分布名称参数名称默认的连接函数二项分布binomiallink=”logit”高斯分布gaussianlink=”identity”Gamma分布gammalink=”inverse”逆高斯分布inverse.gaussianlink=”1/mu^2”泊松分布poissonlink=”log”对拟合线性模型有用的其他函数Logistic回归主要研究二元分类因变量与诸多自变量间的相互关系。二元变量的取值为1和0,1表示某件事情的发生,0表示不发生。假设y是1的概率是P1,是0的概率是P0,P1+P0=1,Logistic回归的y是P1/P0的自然对数,即:Logistic回归y=ln(P1/P0)=ln(P1/(1-P1))=ax+b回归系数是当其他预测变量不变时,一单位预测变量的变化可以引起的因变量对数优势比(log)的变化。优势比是某种推测为真的概率与某种推测为假的概率的比值。AER包中的婚外情数据集(Affairs)为例。Logistic回归>library(AER)>str(Affairs)'data.frame': 601obs.of9variables:$affairs:num0000000000...$gender:Factorw/2levels"female","male":2112211212...$age:num37273257223222573222...$yearsmarried:num10415150.751.50.7515151.5...$children:Factorw/2levels"no","yes":1122111221...$religiousness:int3415222244...$education:num18141218171712141614...$occupation:int7616651414...$rating:int4445353425...>Affairs$ynaffair[Affairs$affairs>0]<-1#设置新变量ynaffair值>Affairs$ynaffair[Affairs$affairs==0]<-0>Affairs$ynaffair<-factor(Affairs$ynaffair,levels=c(0,1))>#设置为因子型变量>table(Affairs$ynaffair)#得到频数表,未有婚外情的样本为451
01451150>#所有变量进行分析>fit.full<-glm(ynaffair~gender+age+yearsmarried+children+religiousness+education+occupation+rating,data=Affairs,family=binomial())>summary(fit.full)
从结果看到,age,yearsmarried,religiousness,rating这四个变量有*标记,具有显著性。其他四个变量不显著。去除这些不显著变量后重新拟合模型。>fit.less<-glm(ynaffair~age+yearsmarried+religiousness+rating,data=Affairs,family=binomial())>summary(fit.less)新模型的每个回归系数都非常显著(p<0.05),可以使用第二个简单模型进行分析解释。在Logistic回归中,回归系数表示对数的变化,由于对数比的解释性差,可以将结果进行指数化后查看。>coef(fit.less)(Intercept)ageyearsmarriedreligiousnessrating1.93083017-0.035271120.10062274-0.32902386-0.46136144>exp(coef(fit.less))(Intercept)ageyearsmarriedreligiousnessrating6.89523210.96534371.10585940.71962580.6304248婚龄增加1年,婚外情的优势比将乘以1.11;年龄增加1岁,婚外情的优势比乘以0.96,影响较小;婚姻评分升高1级,婚外情的优势比将乘以0.6。……由此看出年龄增加、宗教信仰和婚姻评分的增加,婚外情的优势比将下降。拓展:使用predict()函数,观察预测变量在各个水平时对结果概率的影响。二项分布观测到的因变量的方差大于期望的方差,称为过度离势,会导致不精确的显著性检验,需要将二项分布改为类二项分布。检测过度离势也是得到准确分析结果的步骤之一。Logistic回归还有很多拓展,如:稳健logistic回归,robust包中的函数glmRob()。多项分布logistic回归,mlogit包中的函数mlogit()。序数logistic回归,rms包中的函数lrm()。Logistic回归当因变量是分类型数据,如是/否、通过/未通过等二分类或多分类时,使用Logistic回归。当因变量是计数型数据,如一周交通事故的次数、足球进球个数等问题时,采用泊松回归。泊松回归结果显示age,yearsmarried,religiousness,occupation,rating这五个变量有*标记,具有显著性,其他三个变量不显著。进行回归系数指数化变形。对回归系数进行指数化变形后:年龄增加一岁,婚外情次数将乘以0.967,意味着年龄的增加次数减少;当婚姻评分升高1级,婚外情次数将乘0.663,说明其他因素不变时,婚姻评分升高1级婚外情次数降低了34%。小结广义线性模型与glm()函数Logistic回归泊松回归分布名称参数名称默认的连接函数二项分布binomiallink=”logit”高斯分布gaussianlink=”identity”Gamma分布gammalink=”inverse”逆高斯分布inverse.gaussianlink=”1/mu^2”泊松分布poissonlink=”log”glm(formula,family=family(link=function),…)综合实验理解随机数、假设检验、方差分析、回归分析的概念。掌握本章函数的用法。熟悉本章示例代码,掌握实际应用方法。能够通过help方法学习函数中参数的用法。实验目标第6章讲义中的案例第6章综合实验第6章使用的函数第6章思考与练习实验内容及资料目标:理解常用假设检验概念和方法;熟练掌握R语言常用函数。内容:实验1:假设检验应用实验1-1:使用甲乙两台机床来加工同种零件,两种机床加工零件的尺寸服从正态分布,且方差相同,从两种机床加工的零件中分别抽取若干零件测得的其尺寸如下,请检验两台机床加工的零件尺寸均值是否一致?甲:20.9,19.1,19.7,20.4,20.1,20.0,19.0,19.99乙:20.72,19.82,19.52,20.82,20.42,19.62,20.22目标:理解常用假设检验概念和方法;熟练掌握R语言常用函数。内容:实验1:假设检验应用实验1-2:使用同一设备和试剂进行样品的提纯,先使用标准试剂,再用新试剂,交替进行各获得10组数据如下(数据值越大效果越好)。设样本相互独立且正态分布,问新试剂能否提高效果?标准试剂:78.172.476.274.377.478.476.075.576.777.3新试剂:79.181.077.379.180.079.179.177.380.282.1目标:理解常用假设检验概念和方法;熟练
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西式糕点师成果考核试卷含答案
- 石材雕刻工安全实践水平考核试卷含答案
- 玻璃微珠成型工班组考核评优考核试卷含答案
- 出土(水)竹木漆、牙、角器文物修复师安全文化模拟考核试卷含答案
- 供水稽查员操作安全测试考核试卷含答案
- 电法勘探工诚信品质水平考核试卷含答案
- 球拍球网制作工成果考核试卷含答案
- 印花电脑分色工安全风险评优考核试卷含答案
- 上海旅游高等专科学校《ASP.NET程序设计》2025-2026学年第一学期期末试卷(B卷)
- 上海政法学院《安全生产法律法规知识》2025-2026学年第一学期期末试卷(B卷)
- 中央民族大学宏观经济学期末练习B试卷
- 学校中层干部考试题及答案
- 2025年财政资金监管“清源行动”自查报告
- 2025年上海社区工作者招聘考试笔试试题(含答案)
- 2026中远海运集团招聘考试参考题库及答案解析
- 结构设计弯矩二次分配法计算表格自带公式
- 知道智慧树油气装备工程(山东联盟)满分测试答案
- 2025国铁集团考试题库及答案
- 北京东城区2024-2025学年七年级下学期期末数学试卷(解析版)
- 健康体重 快乐成长
- 邮政行测考试试题及答案
评论
0/150
提交评论