高維中介數據: 聯合顯著性(JS)檢驗法

摘要

中介分析在流行病學和臨床試驗中越來越受到關注。在現有的中介分析方法中,流行的聯合顯著性(JS)檢驗會產生過于保守的 I 類錯誤率,因此功效較低。但是,如果在使用 JS 測試高維中介假設時,可以準確控制族錯誤率 (FWER) 和錯誤發現率 (FDR)。分析的核心是基于估計三個分量零假設的比例并推導零 p 值的相應混合分布。

一言以蔽之:計算高維中介假設的校正后的p值

JS-混合方法

新提出的JS-混合方法(joint significance (JS) test) 通過估計三種類型組合零假設的比例來解決JS均勻方法在高維中介假設測試中的過度保守問題。這種方法衍生出控制家庭錯誤率(FWER)或假發現率(FDR)的顯著性規則。通過理論證明、廣泛的模擬實驗和兩個數據例子,JS-混合方法被證明是穩健的,適用于稀疏和密集替代假設,并且在FWER和FDR的控制上比JS-均勻方法提供了更令人滿意的結果。特別是,當使用有限樣本校正的JS-混合方法時,與基于漸近混合零分布的方法相比,其經驗FWER更接近目標的0.05,從而改善了控制效果。

種類型組合零假設的比例

通過估計與三種類型(H00, H01, H10)相關的零假設在所有J個假設中的比例,得到關于這些零假設在數據集中的相對頻率的信息。這些估計對于理解和控制假陽性率(FDR)以及在假設檢驗中區分真正和虛假發現至關重要。π01, π10, 和 π00 分別表示三種類型組合零假設(即,H01, H10, 和 H00)在J個假設中的比例。通過最大化似然函數分別得到αj 和 βj 的估計p1j 和 p2j,由于模型允許它們的似然性可以分解,所以這些估計是獨立的,這有助于更準確地估計pmax,j 在零假設H0j中的分布

實現方法

以DNA甲基化在癌癥病因中的作用為例,介紹了兩個前列腺癌研究案例。以供自學。

瀏覽關鍵函數

安裝、導入包

# 安裝hdmt包
install.packages("HDMT")
# 加載hdmt包
library(HDMT)

導入數據

數據格式:數據集是一個矩陣,其中包含候選中介變量的兩列 p 值。第 1 列包含用于測試暴露是否與中介相關的 p 值 (alpha!=0)。第 2 列包含用于測試中介變量是否與暴露調整后的結果相關的 p 值 (beta!=0),需要先使用各類中介方法進行估計。

# 讀取數據
data(snp_input)
# 查看數據
head(snp_input)
#         [,1]        [,2]
# [1,] 0.1056981 0.253803463
# [2,] 0.9986436 0.862830855
# [3,] 0.1006569 0.726600653
# [4,] 0.1731411 0.327851970
# [5,] 0.8900695 0.001496449
# [6,] 0.8156905 0.087064991
# 查看數據結構
str(snp_input)
#  num [1:69602, 1:2] 0.106 0.999 0.101 0.173 0.89 ...
input_pvalues <- snp_input# 從輸入數據中隨機抽取10%的數據【節省時間】
input_pvalues <- input_pvalues[sample(1:nrow(input_pvalues),size=ceiling(nrow(input_pvalues)/10)),]
str(input_pvalues)
# num [1:6961, 1:2] 0.37146 0.00373 0.56406 0.4913 0.78594 ... 

估計三個分量零值比例備用

nullprop <- null_estimation(input_pvalues)
# $alpha10
# [1] 0.06608246
# 
# $alpha01
# [1] 0.4640138
# 
# $alpha00
# [1] 0.4692812
# 
# $alpha1
# [1] 0.933295
# 
# $alpha2
# [1] 0.5353637

計算FDR校正后的p值

# 使用三個分量零值比例,基于所提出的聯合顯著性混合零方法(JS-mixture)計算估計的逐點 FDR
fdr <- fdr_est(nullprop$alpha00,nullprop$alpha01,nullprop$alpha10, nullprop$alpha1,nullprop$alpha2,input_pvalues,exact=0)
str(fdr)
# num [1:6961] 0.954 0.966 0.957 0.956 0.917 ...

結果解讀:如果一個p值對應的FDR小于0.05,那么這個結果被認為是在FDR控制下的顯著發現,表明存在關聯

?計算FWE校正后的p值的cutoff

# 使用估計的混合零分布計算 p-max 的 FWER 截止值cutoff
fwercut0 <- fwer_est(nullprop$alpha10,nullprop$alpha01,nullprop$alpha00,nullprop$alpha1, nullprop$alpha2,input_pvalues,alpha=0.05,exact=0)   # exact= 0:不估計CDF的近似值
fwercut0
# [1] 1.491624e-05fwercut1 <- fwer_est(nullprop$alpha10,nullprop$alpha01,nullprop$alpha00,nullprop$alpha1, nullprop$alpha2,input_pvalues,alpha=0.05,exact=1) # exact = 1:非參數估計 CDF 的精確方法
fwercut1
# [1] 6.187122e-05

結果解讀:fwercut0 是使用估計的混合零分布計算的 p-max 的 FWER 截止值,其中 exact=0 表示使用了不估計累積分布函數(CDF)的近似方法。 在顯著性水平 alpha=0.05 下,為了控制家庭錯誤率(FWER),當候選中介變量的p值小于或等于這個值(即1.354997e-05)時,我們將認為關聯性檢測達到統計顯著性。同理解讀fwercut1

作圖

用途:觀察經過JS 后,校正后的p值被“拉高”了,即更容易達到統計學顯著,提高了功效

# 通過上面計算的三個分量零值比例,并使用近似或精確方法計算 pmax 的估計混合零分布分位數--------
pnull <- adjust_quantile(nullprop$alpha00,nullprop$alpha01,nullprop$alpha10,nullprop$alpha1, nullprop$alpha2,input_pvalues,exact=0) # exact=0,推導混合零分布時,不估計CDF的近似方法
str(pnull)
# num [1:6961] 0.000298 0.000596 0.000894 0.001192 0.001489 ...# 使用預期分位數繪制 p-max 的校正分位數-分位數圖---------
pmax <- apply(input_pvalues,1,max) # 計算每行的最大值
pnull1 <- adjust_quantile(nullprop$alpha10,nullprop$alpha01,nullprop$alpha00, nullprop$alpha1,nullprop$alpha2,input_pvalues,exact=1) # exact=1,在推導混合零分布時,非參數估計 CDF 的精確方法correct_qqplot(pmax,pnull1)  #如下圖展示

參考文獻

A Multiple-Testing Procedure for High-Dimensional Mediation Hypotheses: Journal of the American Statistical Association: Vol 117 , No 537 - Get Access (tandfonline.com)icon-default.png?t=N7T8https://www.tandfonline.com/doi/full/10.1080/01621459.2020.1765785??????

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/718417.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/718417.shtml
英文地址,請注明出處:http://en.pswp.cn/news/718417.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人力資源(E-HR)應用架構的設計與實踐

當談到人力資源管理時&#xff0c;電子人力資源&#xff08;E-HR&#xff09;系統已經成為現代企業不可或缺的組成部分。E-HR系統的設計與實踐對于提高組織的人力資源管理效率和員工體驗至關重要。本文將探討E-HR應用架構的設計與實踐&#xff0c;以及如何借助信息技術優化人力…

docker清理閑置鏡像郵件發送

腳本名稱 DockerImage_Clear.sh腳本內容 #!/bin/bash # 清除閑置的docker鏡像 #docker image prune -a -f # 列出可清理的docker鏡像 /usr/local/bin/docker images | grep "<none>" # 列出可清理的docker鏡像數量 /usr/local/bin/docker images | grep …

怎么使用Pyecharts庫對淘寶數據進行可視化展示

目錄 一、準備工作 二、數據預處理 三、使用Pyecharts進行可視化展示 柱狀圖展示銷量和評價數 散點圖展示價格與銷量關系 詞云圖展示商品標題關鍵詞 四、總結與建議 在當今的大數據時代&#xff0c;數據可視化已經成為了一個非常重要的技能。Pyecharts是一個基于Python的…

NIO群聊系統的實現

一、前言 通過NIO編寫簡單版聊天室&#xff0c;客戶端通過控制臺輸入發送消息到其他客戶端。注意&#xff1a;并未處理粘包半包問題。 二、邏輯簡述 服務器&#xff1a; 1&#xff09;創建服務器NIO通道&#xff0c;綁定端口并啟動服務器 2&#xff09;開啟非阻塞模式 3&…

C++ //練習 10.24 給定一個string,使用bind和check_size在一個int的vector中查找第一個大于string長度的值。

C Primer&#xff08;第5版&#xff09; 練習 10.24 練習 10.24 給定一個string&#xff0c;使用bind和check_size在一個int的vector中查找第一個大于string長度的值。。 環境&#xff1a;Linux Ubuntu&#xff08;云服務器&#xff09; 工具&#xff1a;vim 代碼塊 /*****…

Altium Designer 22焊接輔助工具 Interactivehtmlbom 插件使用教程

目錄 AD22 由Interactivehtmlbom 插件生成的焊接輔助圖&#xff0c;交互方式很多&#xff0c;十分方便的為我們提供便利。 介紹安裝教程&#xff1a; 前去這個網站 Interactivehtmlbom 插件&#xff0c;單擊下載zip 下載完成后找個地方解壓&#xff0c;雙擊Initablelize.bat文…

河道水庫雨水情自動測報系統

隨著科學技術的不斷進步&#xff0c;以及城市化進程的影響&#xff0c;水庫的管理變得更加復雜&#xff0c;要實現城市水庫的精細化管理&#xff0c;必須借助先進的信息技術手段為支撐&#xff0c;實現對三防、水資源、供水安全的實時監控&#xff0c;優化管理模式和創新管理手…

餐飲廢水處理設備定制廠家

諸城市鑫淼環保小編帶大家了解一下餐飲廢水處理設備定制廠家 1.餐飲廢水問題 餐飲業是重要的經濟領域&#xff0c;但其廢水排放帶來的環境問題不容忽視。餐飲廢水含有高濃度的有機物、油脂、殘渣等&#xff0c;若未經處理直接排放&#xff0c;會嚴重污染水源&#xff0c;危害環…

Matlab 機器人工具箱 例程:運動學+動力學+路徑規劃+可視化

文章目錄 1 創建機器人2 機器人顯示3 機器人示教4 機器人路徑規劃&#xff1a;給定關節角路徑5 機器人路徑規劃&#xff1a;給定末端位姿&#xff0c;求關節角路徑6 工作空間可視化參考鏈接 1 創建機器人 clc;clear;close all; deg pi/180;L1 Revolute(d, 0, a, 0, alpha, 0,…

【Python】快速入門Python一天學完基礎語法

文章目錄 前言1. HelloWorld2. 變量與數據類型2.1 變量2.2 數據類型2.2.1 String 字符串類型2.2.2 基本類型轉換2.2.2 元組2.2.3 字典2.2.4 拆包 2.3 運算2.3.1 雙除號/雙乘號2.3.2 常見運算函數舉例2.3.3 布爾運算 3. 控制流程3.1 if-else 語句3.2 while 循環3.3 for 循環 4. …

子線程如何獲取Request

子線程獲取Request 有時候在進行業務處理時對于一些對于業務不那么重要且對于返回結果無關的情況會開啟一個新的線程進行處理&#xff0c;但是在開啟新線程進行處理時發現無法從RequestContextHolder中獲取到當前的請求&#xff0c;取出來是null 這是因為RequestContextHolder中…

逆變器專題(14)-弱電網下的LCL逆變器控制以及諧振峰問題(1)

相應仿真原件請移步資源下載 LCL濾波器 LCL濾波器因其本身為一個二階系統&#xff0c;其本身就會引發諧振&#xff0c;導致相應諧振頻率處的增益得到放大&#xff0c;進而產生諧波等問題&#xff1b;另一方面&#xff0c;在弱電網下&#xff0c;逆變器會與電網阻抗發生耦合&am…

ARM總結and復習

安裝交叉編譯工具鏈 a. 為什么安裝 因為arm公司的指令集在不斷迭代升級&#xff0c;指令集日益增多,而架構是基于指令集研發的&#xff0c;所以架構不一樣&#xff0c;指令集也不一樣 eg:arm架構使用的是arm指令集 x86架構使用的是x86指令集 而我們日常開發環境中linux的架構…

重載(Overload)和重寫(Override)的區別。重載的方法能否根據返回類型進行區分?

大家好我是蘇麟 , 今天開始又一個專欄開始了(又一個坑 哈哈) . 重載&#xff08;Overload&#xff09;和重寫&#xff08;Override&#xff09;的區別。重載的方法能否根據返回類型進行區分&#xff1f; 方法的重載和重寫都是實現多態的方式&#xff0c;區別在于前者實現的是編…

Java進階-測試方法

來學習一下軟件測試相關的方法&#xff0c;了解一下黑盒測試和白盒測試&#xff0c;以及后面要用到的JUnit單元測試。JUnit單元測試也屬于白盒測試&#xff0c;這次內容較少且相對簡單。 一、軟件測試方法 1、黑盒測試 不需要寫代碼&#xff0c;給輸入值&#xff0c;看程序…

分付在哪些商戶可以使用消費,微信分付怎么提取出來到余額上面來?

分付是一款信用支付產品&#xff0c;用戶可以使用分付進行線上線下的消費支付。下面是使用分付的一些方法&#xff1a; - 開通分付&#xff1a;在微信中搜索并開通分付服務&#xff0c;按照提示完成實名認證和綁定銀行卡等操作。 - 線上支付&#xff1a;在支持分付的線上商戶…

【Web - 框架 - Vue】隨筆 - 通過CDN的方式使用VUE 2.0和Element UI

通過CDN的方式使用VUE 2.0和Element UI - 快速上手 VUE 網址 https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js源碼 https://download.csdn.net/download/HIGK_365/88815507測試 代碼 <!DOCTYPE html> <html lang"en"> <head><meta …

『大模型筆記』最大化大語言模型(LLM)的性能(來自OpenAI DevDay 會議)

最大化大語言模型(LLM)的性能(來自OpenAI DevDay 會議) 文章目錄 一. 內容介紹1.1. 優化的兩個方向(上下文優化和LLM優化)1.2. 提示工程:從哪里開始1.3. 檢索增強生成:拓展知識邊界1.4. 微調:專屬定制二. 參考文獻一. 內容介紹 簡述如何以可擴展的方式把大語言模型(LLMs)…

劍指offer》15--二進制中1的個數[C++]

1. 題目描述 輸入一個整數&#xff0c;輸出該數二進制表示中 1 的個數。 2. 解題思路 如果對負數直接右移&#xff0c;會導致最高位一直補1&#xff0c;最終變成0xFFFF死循環。 常規做法&#xff1a; 3. 代碼實現 #include<iostream> #include<vector> using…

Leetcoder Day38| 動態規劃part05 背包問題

1049.最后一塊石頭的重量II 有一堆石頭&#xff0c;每塊石頭的重量都是正整數。 每一回合&#xff0c;從中選出任意兩塊石頭&#xff0c;然后將它們一起粉碎。假設石頭的重量分別為 x 和 y&#xff0c;且 x < y。那么粉碎的可能結果如下&#xff1a; 如果 x y&#xff0c;那…