ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:206.07KB ,
资源ID:28404616      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28404616.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(用第七课多元统计分析概要.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用第七课多元统计分析概要.docx

1、用第七课多元统计分析概要 数据挖掘十大经典数据挖掘算法是那些?数据挖掘十大经典算法可以分为以下情况。1 与分类相关的算法:C4.5(分类决策树), CART(分类与回归树), Nave Bayes(朴素贝叶斯), KNN(K近邻分类), SVM(支持向量机), EM (最大期望),AdaBoost;2 与聚类相关的算法:(K-Means) K均值; 3 与关联规则相关的算法:Apriori; 4 与搜索引擎相关的算法:PageRank .1. 判别分析 是用于判别个体所属群体的一种统计方法,属于分类。 判别通常由3种方法:距离判别、Fisher判别和Bayes判别,它们本质上属于线性判别和二次

2、判别,R并没有给出这3种判别,而是3中判别法综合在一起,分别给出线性判别函数lda( )和二次判别函数qda( )函数。lda( )和qda( )使用前,需要加载MASS程序包: library(MASS) 它们的使用形式基本相同,有公式形式,矩阵或数据框形式两种:公式格式为:(加载MASS包:library(MASS) lda(formula, data, ., subset, na.action) qda(formula, data, ., subset, na.action) 参数formula为公式,形如groupsx1+x2+, data为数据构成的数据框,subset为可选择向量,

3、表示观察值的子集,na.action为函数,表示处理缺失数据的方法。 lda( )函数的返回值有:调用方法、先验概率、每一类样本的均值和线性判别系数,qda( )函数的返回值与lda( )函数的返回值相同,只是没有线性判别系数,因此,无论预测还是回代,还需要有预测函数predict( )函数。对于lda( )函数而言,predict( )函数的使用格式:predict(object, newdata , prior = object$prior, dimen, method=c(“plug-in”,predictive,”debiased”),) 对于qda( )函数而言,predict( )

4、函数的使用格式:predict(object, newdata , prior = object$prior, method=c(“plug-in”,predictive,”debiased”,”looCV”),) 参数object为lda( )函数或qda( )函数生成的对象;当lda( )或qda( )使用公式形式计算时,newdata为预测数据构成的数据框;当lda( )或qda( )使用矩阵或因子计算时,newdata为向量,默认值为全体训练样本;prior为先验概率,默认值使用对象的先验概率,dimen为使用空间的维数,method为参数估计的方法。predict( )函数的返回值有

5、:$class(分类),$posterior(后验概率),$x(qda函数无此项) 。例1 某气象站检测前14年气象的实际资料如下表,有两项综合预报因子,其中有春旱的是6个年份资料,无春旱的是8个年份资料,今年测到两个指标的数据为(23.5,-1.6),试用lda( )函数和qda( )函数对数据做判别分析,并预报今年是否有春旱。 表 某气象站有无春旱的资料序号 春旱 无春旱1 24.8 -2.0 22.1 -0.72 24.1 -2.4 21.6 -1.4 3 26.6 -3.0 22.0 -0.84 23.5 -1.9 22.8 -1.65 25.5 -2.1 22.7 -1.56 27.

6、4 -3.1 21.5 -1.07 22.1 -1.28 21.4 -1.3解:数据框输入数据, 格式调用exam.data-data.frame( X1=c(24.8, 24.1, 26.6, 23.5, 25.5, 27.4, 22.1, 21.6, 22.0, 22.8, 22.7, 21.5, 22.1, 21.4), X2=c(-2.0, -2.4, -3.0, -1.9, -2.1, -3.1, -0.7, -1.4, -0.8, -1.6, -1.5, -1.0, -1.2, -1.3), sp=rep(c(Have, No), c(6,8)new-data.frame(X1=2

7、3.5, X2=-1.6)lda.sol-lda(spX1+X2, data=exam.data)predict(lda.sol, new)$classtable(exam.data$sp, predict(lda.sol)$class)#看二次判别结果:qda.sol-qda(spX1+X2, data=exam.data)predict(qda.sol, new)$classtable(exam.data$sp, predict(qda.sol)$class)同学自己看一下,lda( )和qda( )结果是否一样?例2 (Fisher Iris数据)Iris数据有4个属性,萼片的长度、萼片

8、的宽度、花瓣长度和花瓣的宽度。数据共150个样本,分为3类,前50个数据为第一类Setosa,中间的50个数据为第二类Versicolor,最后50个数据为第3类Virginica,数据格式如下表所示,试用R软件中的判别函数(lda或qda)对Iris数据进行判别分析。 表 Fisher Iris数据序号 萼片的长度 萼片的宽度 花瓣长度 花瓣的宽度 种类1 5.1 3.5 1.4 0.2 Setosa2 4.9 3.0 1.4 0.2 Setosa 50 5.0 3.3 1.4 0.2 Setosa 51 7.0 3.2 4.7 1.4 Versicolor 100 5.7 2.8 4.1

9、1.3 Versicolor101 6.3 3.3 6.0 2.5 Virginica 150 5.9 3.0 5.1 1.8 Virginica解 (exam0713.R)R中提供了Iris数据(数据框iris),数据的第5列表明数据属于哪一类。在150个样本中随机选取100个作为训练样本,余下的50个作为待测样本,先验概率各为1/3。train - sample(1:150, 100) #从150个数中随机抽取100个数z - lda(Species ., iris, prior = c(1,1,1)/3, subset = train)class-predict(z, iris-trai

10、n, )$class classsum(class=iris$Species-train) #看一下预测结果的准确性(统计:预测的类别等于真值的类别个数)结果:1 48.完.习题 某医生为研究舒张压与血浆胆固醇对冠心病的影响情况,随机抽取并测定了某地从事某特殊工作的5059岁女工冠心病人和正常人各15例的舒张压(DBP)与血浆胆固醇(CHOL), 见下表,试分析测定结果,并提供对未知个体(DBP=10.66, CHOL=5.02)属于冠心病患者还是正常人的判断。解:library(MASS)exam.data-data.frame(DBP=c(9.86, 13.33, 14.66, 9.33,

11、 12.80, 10.66, 10.66, 13.33, 13.33, 13.33, 12.00, 14.66, 13.33, 12.80, 13.33,10.66,12.53,13.33,9.33,10.66,10.66,9.33,10.66,10.66,9.33,10.40,9.33,10.66,10.66,11.20), CHOL=c(5.18,3.73,3.89, 7.10,5.49, 4.09,4.45,3.63,5.96,5.70,6.19,4.01,4.01,3.63,5.96, 2.07,4.45,3.06,3.94,4.45,4.92,3.68,2.77,3.21,3.63,

12、3.94,4.92,2.69,2.43,3.42), sp=rep(c(Have, No), c(15,15)new-data.frame(DBP =10.66, CHOL =5.02)lda.sol-lda(sp DBP + CHOL, data=exam.data)predict(lda.sol, new)$classtable(exam.data$sp, predict(lda.sol)$class)#看二次判别结果:qda.sol-qda(sp DBP + CHOL, data=exam.data)predict(qda.sol, new)$classtable(exam.data$s

13、p, predict(qda.sol)$class)完.练习 #读用户Excel文件 ch1.xls,做分类,表中说明类别属性“身份”,1将军, 2军师,3武官,4文官。install.packages(RODBC)library(RODBC) con-odbcConnectExcel(ch1.xls ) #连接Excel表格 #ch1.xls是你自己的文件名tbls-sqlTables(con) #得到Excel表格信息 sh1-sqlFetch(con, tbls$TABLE_NAME3) #读取Excel表格的有信息的sheet页 #通常 TABLE_NAME1对应sheet1页有信息,

14、一般共3页sh2-sh1, -(1:2)library(MASS) # qda( )函数在此包中new-data.frame(统御 =66, 武力=89,智慧=78,政治=56,魅力=76,忠诚=66,国别=3,出身=2)qda.sol-qda(身份., data=sh2)predict(qda.sol, new)$classtable(sh2$身份, predict(qda.sol)$class)完成练习(自己) #读用户Excel文件 ch1.xls,做分类,表中说明类别属性“肾细胞癌转移情况”,0-无转移,1-有转移.完聚类分析(系统聚类、动态聚类)思想:将相似性(或相异性)数据看成是对

15、象之间的“距离”远近的一种度量,将距离近的对象归入一类,不同类之间的对象距离较远。根据分类对象不同分为Q型聚类分析和R型聚类分析,Q型聚类分析是指:对样本进行聚类;R型聚类分析是指:对变量进行聚类。1. 距离和相似系数变量大致可分为两类1)定量变量,是连续值,具有数值特征,数量上的变化;2)定性变量,这些量并非具有数量上的变化,而只有性质上的差异,大致分两类,一为有序变量,没有数量关系,只有次序关系,如一等品、二等品等;二为名义变量,既无等级,也无次序,如天气(阴,晴)等。1.1. 距离:若数据集中有n个样本,则这n个样本就是数据集中的n个点,如每个样本有k个指标(分量),则为第i个样本的第k

16、个指标,第i个样本的第j个样本的距离记为,聚类过程中,距离近的归为一类,距离远的归属不同类。在R中,dist( )函数计算各样本间的距离,格式: dist(x, method = euclidean, diag = FALSE, upper = FALSE, p = 2)参数x为数值矩阵,或者为数据框,或者是“dist”对象;method为定义距离的方法,默认值是euclidean,表示欧几里德距离(即),还可选绝对值距离、无穷模距离等;diag为逻辑变量,表示输出上三角矩阵值,默认为FALSE,表示仅输出下三角阵值;p表示距离的参数q,默认值为2,即欧几里德距离。1.2 数据变换做聚类分析时

17、,需要将数据做中心化或标准化处理,称:,i=1,2,.,n;j=1,2,.,p为中心化变换,称:,i=1,2,.,n;j=1,2,.,p为标准化变换在R中,scale( )函数做数据的中心化或标准化,格式: scale(x, center = TRUE, scale = TRUE) 参数x为样本构成的数值矩阵,center 或者为逻辑变量,表示是否对数据做中心变换,默认值为 TRUE;或者为数值向量,其维数等于矩阵x的列数,表示以center为中心做中心化变换;scale或者为逻辑变量,表示对数据是否做标准变换,默认值为 TRUE,或者为数值向量,其维数等于矩阵x的列数,表示以scale为尺度

18、做标准化变换。 1.3 相似系数 聚类分析不仅对样本分类,而且对变量进行分类,对变量分类时,常用相似系数度量变量之间的相似程度。设表示变量和间的相似系数,要求:(1)=1,当且仅当;(2),对一切i,j成立;(3),对一切i,j成立。越接近1,则表示和间的关系越密切,越接近0两者间关系越疏远。用cor( )函数计算相关系数。变量间的距离可用相关系数求解: (往往用在变量聚类(R型聚类)中)2 系统聚类法最普遍方法,思想:将距离最近类合并成一个类,重复进行两最近类合并,直至所有样本合并为一个类,方法很多:最短距离法:“single”最长距离法:“complete”中间距离法:“median”类平

19、均法:“average”重心法:“centroid”离差平方和法:“Ward”Mcquitty相似法:“mcquitty”2.1 hclust( )函数计算系统聚类,plot( )函数画出系统聚类的树形图(谱系图), plclust( )函数也可画谱系图;格式:hclust(d, method = complete, members = NULL)参数d为dist( )函数生成的对象,即距离。method为系统聚类的方法,默认值为“complete”代表最长距离法,“single”代表最短距离法,“median”代表中间距离法,“average”代表类平均法等;members或者为NULL(默

20、认值),或者为与d有相同变量长度的向量。格式:plot(x, labels=NULL,hang=0.1, .)参数x为hclust( )函数生成的对象;labels为树叶的标记,默认值为NULL; hang为数值,表明谱系图中各类所在的位置,默认值为0.1,取负值表示谱系图中的类从底部画起;其他参数意义与plot( )函数相同。格式:plclust(tree, hang = 0.1, unit = FALSE, level = FALSE, hmin = 0, square = TRUE, labels = NULL, plot. = TRUE, axes = TRUE, frame.plot

21、 = FALSE, ann = TRUE, main = , sub = NULL, xlab = NULL, ylab = Height)参数tree为hclust( )函数生成的对象;unit为逻辑变量,取TRUE表示分叉画在等空间高度,而不是在对象的高度。其他参数意义见帮助文档。例1 设有5个样本,每个样本只有一个指标,分别是1,2,6,8,11,样本间的距离选用欧几里得距离,试用最短距离法、最长距离法等方法进行聚类分析,并画出相应的谱系图。#% 输入数据, 生成距离结构x-c(1,2,6,8,11); dim(x)-c(5,1); #x已转化成矩阵:5行1列d-dist(x)#% 生成

22、系统聚类hc1-hclust(d, single); hc2-hclust(d, complete)hc3-hclust(d, median); hc4-hclust(d, average)#% 绘出所有树形结构图, 并以/2* 2/的形式绘在一张图上opar - par(mfrow = c(2, 2), omi=rep(0,4)plot(hc1,hang=-1); plot(hc2,hang=-1)plot(hc3,hang=-1); plot(hc4,hang=-1)par(opar)#% 保存图形savePlot(hclust_1, type=eps)#% 用plclust函数绘图opa

23、r - par(mfrow = c(2, 2), omi=rep(0,4), mar=c(5,4,1,1)plclust(hc1,hang=-1); plclust(hc2,hang=-1) #绘图结果一样plclust(hc3,hang=-1); plclust(hc4,hang=-1)par(opar)3 聚类方法的评价: cophenetic()函数:计算系统聚类的Cophenetic距离;格式:cophenetic(x), 参数x为hclust( )函数或as.hclust( )函数生成的对象。用途:通过计算Cophenetic距离与dist( )函数的距离的相关系数,用以评价聚类方法

24、好坏,越接近1,方法越好。例2 上例1中4种聚类方法,分别计算cophenetic距离和各自与距离d的相关系数: #% 使用cophenetic函数, 作聚类方法的比较x-c(1,2,6,8,11); dim(x)-c(5,1); d-dist(x)method=c(single, complete, median, average)cc-numeric(0)for (m in method) dc-cophenetic(hclust(d, m) ccm-cor(d, dc)cc执行结果: single complete median average 0.7744479 0.7847885 0

25、.7859780 0.7865155 越接近1方法越好,所以average方法最好4 类个数的确定 有几种方法:(1)给定一个阈值,要求类与类之间的距离大于阈值;(2)观察样本散点图;(3)使用统计量;(4)根据谱系图确定分类个数准则。 4.1 cutree( )函数:根据谱系图确定聚类个数。格式: cutree(tree, k = NULL, h = NULL)参数tree为hclust( )函数生成的对象;k为整数向量,表示类的个数;h为数值型向量,表示谱系图中的阈值,要求分成的各类距离大于h. 在参数中,k和h至少指定一个,若两个均被指定,以k为准。例3对305名女中学生测量8个体型指标

26、,有下列相应的相关矩阵,将相关系数看成相似系数,定义距离: , 用最长距离法做系统分析。有8个体型指标相关系数: x-c(1.000, 0.846, 0.805, 0.859, 0.473, 0.398, 0.301, 0.382, 0.846, 1.000, 0.881, 0.826, 0.376, 0.326, 0.277, 0.277, 0.805, 0.881, 1.000, 0.801, 0.380, 0.319, 0.237, 0.345, 0.859, 0.826, 0.801, 1.000, 0.436, 0.329, 0.327, 0.365, 0.473, 0.376, 0

27、.380, 0.436, 1.000, 0.762, 0.730, 0.629, 0.398, 0.326, 0.319, 0.329, 0.762, 1.000, 0.583, 0.577, 0.301, 0.277, 0.237, 0.327, 0.730, 0.583, 1.000, 0.539, 0.382, 0.415, 0.345, 0.365, 0.629, 0.577, 0.539, 1.000)names-c(身高,手臂长,上肢长,下肢长,体重,颈围, 胸围,胸宽)r-matrix(x, nrow=8, dimnames=list(names, names)d-as.dist

28、(1-r); hc-hclust(d); plot(hc,hang=-1); #绘谱系图cutree(hc, k = 2) #根据谱系图确定聚类个数2 执行结果: 身高 手臂长 上肢长 下肢长 体重 颈围 胸围 胸宽 1 1 1 1 2 2 2 2 4.2 rect.hclust( )函数:根据谱系图确定最终聚类,并在谱系图做出标记。 格式: rect.hclust(tree, k = NULL, which = NULL, x = NULL, h = NULL, border = 2, cluster = NULL) 参数tree,k, h的意义与cutree( )函数相同,which和x

29、为整数向量,表示围绕着哪一类画出矩形;which从左到右是按数字选择,默认1:k; x是按水平坐标选择;border数字向量或字符串,表示矩形框的颜色;cluster为可选向量,是由cutree( )函数得到的聚类结果。例4 对于例3,有:par(mai=c(1, 0.8, 0.1, 0.1)plclust(hc, hang=-1); re-rect.hclust(hc, k=3) #根据谱系图确定最终聚类,并在谱系图做出标记savePlot(hclust_4, type=bmp)5 实例 给出1999年全国31个省市自治区的城镇居民家庭平均每人全年消费性支出的8个主要指标数据,分别是:食品(

30、x1)、衣着(x2)、家庭设备用品及服务(x3)、医疗保健(x4)、交通与通讯(x5)、娱乐教育文化服务(x6)、居住(x7)、杂项商品和服务(x8),分别用最长距离法、类平均法、重心法、Ward法对各地区做聚类分析。#% 读取数据X-read.table(exam0716.dat)#% 生成距离结构, 作系统聚类d - dist(scale(X)method=c(complete, average, centroid, ward)for(m in method) hc-hclust(d, m); class-cutree(hc, k=5) print(m); print(sort(class) .

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1