《R多元统计分析上机讲义.docx》由会员分享,可在线阅读,更多相关《R多元统计分析上机讲义.docx(91页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、应用多元统计分析R试验上机讲义应用多元统计分析4Applied Multivariate Statistical Analysis4第一章绪论4第二章矩阵42.1矩阵的建立42.2矩阵的下标(index)与子集(元素)的提取62.3 矩阵四则运算72.3.1 矩阵的加减运算72.3.2 矩阵的相乘82.3.3 矩阵的求逆82.4矩阵的其他一些代数运算82.4.1 求转置矩阵82.4.2 提取对角元素82.4.3矩阵的合并与拉直82.4.4方阵的行列式92.4.5 矩阵的特征根和特征向量92.4.6 其它函数92.5 矩阵的统计运算102.5.1 求均值102.5.2 标准化102.5.3 减去
2、中位数10第三章多元正态分布与参数的估计103.1 绘制二元正态密度函数与其相应等高线图103.2 多元正态分布的参数估计123.2.1 多元正态总体的相关量123.2.2 极大似然估计13第四章多元正态总体参数的假设检验144.1 几个重要统计量的分布144.2 单总体均值向量的检验与置信域144.2.1均值向量的检验144.2.2样本协方差阵的特征值和特征向量154.3多总体均值向量的检验164.3.1 两正态总体均值向量的检验164.3.2 多个正态总体均值向量的检验-多元方差分析174.4协方差阵的检验184.4.2 多总体协方差阵的检验184.5独立性检验184.6正态性检验19第五
3、章判别分析205.1间隔 判别215.1.1 马氏间隔 215.1.2 两总体的间隔 判别215.1.3 多个总体的间隔 判别245.2贝叶斯判别法与广义平方间隔 判别法245.2.1 先验概率(先知学问)245.2.2 广义平方间隔 255.2.3 后验概率(条件概率)255.2.4 贝叶斯判别准则255.3费希尔(Fisher)判别28第六章聚类分析296.2间隔 和相像系数296.2.1间隔 296.2.2数据中心化与标准化变换296.2.3相像系数306.3 系统聚类法306.4类个数确实定326.5动态聚类法346.7变量聚类方法34第七章主成分分析357.2 样本的主成分367.3
4、 主成分分析的应用37第八章因子分析408.3 参数估计方法408.4 方差最大的正交旋转438.5 因子得分43第九章对应分析方法44第十章典型相关分析46应用多元统计分析Applied Multivariate Statistical Analysis第一章 绪论在实际问题中,很多随机现象涉与到的变量不是一个,而是常常是多个变量,并且这些变量间又存在确定的联络。我们常常须要处理多个变量的观测数据,假设用一元统计方法,由于无视了各个变量之间可能存在的相关性,一般说来,丧失信息太多,分析的结果不能客观全面反映数据所包含的内容,因此,我们就须要用到多元统计的方法。多元统计分析(Multivari
5、ate Statistical Analysis)也称多变量统计分析、多因素统计分析或多元分析,是探讨客观事物中多变量(多因素或多指标)之间的互相关系和多样品对象之间差异以与以多个变量为代表的多元随机变量之间的依靠和差异的现代统计分析理论和方法。多元统计分析是解决实际问题的有效的数据处理方法。随着电子计算机运用的日益普与,多元统计统计方法已广泛地应用于自然科学、社会科学的各个方面。第二章 矩阵 矩阵即是二维的数组,它特别的重要,以致于须要单独探讨。由于矩阵应用特别广泛,因此对它定义了一些特别的应用和操作,R 包括很多只对矩阵操作的操作符和函数。2.1矩阵的建立在R中最为常用的是用嘱咐matri
6、x( )建立矩阵,而对角矩阵常用函数diag( )建立。例如 X X ,1 ,21, 1 12, 1 1 X X ,1 ,2 ,31, 1 0 02, 0 1 03, 0 0 1 diag(2.5, nr = 3, nc = 5) ,1 ,2 ,3 ,4 ,51, 2.5 0.0 0.0 0 02, 0.0 2.5 0.0 0 03, 0.0 0.0 2.5 0 0 X - matrix(1:4, 2) # 等价于X X ,1 ,21, 1 32, 2 4 rownames(X) colnames(X) X c da 1 3b 2 4 dim(X)1 2 2 dimnames(X)11 a b
7、21 c d留意:循环准则照旧适用于matrix( ),但要求数据项的个数等于矩阵的列数的倍数, 否则会出现警告。矩阵的维数运用c( )会得到不同的结果(除非是方阵), 因此须要注意。数据项填充矩阵的方向可通过参数byrow来指定, 其缺省是按列填充的(byrow=FALSE), byrow=TRUE表示按行填充数据。再看几个例子: X X ,1 ,2 ,3 ,41, 1 3 1 32, 2 4 2 4 X X X ,1 ,21, 1 32, 2 4 X X ,1 ,2 ,3 ,41, 1 2 3 42, 1 2 3 4 因为矩阵是数组的特例,R中数组由函数array( )建立, 因此矩阵也可
8、以用函数array( )来建立,其一般格式为: array(data, dim, dimnames)其中data为一向量,其元素用于构建数组;dim为数组的维数向量(为数值型向量);dimnames为由各维的名称构成的向量(为字符型向量), 缺省为空。看几个例子: A A ,1 ,2 ,31, 1 3 52, 2 4 6 A A ,1 ,2 ,31, 1 3 12, 2 4 2 A A ,1 ,2 ,31, 1 3 52, 2 4 62.2矩阵的下标(index)与子集(元素)的提取矩阵的下标可以运用正整数、负整数和逻辑表达式,从而实现子集的提取或修改。考察矩阵 x x ,1 ,2 ,31,
9、1 3 52, 2 4 6 提取一个元素 x2,21 4 提取若一个或若干个行或列 x2,21 4 x2,1 2 4 6 x,21 3 4 x,2,drop=FALSE ,11, 32, 4 x,c(2,3),drop=FALSE ,1 ,21, 3 52, 4 6 去掉某一个或若干个行与列 x-1,1 2 4 6 x,-2 ,1 ,21, 1 52, 2 6 添加与交换元素 x,3 x ,1 ,2 ,31, 1 3 NA2, 2 4 NA xis.na(x) x ,1 ,2 ,31, 1 3 12, 2 4 12.3 矩阵四则运算矩阵也可以进展四则运算(“+”、“-”、“*”、“/”,“”)
10、,分别说明为矩阵对应元素的四则运算。在实际应用中,比拟有实际应用的是矩阵的相加,相减,相乘和矩阵的求逆。矩阵的加减运算一般要求矩阵形态完全一样(dim属性完全一样),矩阵的相乘一般要求一矩阵的列维数与另一矩阵的行维数一样,而矩阵要求逆的话,一般要求它为一方阵。2.3.1 矩阵的加减运算若A,B为两个形态一样的矩阵,两矩阵的和为C,R中表达式为:C-A+B两矩阵的差为D,R中表达式为:D-A-B矩阵也可以与数进展加减,A+5表示A中的每个元素加上5。2.3.2 矩阵的相乘操作符%*% 用于矩阵相乘。若矩阵A的列数等于矩阵B的行数,矩阵A乘以矩阵B表示为:A%*%B注:X*Y表示两个矩阵的逐元相乘
11、,而不是X和Y的乘积。2.3.3 矩阵的求逆若矩阵A为一方阵,矩阵的逆可以用下面的嘱咐计算:solve(A)。操作符solve( )可以用来求解线性方程组:Ax=b,解为solve(A,b)在数学上,用干脆求逆的方法解x X diag(X)1 1 4事实上,diag( )的作用依靠于自变量,diag(vector)返回以自变量(向量)为主对角元素的对角矩阵;diag(matrix)返回由矩阵的主对角元素所组成的向量;diag(k)(k为标量)返回k阶单位阵。2.4.3矩阵的合并与拉直函数cbind()把几个矩阵横向拼成一个大矩阵,这些矩阵行数应当一样;函数rbind()把几个矩阵列向拼成一个大
12、矩阵,这些矩阵列数应当一样。(假设参加合并的矩阵比其它矩阵行数少或列数少,则循环缺乏后合并。)例如: m1 m1 ,1 ,21, 1 12, 1 1 m2 m2 ,1 ,21, 2 22, 2 2 rbind(m1, m2) ,1 ,21, 1 12, 1 13, 2 24, 2 2 cbind(m1, m2) ,1 ,2 ,3 ,41, 1 1 2 22, 1 1 2 22.4.4方阵的行列式求方阵的行列式运用det( ):X X ,1 ,21, 1 32, 2 4 det(X)1 -22.4.5 矩阵的特征根和特征向量 函数eigen( ) 用来计算矩阵的特征值和特征向量。这个函数的返回值
13、是一个含有values 和vectors 两个重量的列表。嘱咐A A$values1 5.3722813 -0.3722813$vectors ,1 ,21, -0.5657675 -0.90937672, -0.8245648 0.41597362.4.6 Matrix facilites In the following examples, A and B are matrices and x and b are a vectors.Operator or FunctionDescriptionA * BElement-wise multiplicationA %*% BMatrix mu
14、ltiplicationA %o% BOuter product. ABcrossprod(A,B)crossprod(A)AB and AA respectively.t(A)Transposediag(x)Creates diagonal matrix with elements of x in the principal diagonaldiag(A)Returns a vector containing the elements of the principal diagonaldiag(k)If k is a scalar, this creates a k x k identity
15、 matrix. Go figure.solve(A, b)Returns vector x in the equation b = Ax (i.e., A-1b)solve(A)Inverse of A where A is a square matrix.ginv(A)Moore-Penrose Generalized Inverse of A. ginv(A) requires loading the MASS package.y-eigen(A)y$val are the eigenvalues of Ay$vec are the eigenvectors of Ay-svd(A)Si
16、ngle value decomposition of A.y$d = vector containing the singular values of Ay$u = matrix with columns contain the left singular vectors of A y$v = matrix with columns contain the right singular vectors of AR - chol(A)Choleski factorization of A. Returns the upper triangular factor, such that RR =
17、A.y apply(X, MARGIN, FUN)其中X为参加运算的矩阵, FUN为上面的一个函数或“+”、“-”、“*”、“”(必需放在引号中),MARGIN=1表示按列计算,MARGIN=2表示按行计算。我们还用到sweep( )函数,嘱咐 sweep(X, MARGIN, STATS, FUN)表示从矩阵X中按MATGIN计算STATS,并从X中除去(sweep out)。2.5.1 求均值 m apply(m, MARGIN=1, FUN=mean) # 求各行的均值1 -0.3773865 0.3864138 0.2052353 apply(m, MARGIN=2, FUN=mean
18、) # 求各列的均值1 0.3386202 0.7320669 -0.4624578 -0.32254602.5.2 标准化 scale(m, center=T, scale=T)2.5.3 减去中位数 row.med sweep(m, MARGIN=1, STATS=row.med, FUN=”-”)第三章 多元正态分布与参数的估计3.1 绘制二元正态密度函数与其相应等高线图书上例2.2.2,1=2=1,=0时的二元正态密度函数与其等高线图: x-seq(-3,3,by=0.1) y-x f-function(x,y,a=1,b=1,r=0) a1=sqrt(a) b1=sqrt(b) d=
19、1-r*r d1=sqrt(d)*a1*b1 z=1/(2*pi*d1)*exp(-x*x/a-y*y/b+2*r*x*y/(a1*b1)/(2*d) z Xn ln Xn A m A S R x n p u0 ln x0 xm mm a ai=solve(a) dd=xm%*%ai%*%t(xm) d2=(n-1)*dd t2=n*d2; f f ,11, 2.904546 fa fa1 3.196777 b b ,11, 0.06492834 beta beta1 0.3616381取检验程度为=0.05,由尾概率值p=0.064928340.05=,可得H0相容;同样由F=2.90454
20、6 x s s ,1 ,2 ,31, 2.879368 10.0100 -1.8090532, 10.010000 199.7884 -5.6400003, -1.809053 -5.6400 3.627658 a a$values1 200.462464 4.531591 1.301392$vectors ,1 ,2 ,31, -0.05084144 -0.57370364 0.817483512, -0.99828352 0.05302042 -0.024876553, 0.02907156 0.81734508 0.575414524.3多总体均值向量的检验4.3.1 两正态总体均值向量
21、的检验书上例3.3.1,R程序为: n m p x ln x0 mx a1 y y0 my a2 a xy ai dd d2 t2 f pp x0 ,1 ,2 ,3 ,41, 64 43 30.5 63 y0 ,1 ,2 ,3 ,41, 51.5 51 40 70.5 a1 ,1 ,2 ,3 ,41, 490 -170 -120.0 -2452, -170 510 10.0 3103, -120 10 322.5 2604, -245 310 260.0 510 a2 ,1 ,2 ,3 ,41, 502.5 60 175 -7.52, 60.0 390 50 195.03, 175.0 50
22、450 -100.04, -7.5 195 -100 322.5 d2 ,11, 5.972499 t2 ,11, 29.86250 f ,11, 6.221353 pp ,11, 0.003705807取检验程度为=0.01,依据尾概率值p=0.0037058070.01=,可得应否认H0。4.3.2 多个正态总体均值向量的检验-多元方差分析书上例3.3.2,可利用类似例3.2.1或例3.3.1的程序进展计算得出结论。下面我们用R自带的manova()函数进展分析。程序如下:x-read.table(D:/data/d332.txt,header=T) x-as.matrix(x,1:4) rate-factor(gl(3,20),labels=c(group1,group2,group3) fit summary.aov(fit) Response x1 : Df Sum Sq Mean Sq F value Pr(F) rate 2 39066 19533 8.878 0.0004401 *Residuals 57 125409 2200 -Signif. codes: 0 * 0.001 * 0.01 * 0.05 . 0.1 1 Response x2 : Df Sum Sq Mean Sq F value Pr(F) rate