天天看點

細數最常用的幾種資料分析方法:比較-預測-分類-降維-相關

開始

首先資料進行中的最常用的統計方法無非是這四種:

(1)比較; (2)預測;

(3)分類; (4)相關.

方法 預期結果
比較 掌握均值比較的統計處理方法
預測 掌握回歸分析的使用方法
分類 差別分類與歸類及其統計方法
降維 掌握相關性處理與資料壓縮方法

因為每個方法對應的原理以及步驟處理方法網上都有詳細說明,我就不過多贅述了;

我隻做下總結以及每種方法适應的場景,并且舉一些簡單的例子。

(1)比較

方差分析

主要用來分析==某一個或幾個因素==對名額是否有==顯著影響==。

方差分析中要研究的因素通常是分類型的自變量,名額則是數值型的因變量。對于每一個分類型自變量,按照分類都擁有不同的水準(代表不同的總體),通過檢驗各總體的均值是否相等來判斷分類型自變量對數值型因變量有無顯著的影響。在方差分析中,我們通常把試驗資料的總離差(或總方差)分解為各因素的離差和誤差的離差,然後利用這些離差來構造檢驗統計量進而實作上述的檢驗。

差分析分為單因素方差分析和多因素方差分析以及協方差分析。

==單因素==(下面所有變量的值需要看當時的資料矩陣定,我隻是随便設定個數)

data ex;do a=1 to 3;do i=1 to 5 ;
input x @@;
output;end;end;
cards;
資料
;
proc anova; class a;model x=a;
means a/duncan cldiff;run;           

==雙因素==(一樣)

data ex;do a=1 to 3;do b=1 to 5;
input x @@;output;end;end;
cards;
資料
;
proc anova;class a b;model x=a b;
means a b/duncan cldiff;run;           

==協方差分析==

這種不是在試驗中控制某個因素,而是在試驗後對該因素的影響進行估計,并對試驗名額的值作出調整的方法稱為統計控制,可以作為試驗控制的輔助手段。以統計控制為目的,綜合線性回歸分析與方差分析所得到的統計分析方法,稱為協方差分析,所需要統計控制的一個或多個因素,例如蘋果樹的長勢,又如動物的初重等等稱為協變量。

data ex;  do a=1 to 3;do i=1 to 5;
input x y @ @;output ;end;end;
cards;
資料
 ;
 proc glm;class a;model y=x a/solution;
lsmeans a/stderr pdiff;run;           

==雙因素協方差分析-不考慮互動作用==

``` data ex;do a=1 to 3 ;do b=1 to 5 ;

input x y @ @;output; end; end;

cards;

資料

;

proc glm;class a b ;model y=x a b/solution;

lsmeans a b/stderr pdiff;run;

==雙因素協方差分析-考慮互動作用==           

data ex; do a=1 to 4; do b=1 to 2;

do i=1 to 2;input x y @@;output;end;end;end;

proc glm; class a b;model y=x a b a*b/solution;

### (2)預測
預測比較常用的是根據已有的資料推測未來一天或者某一階段的資料
除了利用神經網絡建立模型之外([利用神經網絡預測我在這文中有寫到](https://blog.51cto.com/nailaoer/2773670),但是主要還是利用工具箱調整神經元,沒有自主建立,僅作參考),目前用的最多的還是==回歸==;
主要分為一進制線性和非線性和多元線性;

==一進制線性回歸==           

data ex;input x y @@;

proc gplot;

plot y*x;

symbol i=rl v=dot;

proc reg;model y=x/cli;

run;

==一進制非線性回歸==           

x1=1/x;lx=log(x);ly=log(y);

symbol i=spline v=star;

proc reg;model y=x1;

proc reg;model ly=lx;

proc reg;model ly=x;run;

其中可能涉及計算剩餘平方和Q           

y1=輸出的方程1;

y2=輸出的方程2;

y3=輸出的方程3;

...

proc print;var q1-q3;run;

==多元線性回歸==
```data ex;input y k s l t  @@;
x1=log(k);x2=log(s);x3=log(l);y1=log(y);
cards;
資料
;
proc reg;model y1=x1 x2 x3 t  ;
run;           

```data ex;input y x1-x3 t @@;

y1=log(y);z1=log(x1);z2=log(x2);z3=log(x3);

cards;

proc reg;model y1=z1-z3 t/selection=stepwise;run;

其實生活中還有部分情況會利用到==最優尺度回歸==
對于多變量、多層次、多限制、不确定性高的非線性規劃問題,适合用最優尺度回歸模型。

比如分析航班飛行計劃或者配車排程問題與天氣或者溫度是否有關系時;
航班資料一般為數字;但是天氣資訊多為陰天、晴天、雷雨等;
這時候為了達到近似線性的目的,反複疊代求解,可以利用最優尺度回歸;
前期資料量化可以利用高斯牛頓;

根據Gauss-newton求出來的系數再進行最優廣度回歸,因為用SPSS會很簡單,網上應該也有教程,就不具體表述了,隻給個結果圖作為分析吧。
(随便找了一張圖,侵權删)
![image.png](https://s2.51cto.com/images/20210630/1625033834923598.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

分析上圖結果不考慮名義變量的情況下易見4變量與整體呈明顯的負相關,而2因子與總人數呈明顯的正相關。根據sig值本問為0.000<0.5,說明模型顯著,具有統計學意義。
調整的R方為0.519,可以認為最優尺度回歸模型拟合性能優秀。

![image.png](https://s2.51cto.com/images/20210630/1625034022713872.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
![image.png](https://s2.51cto.com/images/20210630/1625034051379022.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
上圖是用spss出的兩個資料流,可以看到還是把多變量、多層次、多限制、不确定性高的非線性規劃問題拟合的比較優秀的~

### (3)分類
分類最基本的還是==聚類分析==與==判别分析==
判别名額應該選取互不相關的、對已分組資料區分效力強的名額。由此可知,判别變量的選取涉及到變量間的相關(共線性 問題),各名額均值在不同組之間的均值是否有顯著差異(方差分析問題)。此問題的解決采用類似多元逐漸回歸的方法,SAS中利用stepdisc過程來實作。
==判别分析==           

data ex19_2;

input x1 x2@@;

proc discrim data=out testdata= ex19_2 out=sdf testlist;

class grp;

var x1 x2;

proc discrim data=ex19_1 outstat=out testdata= ex19_2 testout=sdfh simple anova manova pool=test listerr crosslist;

priors prop;

聚類分析           
随便找了一張圖,侵權删
![image.png](https://s2.51cto.com/images/20210630/1625024257916988.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
可以很清晰,具體分為幾類,CCC值隻要達到頂峰就好,從上圖看其實分成3類是比較合理的
20隻能單拎出來算作一個樣本,其餘樣本按照圖中分成兩組。
一組:1 7 2 3 4 5 9 10 11 18 16 22
二組:6 12 14 15 13 19 23 21 24 17 8
三組:20

### 壓縮(降次元)
降維最基本的還是==主成分分析==與==因子分析==
主成分分析其實大家都很懂了,提取幾個重要主成分,起到降維的作用,我這還是主要說下因子分析
因子分析基本思想
其實多元線性回歸分析、主成分分析等,它們的共同特點是讨論内容為可測量變量之間的互相關系,即所分析的這些變量是可以直接觀察或測量得到的。但是,在醫學研究中,很多情況下我們所要研究的變量是不能直接測量的。例如,研究家庭環境、社會環境和學校環境對兒童智商的影響,這四個變量都是不能或不易直接觀測得到的。我們稱這種不能或不易直接觀測得到的變量為潛在變量或潛在因子。雖然這些潛在變量不能直接測量,但是它們是一種抽象的客觀存在,是以一定與某些可測量變量有着某種程度的關聯。例如,腦部疾病患者的意識清醒狀态是一個不可測變量,但可以通過患者的語言能力、辨識能力、記憶能力、了解能力等一系列可觀測的名額來反映。 
> 對于多名額資料中呈現出的相關性,是否存在對這種相關性起支配作用的潛在變量?如果存在,如何找出這些潛在因素?這些潛在因素是怎樣對原始名額起支配作用的?
例如,随着年齡的增長,兒童的身高、體重會随着變化,具有一定的相關性,身高和體重之間為何會有相關性呢?因為存在着一個同時支配或影響着身高與體重的生長因子。那麼,我們能否通過對多個變量的相關系數矩陣的研究,找出同時影響或支配所有變量的共性因子呢?
遇到這些問題時都可以通過因子分析來解決。
可以說,因子分析是主成分分析的推廣,也是一種把多個變量化為少數幾個綜合變量的多變量分析方法,其目的是用有限個不可觀測的隐變量來解釋原始變量之間的相關關系。

作用:1、減少分析變量個數;2、通過對變量間相關關系探測,将原始變量進行分類。即将相關性高的變量分為一組,用共同的潛在因子代替該組變量。
==主成分分析==           
==因子分析==(提取資料的行和列是随便寫得數字)           
### (4)相關

其實相關性預測那裡提的就很清楚了
譬如多元逐漸線性回歸隻有存在相關性的前提下才會進入方程,不然是會被剔除的;
相關性的因素從相關性系數上就能觀察出來,從R系數上也能判斷出來顯著性;
我這裡隻提一下相關性的可視化:

使用R語言中的corrplot()函數可以實作相關性的可視化(這裡需要安裝使用到corrplot包)
以下圖為例:
![image.png](https://s2.51cto.com/images/20210630/1625034661534134.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
其中前三個變量分别為time、industry、education background,其自身相關性均為1在圖中顯示的為最深的顔色,各個變量之間也具有一定的相關性,第4個變量為total demand,是對應于前三個自變量的一個因變量。直覺地看出各個因變量和自變量之間也具有較高的相關性,用不同顔色表示了相關性的強度,根據最右邊的顔色帶來看,越接近藍色說明相關性越高。其中圓形的大小也說明了行慣性的大小。           

繼續閱讀