日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【7.0】 数学建模 | 相关系数详解 | Person相关系数、Spearman相关系数

發布時間:2023/12/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【7.0】 数学建模 | 相关系数详解 | Person相关系数、Spearman相关系数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

總體Person相關系數

如果兩組數據X:{X1,X2,?,Xn}和Y:{Y1,Y2,?,Yn}是總體數據(例如普查結果)那么總體均值:E(X)=∑i=1nXin,E(Y)=∑i=1nYin總體協方差:Cov(X,Y)=∑i=1n(Xi?E(X))(Yi?E(Y))n總體Person相關系數:ρXY=Cov(X,Y)σXσY=∑i=1n(Xi?E(X))σX(Yi?E(Y))σYn標準差σ:σX=∑i=1n(Xi?E(X))2n,σY=∑i=1n(Yi?E(Y))2n可以證明:∣ρXY∣?1,并且當Y=aX+b時,ρXY={1a>0?1a<0\text{如果}兩\text{組數據}X:\left\{ X_1,X_2,\cdots ,X_n \right\} \text{和}Y\text{:}\left\{ Y_1,Y_2,\cdots ,Y_n \right\} 是總\text{體數據}\left( \text{例如普查結果} \right) \\ \text{那么}總\text{體均值:}E\left( X \right) =\frac{\sum_{i=1}^n{X_i}}{n},E\left( Y \right) =\frac{\sum_{i=1}^n{Y_i}}{n} \\ 總\text{體協方差:}Cov\left( X,Y \right) =\frac{\sum_{i=1}^n{\left( X_i-E\left( X \right) \right) \left( Y_i-E\left( Y \right) \right)}}{n} \\ 總\text{體}Person\text{相關系數:}\rho _{XY}=\frac{Cov\left( X,Y \right)}{\sigma _X\sigma _Y}=\frac{\sum_{i=1}^n{\frac{\left( X_i-E\left( X \right) \right)}{\sigma _X}\frac{\left( Y_i-E\left( Y \right) \right)}{\sigma _Y}}}{n} \\ \text{標準差}\sigma \text{:}\sigma _X=\sqrt{\frac{\sum_{i=1}^n{\left( X_i-E\left( X \right) \right) ^2}}{n}}\text{,}\sigma _Y=\sqrt{\frac{\sum_{i=1}^n{\left( Y_i-E\left( Y \right) \right) ^2}}{n}} \\ \text{可以證明:}\left| \rho _{XY} \right|\leqslant 1\text{,并且當}Y=aX+b\text{時,}\rho _{XY}=\begin{cases} 1& a>0\\ -1& a<0\\ \end{cases} 如果組數據X:{X1?,X2?,?,Xn?}Y{Y1?,Y2?,?,Yn?}體數據(例如普查結果)那么體均值:E(X)=ni=1n?Xi??,E(Y)=ni=1n?Yi??體協方差:Cov(X,Y)=ni=1n?(Xi??E(X))(Yi??E(Y))?Person相關系數:ρXY?=σX?σY?Cov(X,Y)?=ni=1n?σX?(Xi??E(X))?σY?(Yi??E(Y))??標準差σσX?=ni=1n?(Xi??E(X))2??σY?=ni=1n?(Yi??E(Y))2??可以證明:ρXY??1,并且當Y=aX+b時,ρXY?={1?1?a>0a<0?

要點:Person 相關系數可以看成是剔除了兩個變量量綱的影響,即將X和Y標準化后的協方差


樣本Person相關系數

如果兩組數據X:{X1,X2,?,Xn}和Y:{Y1,Y2,?,Yn}是樣本數據(一般調查得到的數據均為樣本數據)樣本均值:Xˉ=∑i=1nXin,Yˉ=∑i=1nYin樣本協方差:Cov(X,Y)=∑i=1n(Xi?Xˉ)(Yi?Yˉ)n樣本Person相關系數:rXY=Cov(X,Y)SXSY樣本標準差S:SX=∑i=1n(Xi?Xˉ)2n?1,SY=∑i=1n(Yi?Yˉ)2n?1\text{如果}兩\text{組數據}X:\left\{ X_1,X_2,\cdots ,X_n \right\} \text{和}Y\text{:}\left\{ Y_1,Y_2,\cdots ,Y_n \right\} 是\text{樣}本\text{數據}\left( \text{一}般\text{調查得到的數據均}為\text{樣}本\text{數據} \right) \\ \text{樣}本\text{均值:}\bar{X}=\frac{\sum_{i=1}^n{X_i}}{n}, \bar{Y}=\frac{\sum_{i=1}^n{Y_i}}{n} \\ \text{樣}本\text{協方差:}Cov\left( X,Y \right) =\frac{\sum_{i=1}^n{\left( X_i-\bar{X} \right) \left( Y_i-\bar{Y} \right)}}{n} \\ \text{樣}本Person\text{相關系數:}r_{XY}=\frac{Cov\left( X,Y \right)}{S_XS_Y} \\ \text{樣}本\text{標準差}S\text{:}S_X=\sqrt{\frac{\sum_{i=1}^n{\left( X_i-\bar{X} \right) ^2}}{n-1}}\text{,}S_Y=\sqrt{\frac{\sum_{i=1}^n{\left( Y_i-\bar{Y} \right) ^2}}{n-1}} 如果組數據X:{X1?,X2?,?,Xn?}Y{Y1?,Y2?,?,Yn?}數據(調查得到的數據均數據)均值:Xˉ=ni=1n?Xi??,Yˉ=ni=1n?Yi??協方差:Cov(X,Y)=ni=1n?(Xi??Xˉ)(Yi??Yˉ)?Person相關系數:rXY?=SX?SY?Cov(X,Y)?標準差SSX?=n?1i=1n?(Xi??Xˉ)2??SY?=n?1i=1n?(Yi??Yˉ)2??


三點總結
  • 如果兩個變量本身就是線性關系,那么Person相關系數的絕對值大的相關性就強,小的相關性就弱
  • 在不確定變量是什么關系的情況下,即使算出皮爾遜相關系數,發現很大,也不能說明那兩個變量線性相關,甚至不能說他們相關,一定要先畫出散點圖來進行觀察才行
  • 事實上,比起相關系數的大小,我們往往更關注的是相關系數的顯著性

對Person相關系數進行假設檢驗的方法

第一步: 提出原假設H0H_0H0?和備擇假設H1H_1H1?(兩個假設截然相反)

假設計算出了一個Person相關系數r,要對其是否顯著的異于0進行檢驗,

則原假設和備擇假設可以為:H0:r=0,H1:r≠0H_0: r=0,H_1:r\ne 0H0?:r=0,H1?:r?=0

第二步:在原假設成立的條件下,利用檢驗的量構造一個符合某一分布的統計量

對于Person相關系數而言,在滿足一定條件下,可以構造一個t分布的統計量用于假設檢驗
t=rn?21?r2,可以證明t是服從自由度為n?2的t分布t=r\sqrt{\frac{n-2}{1-r^2}}\text{,可以證明}t是\text{服從自由度}為n-2\text{的}t\text{分布} t=r1?r2n?2??,可以證明t服從自由度n?2t分布

其中n為樣本的數量\text{其中}n為\text{樣}本\text{的數量} 其中n的數量

第三步:將要檢驗的值代入這個統計量中,可以得到一個特定的值(檢驗值)

第四步:由于我們知道統計量的分布情況,就可以畫出該分布的概率密度函數,并給定一個置信水平(以一定的概率接收原假設),根據這個置信水平查表找到臨界值,并畫出檢驗統計量的接受域和拒絕域

代碼:

%% 假設檢驗部分 x = -4:0.1:4; y = tpdf(x,28); %求t分布的概率密度值 28是自由度 figure(1) plot(x,y,'-') grid on % 在畫出的圖上加上網格線 hold on % 保留原來的圖,以便繼續在上面操作 % matlab可以求出臨界值,函數如下 tinv(0.975,28) % 2.0484 95%的置信水平 % 這個函數是累積密度函數cdf的反函數 plot([-2.048,-2.048],[0,tpdf(-2.048,28)],'r-') plot([2.048,2.048],[0,tpdf(2.048,28)],'r-')

圖片:

第五步:觀察計算出來的檢驗值是落在了拒絕域還是接受域


一個更好的檢驗Person相關系數顯著性的方法: P值判斷法

假設需要檢驗的值為
t?=3.05505t^*=3.05505 t?=3.05505
根據這個值,計算出其對應的那個概率值,即為該簡言之的P值,這個P值可以通過累計分布函數計算得到,

根據計算得到的P值判斷是否接受原假設還是拒絕原假設標準如下:

%% 計算p值 x = -4:0.1:4; y = tpdf(x,28); figure(2) plot(x,y,'-') grid on hold on % 畫線段的方法 plot([-3.055,-3.055],[0,tpdf(-3.055,28)],'r-') plot([3.055,3.055],[0,tpdf(3.055,28)],'r-') disp('該檢驗值對應的p值為:') disp((1-tcdf(3.055,28))*2) %雙側檢驗的p值要乘以2
皮爾遜相關系數進行假設檢驗的先決條件

第一:實驗數據通常假設是成對的來自于正態總體分布,因為t分布式基于數據呈現正態分布的假設的

第二:實驗數據之間的差距不能太大,因為Person相關系數是受異常值的影響比較大

第三:每組樣本之間是獨立抽樣的

因此要對Person相關系數用假設檢驗觀察其顯著性,首先要對樣本數據進行觀察,看它是否呈現正態分布


正態分布檢驗方法一:雅克-貝拉檢驗
對于一個隨機變量{Xi},假設其偏度為S,峰度為K可以構造JB統計量:JB=n6[S2+(K?3)24]可以證明,如果{Xi}是正態分布,在大樣本的情況下JBχ2(2),自由度為2的卡方分布注意:正態分布的偏度為0,峰度為3\text{對于一}個\text{隨}機\text{變量}\left\{ X_i \right\} ,\text{假設其偏度}為S\text{,峰度}為K \\ \text{可以構造}JB\text{統計量:}JB=\frac{n}{6}\left[ S^2+\frac{\left( K-3 \right) ^2}{4} \right] \\ \text{可以證明,如果}\left\{ X_i \right\} 是\text{正態分布,在大樣}本\text{的情況下} \\ JB~\chi ^2\left( 2 \right) ,\text{自由度}為2\text{的卡方分布} \\ \text{注意:正態分布的偏度}為0\text{,峰度}為3 對于一變量{Xi?},假設其偏度S,峰度K可以構造JB統計量:JB=6n?[S2+4(K?3)2?]可以證明,如果{Xi?}正態分布,在大樣的情況下JB?χ2(2),自由度2的卡方分布注意:正態分布的偏度0,峰度3
進行假設檢驗的步驟:
H0:該隨機變量服從正態分布H1該隨機變量不服從正態分布計算該變量的峰度和偏度,得到檢驗值JB?,并計算其對應的P值將P值與0.05比較,若小于0.05則拒絕原假設,否則不能拒絕原假設(在95%的置信水平下)H_0:\text{該隨}機\text{變量服從正態分布} H_1\text{該隨}機\text{變量不服從正態分布} \\ \text{計算該變量的峰度和偏度,得到檢驗值}JB^*\text{,并計算其對應的}P\text{值} \\ \text{將}P\text{值與}0.05\text{比較,若小于}0.05\text{則拒絕原假設,}否\text{則不能拒絕原假設(在}95\%\text{的置信水平下)} H0?:該隨變量服從正態分布H1?該隨變量不服從正態分布計算該變量的峰度和偏度,得到檢驗值JB?,并計算其對應的PP值與0.05比較,若小于0.05則拒絕原假設,則不能拒絕原假設(在95%的置信水平下)

MATLAB中進行JB檢驗的語法:
[h,p]=jbtest(x,alpha)當輸出h為1時,表示拒絕原假設;h等于0時表示不能拒絕原假設alpha表示顯著性水平,一般取0.05,此時的置信水平為0.95x就是需要檢驗的隨機變量,這里的x只能是向量\left[ h,p \right] =jbtest\left( x,alpha \right) \\ \text{當輸出}h為1\text{時,表}示\text{拒絕原假設;}h\text{等于}0\text{時表}示\text{不能拒絕原假設} \\ alpha\text{表}示\text{顯著性水平,一}般\text{取}0.05,\text{此時的置信水平}為0.95 \\ x\text{就}是\text{需要檢驗的隨}機\text{變量,這里的}x\text{只能}是\text{向量} [h,p]=jbtest(x,alpha)當輸出h1時,表拒絕原假設;h等于0時表不能拒絕原假設alpha顯著性水平,一0.05,此時的置信水平0.95x需要檢驗的隨變量,這里的x只能向量
代碼:

% 檢驗第一列數據是否為正態分布 [h,p] = jbtest(Test(:,1),0.05) [h,p] = jbtest(Test(:,1),0.01)% 用循環檢驗所有列的數據 n_c = size(Test,2); % number of column 數據的列數 H = zeros(1,6); % 初始化節省時間和消耗 P = zeros(1,6); for i = 1:n_c[h,p] = jbtest(Test(:,i),0.05);H(i)=h;P(i)=p; end disp(H) disp(P)

樣本正態分布檢驗方 法二:夏皮洛-威爾克檢驗

適用條件:小樣本 3?n?503\leqslant n\leqslant 503?n?50
H0:該隨機變量服從正態分布H1:該隨機變量不服從正態分布計算出威爾克統計量后,得到相應的P值將P值與0.05比較,如果小于0.05則拒絕原假設,否則不能拒絕原假設H_0:\text{該隨}機\text{變量服從正態分布} H_1:\text{該隨}機\text{變量不服從正態分布} \\ \text{計算出威爾克統計量后,得到相應的}P\text{值} \\ \text{將}P\text{值與}0.05\text{比較,如果小于}0.05\text{則拒絕原假設,}否\text{則不能拒絕原假設} H0?:該隨變量服從正態分布H1?:該隨變量不服從正態分布計算出威爾克統計量后,得到相應的PP值與0.05比較,如果小于0.05則拒絕原假設,則不能拒絕原假設
具體可使用spass軟件實現


樣本正態分布檢驗方 法二:Q-Q檢驗

要利用Q-Q圖鑒別樣本數據是否近似于正態分布,只需要看Q-Q圖上的點是否近似地在一條直線附近。(要求的數據量非常大)


spearman相關系數

第一種定義
定義:X和Y為兩組數據,其spearman(等級)相關系數:rs=1?6∑i=1ndi2n(n2?1)其中di為Xi和Yi之間的等級差一個數的等級,就是將它所在的同一列數按照從小到大排序后,這個數所在的位置可以證明:rs位于?1和1之間注意:如果有相同的等級數字,則將它們所在的位置取算數平均\text{定義:}X\text{和}Y為兩\text{組數據,其}spearman\left( \text{等級} \right) \text{相關系數:} \\ r_s=1-\frac{6\sum_{i=1}^n{d_i^2}}{n\left( n^2-1 \right)} \\ \text{其中}d_i為X_i\text{和}Y_i\text{之間的等級差} \\ \text{一}個\text{數的等級,就}是\text{將它}所\text{在的同一列數按照從小到大排序后,這}個\text{數}所\text{在的位置} \\ \text{可以證明:}r_s\text{位于}-1\text{和}1\text{之間} \\ \text{注意:如果有相同的等級數字,則將它們}所\text{在的位置取算數平均} 定義:XY組數據,其spearman(等級)相關系數:rs?=1?n(n2?1)6i=1n?di2??其中di?Xi?Yi?之間的等級差數的等級,就將它在的同一列數按照從小到大排序后,這在的位置可以證明:rs?位于?11之間注意:如果有相同的等級數字,則將它們在的位置取算數平均


根據公式:
rs=1?6∑i=1ndi2n(n2?1)r_s=1-\frac{6\sum_{i=1}^n{d_i^2}}{n\left( n^2-1 \right)} rs?=1?n(n2?1)6i=1n?di2??
可得X和Y的spearman相關系數為:
rs=1?6×(1+0.25+0.25+1)5×24=0.875r_s=1-\frac{6\times \left( 1+0.25+0.25+1 \right)}{5\times 24}=0.875 rs?=1?5×246×(1+0.25+0.25+1)?=0.875


另一種spearman相關系數的定義

在第二種定義方式種,spearman相關系數被定義成等級之間的Person相關系數

相關代碼:

%% 斯皮爾曼相關系數 X = [3 8 4 7 2]' % 一定要是列向量哦,一撇'表示求轉置 Y = [5 10 9 10 6]' % 第一種計算方法 1-6*(1+0.25+0.25+1)/5/24% 第二種計算方法 coeff = corr(X , Y , 'type' , 'Spearman') % 等價于: RX = [2 5 3 4 1] RY = [1 4.5 3 4.5 2] R = corrcoef(RX,RY)% 計算矩陣各列的斯皮爾曼相關系數 R = corr(Test, 'type' , 'Spearman')

MATLAB中計算Spearman相關系數

  • corr(X,Y,'Type','Spearman'),這里的X和Y必須是列向量
  • corr(X,'Type','Spearman'),計算x矩陣各列之間的spearman相關系數

注意:MATLAB中的spearman相關系數使用的是第二種定義方法


Spearman系數的假設檢驗

  • 小樣本情況,即n?30n\leqslant 30n?30時,直接查臨界值表即可 ,相關系數r必須大于等于表中的臨界值,才能得出顯著的結論(顯著的異于0)

    更多詳細數據在數學建模文檔總結中,用到時查閱文檔即可

  • 大樣本情況下

構造統計量:rsn?1N(0,1)H0:rs=0,H1:rs≠0計算檢驗值rsn?1,并求出對應的P值與0.05相比即可\text{構造統計量}:r_s\sqrt{n-1}~N\left( 0,1 \right) \\ H_0:r_s=0, H_1:r_s\ne 0 \\ \text{計算檢驗值}r_s\sqrt{n-1}\text{,并求出對應的}P\text{值與}0.05\text{相比即可} 構造統計量:rs?n?1??N(0,1)H0?:rs?=0,H1?:rs??=0計算檢驗值rs?n?1?,并求出對應的P值與0.05相比即可

% 大樣本下的假設檢驗 % 計算檢驗值 disp(sqrt(590)*0.0301) % 計算p值 disp((1-normcdf(0.7311))*2) % normcdf用來計算標準正態分布的累積概率密度函數% 直接給出相關系數和p值 [R,P]=corr(Test, 'type' , 'Spearman')
Person相關系數和spearman相關系數的選擇
  • 連續數據,正態分布,線性相關,用Person相關系數最恰當,當然用spearman相關系數也可以,就是效率沒有person相關系數高
  • 上述任一條件不滿足,就使用spearman相關系數,不能用person相關系數
  • 兩個定序數據之間也可以使用spearman相關系數,不可以使用person相關系數(如優良差)

更多有關于相關系數的經典獲獎論文,關注公眾號,回復,“相關系數”,即可免費領取!!!

總結

以上是生活随笔為你收集整理的【7.0】 数学建模 | 相关系数详解 | Person相关系数、Spearman相关系数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。