多個變量結果的正態分布 - CSDN

2021-01-16 CSDN技術社區

多元正態分布

轉自個人微信公眾號【Memo_Cleon】的統計學習筆記:多元正態分布檢驗的R實現方法。

多元正態分布也稱多元高斯分布。如同正態分布在單變量分析中的地位類似,在對多個因變量(多元)同時進行分析時,常常假設因變量組合成的向量服從一個多元正態分布。比如重複測量數據將重複的測量結果(比如各個時間點上的測量結果)視為不同的因變量,可以採用多元方差分析,此時就要求各個因變量的組合向量服從多元正態分布。對多元正態分布的判斷通常採用的邊際分布來判斷,即每個因變量的分布呈正態或近似正態。但實際上單因變量正態是多因變量多元正態的必要非充分條件:所有因變量的組合服從多元正態分布,每個因變量的分布(邊際分布)必然呈正態;每個因變量的分布呈正態分布,所有因變量的組合未必呈正態分布。只要有一個因變量不服用正態分布則組合分布肯定不服從多元正態分布。

雖然我們可以通過邊際分布來大體判斷,有沒有統計方法直接判斷是否滿足多元正態分布呢?當然,R有無所不能的「包」!比如程序包mvnormtest【函數mshapiro.test】、程序包mvShapiroTest【mvShapiro.Test】、程序包MVN【函數mvn】、程序包mvnTest【函數AD.test、CM.test、DH.test、HZ.test、R.test、S2.test等】、程序包mvtnorm【函數pmvnorm】、程序包energy【函數mvnorm.e、mvnorm.test、mvnorm.etest】……

我們以mshapiro.test {mvnormtest}和mvn {MVN}為例演示多元正態分布檢驗的R實現方法。

mshapiro.test {mvnormtest}

mshapiro.test(U):Performs the Shapiro-Wilk test for multivariate normality。U要求是數值型矩陣,且a matrix with number of columns (sample size) between 3 and 5000。因為在一般在錄入時行表示觀測/記錄,列表示變量/欄位,因此使用此函數需要先對行和列進行轉置,轉置函數為t(「矩陣或數據框」)。

示例:兩組新生兒出生時的體重與身長數據如下。預對兩組的體重和身高同時進行檢驗,可以考慮多元方差分析,應考察多元正態性。

文件導入:
library(openxlsx) #調用程序包openxlsx
mn<-read.xlsx(「D:/Temp/multivnorm.xlsx」,1) #從名稱為multivnorm的excel文件中導入第1個sheet的數據到數據框mn中

**將數據調整成mshapiro.test的分析格式:**對數據框mn的行列進行轉置
A<-t(mn[1:8,3:4])
B<-t(mn[9:16,3:4])

多元正態分析:
library(mvnormtest) #調用程序包mvnormtest
mshapiro.test(A)
mshapiro.test(B)

結果顯示A組多元正態分布SW檢驗W=0.912,P
=0.366>0.05,呈二元正態分布;B組多元正態分布SW檢驗W=0.861,P=0.122>0.05,呈二元正態分布。

mvn {MVN}

mvn(data, subset = NULL, mvnTest = c(「mardia」, 「hz」, 「royston」, 「dh」, 「energy」), covariance = TRUE, tol = 1e-25, alpha = 0.5, scale = FALSE, desc = TRUE, transform = 「none」, R = 1000, univariateTest = c(「SW」, 「CVM」, 「Lillie」, 「SF」, 「AD」), univariatePlot = 「none」, multivariatePlot = 「none」, multivariateOutlierMethod = 「none」, bc = FALSE, bcType = 「rounded」, showOutliers = FALSE, showNewData = FALSE)。Data為矩陣或數據框。

示例:10名肥胖患者在醫生指導下服用藥物減肥,按統一標準記錄服藥前和服藥後1-4周的體重。
這是一個典型的無對照的重複測量數據,如將各個時點的體重視為不同的因變量,因變量(結果變量)就不止一個,此時可考慮多元方差分析(MANOVA)對它們同時進行分析。多元方差分析要求多元正態性、組間方差-協方差矩陣同質性、各因變量間有一定的相關性(個體內不獨立,但個體間獨立)。

library(openxlsx) #調用程序包openxlsx
mn2<-read.xlsx(「D:/Temp/multivnorm.xlsx」,2) #從名稱為multivnorm的excel文件中導入第2個sheet的數據到數據框mn2中
U<-mn2[1:10,2:6]
library(MVN)
mvn(U, mvnTest = c(「dh」), multivariatePlot = 「qq」)

註:本例10行6列,列名為id、W0、W1、W2、W3、W4。分析時僅篩選列,行不進行篩選,U<-multivnorm[1:10,2:6]可以直接U<-multivnorm[2:6]或者U<-multivnorm[-1]都可以。

結果:本例採用Doornik-Hansen了多變量正態性檢驗,當然也可以在語句中修改命令,換成Marida, Royston, Henze-Zirkler’s, E-Statistics等方法。結果顯示E=6.79,P=0.75>0.05,數據滿足多元正態分布。同時結果還給出了每個變量的Shapiro-Wilk檢驗結果,結果顯示W0、W1、W2、W3、W4均滿足正態分布。另外本例同時給出了多元正態性的QQ圖。

轉自個人微信公眾號【Memo_Cleon】的統計學習筆記:多元正態分布檢驗的R實現方法。

相關焦點

  • 正態分布的常用數據 - CSDN
    #尋找真知派#如上一篇文章所述,樣本所屬總體服從正態分布是數據分析和數據挖掘等數據處理的重要前提。如果我們採集的樣本並不能確認其總體是否服從正態分布,那麼數據處理的結果就是不可靠的。因此,對樣本數據進行正態分布檢驗十分必要。
  • f分布的檢驗 r語言 - CSDN
    一、非參數檢驗1、Kolmogorov-Smirnov正態性檢驗(單樣本)檢驗單一樣本是否來自某一特定分布。比如檢驗一組數據是否為正態分布。它的檢驗方法是以樣本數據的累積頻數分布與特定理論分布比較,若兩者間的差距很小,則推論該樣本取自某特定分布族。
  • 分布式存儲技術:數據分布與數據複製
    如果我們有4個節點,分別為節點1,節點2,節點3,節點4,ID的範圍為[1,100],ID1{id : 1},ID2{id : 2},ID3{id : 3}......ID99{id : 99},ID100{id : 100},哈希分布會對現有的哈希函數進行計算,id%4(存儲節點個數)結果為1存儲到節點1,id%4結果為2存儲到節點2,id%4結果為3存儲到節點3,id%4結果為0存儲到節點
  • 什麼是f檢驗 - CSDN
    方差檢驗是多變量t檢驗的延續,對於超過兩個樣本的對比檢驗就無法直接使用獨立T檢驗了,這個時候就需要使用卡方檢驗。組間因素平均平方和MSTR,組內殘差平方和SSE,殘差平均平方和MSE,最後才是計算F檢驗量,然後通過F檢驗量對假設檢驗和備擇假設做出決策,F=MSTR/MSE ~ F(k-1,n-k) ,k是組數,n是所有觀察值的個數F檢驗其實就是方差分析,方差分析就是F分布的
  • 六西格瑪管理基礎-常用離散分布之0-1分布
    當每次實驗中,只有兩種可能的結果,例如,正面朝上與背面朝上,產品合格與不合格,檢驗通過或不通過,目標命中與不命中,具備某種特性與不具備某種特性等。或是只關注實驗的兩種不同結果,例如;手機話費是否高於100塊,一塊布匹上瑕疵是否多於5處等。可以將這兩種結果稱為成功與失敗。
  • f檢驗 matlab專題及常見問題 - CSDN
    16.21980 15.21981 15.71982 161983 161984 15.71985 15.91986 15.71987 16.71988 15.31989 16.11990 16.2MATLAB實現參考網上多個代碼可得
  • python入門第二課:變量和數據類型
    print(message)輸出結果如下,還是和之前一樣,輸出了:Hello Python world!這段代碼裡面的message就是一個變量,存儲的數據是「Hello Python world!」,print(message)的意思就是輸出變量的值。
  • 協整檢驗數據分析 - CSDN
    確認變量的單整階數:若水平變量Xit,是平穩的,則Xit是I(0),0階単整。若Xit非平穩,一階差分後是平穩的,則Xit是I(1),1階単整。若Xit非平穩,一階差分後仍非平穩的,二階差分後才平穩, 則Xit是I(2),2階単整。以此類推。注意:經濟變量二階差分往往很難解釋其含義。平穩變量無需進行差分變換,再單位根檢驗。
  • 《變量》:關於中國變量的書,那些讓人一拍大腿的感悟
    本書開篇作者就立下誓言,要寫30本關於中國變量的書,30年每年寫一本,這是第一本書,但願我能有幸把這30本讀完。本書第一章,何老師告訴大家如何像觀察一棵樹一樣細緻地觀察歷史,同時他總結兩個重要概念:即慢變量和小趨勢。
  • Scratch高級編程之妙用變量管理母體與克隆體
    如果只要求母體而不是它的克隆響應上面的代碼,那麼我們可以通過使用私有變量的辦法來規定哪個對象(可以是母體,也可以是子克隆)運行哪個觸發器。【結論2】如果不使用私有變量,則所有克隆體都將共享使用同一變量。本小例效果圖如下:
  • 全球珊瑚礁魚類生物量分布確認
    全球珊瑚礁魚類生物量分布確認 研究結果顯示:加強漁業管理有助珊瑚礁保護 2016-06-17 科技日報 張夢然 【字體:大 中 小】
  • C語言,局部變量的指針,棧幀
    C/C++不能返回局部變量的指針,是一條重要的語法規則。至於為什麼,則不是那麼顯眼。局部變量,是分配在棧上的變量,隨著函數調用的返回而失效。函數調用結束之後,局部變量的指針,也就是野指針了,不能在函數外繼續使用。
  • stata單位根檢驗 - CSDN
    其中, 是被解釋變量。誤差項 期望為0,方差為 且獨立同分布。如果這個過程的初值為 ,則 可以寫成:其中,服從獨立同分布的N(0,)分布。原假設意味著=1 ,而備擇假設意味著||<1。如果 確實是 1,則隨著樣本量的擴大,OLS 估計值 會相對於平穩序列以一個更快的速度收斂於其真實值 1。
  • 系統小技巧:徹底弄懂Windows 10環境變量
    究其原因,是因為清理軟體會根據TEMP環境變量來判斷現有臨時文件夾的實際位置,這就體現了環境變量的優勢所在。其實,TEMP環境變量只是Windows中眾多環境變量中的一個。既然環境變量如此有用,因此我們有必要對Windows環境變量進行更深入全面的了解和掌握。1.