【Matlab】方差是偏离均值的程度,那偏离中位数的程度怎么算呢?
生活随笔
收集整理的這篇文章主要介紹了
【Matlab】方差是偏离均值的程度,那偏离中位数的程度怎么算呢?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.Introduction
最近做建模遇到一個問題,平常求一組數據的離散程度,可以用方差(相對均值)來表示,計算方法如下圖所示。那么如果想計算偏離中位數的程度,這個“中差”怎么算呢?
2.Materials and methods
本研究以3×3的順序數組A為例,首先利用 Matlab 官方函數計算其方差,如下所示。
A = [1 2 3;4 5 6;7 8 9] var(A(:))
注:A(:)為讀取數組里的所有元素,即二維數組轉一維
因為 var 函數已經封裝好了,所以我們自己實現一遍計算方差,試圖復現并修改,代碼如下。
A = [1 2 3;4 5 6;7 8 9]; rowNum = size(A,1); colNum = size(A,2);variancSum = 0;for i = 1:rowNumfor j = 1:colNumvarianc = ( A(i,j) - mean(A(:)) )^2; % 減均值variancSum = variancSum + varianc; end endvarianceOut= variancSum /( (rowNum*colNum)-1 );上述代碼復現了方差計算,下面將其改成“中差”,即改第9行。
A = [1 2 3;4 5 6;7 8 9]; rowNum = size(A,1); colNum = size(A,2);variancSum = 0;for i = 1:rowNumfor j = 1:colNumvarianc = ( A(i,j) - prctile(A(:),50) )^2; % 減中值variancSum = variancSum + varianc; end endvarianceOut= variancSum /( (rowNum*colNum)-1 );本文使用 prctile(A,p) 來計算中值,相比 median(A) 而言,當 p=50 時,兩者等同,而 p 在[1,100]中可任意取值,有利于后期改成四分位數等特定值。
3. Results and discussion
當矩陣中值等于均值時,中差等于方差,當兩者不相等時,結果便會產生差異,下面以3×3的隨機矩陣為例。
可以看到均值為0.11,中值為1,計算矩陣偏離兩者程度,結果如下:
方差 = 2
中差 = 1.11
4. Conclusion
本文提出一種計算“中差”的方法,代表實現矩陣偏離中值的程度,同時也可以推廣到針對四分位數等的偏離程度。而“中差”等指標的實際意義還有待實踐和證明。
猜你喜歡:👇🏻
?【Matlab】一種超簡單的二維矩陣降維方法
?【Matlab】矩陣中選取任意子矩陣
?【Matlab】山地建模?立體熱度?怎么繪制三維曲面圖?
總結
以上是生活随笔為你收集整理的【Matlab】方差是偏离均值的程度,那偏离中位数的程度怎么算呢?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Matlab】如何对二维矩阵进行线性/
- 下一篇: 重磅:为ES6系列设计的2套习题+答案解