欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matlab計算變異函數(shù)并繪制經(jīng)驗半方差圖詳解

 更新時間:2023年04月03日 15:16:37   作者:瘋狂學習GIS  
這篇文章主要為大家詳細介紹了基于MATLAB求取空間數(shù)據(jù)的變異函數(shù),并繪制經(jīng)驗半方差圖的方法。文中的示例代碼講解詳細,感興趣的可以了解一下

本文介紹基于MATLAB求取空間數(shù)據(jù)的變異函數(shù),并繪制經(jīng)驗半方差圖的方法。

由于本文所用的數(shù)據(jù)并不是我的,因此遺憾不能將數(shù)據(jù)一并展示給大家;但是依據(jù)本篇博客的思想與對代碼的詳細解釋,大家用自己的數(shù)據(jù),可以將空間數(shù)據(jù)變異函數(shù)計算與經(jīng)驗半方差圖繪制的全部過程與分析方法加以完整重現(xiàn)。

1 數(shù)據(jù)處理

1.1 數(shù)據(jù)讀取

本文中,我的初始數(shù)據(jù)為某區(qū)域658個土壤采樣點的空間位置(X與Y,單位為)、pH值、有機質(zhì)含量全氮含量。這些數(shù)據(jù)均存儲于data.xls文件中;而后期操作多于MATLAB軟件中進行。因此,首先需將源數(shù)據(jù)選擇性地導入MATLAB軟件中。

利用MATLAB軟件中xlsread函數(shù)可以實現(xiàn)這一功能。具體代碼附于本文的1.3 正態(tài)分布檢驗及轉(zhuǎn)換處。

1.2 異常數(shù)據(jù)剔除

得到的采樣點數(shù)據(jù)由于采樣記錄、實驗室測試等過程,可能具有一定誤差,從而出現(xiàn)個別異常值。選用平均值加標準差法對這些異常數(shù)據(jù)加以篩選、剔除。

分別利用平均值加標準差法中“2S”與“3S”方法加以處理,發(fā)現(xiàn)“2S”方法處理效果相對后者較好,故后續(xù)實驗取“2S”方法處理結(jié)果繼續(xù)進行。

其中,“2S”方法是指將數(shù)值大于或小于平均值±2倍標準差的部分視作異常值,“3S”方法則是指將數(shù)值大于或小于平均值±3倍標準差的部分視作異常值。

得到異常值后,將其從658個采樣點中剔除;剩余的采樣點數(shù)據(jù)繼續(xù)后續(xù)操作。

本部分具體代碼附于1.3 正態(tài)分布檢驗及轉(zhuǎn)換處。

1.3 正態(tài)分布檢驗及轉(zhuǎn)換

計算變異函數(shù)需建立在初始數(shù)據(jù)符合正態(tài)分布的假設(shè)之上;而采樣點數(shù)據(jù)并不一定符合正態(tài)分布。因此,我們需要對原始數(shù)據(jù)加以正態(tài)分布檢驗。

一般地,正態(tài)分布檢驗可以通過數(shù)值檢驗直方圖QQ圖等圖像加以直觀判斷。本文綜合采取以上兩種數(shù)值、圖像檢驗方法,共同判斷正態(tài)分布特性。

針對數(shù)值檢驗方法,我在一開始準備選擇采用Kolmogorov-Smirnov檢驗方法;但由于了解到,這一方法僅僅適用于標準正態(tài)檢驗,因此隨后改用Lilliefors檢驗。

Kolmogorov-Smirnov檢驗通過樣本的經(jīng)驗分布函數(shù)與給定分布函數(shù)的比較,推斷該樣本是否來自給定分布函數(shù)的總體;當其用于正態(tài)性檢驗時只能做標準正態(tài)檢驗。

Lilliefors檢驗則將上述Kolmogorov-Smirnov檢驗改進,其可用于一般的正態(tài)分布檢驗。

QQ圖(Quantile Quantile Plot)是一種散點圖,其橫坐標表示某一樣本數(shù)據(jù)的分位數(shù),縱坐標則表示另一樣本數(shù)據(jù)的分位數(shù);橫坐標與縱坐標組成的散點圖代表同一個累計概率所對應的分位數(shù)。

因此,QQ圖具有這樣的特點:針對y=x這一直線,若散點圖中各點均在直線附近分布,則說明兩個樣本為同等分布;因此,若將橫坐標(縱坐標)表示為一個標準正態(tài)分布樣本的分位數(shù),則散點圖中各點均在上述直線附近分布可以說明,縱坐標(橫坐標)表示的樣本符合或基本近似符合正態(tài)分布。本文采用將橫坐標表示為正態(tài)分布的方式。

此外,PP圖(Probability Probability Plot)同樣可以用于正態(tài)分布的檢驗。PP圖橫坐標表示某一樣本數(shù)據(jù)的累積概率,縱坐標則表示另一樣本數(shù)據(jù)的累積概率;其根據(jù)變量的累積概率對應于所指定的理論分布累積概率并繪制的散點圖,用于直觀地檢測樣本數(shù)據(jù)是否符合某一概率分布。和QQ圖類似,如果被檢驗的數(shù)據(jù)符合所指定的分布,則其各點均在上述直線附近分布。若將橫坐標(縱坐標)表示為一個標準正態(tài)分布樣本的分位數(shù),則散點圖中各點均在直線附近分布可以說明,縱坐標(橫坐標)表示的樣本符合或基本近似符合正態(tài)分布。

三種土壤屬性,我選擇首先以pH數(shù)值為例進行操作。通過上述數(shù)值檢驗、圖像檢驗方法,檢驗得到剔除異常值后的原始pH數(shù)值數(shù)據(jù)并不符合正態(tài)分布這一結(jié)論。因此,嘗試對原數(shù)據(jù)加以對數(shù)開平方等轉(zhuǎn)換處理;隨后發(fā)現(xiàn),原始pH值開平方數(shù)據(jù)的正態(tài)分布特征雖然依舊無法通過較為嚴格的Lilliefors檢驗,但其直方圖、QQ圖的圖像檢驗結(jié)果較為接近正態(tài)分布,并較之前二者更加明顯。故后續(xù)取開平方處理結(jié)果繼續(xù)進行。

值得一提的是,本文后半部分得到pH值開平方數(shù)據(jù)的實驗變異函數(shù)及其散點圖后,在對其余兩種空間屬性數(shù)據(jù)(即有機質(zhì)含量與全氮含量)進行同樣的操作時,發(fā)現(xiàn)全氮含量數(shù)據(jù)在經(jīng)過“2S”方法剔除異常值后,其原始形式的數(shù)據(jù)是可以通過Lilliefors檢驗的,且其直方圖、QQ圖分布特點十分接近正態(tài)分布。

我亦準備嘗試對空間屬性數(shù)據(jù)進行反正弦轉(zhuǎn)換。但隨后發(fā)現(xiàn),已有三種屬性數(shù)值的原始數(shù)據(jù)并不嚴格分布在-11的區(qū)間內(nèi),因此并未對其進行反正弦方式的轉(zhuǎn)換。

經(jīng)過上述檢驗、轉(zhuǎn)換處理過后的圖像檢驗結(jié)果如下所示。

以上部分代碼如下:

clc;clear;
info=xlsread('data.xls');
oPH=info(:,3);
oOM=info(:,4);
oTN=info(:,5);
 
mPH=mean(oPH);
sPH=std(oPH);
num2=find(oPH>(mPH+2*sPH)|oPH<(mPH-2*sPH));
num3=find(oPH>(mPH+3*sPH)|oPH<(mPH-3*sPH));
PH=oPH;
for i=1:length(num2)
    n=num2(i,1);
    PH(n,:)=[0];
end
PH(all(PH==0,2),:)=[];
 
%KSTest(PH,0.05)
H1=lillietest(PH);
 
for i=1:length(PH)
    lPH(i,:)=log(PH(i,:));
end
 
H2=lillietest(lPH);
 
for i=1:length(PH)
    sqPH(i,:)=(PH(i,:))^0.5;
end
 
H3=lillietest(sqPH);
 
% for i=1:length(PH)
%     arcPH(i,:)=asin(PH(i,:));
% end
% 
% H4=lillietest(arcPH);
 
subplot(2,3,1),histogram(PH),title("Distribution Histogram of pH");
subplot(2,3,2),histogram(lPH),title("Distribution Histogram of Natural Logarithm of pH");
subplot(2,3,3),histogram(sqPH),title("Distributio n Histogram of Square Root of pH");
subplot(2,3,4),qqplot(PH),title("Quantile Quantile Plot of pH");
subplot(2,3,5),qqplot(lPH),title("Quantile Quantile Plot of Natural Logarithm of pH");
subplot(2,3,6),qqplot(sqPH),title("Quantile Quantile Plot of Square Root of pH");

2 距離量算

接下來,需要對篩選出的采樣點相互之間的距離加以量算。這是一個復雜的過程,需要借助循環(huán)語句。

本部分具體代碼如下。

poX=info(:,1);
poY=info(:,2);
dis=zeros(length(PH),length(PH));
for i=1:length(PH)
    for j=i+1:length(PH)
        dis(i,j)=sqrt((poX(i,1)-poX(j,1))^2+(poY(i,1)-poY(j,1))^2);
    end
end

3 距離分組

計算得到全部采樣點相互之間的距離后,我們需要依據(jù)一定的范圍劃定原則,對距離數(shù)值加以分組。

距離分組首先需要確定步長。經(jīng)過實驗發(fā)現(xiàn),若將步長選取過大會導致得到的散點圖精度較低,而若步長選取過小則可能會使得每組點對總數(shù)量較少。因此,這里取步長為500米;其次確定最大滯后距,這里以全部采樣點間最大距離的一半為其值。隨后計算各組對應的滯后級別、各組上下界范圍等。

本部分具體代碼附于本文4 平均距離、半方差計算及其繪圖處。

4 平均距離、半方差計算及其繪圖

分別計算各個組內(nèi)對應的點對個數(shù)、點對間距離總和以及點對間屬性值差值總和等。隨后,依據(jù)上述參數(shù),最終求出點對間距離平均值以及點對間屬性值差值平均值。

依據(jù)各組對應點對間距離平均值為橫軸,各組對應點對間屬性值差值平均值為縱軸,繪制出經(jīng)驗半方差圖。

本部分及上述部分具體代碼如下。

madi=max(max(dis));
midi=min(min(dis(dis>0)));
radi=madi-midi;
ste=500;
clnu=floor((madi/2)/ste)+1;
ponu=zeros(clnu,1);
todi=ponu;
todiav=todi;
diff=ponu;
diffav=diff;
for k=1:clnu
    midite=ste*(k-1);
    madite=ste*k;
    for i=1:length(sqPH)
        for j=i+1:length(sqPH)
            if dis(i,j)>midite && dis(i,j)<=madite
                ponu(k,1)=ponu(k,1)+1;
                todi(k,1)=todi(k,1)+dis(i,j); diff(k,1)=diff(k,1)+(sqPH(i)-sqPH(j))^2;
            end
        end
    end
    todiav(k,1)=todi(k,1)/ponu(k,1);
    diffav(k,1)=diff(k,1)/ponu(k,1)/2;
end
plot(todiav(:,1),diffav(:,1)),title("Empirical Semivariogram of Square Root of pH");
xlabel("Separation Distance (Metre)"),ylabel("Standardized Semivariance");

5 繪圖結(jié)果

通過上述過程,得到pH值開平方后的實驗變異函數(shù)折線圖及散點圖。

可以看到,pH值開平方后的實驗變異函數(shù)較符合于有基臺值的球狀模型或指數(shù)模型。函數(shù)數(shù)值在距離為08000米區(qū)間內(nèi)快速上升,在距離為8000米后數(shù)值上升放緩,變程為25000米左右;即其“先快速上升,再增速減緩,后趨于平穩(wěn)”的圖像整體趨勢較為明顯。但其數(shù)值整體表現(xiàn)較低——塊金常數(shù)為0.004左右,而基臺值僅為0.013左右。為驗證數(shù)值正確性,同樣對有機質(zhì)全氮進行上述全程操作。

得到二者對應變異函數(shù)折線圖與散點圖。

由以上三組、共計六幅的pH值開平方、有機質(zhì)全氮對應的實驗變異函數(shù)折線圖與散點圖可知,不同數(shù)值對應實驗變異函數(shù)數(shù)值的數(shù)量級亦會有所不同;但其整體“先快速上升,再增速減緩,后趨于平穩(wěn)”的圖像整體趨勢是十分一致的。

此外,如上文所提到的,針對三種空間屬性數(shù)據(jù)(pH值、有機質(zhì)含量全氮含量)中最符合正態(tài)分布,亦是三種屬性數(shù)據(jù)各三種(原始值、取對數(shù)與開平方)、共九種數(shù)據(jù)狀態(tài)中唯一一個通過Lilliefors正態(tài)分布檢驗的數(shù)值——全氮含量經(jīng)過異常值剔除后的原始值,將其正態(tài)分布的圖像檢驗結(jié)果特展示如下。

至此,我們就完成了全部的操作、分析過程~

到此這篇關(guān)于Matlab計算變異函數(shù)并繪制經(jīng)驗半方差圖詳解的文章就介紹到這了,更多相關(guān)Matlab計算變異函數(shù) 繪制經(jīng)驗半方差圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語言中你容易忽略的知識點與技巧總結(jié)

    C語言中你容易忽略的知識點與技巧總結(jié)

    這篇文章主要給大家介紹了關(guān)于C語言中你容易忽略的知識點與技巧,文中通過實例代碼以及圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-03-03
  • 詳解C語言中accept()函數(shù)和shutdown()函數(shù)的使用

    詳解C語言中accept()函數(shù)和shutdown()函數(shù)的使用

    這篇文章主要介紹了詳解C語言中accept()函數(shù)和shutdown()函數(shù)的使用,用來操作socket相關(guān)的網(wǎng)絡通信,需要的朋友可以參考下
    2015-09-09
  • C語言重難點之內(nèi)存對齊和位段

    C語言重難點之內(nèi)存對齊和位段

    這篇文章主要介紹了C語言重難點之內(nèi)存對齊和位段,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • C語言實現(xiàn)合并字符串

    C語言實現(xiàn)合并字符串

    今天小編就為大家分享一篇C語言實現(xiàn)合并字符串,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C語言實現(xiàn)“幸運數(shù)”的實例詳解

    C語言實現(xiàn)“幸運數(shù)”的實例詳解

    這篇文章主要介紹了C語言實現(xiàn)“幸運數(shù)”的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • C語言實現(xiàn)經(jīng)典排序算法的示例代碼

    C語言實現(xiàn)經(jīng)典排序算法的示例代碼

    這篇文章主要為大家詳細介紹了如何利用C語言實現(xiàn)經(jīng)典排序算法中的冒泡排序、選擇排序、插入排序、希爾排序,文中的示例代碼講解詳細,需要的可以參考一下
    2022-08-08
  • C語言/C++如何生成隨機數(shù)

    C語言/C++如何生成隨機數(shù)

    這篇文章主要介紹了C語言/C++如何生成隨機數(shù),C語言/C++產(chǎn)生隨機數(shù)主要用到的是rand()函數(shù), srand()函數(shù),C語言/C++里沒有自帶的random(int number)函數(shù),如何解決?感興趣的小伙伴們可以參考一下
    2016-04-04
  • C語言中const和C++中的const 區(qū)別詳解

    C語言中const和C++中的const 區(qū)別詳解

    這篇文章主要介紹了C語言中const和C++中的const 區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • C++類型轉(zhuǎn)換運算符的實例詳解

    C++類型轉(zhuǎn)換運算符的實例詳解

    這篇文章主要介紹了C++類型轉(zhuǎn)換運算符的實例詳解的相關(guān)資料,希望通過本文大家能夠掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09
  • VScode上配置 c語言環(huán)境的圖文教程

    VScode上配置 c語言環(huán)境的圖文教程

    這篇文章主要介紹了配置VScode c語言環(huán)境,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05

最新評論