matlab与多元统计分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab与多元统计分析
Matlab与多元统计分析
胡云峰安庆师范学院
第三章习题
对某地区的6名2周岁男婴的身高、胸围、上半臂进行测量。得样本数据如表所示。假设男婴的测量数据X(a)(a=1,…,6)来自正态总体N3(,∑)的随机样本。根据以往的资料,该地区城市2周岁男婴的这三项的均值向量0=(90,58,16)’,试检验该地区农村男婴与城市男婴是否有相同的均值向量。
输出结果
2利用matlab画雷达图
此图用matlab画起来比较复杂
首先我们修改polar函数
在命令窗口输入edit polar结果会出现polar函数的程序
其中我们把
% plot spokes
th = (1:6)*2*pi/12;
cst = cos(th); snt = sin(th);
cs = [-cst; cst];
程序:
%设计一个把样品分为两类的程序,以及对应最后一类分割点
D=D';
L=zeros(n-1,n-1);
alp=zeros(n-1,n-1);
for m=2:n;
s=zeros(1,m-1);
for j=2:m
s(1,j-1)=D(1,j-1)+D(j,m);
end
L(m-1,1)=min(s(1,1:m-1));
20
8
福建
9
广东
19
10
广西
16
11
海南
第二组
12
黑龙江
13
吉林
14
内蒙古
15
山西
16
河南
17
湖北
18
湖南
11
19
江西
18
20
甘肃
21
宁夏
22
四川
23
云南
24
贵州
84
25
青海
26
新疆
27
西藏
待判样品
28
江苏
29
安徽
30
陕西
解求均值及协方差的逆的估计值
程序
X1=[ ; ; ;...
; ; ;...
20 ; ;19 ;...
hold on;
mypolar(x,y2,'m');
hold on;
mypolar(x,y3,'g');
hold on;
mypolar(x,y4,'y')
legend('1','2','11','12');
输出结果
第五章聚类分析
习题.下表给出我国历年职工人数(单位:万人),请用有序样品的fisher法聚类。
15
15
15
在这里解释一下这两个矩阵行表示分为k类,k从2到15;列表示样本数m,m从2到15
我们只看下三角所有元素,其它元素理解为空,接下来我们根据结果分析
如果我们要把样品分为三类,则第一个分割点为11,然后第二个分割点为6
得到
第一类:{1952,1954,1956,1958,1960}
第二类:{1962,1964,1966,1968,1970}
程序x=[78 ;76 ;92 ;81 ;81 ;84 ];
[n,p]=size(x);
i=1:1:n;
xjunzhi=(1/n)*sum(x(i,:));
y=rand(p,n);
for j=1:1:n
y(:,j)= x(j,:)'-xjunzhi';
y=y;
end
A=zeros(p,p);
for k=1:1:n;
得到结果yjunzhi =
S =
然后
t=((n*m)/(n+m))*((xjunzhi-yjunzhi)')*(S^(-1))*(xjunzhi-yjunzhi)
F=((n+m-p-1)/(p*(n+m-2)))*t
输出结果t =
F =
查表得(3,11)=> (3,11)=>
因此在a=或a=时接受 假设
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
我们只看下三角所有元素,其它元素理解为空
第二步我们计算损失函数矩阵L
for j=1:1:m
z(:,j)= y(j,:)'-yjunzhi';
z=z;
end
B=zeros(p,p);
for k=1:1:m;
B=B+(z(:,k)*z(:,k)');
end
Sy=((m-1)^(-1))*B;
yjunzhi=yjunzhi'
S=(1/(n+m-2))*((n-1)*Sx+(m-1)*Sy)
再将后面的所有程序中的30改为72
然后另存为work中并命名为
然后输入程序
x=[0:pi/:2*pi];
y1=[99 94 93 100 100 99];
y2=[99 88 96 99 97 99];
y3=[76 72 43 67 78 76];
y4=[85 75 50 34 37 85];
mypolar(x,y1,'b');
1976
6860
1813
1978
7451
2048
1980
8019
2425
解第一步数据标准化后计算直径D
程序:
X=[1580 23;1881 121;2423 554;4532 662;5044 925;3303 1012;3465 1136;...
3939 1264;4170 1334;4792 1424;5610 1524;6007 1644;6860 1813;...
y=zeros(1,j-i+1);
for s=i:1:j
y(s)=(X(s,:)-xgjunzhi)*(X(s,:)-xgjunzhi)';
end
s=i:1:j;
D(i,j)=sum(y);
else
D(i,j)=0;
end
end
end
D=D'
输出结果矩阵太大,所以用excel处理了一下
D=
0
0
0
0
0
8
8
8
9
0
0
0
0
0
0
4
6
8
8
10
10
10
10
10
0
0
0
0
0
4
10
10
10
10
10
11
11
11
11
0
0
0
0
4
10
10
10
11
11
11
12
12
12
12
0
0
0
4
11
11
11
11
13
13
13
13
13
13
13
0
0
10
11
13
13
13
13
13
13
14
14
14
14
14
0
10
12
13
14
15
15
15
15
15
15
15
hold on
plot(x,y4,'k--o','linewidth',2);
xlabel('学科');ylabel('分数');
legend('1','2','11','12');
set(gca,'xtick',[1 2 3 4 5])
set(gca,'xticklabel',{'政治','语文','外语','数学','物理'})
由上一题知道
xjunzhi =
Sx=
类似程序
xjunzhi=[82;;];
Sx=[ ; ; ];
n=6;
y=[ ; 15;78 15; ;79 ;78 ;75 ;64 ;80 ];
[m,p]=size(y);
i=1:1:m;
yjunzhi=(1/m)*sum(y(i,:));
z=rand(p,m);
7451 2048;8019 2425];
stdr=std(X);
[n,m]=size(X);
X=X./stdr(ones(n,1),:);
[n p]=size(X);
D=zeros(n,n);
for i=1:1:n;
for j=1:1:n;
if i<j
t=i:1:j;
xgjunzhi=(1/(j-i+1))*sum(X(t,:));
f =
所以 =
=
查表得F3,3=<F3,3=<
因此在a=或a=时拒绝 假设
相应于表再给出该地区9名2周岁女婴的三项指标的测量数据如表所示。假设女婴的测量数据Y(a)(a=1,…,9)来自正态总体N3(,∑)的随机样本。试检验2周岁男婴与女婴的均值是有无显着差异
表某地区农村2周岁女婴体格测量数据
女婴
身高(X1)cm
for j=1:m-k+1
if L(m-1,k-1)==s(1,j);
alp(m-1,k-1)=j+k-1;
end
end
end
end
输出结果这里由于表太大,用excel处理一下
L=
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
A=A+(y(:,k)*y(:,k)');
end
xjunzhi=xjunzhi'
S=((n-1)^(-1))*A
输出结果xjunzhi =
S =
然后u=[90;58;16];
t2=n*(xjunzhi-u)'*(S^(-1))*(xjunzhi-u)
f=((n-p)/(p*(n-1)))*t2
输出结果t2 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
alp=
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
4
4
4
0
0
0
0
0
0
0
0
0
0
0
4
4
5
5
0
0
0
0
0
0
0
0
0
0
4
6
6
6
6
0
0
0
0
0
0
0
0
0
4
6
6
6
6
7
0
0
0
0
0
0
0
0
4
6
6
6
8
8
8
0
0
0
0
0
0
0
4
6
6
8
y2=[99 88 96 99 97];
y3=[76 72 43 67 78];
y4=[85 75 50 34 37];
plot(x,y1,'k-o','linewidth',1);
hold on;
plot(x,y2,'r--*','linewidth',2);
hold on;
plot(x,y3,'','linewidth',2);
表某地区农村2周岁男婴的体格测量数据
男婴
身高(X1)cm
胸围身高(X2)cm
上半臂围身高(X3)cm
1
78
2
76
3
92
4
81
59
14
5
81
6
84
14
解
1.预备知识∑未知时均值向量的检验:
H0:=0H1:≠0
H0成立时
当 或者 拒绝
当 或者 接受
这里
2.根据预备知识用matlab实现本例题
算样本协方差和均值
第三类:{1972,1974,1976,1978,1980}
第六章判别分析
例对全国30个省市自治区1994年影响各地区经济增长差异的制度变量x1—经济增长率,x2—非国有化水平,x3—开放度,x4—市场化程度作贝叶斯判别分析。
类别
序号
地区
x1
x2
x3
x4
第一组
1
辽宁
2
河北
3
天津
4
北京
5
山东
6
上海
7
浙江
for j=1:m-1
if L(m-1,1)==s(1,j);
alp(m-1,1)=j+1;
end
end
end
%分为k类
for k=3:n;
for m=k:n
s=zeros(1,m-k+1);
for j=k:m;
s(1,j-k+1)=L(j-2,k-2)+D(j,m);
end
L(m-1,k-1)=min(s(1,1:m-k+1));
16 ; ];
X2=[ ; ; ;...
; ; ;...
11 ;18 ; ;...
; ; ;...
84 ; ; ;...
第四章习题
下表列举某年级任取12名学生的5门主课的期末考试成绩,试绘制学生序号为1、2、11、12的轮廓图、雷达图。
表学生学习成绩
序号
政治
语文
外语
数学
物理
1
99
94
93
100
100
2
99
88
96
99
97
3
100
98
81
96
100
4
93
88
88
99
96
5
100
91
72
96
78
6
90
78
82
75
97
7
75
sn = [-snt; snt];
line(rmax*cs,rmax*sn,'linestyle',ls,'color',tc,'linewidth',1,...
'handlevisibility','off','parent',cax)
修改为
% plot spokes
th = (1:3)*2*pi/6;
胸围身高(X2)cm
上半臂围身高(X3)cm
1
80
14
2
75
15
3
78
15
4
75
13
5
79
14
6
78
7
75
58
8
64
11
9
80
解
1.预备知识
有共同未知协方差阵 时
在 成立的情况下且两样本独立
给定检验水平 ,查 分布表,使 ,可确定出临界值 ,再用样本值计算出 ,若 ,则否定 ,否则接受 。
2.根据预备知识用matlab实现本例题
年份
全民所有制
集体所有制
1952
1580
23
1954
1881
121
1956
2423
554来自百度文库
1958
4532
662
1960
5044
925
1962
3303
1012
1964
3465
1136
1966
3939
1264
1968
4170
1334
1970
4792
1424
1972
5610
1524
1974
6007
1644
73
88
97
89
8
93
84
83
68
88
9
87
73
60
76
84
10
95
82
90
62
39
11
76
72
43
67
78
12
85
75
50
34
37
解我们只需要数据如下
1
99
94
93
100
100
2
99
88
96
99
97
11
76
72
43
67
78
12
85
75
50
34
37
1利用matlab画轮廓图
程序x=1:5;
y1=[99 94 93 100 100];
cst = cos(th); snt = sin(th);
cs = [-cst; cst];
sn = [-snt; snt];
line(rmax*cs,rmax*sn,'linestyle',ls,'color',tc,'linewidth',1,...
'handlevisibility','off','parent',cax)
Matlab与多元统计分析
胡云峰安庆师范学院
第三章习题
对某地区的6名2周岁男婴的身高、胸围、上半臂进行测量。得样本数据如表所示。假设男婴的测量数据X(a)(a=1,…,6)来自正态总体N3(,∑)的随机样本。根据以往的资料,该地区城市2周岁男婴的这三项的均值向量0=(90,58,16)’,试检验该地区农村男婴与城市男婴是否有相同的均值向量。
输出结果
2利用matlab画雷达图
此图用matlab画起来比较复杂
首先我们修改polar函数
在命令窗口输入edit polar结果会出现polar函数的程序
其中我们把
% plot spokes
th = (1:6)*2*pi/12;
cst = cos(th); snt = sin(th);
cs = [-cst; cst];
程序:
%设计一个把样品分为两类的程序,以及对应最后一类分割点
D=D';
L=zeros(n-1,n-1);
alp=zeros(n-1,n-1);
for m=2:n;
s=zeros(1,m-1);
for j=2:m
s(1,j-1)=D(1,j-1)+D(j,m);
end
L(m-1,1)=min(s(1,1:m-1));
20
8
福建
9
广东
19
10
广西
16
11
海南
第二组
12
黑龙江
13
吉林
14
内蒙古
15
山西
16
河南
17
湖北
18
湖南
11
19
江西
18
20
甘肃
21
宁夏
22
四川
23
云南
24
贵州
84
25
青海
26
新疆
27
西藏
待判样品
28
江苏
29
安徽
30
陕西
解求均值及协方差的逆的估计值
程序
X1=[ ; ; ;...
; ; ;...
20 ; ;19 ;...
hold on;
mypolar(x,y2,'m');
hold on;
mypolar(x,y3,'g');
hold on;
mypolar(x,y4,'y')
legend('1','2','11','12');
输出结果
第五章聚类分析
习题.下表给出我国历年职工人数(单位:万人),请用有序样品的fisher法聚类。
15
15
15
在这里解释一下这两个矩阵行表示分为k类,k从2到15;列表示样本数m,m从2到15
我们只看下三角所有元素,其它元素理解为空,接下来我们根据结果分析
如果我们要把样品分为三类,则第一个分割点为11,然后第二个分割点为6
得到
第一类:{1952,1954,1956,1958,1960}
第二类:{1962,1964,1966,1968,1970}
程序x=[78 ;76 ;92 ;81 ;81 ;84 ];
[n,p]=size(x);
i=1:1:n;
xjunzhi=(1/n)*sum(x(i,:));
y=rand(p,n);
for j=1:1:n
y(:,j)= x(j,:)'-xjunzhi';
y=y;
end
A=zeros(p,p);
for k=1:1:n;
得到结果yjunzhi =
S =
然后
t=((n*m)/(n+m))*((xjunzhi-yjunzhi)')*(S^(-1))*(xjunzhi-yjunzhi)
F=((n+m-p-1)/(p*(n+m-2)))*t
输出结果t =
F =
查表得(3,11)=> (3,11)=>
因此在a=或a=时接受 假设
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
我们只看下三角所有元素,其它元素理解为空
第二步我们计算损失函数矩阵L
for j=1:1:m
z(:,j)= y(j,:)'-yjunzhi';
z=z;
end
B=zeros(p,p);
for k=1:1:m;
B=B+(z(:,k)*z(:,k)');
end
Sy=((m-1)^(-1))*B;
yjunzhi=yjunzhi'
S=(1/(n+m-2))*((n-1)*Sx+(m-1)*Sy)
再将后面的所有程序中的30改为72
然后另存为work中并命名为
然后输入程序
x=[0:pi/:2*pi];
y1=[99 94 93 100 100 99];
y2=[99 88 96 99 97 99];
y3=[76 72 43 67 78 76];
y4=[85 75 50 34 37 85];
mypolar(x,y1,'b');
1976
6860
1813
1978
7451
2048
1980
8019
2425
解第一步数据标准化后计算直径D
程序:
X=[1580 23;1881 121;2423 554;4532 662;5044 925;3303 1012;3465 1136;...
3939 1264;4170 1334;4792 1424;5610 1524;6007 1644;6860 1813;...
y=zeros(1,j-i+1);
for s=i:1:j
y(s)=(X(s,:)-xgjunzhi)*(X(s,:)-xgjunzhi)';
end
s=i:1:j;
D(i,j)=sum(y);
else
D(i,j)=0;
end
end
end
D=D'
输出结果矩阵太大,所以用excel处理了一下
D=
0
0
0
0
0
8
8
8
9
0
0
0
0
0
0
4
6
8
8
10
10
10
10
10
0
0
0
0
0
4
10
10
10
10
10
11
11
11
11
0
0
0
0
4
10
10
10
11
11
11
12
12
12
12
0
0
0
4
11
11
11
11
13
13
13
13
13
13
13
0
0
10
11
13
13
13
13
13
13
14
14
14
14
14
0
10
12
13
14
15
15
15
15
15
15
15
hold on
plot(x,y4,'k--o','linewidth',2);
xlabel('学科');ylabel('分数');
legend('1','2','11','12');
set(gca,'xtick',[1 2 3 4 5])
set(gca,'xticklabel',{'政治','语文','外语','数学','物理'})
由上一题知道
xjunzhi =
Sx=
类似程序
xjunzhi=[82;;];
Sx=[ ; ; ];
n=6;
y=[ ; 15;78 15; ;79 ;78 ;75 ;64 ;80 ];
[m,p]=size(y);
i=1:1:m;
yjunzhi=(1/m)*sum(y(i,:));
z=rand(p,m);
7451 2048;8019 2425];
stdr=std(X);
[n,m]=size(X);
X=X./stdr(ones(n,1),:);
[n p]=size(X);
D=zeros(n,n);
for i=1:1:n;
for j=1:1:n;
if i<j
t=i:1:j;
xgjunzhi=(1/(j-i+1))*sum(X(t,:));
f =
所以 =
=
查表得F3,3=<F3,3=<
因此在a=或a=时拒绝 假设
相应于表再给出该地区9名2周岁女婴的三项指标的测量数据如表所示。假设女婴的测量数据Y(a)(a=1,…,9)来自正态总体N3(,∑)的随机样本。试检验2周岁男婴与女婴的均值是有无显着差异
表某地区农村2周岁女婴体格测量数据
女婴
身高(X1)cm
for j=1:m-k+1
if L(m-1,k-1)==s(1,j);
alp(m-1,k-1)=j+k-1;
end
end
end
end
输出结果这里由于表太大,用excel处理一下
L=
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
A=A+(y(:,k)*y(:,k)');
end
xjunzhi=xjunzhi'
S=((n-1)^(-1))*A
输出结果xjunzhi =
S =
然后u=[90;58;16];
t2=n*(xjunzhi-u)'*(S^(-1))*(xjunzhi-u)
f=((n-p)/(p*(n-1)))*t2
输出结果t2 =
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
alp=
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
4
4
4
0
0
0
0
0
0
0
0
0
0
0
4
4
5
5
0
0
0
0
0
0
0
0
0
0
4
6
6
6
6
0
0
0
0
0
0
0
0
0
4
6
6
6
6
7
0
0
0
0
0
0
0
0
4
6
6
6
8
8
8
0
0
0
0
0
0
0
4
6
6
8
y2=[99 88 96 99 97];
y3=[76 72 43 67 78];
y4=[85 75 50 34 37];
plot(x,y1,'k-o','linewidth',1);
hold on;
plot(x,y2,'r--*','linewidth',2);
hold on;
plot(x,y3,'','linewidth',2);
表某地区农村2周岁男婴的体格测量数据
男婴
身高(X1)cm
胸围身高(X2)cm
上半臂围身高(X3)cm
1
78
2
76
3
92
4
81
59
14
5
81
6
84
14
解
1.预备知识∑未知时均值向量的检验:
H0:=0H1:≠0
H0成立时
当 或者 拒绝
当 或者 接受
这里
2.根据预备知识用matlab实现本例题
算样本协方差和均值
第三类:{1972,1974,1976,1978,1980}
第六章判别分析
例对全国30个省市自治区1994年影响各地区经济增长差异的制度变量x1—经济增长率,x2—非国有化水平,x3—开放度,x4—市场化程度作贝叶斯判别分析。
类别
序号
地区
x1
x2
x3
x4
第一组
1
辽宁
2
河北
3
天津
4
北京
5
山东
6
上海
7
浙江
for j=1:m-1
if L(m-1,1)==s(1,j);
alp(m-1,1)=j+1;
end
end
end
%分为k类
for k=3:n;
for m=k:n
s=zeros(1,m-k+1);
for j=k:m;
s(1,j-k+1)=L(j-2,k-2)+D(j,m);
end
L(m-1,k-1)=min(s(1,1:m-k+1));
16 ; ];
X2=[ ; ; ;...
; ; ;...
11 ;18 ; ;...
; ; ;...
84 ; ; ;...
第四章习题
下表列举某年级任取12名学生的5门主课的期末考试成绩,试绘制学生序号为1、2、11、12的轮廓图、雷达图。
表学生学习成绩
序号
政治
语文
外语
数学
物理
1
99
94
93
100
100
2
99
88
96
99
97
3
100
98
81
96
100
4
93
88
88
99
96
5
100
91
72
96
78
6
90
78
82
75
97
7
75
sn = [-snt; snt];
line(rmax*cs,rmax*sn,'linestyle',ls,'color',tc,'linewidth',1,...
'handlevisibility','off','parent',cax)
修改为
% plot spokes
th = (1:3)*2*pi/6;
胸围身高(X2)cm
上半臂围身高(X3)cm
1
80
14
2
75
15
3
78
15
4
75
13
5
79
14
6
78
7
75
58
8
64
11
9
80
解
1.预备知识
有共同未知协方差阵 时
在 成立的情况下且两样本独立
给定检验水平 ,查 分布表,使 ,可确定出临界值 ,再用样本值计算出 ,若 ,则否定 ,否则接受 。
2.根据预备知识用matlab实现本例题
年份
全民所有制
集体所有制
1952
1580
23
1954
1881
121
1956
2423
554来自百度文库
1958
4532
662
1960
5044
925
1962
3303
1012
1964
3465
1136
1966
3939
1264
1968
4170
1334
1970
4792
1424
1972
5610
1524
1974
6007
1644
73
88
97
89
8
93
84
83
68
88
9
87
73
60
76
84
10
95
82
90
62
39
11
76
72
43
67
78
12
85
75
50
34
37
解我们只需要数据如下
1
99
94
93
100
100
2
99
88
96
99
97
11
76
72
43
67
78
12
85
75
50
34
37
1利用matlab画轮廓图
程序x=1:5;
y1=[99 94 93 100 100];
cst = cos(th); snt = sin(th);
cs = [-cst; cst];
sn = [-snt; snt];
line(rmax*cs,rmax*sn,'linestyle',ls,'color',tc,'linewidth',1,...
'handlevisibility','off','parent',cax)