例题:
棉花红铃虫第一代发蛾高峰日y1、第一代累计百株卵量y2、发蛾高峰日百株卵量y3及2月下旬至3月中旬的平均气温x1(℃)、1月下旬至3月上旬的日照小时累计数的常用对数x2的16组观测数据如下表,试作气象指标x1、x2与y1、y2、y3的典型相关分析。
x1 | x2 | y1 | y2 | y3 | |
1 | 9.2 | 2.014 | 186 | 46.3 | 14.3 |
2 | 9.1 | 2.17 | 169 | 30.7 | 14 |
3 | 8.6 | 2.258 | 171 | 144.6 | 69.3 |
4 | 10.233 | 2.206 | 171 | 69.2 | 22.7 |
5 | 5.6 | 2.067 | 181 | 16 | 7.3 |
6 | 5.367 | 2.197 | 171 | 12.3 | 8 |
7 | 6.133 | 2.17 | 174 | 2.7 | 1.3 |
8 | 8.2 | 2.1 | 172 | 26.3 | 7.9 |
9 | 8.8 | 1.983 | 186 | 247.1 | 85.2 |
10 | 7.6 | 2.146 | 176 | 47.7 | 12.7 |
11 | 9.7 | 2.074 | 176 | 536.3 | 25.3 |
12 | 8.367 | 2.102 | 172 | 137.6 | 58 |
13 | 12.167 | 2.284 | 176 | 118.9 | 43.3 |
14 | 10.267 | 2.242 | 161 | 62.7 | 29.3 |
15 | 8.9 | 2.283 | 171 | 26.2 | 8.3 |
16 | 8.233 | 2.068 | 172 | 123.9 | 32.7 |
1.取得n维数据集,并标准化
clear
clc
x = xlsread('mianhua.xlsx', 'B2:C17');
y = xlsread('mianhua.xlsx', 'D2:F17'); %取得数据集
x = zscore(x);
y = zscore(y); %标准化数据
2.求典型相关系数及典型变量,典型相关系数的显著性检验
[a1, b1, r, u1, v1, stats] = canoncorr(x, y) %典型相关分析
a1 =
0.3498 -0.9794
-1.0378 -0.0674
b1 =
0.8119 0.5832
0.4203 -0.5096
0.0290 -0.6073
r =
0.7352 0.4802 %典型相关系数
u1 =
1.6099 -0.2755
-0.1329 -0.3320
-1.2037 -0.1183
-0.3064 -0.9852
0.3126 1.6799
-1.1693 1.7156
-0.7196 1.3108
0.4623 0.2165
1.8732 -0.0317
-0.1644 0.5158
1.0461 -0.5954
0.4732 0.1226
-0.7854 -2.1121
-0.6973 -1.0299
-1.4205 -0.3024
0.8222 0.2212
v1 =
1.3490 1.6516
-0.8999 0.1394
-0.2152 -1.4745
-0.5090 -0.0370
0.5980 1.4758
-0.7065 0.5436
-0.3567 1.0243
-0.5329 0.5853
2.0686 -0.8661
0.0580 0.7565
1.6205 -1.4305
-0.1213 -1.0763
0.3195 -0.2707
-1.8154 -1.1037
-0.6621 0.4829
-0.1945 -0.4005
stats =
包含以下字段的 struct:
Wilks: [0.3535 0.7695]
df1: [6 2]
df2: [22 12]
F: [2.5002 1.7977]
pF: [0.0535 0.2075]
chisq: [12.4776 3.3677]
pChisq: [0.0521 0.1857]
dfe: [6 2]
p: [0.0521 0.1857]
由结果列表得:
序号 | 卡方统计值 | 自由度 | 显著性概率 |
1 | 12.4781 | 6 | 0.0521 |
2 | 3.3678 | 2 | 0.1857 |
第二对典型变量中,其相关系数不显著。因此只有第一对典型变量通过检验。
选择第一对典型相关变量,可得:
可知,v1主要由y1决定,w1主要由x2决定。因此,x2主要影响y1和y2。也就是说,1月下旬至3月上旬的日照小时累计数的常用对数与棉花红铃虫第一代发蛾高峰日、第一代累计百株卵量相关。