多元统计分析上机讲义.docx
- 文档编号:772288
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:57
- 大小:196.64KB
多元统计分析上机讲义.docx
《多元统计分析上机讲义.docx》由会员分享,可在线阅读,更多相关《多元统计分析上机讲义.docx(57页珍藏版)》请在冰豆网上搜索。
多元统计分析上机讲义
应用多元统计分析
R实验上机讲义应用多元统计分析4
AppliedMultivariateStatisticalAnalysis4
第一章绪论4
第二章矩阵4
2.1矩阵的建立4
2.2矩阵的下标(index)与子集(元素)的提取6
2.3矩阵四则运算7
2.3.1矩阵的加减运算7
2.3.2矩阵的相乘8
2.3.3矩阵的求逆8
2.4矩阵的其他一些代数运算8
2.4.1求转置矩阵8
2.4.2提取对角元素8
2.4.3矩阵的合并与拉直8
2.4.4方阵的行列式9
2.4.5矩阵的特征根和特征向量9
2.4.6其它函数9
2.5矩阵的统计运算10
2.5.1求均值10
2.5.2标准化10
2.5.3减去中位数10
第三章多元正态分布及参数的估计10
3.1绘制二元正态密度函数及其相应等高线图10
3.2多元正态分布的参数估计12
3.2.1多元正态总体的相关量12
3.2.2极大似然估计13
第四章多元正态总体参数的假设检验14
4.1几个重要统计量的分布14
4.2单总体均值向量的检验及置信域14
4.2.1均值向量的检验14
4.2.2样本协方差阵的特征值和特征向量15
4.3多总体均值向量的检验16
4.3.1两正态总体均值向量的检验16
4.3.2多个正态总体均值向量的检验-多元方差分析17
4.4协方差阵的检验18
4.4.2多总体协方差阵的检验18
4.5独立性检验18
4.6正态性检验19
第五章判别分析20
5.1距离判别21
5.1.1马氏距离21
5.1.2两总体的距离判别21
5.1.3多个总体的距离判别24
5.2贝叶斯判别法及广义平方距离判别法24
5.2.1先验概率(先知知识)24
5.2.2广义平方距离25
5.2.3后验概率(条件概率)25
5.2.4贝叶斯判别准则25
5.3费希尔(Fisher)判别28
第六章聚类分析29
6.2距离和相似系数29
6.2.1距离29
6.2.2数据中心化与标准化变换29
6.2.3相似系数30
6.3系统聚类法30
6.4类个数的确定32
6.5动态聚类法34
6.7变量聚类方法34
第七章主成分分析35
7.2样本的主成分36
7.3主成分分析的应用37
第八章因子分析40
8.3参数估计方法40
8.4方差最大的正交旋转43
8.5因子得分43
第九章对应分析方法44
第十章典型相关分析46
应用多元统计分析
AppliedMultivariateStatisticalAnalysis
第一章绪论
在实际问题中,很多随机现象涉及到的变量不是一个,而是经常是多个变量,并且这些变量间又存在一定的联系。
我们经常需要处理多个变量的观测数据,如果用一元统计方法,由于忽视了各个变量之间可能存在的相关性,一般说来,丢失信息太多,分析的结果不能客观全面反映数据所包含的内容,因此,我们就需要用到多元统计的方法。
多元统计分析(MultivariateStatisticalAnalysis)也称多变量统计分析、多因素统计分析或多元分析,是研究客观事物中多变量(多因素或多指标)之间的相互关系和多样品对象之间差异以及以多个变量为代表的多元随机变量之间的依赖和差异的现代统计分析理论和方法。
多元统计分析是解决实际问题的有效的数据处理方法。
随着电子计算机使用的日益普及,多元统计统计方法已广泛地应用于自然科学、社会科学的各个方面。
第二章矩阵
矩阵即是二维的数组,它非常的重要,以至于需要单独讨论。
由于矩阵应用非常广泛,因此对它定义了一些特殊的应用和操作,R包括许多只对矩阵操作的操作符和函数。
2.1矩阵的建立
在R中最为常用的是用命令matrix()建立矩阵,而对角矩阵常用函数diag()建立。
例如
>X<-matrix(1,nr=2,nc=2)
>X
[,1][,2]
[1,]11
[2,]11
>X<-diag(3)#生成单位阵
>X
[,1][,2][,3]
[1,]100
[2,]010
[3,]001
>diag(2.5,nr=3,nc=5)
[,1][,2][,3][,4][,5]
[1,]2.50.00.000
[2,]0.02.50.000
[3,]0.00.02.500
>X<-matrix(1:
4,2)#等价于X<-matrix(1:
4,2,2)
>X
[,1][,2]
[1,]13
[2,]24
>rownames(X)<-c("a","b")
>colnames(X)<-c("c","d")
>X
cd
a13
b24
>dim(X)
[1]22
>dimnames(X)
[[1]]
[1]"a""b"
[[2]]
[1]"c""d"
注意:
循环准则仍然适用于matrix(),但要求数据项的个数等于矩阵的列数的倍数,否则会出现警告。
矩阵的维数使用c()会得到不同的结果(除非是方阵),因此需要小心。
数据项填充矩阵的方向可通过参数byrow来指定,其缺省是按列填充的(byrow=FALSE),byrow=TRUE表示按行填充数据。
再看几个例子:
>X<-matrix(1:
4,2,4)#按列填充
>X
[,1][,2][,3][,4]
[1,]1313
[2,]2424
>X<-matrix(1:
4,2,3)
Warningmessage:
Inmatrix(1:
4,2,3):
数据长度[4]不是矩阵列数[3]的整倍数
>X<-matrix(1:
4,c(2,3))#不经常使用
>X
[,1][,2]
[1,]13
[2,]24
>X<-matrix(1:
4,2,4,byrow=TRUE)#按行填充
>X
[,1][,2][,3][,4]
[1,]1234
[2,]1234
因为矩阵是数组的特例,R中数组由函数array()建立,因此矩阵也可以用函数array()来建立,其一般格式为:
>array(data,dim,dimnames)
其中data为一向量,其元素用于构建数组;dim为数组的维数向量(为数值型向量);dimnames为由各维的名称构成的向量(为字符型向量),缺省为空。
看几个例子:
>A<-array(1:
6,c(2,3))
>A
[,1][,2][,3]
[1,]135
[2,]246
>A<-array(1:
4,c(2,3))
>A
[,1][,2][,3]
[1,]131
[2,]242
>A<-array(1:
8,c(2,3))
>A
[,1][,2][,3]
[1,]135
[2,]246
2.2矩阵的下标(index)与子集(元素)的提取
矩阵的下标可以使用正整数、负整数和逻辑表达式,从而实现子集的提取或修改。
考查矩阵
>x<-matrix(1:
6,2,3)
>x
[,1][,2][,3]
[1,]135
[2,]246
•提取一个元素
>x[2,2]
[1]4
•提取若一个或若干个行或列
>x[2,2]
[1]4
>x[2,]
[1]246
>x[,2]
[1]34
>x[,2,drop=FALSE]
[,1]
[1,]3
[2,]4
>x[,c(2,3),drop=FALSE]
[,1][,2]
[1,]35
[2,]46
•去掉某一个或若干个行与列
>x[-1,]
[1]246
>x[,-2]
[,1][,2]
[1,]15
[2,]26
•添加与替换元素
>x[,3]<-NA
>x
[,1][,2][,3]
[1,]13NA
[2,]24NA
>x[is.na(x)]<-1#缺失值用1代替
>x
[,1][,2][,3]
[1,]131
[2,]241
2.3矩阵四则运算
矩阵也可以进行四则运算(“+”、“-”、“*”、“/”,“^”),分别解释为矩阵对应元素的四则运算。
在实际应用中,比较有实际应用的是矩阵的相加,相减,相乘和矩阵的求逆。
矩阵的加减运算一般要求矩阵形状完全相同(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表示两个矩阵的逐元相乘,而不是X和Y的乘积。
2.3.3矩阵的求逆
若矩阵A为一方阵,矩阵的逆可以用下面的命令计算:
solve(A)。
操作符solve()可以用来求解线性方程组:
Ax=b,解为solve(A,b)
在数学上,用直接求逆的办法解x<-solve(A)%*%b相比solve(A,b)不仅低效而且还有一种潜在的不稳定性。
2.4矩阵的其他一些代数运算
2.4.1求转置矩阵
转置函数为t(),矩阵X的转置为t(X)。
2.4.2提取对角元素
提取对角元的函数为diag()。
例如:
>X<-matrix(1:
4,2,2)
>diag(X)
[1]14
事实上,diag()的作用依赖于自变量,diag(vector)返回以自变量(向量)为主对角元素的对角矩阵;diag(matrix)返回由矩阵的主对角元素所组成的向量;diag(k)(k为标量)返回k阶单位阵。
2.4.3矩阵的合并与拉直
函数cbind()把几个矩阵横向拼成一个大矩阵,这些矩阵行数应该相同;函数rbind()把几个矩阵列向拼成一个大矩阵,这些矩阵列数应该相同。
(如果参与合并的矩阵比其它矩阵行数少或列数少,则循环不足后合并。
)例如:
>m1<-matrix(1,nr=2,nc=2)
>m1
[,1][,2]
[1,]11
[2,]11
>m2<-matrix(2,nr=2,nc=2)
>m2
[,1][,2]
[1,]22
[2,]22
>rbind(m1,m2)
[,1][,2]
[1,]11
[2,]11
[3,]22
[4,]22
>cbind(m1,m2)
[,1][,2][,3][,4]
[1,]1122
[2,]1122
2.4.4方阵的行列式
求方阵的行列式使用det():
X<-matrix(1:
4,2)
>X
[,1][,2]
[1,]13
[2,]24
>det(X)
[1]-2
2.4.5矩阵的特征根和特征向量
函数eigen()用来计算矩阵的特征值和特征
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 多元 统计分析 上机 讲义