1 / 53
文档名称:

R软件应用多元分析.ppt

格式:ppt   大小:10,140KB   页数:53页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

R软件应用多元分析.ppt

上传人:qingqihe 2023/3/18 文件大小:9.90 MB

下载得到文件列表

R软件应用多元分析.ppt

文档介绍

文档介绍:该【R软件应用多元分析 】是由【qingqihe】上传分享,文档一共【53】页,该文档可以免费在线阅读,需要了解更多关于【R软件应用多元分析 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。
安徽师范大学数学计算机科学学院
丁新涛
当前1页,总共53页。
(分类)
已知有多少类,并且在训练样本的前提下,利用训练样本得到判别函数,对待测样本进行分类;

判别问题,就是将p维欧几里得空间Rp划分成k个互不相交的区域R1,R2,…,Rk。
若x∈Ri,i=1,2,…,k,则判定x属于总体Xi,i=1,2,…,k.
Mahalanobis距离的概念:
,y是从均值为μ,协方差矩阵为Σ的总体X中抽取的两个样本,则总体X内两点x,y的Mahalanobis距离定义为
样本x与总体X的Mahalanobis距离为:
当前2页,总共53页。
例如:
=


从欧氏距离看A到μ1的距离比到μ2的距离要近,但从概率分布的角度看,
,说明A到μ2的距离比到μ1的距离要近.
标准化
Mahalanobis距离符合概率分布内涵.
当前3页,总共53页。

.
总体X1,X2的均值向量分别为μ1,μ2,协方差分别为Σ1,Σ2,给定样本x,判断x来自哪一个总体.
≠μ2,Σ1=Σ2
判断准则:
判断准则:
当前4页,总共53页。
总体的均值与协方差未知时:
设是来自总体X1的n1个样本,是来自总体X2的n2个样本,则样本的均值与协方差阵为
判断准则:
当前5页,总共53页。
≠μ2,Σ1≠Σ2
判断函数:
总体的均值与协方差未知时:
总体的均值与协方差已知时:
MahalanobisDistance
ReturnsthesquaredMahalanobisdistanceofallrowsinxandthevectormu=centerwithrespecttoSigma=(forvectorx)definedasD^2=(x-μ)'Σ^-1(x-μ)
Usage:mahalanobis(x,center,cov,inverted=FALSE,...)
X:vectorormatrixofdatawith,say,pcolumns.
Center:meanvectorofthedistributionorseconddatavectoroflengthp.
Cov:covariancematrix(pxp)ofthedistribution.
当前6页,总共53页。
R程序
<-function(TrnX1,TrnX2,TstX=NULL,=FALSE)
{if((TstX)==TRUE)TstX<-rbind(TrnX1,TrnX2)
if((TstX)==TRUE)TstX<-t((TstX))
elseif((TstX)!=TRUE)
TstX<-(TstX)
if((TrnX1)!=TRUE)TrnX1<-(TrnX1)
if((TrnX2)!=TRUE)TrnX2<-(TrnX2)
nx<-nrow(TstX)#测定待测样本的个数
blong<-matrix(rep(0,nx),nrow=1,byrow=TRUE,dimnames=list(“blong”,1:nx))#产生一个行矩阵,共nx个数
mu1<-colMeans(TrnX1);mu2<-colMeans(TrnX2)
if(==TRUE||==T)
{S<-var(rbind(TrnX1,TrnX2))
w<-mahalanobis(TstX,mu2,S)-mahalanobis(TstX,mu1,S)}
else
{S1<-var(TrnX1);S2<-var(TrnX2)
w<-mahalanobis(TstX,mu2,S2)-mahalanobis(TstX,mu1,S1)}
for(iin1:nx)
{if(w[i]>0)blong[i]<-1
elseblong[i]<-2}
blong}
#X1,X2类的训练样本
#TstX=NULL待测样本
为2个训练样本之和
#数据全部转化成矩阵,
行表示样本个数,列表
示样本维数n
#根据第i个样本的wi值,返回样本类别结果
理论中的样本按列排列X=(X1,X2,…,Xn),每列是一个样本,n列表示n个样本,这里样本按行排X=(X1,X2,…,Xn)T
当前7页,总共53页。

,选了7个因子,今从已液化和未液化的地层中分别抽了12个和23个样本,数据列在表中,其中I类表示已液化类,II类表示未液化类。试建立距离判别的判别准则,并按判别准则对原35个样本进行回代(即按判别准则进行分类),分析误判情况。
编号
类别
x1
x2
x3
x4
x5
x6
x7
1
I

39
1
6
6

20
2
I

39
1
6
12

20
3
I

47
1
6
6

12
4
I

47
1
6
12

12
5
I

32
2

19

75
6
I

6
1
7
28

30
7
I

113

6
18

75
8
I

52
1
6
12

40
9
I

52


6

40
10
I

113
0

35

180
11
I

172
1

14

45
12
I

172

3
15

45
13
II

32
1
5
4

75
14
II

32
2
9
10

75
15
II

32

4
10

75
16
II

11


3

15
17
II
7
8


9

30
18
II
7
8
6

4

30
19
II
7
8

6
1

30
20
II

161

4
4

70
21
II

161


1

70
22
II

6

4
12

30
23
II

6
1
3
3

30
24
II

6
1
6
5

30
25
II

6

3
7

18
26
II

113


6

75
27
II

113


8

75
28
II

52
1
6
6

40
29
II

52
1

8

40
30
II

97
0
6
5

180
31
II

97

6
5

180
32
II

89
0
6
10

180
33
II

56

6
13

180
34
II

172
1

6

45
35
II

283
1

6

45
#R里的数据就是这样排,样本均值是对每个指标按列求均值,然后组成样本均值
当前8页,总共53页。
R实现:
classx1=('')
classx2=('')
(classx1,classx2,=T)
12345678910111213141516171819202**********
11111111211122222222222222
272829303132333435
blong211222222
blong
#在认为两个总体协方差相同的情况下,有3个点判错
(classx1,classx2)
12345678910111213141516171819202**********
11111111211122222222222222
272829303132333435
blong222222222
blong
#在认为两个总体协方差不同的情况下,有1个点判错
当前9页,总共53页。

μ1≠μ2…≠μk,Σ1=Σ2…=Σk
相应的判别准则:
<-function
(TrnX,TrnG,TstX=NULL,=FALSE)
{if((TrnG)==FALSE){
mx<-nrow(TrnX);mg<-nrow(TrnG)TrnX<-rbind(TrnX,TrnG)
TrnG<-factor(rep(1:2,c(mx,mg)))}
if((TstX)==TRUE)TstX<-TrnX#如果待测样本为空,则将训练样本视为待测样本
if((TstX)==TRUE)TstX<-t((TstX))
elseif((TstX)!=TRUE)#待测样本是多样本,但不是矩阵形式时
TstX<-(TstX)#转成矩阵()
if((TrnX)!=TRUE)TrnX<-(TrnX)nx<-nrow(TstX)blong<-matrix(rep(0,nx),nrow=1,dimnames=list(“blong”,1:nx))
#本页语句都是准备工作
#如果TrnG从主函数未接收到因子数据
#待测样本TstX是单样本时候,是向量vector,此时将其转为矩阵(是列矩阵),
然后再转成行矩阵
#则是2分类问题,而非多分类,可省略
#行名称为”blong”,列名称为数字1到nx
#产生类别矩阵blong,初始值全为0
当前10页,总共53页。