数据分析与建模实验指导书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据分析与建模实验指导书中原工学院经济管理学院
实习一MATLAB基本操作
一、实验目的
1.了解MATLAB操作环境。
2.掌握MATLAB的使用界面与相关操作。
二、实例
1.矩阵访问。
v=[1 2 3 4 5 6 7]; %生成一个行向量
v(3) %查询第三个元素的值
ans =
3
v(3)=23 %将第三个元素的值设为23
v =
1 2 23 4 5 6 7
v([1 2 6])=[11 12 16] %将下标为1、2、6的三元素的值设为11、12、16 v =
11 12 23 4 5 16 7
v(4:end) %查询第4至最后元素之间的所有元素
ans =
4 5 16 7
v(1:5) %查询第1至5个元素
ans =
11 12 23 4 5
m=[1 2 3;4 5 6] %产生一个新矩阵m
m =
1 2 3
4 5 6
m(2,3) %查询第2行第3列位置上的元素
ans =
6
m(:,2) %查询第2列元素上所有行的元素
ans =
2
5
m(2,:) %查询第2行上所有列的元素
ans =
4 5 6
m(2,[1 2]) %查询第2行上的第1、2列位置上的元素
ans =
4 5
m(1,[2 3])=[88 99] %将第1行上的第2、3列上的元素分别设为88和99
m =
1 88 99
4 5 6
m(2,2)=518 %将第2行2列位置上的元素设为518
m =
1 88 99
4 518 6
2.通过MATLAB指令创建向量和矩阵演示。
(1)指定起点:步长:终点。
如果不指定步长,则将步长默认为1,最后一个元素不一定是终点,这取决于区间长度是否为步长的整数倍。
该方法用于创建向量。
v = 0:0.2:1 %以0为起点、1为终点、步长为0.2创建一个数组(行向量)
v =
0 0.2000 0.4000 0.6000 0.8000 1.0000
v = 0:pi %起点0、终点pi、默认步长1。
最后一个元素不是终点。
v =
0 1 2 3
(2)linspace(起点,终点,元素个数),等分间隔。
该方法用于创建向量。
v = linspace(0,pi,3)
v =
0 1.5708 3.1416
v = linspace(0,3,5)
v =
0 0.7500 1.5000 2.2500 3.0000
3.矩阵乘、除操作。
A=magic(3);
B=ones(3);
A.*B %数组方式的乘法
ans =
8 1 6
3 5 7
4 9 2
A*B %矩阵方式的乘法
ans =
15 15 15
15 15 15
15 15 15
M=[1,2;2 1]
M =
1 2
2 1
B=[1 -1;1 0]
B =
1 -1
1 0
A./B %维数不匹配,将会出错
??? Error using ==> rdivide
Matrix dimensions must agree.
M./B %数组方式的除法
ans =
1 -2
2 Inf
B./M %数据方式的除法
ans =
1.0000 -0.5000
0.5000 0
M/B %矩阵方式的除法
ans =
-2 3
-1 3
M*inv(B) %以矩阵方式运算,M乘以B的逆矩阵
ans =
-2 3
-1 3
inv(B) %计算B的逆
ans =
0 1
-1 1
三、实习题
1.先生成两个矩阵:A=[3 6 9 5; 2 4 8 3; 1 2 3 7; 5 1 4 8]和B=[1 2 3 2; 2 4 1 5; 1 4 7 2; 7 4 2
9]后求解A.*B、A.\B和A./B的结果。
2.设f(x,y)= x2+sinxy+2y,在M文件编辑/调试器中创建一个名为wlb_3的M函数文件并保存,在命令窗口中调用M文件,实现输入自变量的值时输出函数值。
实习二数据统计量及其分布检验
一、实验目的
1.掌握利用MATLAB软件计算基本统计量与数据可视化方法。
2.掌握利用MATLAB软件进行数据正态性检验的方法。
二、实例
1.矩阵A是2008年安徽省各市森林资源情况统计数据,计算各指标均值、中位数以及三均值.
A=[53.93 50.98 15.48 256.00 65.41
44.92 40.38 14.99 211.07 151.14
148.19 145.54 17.10 842.09 677.52
293.86 279.86 28.80 1238.01 1035.67
86.96 74.64 12.91 302.67 299.32
165.62 160.25 16.46 898.76 800.96
17.93 16.37 6.20 151.39 30.17
199.46 158.24 11.90 885.16 591.17
660.36 607.16 34.74 2278.37 1984.36
17.14 13.72 8.10 81.20 36.34
148.52 117.54 12.60 494.38 335.26
77.27 66.69 20.85 279.34 187.92
724.30 640.15 54.00 2446.98 2323.04
36.78 32.10 32.12 137.64 115.10
539.49 458.66 56.86 2277.00 2237.43
598.92 546.67 35.60 2291.09 2099.21
791.50 680.96 77.80 3298.56 325]
资料来源:《安徽省统计年鉴2009》
M=mean(A); % 计算各指标(即各列)均值, MD=median(A); % 计算各指标中位数
SM=[0.25,0.5,0.25]*prctile(A,[25,50,75]); % 计算各指标三均值
[M;MD;SM] % 输出计算结果
%计算结果为
ans =
1.0e+003 *
0.2709 0.2406 0.0269 1.0806 0.9543
0.1485 0.1455 0.0171 0.8421 0.5912
0.2258 0.2050 0.0205 1.0516 0.8344
2.根据2007年华东各地区高校教职工数据计算专任教师、行政人员、教辅人员以及工勤人员占在职教工的百分比,该百分比的极差、四分位极差以及上、下截断点。
地区在职教工专任教师行政人员教辅人员工勤人员
上海61385 35480 10282 7842 7781
江苏134215 88568 20172 13371 12104
浙江67763 45622 10960 6798 4383
安徽59149 40743 7278 5763 5365
福建47864 31385 7712 5034 3733
江西63392 45153 8179 5495 4565
山东120996 81889 16342 11614 11151
clear
A=[61385 35480 10282 7842 7781
134215 88568 20172 13371 12104
67763 45622 10960 6798 4383
59149 40743 7278 5763 5365
47864 31385 7712 5034 3733
63392 45153 8179 5495 4565
120996 81889 16342 11614 11151
];
B=A(:,2:5)./[A(:,1)*ones(1,4)]; % 计算百分比
R=range(B); % 计算百分比极差
R1=iqr(B); % 计算四分位极差
XJ=prctile(B,[25])-1.5*R1; % 计算下截断点
SJ=prctile(B,[75])+1.5*R1; % 计算上截断点
B =
0.5780 0.1675 0.1278 0.1268
0.6599 0.1503 0.0996 0.0902
0.6733 0.1617 0.1003 0.0647
0.6888 0.1230 0.0974 0.0907
0.6557 0.1611 0.1052 0.0780
0.7123 0.1290 0.0867 0.0720
0.6768 0.1351 0.0960 0.0922
R =
0.1343 0.0445 0.0411 0.0621
R1 =
0.0291 0.0311 0.0076 0.0183
XJ =
0.6132 0.0840 0.0849 0.0461
SJ =
0.7294 0.2082 0.1154 0.1192
3.随机生成150个服从标准正态分布随机数,将这些数据作为样本数据,分别作出样本数据的柱形图、直方图、阶梯图、火柴棒图等图形。
clear
x= random('normal',0,1,[1,150]); %产生服从标准正态分布随机数150个
bar(x) %作柱形图
hist(x) %作直方图
stairs(x) %作阶梯图
stem(x) %作火柴棒图
4.生成服从标准正态分布的50个样本点,作出样本的经验分布函数图,并与理论分布函数比较.
clear
X=normrnd (0,1,50,1); %生成服从标准正态分布的50个样本点
[h,stats]=cdfplot(X); %作样本的经验分布函数图
hold on
plot(-3:0.01:3, normcdf(-3:0.01:3,0,1),'r') %作理论分布函数图
三、实习题
1.已知样本数据为
1,3,4,2,9,6,7,8,11,2.5,3,10
(1)求该数据的中位数;
(2)求该数据的顺序统计量;
(3)写出上述计算的MA TLAB实现程序。
2.设X~N(-2,1.5),利用MATLAB完成:
(1)画出该分布的概率密度函数曲线;
(2)求E(X)和Var(X);
(3)求概率P(X<=-1.5), P(X>0.5), P(<1X<3);
(4)求出该分布的0.05分位数、上侧0.05分位数和双侧0.05分位数;
(5)随机生成该分布容量为10的样本。
实习三回归分析
一、实验目的
掌握MATLAB回归分析的方法与计算步骤。
二、实例
1.近10年来,某市社会商品零售总额与职工工资总额(单位:亿元)数据如下表3.1。
工资总额23.8 27.6 31.6 32.4 33.7 34.9 43.2 52.8 63.8 73.4
零售总额41.4 51.8 61.7 67.9 68.7 77.5 95.9 137.4 155.0 175.0
建立社会商品零售总额与职工工资总额数据的回归模型.
clear
x=[23.80,27.60,31.60,32.40,33.70,34.90,43.20,52.80,63.80,73.40];
y=[41.4,51.8,61.70,67.90,68.70,77.50,95.90,137.40,155.0,175.0];
% 然后作散点图
plot(x,y,'*') %作散点图
xlabel('x(职工工资总额)') %横坐标名
ylabel('y(商品零售总额)') %纵坐标名
% 计算最佳参数
Lxx=sum((x-mean(x)).^2);
Lxy=sum((x-mean(x)).* (y-mean(y)));
b1=Lxy/Lxx
b0=mean(y)-b1*mean(x)
%给出例3.1.1解法的另一程序。
%p=polyfit(x,y,1) %注意取n=1
2.为了分析X射线的杀菌作用,用200千伏的X射线来照射细菌,每次照射6分钟用平板计数法估计尚存活的细菌数,照射次数记为t,照射后的细菌数y如表
3.2所示。
t 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
y 352 211 197 160 142 106 104 60 56 38 36 32 21 19 15
数据来源:http///~hadi/RABE
试求:①给出y与t的二次函数回归模型;
②在同一坐标系内做出原始数据与拟合结果的散点图
③预测t=16时残留的细菌数;
④根据问题实际意义选择多项式函数是否合适?
clear
% 输入原始数据
t=1:15;
y=[352,211,197,160,142,106,104,60,56,38,36,32,21,19,15];
% 作二次多项式回归
p=polyfit(t,y,2);
% 模型估计与作图
y1= polyval(p,t);
plot(t,y,'-*',t,y1,'-o');
legend('原始数据','二次函数')
xlabel('t(照射次数)')
ylabel('y(残留细菌数)')
% 预测t0=16时残留的细菌数
t0=16;
yc1= polyconf(p,t0)
yc1 =
39.0396
polytool(t,y,2)
3.炼钢厂出钢时所用盛钢水的钢包,由于钢水对耐火材料的侵蚀,容积不断增大,我们
希望找出使用次数与增大容积之间的函数关系.实验数据如表3.3。
(1)建立非线性回归模型1/y=a+b/x;
(2)预测钢包使用x0=17次后增大的容积y0;
(3)计算回归模型参数的95%的置信区间。
clear
x=[2:16];
y=[6.42,8.2,9.58,9.5,9.7,10,9.93,9.99,10.49,10.59,10.6,10.8,10.6,10.9,10.76];
%画散点图以确定选用图2-4曲线拟合
%plot(x,y) %从图形看建立非线性双曲线回归模型
b0=[0.084,0.1436]; % 初始参数值
fun=inline('x./(b(1)*x+b(2))','b','x');
[beta,r,J]=nlinfit(x,y,fun,b0);
beta % 输出最佳参数
y1=x./(0.0845*x+0.1152); % 拟合曲线
% figur(2)
plot(x,y,'*',x,y1,'-or')
legend('原始数据','拟合曲线')
%求a,b值
%[a,b]=solve('6.42*(2*a+b)=2','10.76*(16*a+b)=16')
%预测钢包使用17次后增大的容积,可在执行上面的程序中,继续输入命令
%ypred=nlpredci(fun,17,beta,r,J)
%求回归模型参数的95%的置信区间,只要继续添加程序
%ci = nlparci(beta,r,J)
4.某销售公司将库存占用资金情况、广告投入的费用、员工薪酬以及销售额等方面的数据作了汇总见表3.4。
该公司试图根据这些数据找到销售额与其他变量之间的关系,以便进行销售额预测并为工作决策提供参考依据。
(1)建立销售额的回归模型;(2)如果未来某月库存资金额为150万元,广告投入预算为45万元,员工薪酬总额为27万元,试根据建立的回
归模型预测该月的销售额。
clear
A=[75.2 30.6 21.1 1090.4 77.6 31.3 21.4 1133 80.7 33.9 22.9 1242.1 76 29.6 21.4 1003.2 79.5 32.5 21.5 1283.2 81.8 27.9 21.7 1012.2 98.3 24.8 21.5 1098.8 67.7 23.6 21 826.3 74 33.9 22.4 1003.3 151 27.7 24.7 1554.6 90.8 45.5 23.2 1199 102.3 42.6 24.3 1483.1 115.6 40 23.1 1407.1 125 45.8 29.1 1551.3 137.8 51.7 24.6 1601.2 175.6 67.2 27.5 2311.7 155.2 65 26.5 2126.7 174.3 65.4 26.8 2256.5]; [m,n]=size(A);
subplot(3,1,1),plot(A(:,1),A(:,4),'+'), xlabel('x1(库存资金额)')
ylabel('y(销售额)')
subplot(3,1,2),plot(A(:,2),A(:,4),'*'), xlabel('x2(广告投入)')
ylabel('y(销售额)')
subplot(3,1,3),plot(A(:,3),A(:,4),'x'), xlabel('x3(员工薪酬)')
ylabel('y(销售额)')
% 调用命令regress 建立三元线性回归模型 x=[ones(m,1), A(:,1), A(:,2), A(:,3)]; y=A(:,4)
[b,bint,r,rint,stats]=regress(y,x);
b,bint,stats, % 输出结果 %残差与置信区间图 %rcoplot(r,rint)
三、实习题
(1)求经验回归方程x y 1
0ˆˆˆββ+=。
(2)检验线性关系的显著性(α=0.05,采用F 检验)。
2.某省1978-1989消费费基金、国民收入使用额为67(十亿元),平均人口为58(百万人),当显著性水平α=0.05时,试估计1990年消费基金的预测区间。
实习四判别分析
一、实验目的
掌握MATLAB判别分析的方法与计算步骤。
二、实例
1.蠓是一种昆虫,分为很多类型,其中有一种名为Af,是能传播花粉的益虫;另一种名为Apf,是会传播疾病的害虫,这两种类型的蠓在形态上十分相似,很难区别。
现测得6只Apf和9只Af蠓虫的触角长度和翅膀长度数据Apf:(1.14,1.78), (1.18,1.96), (1.20,1.86), (1.26,
2.00), (1.28,2.00), (1.30,1.96) ;Af:(1.24,1.72), (1.36,1.74), (1.38,1.64), (1.38,1.82), (1.38,1.90), (1.40,1.70), (1.48,1.82),(1.54,1.82), (1.56,2.08).
若两类蠓虫协方差矩阵相等,试判别以下的三个蠓虫属于哪一类?
(1.24,1.8),(1.28,1.84),(1.4,2.04)
%方法一
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;1.30,1.96]; %总体apf
af=[1.24,1.72;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];
%总体af
x=[1.24,1.8;1.28,1.84; 1.4,2.04]; % 输入原始待判数据
n1=size(apf,1); %总体apf的样本容量
n2=size(af,1); %总体af的样本容量
m1=mean(apf); %总体apf 的均值向量
m2=mean(af); %总体af 的均值向量
s1=cov(apf); %总体apf 的协方差
s2=cov(af); %总体af 的协方差
s=((n1-1)*s1+(n2-1)*s2)/(n1+n2-2); %计算样本均值与协方差矩阵
for i=1:3
W(i)=(x(i,:)-1/2*(m1+m2))*inv(s)*(m1-m2)'; % 计算判别函数值
end
输出结果为:
W =
2.1640 1.3568 1.9802
%方法二
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;1.30,1.96]; %总体apf
af=[1.24,1.72;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];
%总体af
training=[apf;af]; %合并两个总体形成训练集
n1=size(apf,1); %总体apf中样本的行数
n2=size(af,1); %总体af中样本的行数
group=[ones(1,n1), 2*ones(1,n2)]; %apf中样本与af中样本类属
x=[1.24,1.8;1.28,1.84; 1.4,2.04]; % 输入原始待判数据即sample
class = classify(x, training,group) %判别分析
输出结果为:
class=
1
1
1
2.假定两类总体的协方差矩阵不相等,重新判别上述三个蠓虫的类别。
clear
apf=[1.14,1.78; 1.18,1.96;1.20,1.86;1.26,2.;1.28,2;1.30,1.96];
af=[1.24,1.72;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08];
x=[1.24,1.8;1.28,1.84;1.4,2.04]; % 输入原始数据
W=mahal(x,apf)-mahal(x,af) % 计算判别函数值
输出结果为:
W =
1.7611
3.8812
3.6468
3.已知矩阵A给出的身体指标化验数据,对三个待判数(190,67,30,17),(315,100,35,19),(240,60,37,18)进行判别归类.
clear
A=[260 75 40 18 310 122 30 21 320 64 39 17
200 72 34 17 310 60 35 18 260 59 37 11
240 87 45 18 190 40 27 15 360 88 28 26
170 65 39 17 225 65 34 16 295 100 36 12
270 110 39 24 170 65 37 16 270 65 32 21
205 130 34 23 210 82 31 17 380 114 36 21
190 69 27 15 280 67 37 18 240 55 42 10
200 46 45 15 210 38 36 17 260 55 34 20
250 117 21 20 280 65 30 23 260 110 29 20
200 107 28 20 200 76 40 17 295 73 33 21
225 130 36 11 200 76 39 20 240 114 38 18
210 125 26 17 280 94 26 11 310 103 32 18
170 64 31 14 190 60 33 17 330 112 21 11
270 76 33 13 295 55 30 16 345 127 24 20
190 60 34 16 270 125 24 21 250 62 22 16
280 81 20 18 280 120 32 18 260 59 21 19
310 119 25 15 240 62 32 20 225 100 34 30
270 57 31 8 280 69 29 20 345 120 36 18
250 67 31 14 370 70 30 20 360 107 25 23
260 135 39 29 280 40 37 17 250 117 36 16
];
G1=A(:,1:4);G2=A(:,5:8);G3=A(:,9:12); %三类总体数据
x=[190 67 30 17;315 100 35 19;240 60 37 18]; %待判定的数据
m(1,:)=mean(G1);m(2,:)=mean(G2);m(3,:)=mean(G3);
s1=cov(G1);s2=cov(G2);s3=cov(G3); % 计算样本均值与协方差矩阵
s=19*(s1+s2+s3)/57; % 计算混合样本方差 for i=1:3 for j=1:3 for k=1:3
w(j,k)=(x(i,:)-1/2*(m(j,:)+m(k,:)))*inv(s)*(m(j,:)-m(k,:))'; %计算判别函数 if w(j,k)<0 q=0;break; else q=1; end end if q==1 y(i)=j; end end end y
输出结果为: y =
1 3
2 三、实习题
1.已知T
x x X ),(21=服从二维正态分布),(∑μN ,其中⎪⎪⎭⎫ ⎝⎛=00μ,⎪⎪⎭
⎫
⎝
⎛=∑19
.09.01
,试分别求点T
A )1,1(=和T
B )1,1(-=到总体均值的马氏距离和欧氏距离,并论述马氏距离的合理性。
求:(1)计算两总体的样本均值向量()
1x 、()
2x
和样本协方差矩阵1S 、2S ;
(2)假定两总体的协方差矩阵相等,记为∑,用1S 、2S 联合估计∑; (3)建立距离判别法的判别准则; (4)设有一样品()7,20=x ,判别其归属。
实习五主成分分析和典型相关分析
一、实验目的
1.掌握MATLAB主成分析的方法与计算步骤。
2.了解MATLAB典型相关分析的方法与计算步骤。
二、实例
1.设随机向量的协方差矩阵为S=[2,2,-2;2,5,-4;-2,-4,5]。
求X的各主成份以及各主成份的贡献率。
clear
S=[2,2,-2;2,5,-4;-2,-4,5]; %S表示总体的协方差矩阵
[PC,vary,explained]=pcacov(S) %总体主成分分析
PC=
-0.3333 0 0.9428
-0.6667 0.7071 -0.2357
0.6667 0.7071 0.2357
vary=
10.0000
1.0000
1.0000
explained=
83.3333
8.3333
8.3333
2.根据调查分析,影响我国粮食安全生产的主要因素有以下几个方面:有效灌溉面积,粮食播种面积,成灾面积,财政投入,农业劳动力,农村用电量,农业机械总动力及农业化肥施用量,具体数据如矩阵X所示。
由于各个指标的单位不同,且各指标的方差相差很大,所以首先对样本数据进行无量纲的变换,变换方法是用采用标准化方法。
然后对标准化的样本数据进行主成份
分析。
clear
X=[4740.31 11346.60 178.20 221.76 33336.00 844.50 28707.70 647.58 4782.21 11231.40 278.10 243.55 34186.30 963.20 29388.60 701.28
4859.01 11056.00 259.00 269.04 34037.00 1106.90 30308.40 732.55
4872.79 11050.90 231.30 323.42 33258.20 1244.80 31816.60 787.98
4875.91 10854.40 313.80 399.70 32690.30 1473.90 33802.50 829.53
4928.12 11006.00 222.70 430.22 32335.00 1655.70 36118.10 898.40
5038.14 11254.80 212.30 510.07 32260.40 1812.70 38546.90 957.00
5123.85 11291.20 303.10 560.77 32434.90 1980.10 42015.60 995.23
5229.56 11378.70 251.80 626.02 32626.40 2042.10 45207.70 1020.88
5315.80 11316.10 267.30 677.46 32911.80 2173.40 48996.10 1031.08
5382.00 10846.30 343.70 766.89 32798.00 2421.30 52573.60 1036.63
5424.90 10608.00 317.90 917.96 32451.00 2610.80 55172.10 1063.28
5435.50 10389.10 271.60 1102.70 31991.00 2993.40 57929.90 1083.08
5401.42 9941.00 325.20 1134.86 31259.60 3432.90 60386.50 1102.90 5447.80 10160.60 163.00 1693.79 30596.00 3933.00 64027.90 1157.30 5502.93 10427.80 199.70 1792.40 29975.50 4375.70 68397.80 1191.45 5575.05 10495.80 246.30 2161.35 28886.35 4895.80 72522.10 1231.90 5651.83 10563.80 250.60 3404.70 22543.4 5509.90 76589.60 1276.70
5847.17 10679.30 222.80 4544.01 20078.6 5713.20 82190.41 1309.19];
%数据无量纲化
X1=zscore(X); %按公式(5.14)对样本数据标准化
%主成份分析
[pc,la,tent]=princomp(X1) %主成份分析,pc是特征向量矩阵,la得分矩阵,tent特征值tents=sum(tent) %特征值总和
gxl= tent/ tents %各个主成份贡献率
pc =
0.3933 -0.1518 -0.0544 0.3944 0.5494 0.3701 -0.1396 0.4533
-0.2821 0.3173 -0.7669 0.4403 0.0325 -0.1907 -0.0141 -0.0121 -0.0479 -0.8701 -0.4379 -0.1998 -0.0337 -0.0838 0.0257 -0.0115
0.3856 0.1952 -0.2572 -0.3364 0.2998 0.0210 0.7181 -0.1668
-0.3605 -0.2487 0.3850 0.4799 0.2640 -0.3102 0.5109 -0.0512
0.4083 0.0358 0.0265 -0.0014 -0.2123 -0.7233 0.0088 0.5128
0.4070 -0.0643 0.0422 0.1814 0.2707 -0.3433 -0.3636 -0.6872
0.3905 -0.1175 -0.0151 0.4841 -0.6466 0.2861 0.2659 -0.1692 tent =
5.9106
1.1327
0.6118
0.2842
0.0347
0.0216
0.0039
0.0005
gxl =
0.7388
0.1416
0.0765
0.0355
0.0043
0.0027
0.0005
0.0001
3.主成分分析用于分类.做出蠓虫原始数据图与主成分得分数据图。
clear
apf=[1.14,1.78;1.18,1.96;1.20,1.86;1.26,2.;1.28,2;1.30,1.96];
af=[1.24,1.72;1.36,1.74;1.38,1.64;1.38,1.82;1.38,1.90;1.40,1.70;1.48,1.82;1.54,1.82;1.56,2.08]; x=[1.24,1.8;1.28,1.84; 1.4,2.04]; % 输入原始数据
subplot(2,1,1)
plot(apf(:,1),apf(:,2),'*',af(:,1),af(:,2),'or',x(:,1),x(:,2),'p') % 原始数据图形
[c1,s1,l1,t1]=princomp([apf;af;x]); % 计算主成分得分s1
subplot(2,1,2),
plot(1:6,s1(1:6,2),'*')
hold on
plot(7:15,s1(7:15,2),'or')
hold on
plot(16:18,s1(16:18,2),'p')
legend('apf','af','x') % 主成分得分图形
hold on
plot(0:18,0*ones(1,19),'-')
4.某康复俱乐部对20名中年人测量了三项生理指标:体重(weight )、腰围(waist )、脉搏(pulse)和三项训练指标:引体向上(chins )、起坐次数(situps )、跳跃次数(jumps )。
其数据列于表
5.1。
试分析这两组变量间的相关性。
Obs weight waist pulse chins situps jumps
1 191 36 50 5 16
2 60
2 189 37 52 2 110 60
3 193 38 58 12 101 101
4 162 3
5 62 12 105 37
5 189 35 4
6 13 155 58
6 182 36 56 4 101 42
7 211 38 56 8 101 38
8 167 34 60 6 125 40
9 176 31 74 15 200 40
10 154 33 56 17 251 250
11 169 34 50 17 120 38
12 166 33 52 13 210 115
13 154 34 64 14 215 105
14 247 46 50 1 50 50
15 193 36 46 6 70 31
16 202 37 62 12 210 120
17 176 37 54 4 60 25
18 157 32 52 11 230 80 19 156 33 54 15 225 73 20 138 33 68 2 110 43
clear
DATA=[191 36 50 5 162 60 189 37 52 2 110 60 193 38 58 12 101 101 162 35 62 12 105 37 189 35 46 13 155 58 182 36 56 4 101 42 211 38 56 8 101 38 167 34 60 6 125 40 176 31 74 15 200 40 154 33 56 17 251 250 169 34 50 17 120 38 166 33 52 13 210 115 154 34 64 14 215 105 247 46 50 1 50 50 193 36 46 6 70 31 202 37 62 12 210 120 176 37 54 4 60 25 157 32 52 11 230 80 156 33 54 15 225 73 138 33 68 2 110 43];
X=DATA(:,1:3); %第一组向量观测值 Y=DATA(:,4:6); %第二组向量观测值 [A,B,r,U,V,stats] = canoncorr(X,Y) A=
-0.0314 -0.0763 0.0077 0.4932 0.3687 -0.1580 -0.0082 -0.0321 -0.1457 B=
-0.0661 -0.0710 0.2453 -0.0168 0.0020 -0.0198 0.0140 0.0207 0.0082 r=
0.7956 0.2006 0.0726 三、实习题
1.设随机向量X=(X 1,X 2,X 3)T 的协方差与相关系数矩阵分别为
⎪⎪⎭⎫ ⎝⎛=∑25441,⎪⎪⎭
⎫
⎝⎛=18.08.01R
分别从∑,R 出发,求X 的各主成分以及各主成分的贡贡率并比较差异况。
2.根据安徽省2007年各地市经济指标数据,见表5.2,求解:
(1)利用主成分分析对17个地市的经济发展进行分析,给出排名;
实习六聚类分析
一、实验目的
掌握MATLAB聚类分析的方法与计算步骤。
二、实例
1.2008年我国5省、区、市城镇居民人均年家庭收入如表6.1,为了研究上述5个省、区、市的城镇居民收入差异,需要利用统计资料对其进行分类,指标变量有4个,计算各省、区、市之间的前6种距离。
省(市)工薪收入
(元/人)
经营净收
入(元/人)
财产性收入
(元/人)
转移性收入
(元/人)
北京18738.96 778.36 452.75 7707.87
上海21791.11 1399.14 369.12 6199.77
安徽9302.38 959.43 293.92 3603.72
陕西8354.63 638.76 65.33 2610.61
新疆9422.22 938.15 141.75 1976.49 clear
x=[18738.96 778.36 452.75 7707.87
21791.11 1399.14 369.12 6199.77
9302.38 959.43 293.92 3603.72
8354.63 638.76 65.33 2610.61
9422.22 938.15 141.75 1976.49];
d1=pdist(x); % 此时计算出各行之间的欧氏距离,为了得到距离矩阵,键入命令:
D= squareform(d1); % 将行向量d1转变成一个方阵,D(i,j)表示x中的第i个个体与第j个个体之间的欧氏距离。
S = tril(squareform(d1)) %提取方阵squareform(d1)的下三角部分
d2=pdist(x,'cityblock') %计算绝对距离
D2=squareform(d2)
d3=pdist(x,'minkowski',3) %计算明氏距离,d3为1行10列的行向量
d4=pdist(x,'chebychev') %计算切氏距离.
d5=pdist(x,'seuclidean') %计算方差加权距离.
d6=pdist(x,'mahalanobis') %计算马氏距离
S =
1.0e+004 *
0 0 0 0 0
0.3462 0 0 0 0
1.0293 1.2763 0 0 0
1.1575 1.3932 0.1428 0 0
1.0944 1.3080 0.1639 0.1280 0
d2 =
1.0e+004 *
0.5265 1.3881 1.6009 1.5519 1.5600 1.8090 1.7281 0.2490 0.1921 0.2078
D2 =
1.0e+004 *
0 0.5265 1.3881 1.6009 1.5519
0.5265 0 1.5600 1.8090 1.7281
1.3881 1.5600 0 0.2490 0.1921
1.6009 1.8090 0.2490 0 0.2078
1.5519 1.7281 0.1921 0.2078 0
d3 =
1.0e+004 *
0.3178 0.9689 1.0779 0.9990 1.2526 1.3522 1.2531 0.1233 0.1628 0.1144
d4 =
1.0e+004 *
0.3052 0.9437 1.0384 0.9317 1.2489 1.3436 1.2369 0.0993 0.1627 0.1068
d5 =
2.3647 2.5455
3.6365 3.4377 2.7720
4.1749 3.3920 1.8685 1.1651 1.1910
d6 =
2.8284 2.8284 2.8284 2.8284 2.8284 2.8284 2.8284 2.8284 2.8284 2.8284
2.利用MATLAB软件对上例中的5个省、区、市进行聚类分析。
clear
x=[18738.96 778.36 452.75 7707.87
21791.11 1399.14 369.12 6199.77
9302.38 959.43 293.92 3603.72
8354.63 638.76 65.33 2610.61
9422.22 938.15 141.75 1976.49];
d=pdist(x); % 欧氏距离
z1= linkage(d) % 类间距离为最短距离
H= dendrogram(z1) %作谱系聚类图
z2= linkage(d,'complete') %选择类间距离为最长距离时
figure(2)
H2= dendrogram(z2) %作谱系聚类图
z3= linkage(d,'average') %选择类间距离为类平均距离时
figure(3)
H= dendrogram(z3) %作谱系聚类图
3.利用K均值聚类对上例中5个省、区、市进行聚类分析.
clear
x=[18738.96 778.36 452.75 7707.87
21791.11 1399.14 369.12 6199.77
9302.38 959.43 293.92 3603.72
8354.63 638.76 65.33 2610.61
9422.22 938.15 141.75 1976.49];
[a,b]=kmeans(x,3) %分为3类
a =
1
1
3
2
2
b =
1.0e+004 *
2.0265 0.1089 0.0411 0.6954
0.8888 0.0788 0.0104 0.2294
0.9302 0.0959 0.0294 0.3604
三、实习题
安徽省2008年各地市的森林资源见表6.2所示,求解以下问题:
在进行谱系聚类时,选择合适的类间距离,进而确定最优分类数,作出谱系聚类图。