matlab与多元统计分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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;
输
出
结
100
90
80
70
分数
60
50
40
30 政治
语文
外语 学科
数学
2 利用 matlab 画雷达图 此图用 matlab 画起来比较复杂 首先我们修改 polar 函数 在命令窗口输入 edit polar 结果会出现 polar 函数的程序 其中我们把
% plot spokes th = (1:6)*2*pi/12; 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)
解 第一步数据标准化后计算直径 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;... 7451 2048;8019 2425];
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,'b-.p','linewidth',2);
H0 成立时
n(X (n 1)
S
) WP
N P(0, ) (n 1, )
(n 1) n( X ) '((n 1)S) 1 n( X )
n( X ) ' S 1( X ) T 2( p, n 1)
(n 1) p 1 T 2 F (P, n p) (n 1) p
全民所有制 1580 1881 2423 4532 5044 3303 3465 3939 4170 4792 5610 6007 6860 7451 8019
集体所有制 23 121 554 662 925
1012 1136 1264 1334 1424 1524 1644 1813 2048 2425
当
n p T2 p(n 1)
F
(p,n
p) 或者 T 2
T2
拒绝 H0
当
n p T2 p(n 1)
F
(p,n
p) 或者 T 2
T2
接受 H0
这里 T2
p(n 1) n p
F
(
p
,
n
p)
2.根据预备知识用 matlab 实现本例题 算样本协方差和均值 程序 x=[78 60.6 16.5;76 58.1 12.5;92 63.2 14.5;81 59.0 14.0;81 60.8 15.5;84 59.5 14.0]; [n,p]=size(x); i=1:1:n;
H0 : 1 2
H1 : 1 2
在 H0 成立的情况下且两样本独立
nm nm
(X
Y
)
N P(0, )
(n m 2)S (n 1)S X (m 1)SY WP(n m 2, )
(n m 2)
nm nm
(
X
82.0000 60.2000 14.5000 S= 31.6000 8.0400 0.5000
8.0400 3.1720 1.3100 0.5000 1.3100 1.900 然后 u=[90;58;16]; t2=n*(xjunzhi-u)'*(S^(-1))*(xjunzhi-u) f=((n-p)/(p*(n-1)))*t2 输出结果 t2 = 420.4447 f= 84.0889
所以 T 2 n(X ) ' S 1(X ) =420.4447
F n p T 2 =84.0889 p(n 1)
查表得 F3,3(0.05)=9.28<84.0889
F3,3(0.01)=29.5<84.0889
因此在 a=0.05 或 a=0.01 时拒绝 H0 假设
身高(X1)cm 80 75 78 75 79 78 75 64 80
胸围身高(X2)cm 58.4 59.2 60.3 57.4 59.5 58.1 58 55.5 59.2
上半臂围身高(X3)cm 14 15 15 13 14 14.5 12.5 11 12.5
解
1. 预备知识
有共同未知协方差阵 时
给定检验水平 ,查 F 分布表,使 pF F ,可确定出临界值 F ,再用样本值计
算出 F ,若 F F ,则否定 H 0 ,否则接受 H 0 。
2.根据预备知识用 matlab 实现本例题
由上一题知道 xjunzhi =
82.0000 60.2000 14.5000
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; A=A+(y(:,k)*y(:,k)'); end xjunzhi=xjunzhi' S=((n-1)^(-1))*A 输出结果 xjunzhi =
物理 100 97 100 96 78 97 89 88 84 39 78 37
1
99
94
93
100
100
2
99
88
96
Βιβλιοθήκη Baidu99
97
11
76
72
43
67
78
12
85
75
50
34
37
1 利用 matlab 画轮廓图
程序 x=1:5;
y1=[99 94 93 100 100];
y2=[99 88 96 99 97];
Y)
((n
m
2)S
)
1
nm nm
(
X
Y)
nm nm
(
X
Y)
S
1
nm nm
(X
Y)
n m (X Y) 'S1(X Y) T 2( P, n m 2) nm
n m 2 p 1T 2 F (P, n m p 1) p(n m 2)
10072
1
80
2
11
144
60
12
40
20
0 252
第五章聚类分析
习题 5.3.下表给出我国历年职工人数(单位:万人),请用有序样品的 fisher 法聚类。
年份 1952 1954 1956 1958 1960 1962 1964 1966 1968 1970 1972 1974 1976 1978 1980
政治
1
99
2
99
3
100
4
93
5
100
6
90
7
75
8
93
9
87
10
95
11
76
12
85
解 我们只需要数据如下
表 4.1 学生学习成绩
语文
外语
94
93
88
96
98
81
88
88
91
72
78
82
73
88
84
83
73
60
82
90
72
43
75
50
数学 100 99 96 99 96 75 97 68 76 62 67 34
76.0000 58.4000 13.5000 S= 27.2308 6.5615 2.8462
6.5615 2.4323 1.4000 2.8462 1.4000 1.8462 然后 t=((n*m)/(n+m))*((xjunzhi-yjunzhi)')*(S^(-1))*(xjunzhi-yjunzhi) F=((n+m-p-1)/(p*(n+m-2)))*t 输出结果 t =5.3117 F =1.4982
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',{'政治','语文','外语','数学','物理'})
3.2 相应于表 3.1 再给出该地区 9 名 2 周岁女婴的三项指标的测量数据如表 3.2 所示。假设
女婴的测量数据 Y(a)(a=1,…,9)来自正态总体 N3(,∑)的随机样本。试检验 2 周岁男婴与女 婴的均值是有无显著差异
表 3.2 某地区农村 2 周岁女婴体格测量数据
女婴 1 2 3 4 5 6 7 8 9
Matlab 与多元统计分析
胡云峰 安庆师范学院
第三章习题
3.1 对某地区的 6 名 2 周岁男婴的身高、胸围、上半臂进行测量。得样本数据如表 3.1 所示。
假设男婴的测量数据 X(a)(a=1,…,6)来自正态总体 N3(,∑) 的随机样本。根据以往的资 料,该地区城市 2 周岁男婴的这三项的均值向量0=(90,58,16)’,试检验该地区农村男婴 与城市男婴是否有相同的均值向量。
再将后面的所有程序中的 30 改为 72 然后另存为 work 中并命名为 mypolar.m
然后输入程序
x=[0:pi/2.5: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'); hold on; mypolar(x,y2,'m'); hold on; mypolar(x,y3,'g'); hold on; mypolar(x,y4,'y') legend('1','2','11','12'); 输出结果
表 3.1 某地区农村 2 周岁男婴的体格测量数据
男婴
身高(X1)cm 胸围身高(X2)cm 上半臂围身高(X3)cm
1
78
60.6
16.5
2
76
58.1
12.5
3
92
63.2
14.5
4
81
59
14
5
81
60.8
15.5
6
84
59.5
14
解
1.预备知识 ∑未知时均值向量的检验: H0:=0 H1:≠0
Sx = 31.6000 8.0400 0.5000 8.0400 3.1720 1.3100 0.5000 1.3100 1.900
类似程序 xjunzhi=[82;60.2;14.5]; Sx=[31.6 8.04 0.5;8.04 3.1720 1.3100;0.5 1.31 1.9]; n=6; y=[80.0 58.4 14.0;75.0 59.2 15;78 60.3 15;75.0 57.4 13.0;79 59.5 14.0;78 58.1 14.5;75 58.0 12.5;64 55.5 11.0;80 59.2 12.5]; [m,p]=size(y); i=1:1:m; yjunzhi=(1/m)*sum(y(i,:)); z=rand(p,m); 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) 得到结果 yjunzhi =
修改为
% plot spokes th = (1:3)*2*pi/6; cst = cos(th); snt = sin(th); cs = [-cst; cst]; sn = [-snt; snt];
果 1 2 11 12
物理
line(rmax*cs,rmax*sn,'linestyle',ls,'color',tc,'linewidth',1,... 'handlevisibility','off','parent',cax)
查表得 F0.05(3,11)=3.59>1.4982 F0.01(3,11)=6.22>1.4982
因此在 a=0.05 或 a=0.01 时接受 H0 假设
第四章习题
4.1 下表列举某年级任取 12 名学生的 5 门主课的期末考试成绩,试绘制学生序号为 1、2、
11、12 的轮廓图、雷达图。
序号
输
出
结
100
90
80
70
分数
60
50
40
30 政治
语文
外语 学科
数学
2 利用 matlab 画雷达图 此图用 matlab 画起来比较复杂 首先我们修改 polar 函数 在命令窗口输入 edit polar 结果会出现 polar 函数的程序 其中我们把
% plot spokes th = (1:6)*2*pi/12; 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)
解 第一步数据标准化后计算直径 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;... 7451 2048;8019 2425];
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,'b-.p','linewidth',2);
H0 成立时
n(X (n 1)
S
) WP
N P(0, ) (n 1, )
(n 1) n( X ) '((n 1)S) 1 n( X )
n( X ) ' S 1( X ) T 2( p, n 1)
(n 1) p 1 T 2 F (P, n p) (n 1) p
全民所有制 1580 1881 2423 4532 5044 3303 3465 3939 4170 4792 5610 6007 6860 7451 8019
集体所有制 23 121 554 662 925
1012 1136 1264 1334 1424 1524 1644 1813 2048 2425
当
n p T2 p(n 1)
F
(p,n
p) 或者 T 2
T2
拒绝 H0
当
n p T2 p(n 1)
F
(p,n
p) 或者 T 2
T2
接受 H0
这里 T2
p(n 1) n p
F
(
p
,
n
p)
2.根据预备知识用 matlab 实现本例题 算样本协方差和均值 程序 x=[78 60.6 16.5;76 58.1 12.5;92 63.2 14.5;81 59.0 14.0;81 60.8 15.5;84 59.5 14.0]; [n,p]=size(x); i=1:1:n;
H0 : 1 2
H1 : 1 2
在 H0 成立的情况下且两样本独立
nm nm
(X
Y
)
N P(0, )
(n m 2)S (n 1)S X (m 1)SY WP(n m 2, )
(n m 2)
nm nm
(
X
82.0000 60.2000 14.5000 S= 31.6000 8.0400 0.5000
8.0400 3.1720 1.3100 0.5000 1.3100 1.900 然后 u=[90;58;16]; t2=n*(xjunzhi-u)'*(S^(-1))*(xjunzhi-u) f=((n-p)/(p*(n-1)))*t2 输出结果 t2 = 420.4447 f= 84.0889
所以 T 2 n(X ) ' S 1(X ) =420.4447
F n p T 2 =84.0889 p(n 1)
查表得 F3,3(0.05)=9.28<84.0889
F3,3(0.01)=29.5<84.0889
因此在 a=0.05 或 a=0.01 时拒绝 H0 假设
身高(X1)cm 80 75 78 75 79 78 75 64 80
胸围身高(X2)cm 58.4 59.2 60.3 57.4 59.5 58.1 58 55.5 59.2
上半臂围身高(X3)cm 14 15 15 13 14 14.5 12.5 11 12.5
解
1. 预备知识
有共同未知协方差阵 时
给定检验水平 ,查 F 分布表,使 pF F ,可确定出临界值 F ,再用样本值计
算出 F ,若 F F ,则否定 H 0 ,否则接受 H 0 。
2.根据预备知识用 matlab 实现本例题
由上一题知道 xjunzhi =
82.0000 60.2000 14.5000
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; A=A+(y(:,k)*y(:,k)'); end xjunzhi=xjunzhi' S=((n-1)^(-1))*A 输出结果 xjunzhi =
物理 100 97 100 96 78 97 89 88 84 39 78 37
1
99
94
93
100
100
2
99
88
96
Βιβλιοθήκη Baidu99
97
11
76
72
43
67
78
12
85
75
50
34
37
1 利用 matlab 画轮廓图
程序 x=1:5;
y1=[99 94 93 100 100];
y2=[99 88 96 99 97];
Y)
((n
m
2)S
)
1
nm nm
(
X
Y)
nm nm
(
X
Y)
S
1
nm nm
(X
Y)
n m (X Y) 'S1(X Y) T 2( P, n m 2) nm
n m 2 p 1T 2 F (P, n m p 1) p(n m 2)
10072
1
80
2
11
144
60
12
40
20
0 252
第五章聚类分析
习题 5.3.下表给出我国历年职工人数(单位:万人),请用有序样品的 fisher 法聚类。
年份 1952 1954 1956 1958 1960 1962 1964 1966 1968 1970 1972 1974 1976 1978 1980
政治
1
99
2
99
3
100
4
93
5
100
6
90
7
75
8
93
9
87
10
95
11
76
12
85
解 我们只需要数据如下
表 4.1 学生学习成绩
语文
外语
94
93
88
96
98
81
88
88
91
72
78
82
73
88
84
83
73
60
82
90
72
43
75
50
数学 100 99 96 99 96 75 97 68 76 62 67 34
76.0000 58.4000 13.5000 S= 27.2308 6.5615 2.8462
6.5615 2.4323 1.4000 2.8462 1.4000 1.8462 然后 t=((n*m)/(n+m))*((xjunzhi-yjunzhi)')*(S^(-1))*(xjunzhi-yjunzhi) F=((n+m-p-1)/(p*(n+m-2)))*t 输出结果 t =5.3117 F =1.4982
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',{'政治','语文','外语','数学','物理'})
3.2 相应于表 3.1 再给出该地区 9 名 2 周岁女婴的三项指标的测量数据如表 3.2 所示。假设
女婴的测量数据 Y(a)(a=1,…,9)来自正态总体 N3(,∑)的随机样本。试检验 2 周岁男婴与女 婴的均值是有无显著差异
表 3.2 某地区农村 2 周岁女婴体格测量数据
女婴 1 2 3 4 5 6 7 8 9
Matlab 与多元统计分析
胡云峰 安庆师范学院
第三章习题
3.1 对某地区的 6 名 2 周岁男婴的身高、胸围、上半臂进行测量。得样本数据如表 3.1 所示。
假设男婴的测量数据 X(a)(a=1,…,6)来自正态总体 N3(,∑) 的随机样本。根据以往的资 料,该地区城市 2 周岁男婴的这三项的均值向量0=(90,58,16)’,试检验该地区农村男婴 与城市男婴是否有相同的均值向量。
再将后面的所有程序中的 30 改为 72 然后另存为 work 中并命名为 mypolar.m
然后输入程序
x=[0:pi/2.5: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'); hold on; mypolar(x,y2,'m'); hold on; mypolar(x,y3,'g'); hold on; mypolar(x,y4,'y') legend('1','2','11','12'); 输出结果
表 3.1 某地区农村 2 周岁男婴的体格测量数据
男婴
身高(X1)cm 胸围身高(X2)cm 上半臂围身高(X3)cm
1
78
60.6
16.5
2
76
58.1
12.5
3
92
63.2
14.5
4
81
59
14
5
81
60.8
15.5
6
84
59.5
14
解
1.预备知识 ∑未知时均值向量的检验: H0:=0 H1:≠0
Sx = 31.6000 8.0400 0.5000 8.0400 3.1720 1.3100 0.5000 1.3100 1.900
类似程序 xjunzhi=[82;60.2;14.5]; Sx=[31.6 8.04 0.5;8.04 3.1720 1.3100;0.5 1.31 1.9]; n=6; y=[80.0 58.4 14.0;75.0 59.2 15;78 60.3 15;75.0 57.4 13.0;79 59.5 14.0;78 58.1 14.5;75 58.0 12.5;64 55.5 11.0;80 59.2 12.5]; [m,p]=size(y); i=1:1:m; yjunzhi=(1/m)*sum(y(i,:)); z=rand(p,m); 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) 得到结果 yjunzhi =
修改为
% plot spokes th = (1:3)*2*pi/6; cst = cos(th); snt = sin(th); cs = [-cst; cst]; sn = [-snt; snt];
果 1 2 11 12
物理
line(rmax*cs,rmax*sn,'linestyle',ls,'color',tc,'linewidth',1,... 'handlevisibility','off','parent',cax)
查表得 F0.05(3,11)=3.59>1.4982 F0.01(3,11)=6.22>1.4982
因此在 a=0.05 或 a=0.01 时接受 H0 假设
第四章习题
4.1 下表列举某年级任取 12 名学生的 5 门主课的期末考试成绩,试绘制学生序号为 1、2、
11、12 的轮廓图、雷达图。
序号