统计建模与数据分析课件

上传人:2127513****773577... 文档编号:240907871 上传时间:2024-05-17 格式:PPT 页数:25 大小:167.22KB
返回 下载 相关 举报
统计建模与数据分析课件_第1页
第1页 / 共25页
统计建模与数据分析课件_第2页
第2页 / 共25页
统计建模与数据分析课件_第3页
第3页 / 共25页
点击查看更多>>
资源描述
参考书籍:参考书籍:复杂数据统计方法复杂数据统计方法基于基于R R的应用,吴喜之编著,中的应用,吴喜之编著,中国人民大学出版社国人民大学出版社参考书籍:1主要内容引引 言言横截面数据:因变量为实数轴上的数量变量横截面数据:因变量为实数轴上的数量变量横截面数据:因变量为分类变量及因变量为计数变量的情横截面数据:因变量为分类变量及因变量为计数变量的情况况纵向数据(多水平数据、面板数据)纵向数据(多水平数据、面板数据)多元分析(不分因变量和自变量)多元分析(不分因变量和自变量)路径建模(结构方程建模)数据的路径建模(结构方程建模)数据的PLSPLS分析分析多元时间序列数据多元时间序列数据主要内容引 言2引 言引 言3统计是科学统计是科学?统计是科学?科学的基本特征是其方法论:对世界的认识源于观测或实科学的基本特征是其方法论:对世界的认识源于观测或实验的信息验的信息(或者数据或者数据),),总结信息时会形成模型总结信息时会形成模型(亦称为假说亦称为假说或理论或理论),),模型会指导进一步的探索模型会指导进一步的探索,直到遇到这些模型无直到遇到这些模型无法解释的现象法解释的现象,这就导致对这些模型的更新和替代这就导致对这些模型的更新和替代.统计可以定义为统计可以定义为收集、分析、展示和解释数据的科学收集、分析、展示和解释数据的科学,或者称为数据科学或者称为数据科学(science of data).(science of data).统计应用于几乎所有领域统计应用于几乎所有领域.统计是科学统计是科学?4统计与数学、计算机的关系统计的思维方式是归纳统计的思维方式是归纳(induction),(induction),也就是从数据所反映也就是从数据所反映的现实得到稍微一般的模型的现实得到稍微一般的模型,希望以此解释数据所代表的希望以此解释数据所代表的那部分世界那部分世界.这和以演绎这和以演绎(deduction)(deduction)为主的数学思维方式为主的数学思维方式相反相反,演绎则是在一些人为的演绎则是在一些人为的假定假定(比如一个公理系统比如一个公理系统)之下之下,推推导出各种结论导出各种结论.统计与数学、计算机的关系统计的思维方式是归纳(inducti5在统计发展的前期在统计发展的前期,没有计算机没有计算机,只能在对数据只能在对数据加上一些数学假定后加上一些数学假定后,建立一些假定的数学模型建立一些假定的数学模型,推导出结果的性质推导出结果的性质,诸如置信区间诸如置信区间,假设检验的假设检验的p p值值,相合性等等相合性等等.在数据分布与假定的正态分布相差甚远的情况在数据分布与假定的正态分布相差甚远的情况,人人们又利用诸如中心极限定理或大样本定理得到渐近们又利用诸如中心极限定理或大样本定理得到渐近正态的结果正态的结果.据此又得到大样本时的各种性质据此又得到大样本时的各种性质,包括置信区间或包括置信区间或置信带置信带,p,p值值,相合性等等相合性等等.统计的这种发展方式统计的这种发展方式,给统计打上了很深的数学烙给统计打上了很深的数学烙印印.在统计发展的前期,没有计算机,只能在对数据加上一些数学6在现成的数学模型无法处理大量的复杂数据的情况下,计在现成的数学模型无法处理大量的复杂数据的情况下,计算机领域的研究人员和部分概率论及统计学家开发了许多算机领域的研究人员和部分概率论及统计学家开发了许多计算方法,处理了传统统计无法解决的大量问题。诸如人计算方法,处理了传统统计无法解决的大量问题。诸如人工神经网络、决策树、工神经网络、决策树、boostingboosting、随机森林、支持向量机、随机森林、支持向量机等大量等大量算法模型。算法模型。统计研究逐步由数据或者问题驱动,创造模型的目的是适统计研究逐步由数据或者问题驱动,创造模型的目的是适应现实数据。应现实数据。在现成的数学模型无法处理大量的复杂数据的情况下,计算机领域的7随着时代的前进随着时代的前进,院系现在也出现了诸如数据挖掘、机器院系现在也出现了诸如数据挖掘、机器学习等课程学习等课程,统计杂志也开始逐渐重视这些研究统计杂志也开始逐渐重视这些研究.这些算法模型大都不是用封闭的数学公式来描述这些算法模型大都不是用封闭的数学公式来描述,而是体现而是体现在计算机算法或程序上在计算机算法或程序上.参考书籍:参考书籍:The Elements of Statistical Learning:Data Mining,The Elements of Statistical Learning:Data Mining,Inference,and Prediction.Inference,and Prediction.Second EditionSecond Edition.Trevor Hastie,Robert Tibshirani,Jerome Friedman,Trevor Hastie,Robert Tibshirani,Jerome Friedman,SpringerSpringer随着时代的前进,院系现在也出现了诸如数据挖掘、机器学习等课8学术期刊Top Top 期刊期刊The Annals of Statistics.The Annals of Statistics.Journal of the Royal Statistical Society,Series B.Journal of the Royal Statistical Society,Series B.Journal of the American Statistical Association.Journal of the American Statistical Association.Biometrika.Biometrika.Journal of Machine Learning ResearchJournal of Machine Learning ResearchEconometrika Econometrika BiostatisticsBiostatistics学术期刊Top 期刊9文献检索文献检索的一点经验文献检索的一点经验No sweat,No sweet.文献检索文献检索的一点经验10数据分析的实践数据收集数据收集.首先要根据实际目的.有数据不一定能够得到需要的结论,我们需要的是与所关心问题充分有关的变量的数据.数据预处理数据预处理.缺失值寻找适合的模型寻找适合的模型:为了寻找模型,首先要对数据进行探索性分析,利用图形、各种统计量、或者比较复杂的探索方法来查看数据的关联性、线性性、异方差性、多重共线性、聚类特征、分布形状等。有了对数据的粗略认识之后,就寻找合适的模型。数据分析的实践数据收集.首先要根据实际目的.有数据不一定11数据分析的实践比较模型的标准比较模型的标准.传统统计中:各种判别准则(各种检验、一些统计量的临界值等等).都是在对数据分布及描述变量之间关系的模型所做的假定之下得到的.在使用算法模型时,由于没有传统模型的那些假定,判断模型好坏通常都用交叉验证(cross validation)。对结果的解释对结果的解释.选择模型并不是目的,目的是解释模型所产生的结果,而结果必须是应用领域的结果,必须有实际意义.仅仅用统计术语说某个模型较好,某个变量显著之类的话是不够的.数据分析的实践比较模型的标准.12R软件入门R软件的安装http:/ xsample(x,20)#sample(x,20)#从从1,.,1001,.,100中随机不放回地抽取中随机不放回地抽取2020个值作为样本个值作为样本set.seed(0);sample(1:10,3)#set.seed(0);sample(1:10,3)#先设随机种子再抽样先设随机种子再抽样.z=sample(1:200000,10000)#z=sample(1:200000,10000)#从从1,.,2000001,.,200000中随机不放回地抽取中随机不放回地抽取1000010000个值作为个值作为样本样本z1:10z1:10#方括号中为向量方括号中为向量z z的下标的下标y=c(1,3,7,3,4,2)y=c(1,3,7,3,4,2)zy#zy#以以y y为下标的为下标的z z的元素值的元素值(z=sample(x,100,rep=T)#(z=sample(x,100,rep=T)#从从x x放回地抽取放回地抽取100100个随机样本个随机样本(z1=unique(z)(z1=unique(z)length(z1)#zlength(z1)#z中不同的元素个数中不同的元素个数xz=setdiff(x,z)#xxz=setdiff(x,z)#x和和z z之间的不同元素之间的不同元素-集合差集合差sort(union(xz,z)#sort(union(xz,z)#对对xzxz及及z z的并的元素从小到大排序的并的元素从小到大排序setequal(union(xz,z),x)#setequal(union(xz,z),x)#对对xzxz及及z z的并的元素与的并的元素与x x是否一样是否一样intersect(1:10,7:50)#intersect(1:10,7:50)#两个数据的交两个数据的交sample(1:100,20,prob=1:100)#sample(1:100,20,prob=1:100)#从从1:1001:100中不等概率随机抽样中不等概率随机抽样,#各数目抽到的概率与各数目抽到的概率与1:1001:100成比例成比例最初几步x=1:100#把1,2,.,100个整数向量赋14一些简单运算pi*102#pi*102#能够用能够用?”*”?”*”来看基本算术运算方法来看基本算术运算方法,pi,pi是圆周率是圆周率pi*(1:10)-2.3#pi*(1:10)-2.3#可以对向量求指数幂可以对向量求指数幂x=pi*102x=pi*102x xprint(x)#print(x)#和上面一样和上面一样(x=pi*102)#(x=pi*102)#赋值带打印赋值带打印pi(1:5)#pi(1:5)#指数也可以是向量指数也可以是向量print(x,digits=12)#print(x,digits=12)#输出输出x x的的1212位数字位数字一些简单运算pi*102#能够用?”*”来看基本算术运15简单图形x=rnorm(200)#200 x=rnorm(200)#200个随机正态数赋值到个随机正态数赋值到x xhist(x,col=light blue)#hist(x,col=light blue)#直方图直方图(histogram)(histogram)rug(x)#rug(x)#在直方图下面加上实际点的大小在直方图下面加上实际点的大小stem(x)#stem(x)#茎叶图茎叶图x-rnorm(500)x-rnorm(500)y-x+rnorm(500)#y 0,1#xx,10,1#第第1 1列大于列大于0 0的元素的元素sum(x,10)#sum(x,10)#第第1 1列大于列大于0 0的元素的个数的元素的个数sum(x,1=0)#sum(x,10&x,30&x,30|x,10|x,1.51,1#第第1 1中小于中小于.51.51或者相应于第或者相应于第2 2列中大于列中大于0 0的元素的元素(或或)x!x,2.51,1#x!x,2.51,1#第一列中相应于第第一列中相应于第2 2列中不小于列中不小于.51.51的元素的元素(“(“非非”)apply(x,1,mean);apply(x,2,sum)#apply(x,1,mean);apply(x,2,sum)#分别对行分别对行(第一维第一维)和列和列(第二维第二维)做均值和求和运算做均值和求和运算x=matrix(rnorm(24),4,6)x=matrix(rnorm(24),4,6)xlower.tri(x)=0;x#xlower.tri(x)=0;x#得到上三角阵得到上三角阵,#为得到下三角阵为得到下三角阵,用用xupper.tri(x)=0)xupper.tri(x)=0)矩阵继续nrow(x);ncol(x);dim(x)#行列数20矩阵与向量之间的运算x=matrix(1:20,5,4)#5x=matrix(1:20,5,4)#5乘乘4 4矩阵矩阵sweep(x,1,1:5,*)#sweep(x,1,1:5,*)#把向量把向量1:51:5的每个元素乘到每一行的每个元素乘到每一行sweep(x,2,1:4,+)#sweep(x,2,1:4,+)#把向量把向量1:41:4的每个元素加到每一列的每个元素加到每一列x*1:5x*1:5sweep(x,2,1:4,+)#scalesweep(x,2,1:4,+)#scale是标准化是标准化,即每一列元素减去该列均值即每一列元素减去该列均值,除以该列标准除以该列标准差差:(x=matrix(sample(1:100,24),6,4);(x1=scale(x)(x=matrix(sample(1:100,24),6,4);(x1=scale(x)(x2=scale(x,scale=F)#(x2=scale(x,scale=F)#自己观察并总结结果自己观察并总结结果(x3=scale(x,center=F)#(x3=scale(x,center=F)#自己观察并总结结果自己观察并总结结果round(apply(x1,2,mean),14)#round(apply(x1,2,mean),14)#自己观察并总结结果自己观察并总结结果apply(x1,2,sd)#apply(x1,2,sd)#自己观察并总结结果自己观察并总结结果round(apply(x2,2,mean),14);apply(x2,2,sd)#round(apply(x2,2,mean),14);apply(x2,2,sd)#自己观察并总结结果自己观察并总结结果round(apply(x3,2,mean),14);apply(x3,2,sd)#round(apply(x3,2,mean),14);apply(x3,2,sd)#自己观察并总结结果自己观察并总结结果矩阵与向量之间的运算x=matrix(1:20,5,4)#21缺失值,数据的合并airquality#airquality#有缺失值有缺失值(NA)(NA)的的R R自带数据自带数据complete.cases(airquality)#complete.cases(airquality)#没有缺失值的那些行中那些是缺失没有缺失值的那些行中那些是缺失的的which(complete.cases(airquality)=F)#which(complete.cases(airquality)=F)#没有缺失值的行号没有缺失值的行号sum(complete.cases(airquality)#sum(complete.cases(airquality)#完整观测值的个数完整观测值的个数na.omit(airquality)#na.omit(airquality)#删去缺失值的数据删去缺失值的数据#附加附加,横或竖合并数据横或竖合并数据:append,cbind,rbind:append,cbind,rbindx=1:10;x12=3x=1:10;x12=3(x1=append(x,77,after=5)(x1=append(x,77,after=5)cbind(1:5,rnorm(5)cbind(1:5,rnorm(5)rbind(1:5,rnorm(5)rbind(1:5,rnorm(5)cbind(1:3,4:6);rbind(1:3,4:6)#cbind(1:3,4:6);rbind(1:3,4:6)#去掉矩阵重复的行去掉矩阵重复的行(x=rbind(1:5,runif(5),runif(5),1:5,7:11)(x=rbind(1:5,runif(5),runif(5),1:5,7:11)x!duplicated(x),x!duplicated(x),unique(x)unique(x)缺失值,数据的合并airquality#有缺失值(NA)22list#list#list可以是任何对象可以是任何对象(包括包括listlist本身本身)的集合的集合z=list(1:3,Tom=c(1:2,a=list(R,letters1:5),w=hz=list(1:3,Tom=c(1:2,a=list(R,letters1:5),w=hi!)i!)z1;z2z1;z2z$Tz$Tz$T$a2z$T$a2z$T3z$T3z$T$wz$T$wlist#list可以是任何对象(包括list本身)的集合23如何写函数#下面这个函数是按照定义下面这个函数是按照定义(编程简单编程简单,但效率不高但效率不高,计算量大计算量大)求求n n以内的素数以内的素数,缺省值缺省值n=100n=100ss=function(n=100)z=2;ss=function(n=100)z=2;for(i in 2:n)if(any(i%2:(i-1)=0)=F)z=c(z,i);return(z)for(i in 2:n)if(any(i%2:(i-1)=0)=F)z=c(z,i);return(z)#fix(ss)#fix(ss)#用来修改任何函数或编写一个新函数用来修改任何函数或编写一个新函数ss()#ss()#计算计算100100以内的素数以内的素数t1=Sys.time()#t1=Sys.time()#记录时间点记录时间点ss(10000)#ss(10000)#计算计算1000010000以内的素数以内的素数Sys.time()-t1#Sys.time()-t1#费了多少时间费了多少时间system.time(ss(10000)#system.time(ss(10000)#计算执行计算执行ss(10000)ss(10000)所用时间所用时间#函数可以不写函数可以不写return,return,这时最后一个值为这时最后一个值为returnreturn的值的值.为了输出多个值最好使用为了输出多个值最好使用listlist如何写函数#下面这个函数是按照定义(编程简单,但效率不高,24画图x=seq(-3,3,len=20);y=dnorm(x)#x=seq(-3,3,len=20);y=dnorm(x)#产生数据产生数据w=data.frame(x,y)#w=data.frame(x,y)#合并合并x,x,成为数据成为数据w wpar(mfcol=c(2,2)#par(mfcol=c(2,2)#准备画四个图的地方准备画四个图的地方plot(y x,w,main=plot(y x,w,main=正态密度函数正态密度函数)plot(y x,w,type=l,main=plot(y x,w,type=l,main=正态密度函数正态密度函数)plot(y x,w,type=o,main=plot(y x,w,type=o,main=正态密度函数正态密度函数)plot(y x,w,type=b,main=plot(y x,w,type=b,main=正态密度函数正态密度函数)par(mfcol=c(1,1)#par(mfcol=c(1,1)#取消取消par(mfcol=c(2,2)par(mfcol=c(2,2)画图x=seq(-3,3,len=20);y=dnorm(x25
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!