MATLAB多變量相關(guān)性分析及變量篩選方法
---在MATLAB中進行多變量相關(guān)性分析并選取相關(guān)性強的變量是一種“屬性約減”方法。這種方法首先對各個變量之間的相關(guān)性進行分析,然后選取相關(guān)性較強的變量。通常使用皮爾遜(Pearson)相關(guān)系數(shù)r來
---
在MATLAB中進行多變量相關(guān)性分析并選取相關(guān)性強的變量是一種“屬性約減”方法。這種方法首先對各個變量之間的相關(guān)性進行分析,然后選取相關(guān)性較強的變量。通常使用皮爾遜(Pearson)相關(guān)系數(shù)r來衡量變量之間的相關(guān)性,絕對值越接近1表示變量X和Y之間的相關(guān)性越強。通過對相關(guān)性系數(shù)進行排序,可以保留相關(guān)性強的變量,同時剔除相關(guān)性較差的變量。
---
1. 讀入樣本數(shù)據(jù)
首先,我們需要將樣本數(shù)據(jù)表格讀入MATLAB中并保存為矩陣,以便進行后續(xù)處理。建議將表格數(shù)據(jù)的第一列設(shè)置為因變量,其余列作為自變量。下面是一個示例程序:
```matlab
ys_data xlsread('樣本數(shù)據(jù).xlsx');
```
讀入的樣本數(shù)據(jù)可以在MATLAB工作區(qū)中查看,有助于進一步操作。
---
2. 計算數(shù)據(jù)表格矩陣大小
接著,計算讀入的樣本數(shù)據(jù)表格矩陣的大?。ㄐ袛?shù)n x 列數(shù)p),可以使用以下程序:
```matlab
[n, p] size(ys_data);
```
此步驟的計算結(jié)果有助于后續(xù)的處理過程。
---
3. 計算相關(guān)性系數(shù)并篩選變量
接下來,將因變量賦值給Y,循環(huán)逐個將自變量賦值給X,并計算Pearson相關(guān)系數(shù)。具體程序如下:
```matlab
for i 2:p
Y ys_data(:, 1);
X ys_data(:, i);
xs(1, i-1) i;
xs(2, i-1) corr(X, Y, 'type', 'Pearson');
end
```
這段程序會逐個計算自變量與因變量之間的Pearson相關(guān)性,并將結(jié)果保存至xs數(shù)組中的第二行。
---
4. 變量相關(guān)性排名
將計算得到的變量間相關(guān)性系數(shù)按降序排列,并存儲在n_xs矩陣中,這將成為后續(xù)選擇重要變量的依據(jù)。具體程序如下:
```matlab
[n_xs, id] sort(xs(2,:), 'descend');
```
排序后的結(jié)果存儲在n_xs中,有助于識別相關(guān)性較強的變量。
---
5. 保存相關(guān)性較強的變量
將相關(guān)性系數(shù)按降序排列的id存儲在nid_xs中,代表變量在排序中的位置,隨后保存前10個相關(guān)性最強的變量及因變量,形成新的樣本數(shù)據(jù)表。下面是相應(yīng)程序:
```matlab
nid_xs xs(1,id);
for i 1:10
xyb(:,i 1) ys_data(:, nid_xs(i));
end
xyb(:,1) Y;
```
這樣就得到了包括因變量和與其相關(guān)性最強的10個自變量的新樣本數(shù)據(jù)表。
---
6. 寫入新樣本數(shù)據(jù)
最后,將新的樣本數(shù)據(jù)(包括11個變量,其中第一列為因變量,接下來的10列為與因變量相關(guān)性最強的自變量)寫入新的數(shù)據(jù)表格。可使用以下程序完成:
```matlab
xlswrite('新樣本數(shù)據(jù).xlsx', xyb);
```
這一步使得經(jīng)過相關(guān)性篩選后的樣本數(shù)據(jù)得以保存,方便后續(xù)分析和應(yīng)用。
---
通過以上步驟,我們完成了MATLAB多變量相關(guān)性分析和相關(guān)性強變量的篩選。這一過程有助于從復(fù)雜的數(shù)據(jù)集中提煉出關(guān)鍵變量,為進一步的分析和應(yīng)用提供基礎(chǔ)支持。