此插件允許您在 JMP 中運行廣義線性混合模型。 默認參數設置與 SAS %GLIMMIX 宏基本相同。
這選擇列面板顯示當前數據集中的所有變量。
這選擇角色變量面板允許您指定:
- Y:響應變量。
- 權重:分析的權重變量。
- 偏移量:偏移量變量。 默認為無偏移。
- By:by 變量允許您同時為子組擬合模型。
這構建模型效果面板包括:
這選項面板包括:
- 分配:響應變量分佈。 默認為二項式。
- 關聯:在使用混合模型之前用於將響應變量轉換為偽分數的鏈接函數。 提供了規範鏈接功能。
- 最大迭代:算法收斂的最大迭代次數。 默認值為 30。
- 收斂準則:如果RMSE小於收斂準則的值,則迭代停止。 默認值為 1E-8。
- 修正係數:在初始轉換步驟添加到響應變量的常數,以避免奇異點。 默認值為 0.5。
- 按組報告限制:指定By變量時,如果子組數大於此限制數,將抑制報表輸出。 相反,將提供一個匯總表和一個 Graph Builder 界面。
我們將使用在線提供的示例(%GLIMMIX 宏結果網站: https://support.sas.com/techsup/notes/v8/25/030.html或 PROC GLIMMIX 網站: https://go.documentation.sas.com/?docsetId=statug&docsetVersion=15.1&docsetTarget=statug_glimmix_examples.htm&locale=en )。 要使用 SAS 宏導出比較結果,請在 MODEL 語句中設置 'DDFM=KR' 選項,並在 PROC MIXED 語句中設置 'NOBOUND' 選項。
演示視頻也可在線獲取:
示例 6 -- Salamander 數據長格式: https://youtu.be/6gCqufudFV4
示例 7——RNA-seq 數據: https://youtu.be/o4LeTmVzzVE
示例 1 – 泊松分佈 (ship_demo.jmp):
以下是船舶數據的一瞥(最初來自 McCullagh 和 Nelder (1989),第 6.3 節)。
響應變量是“N”,服從泊松分佈。 廣義線性混合模型中的固定效應是“類型”;隨機效應是“年,期,年*期”。 偏移變量是“服務”。
Poisson 分佈的默認鏈接函數是“log”鏈接。 請注意,如果我們想對選定的分佈使用規範(默認)鏈接,我們可以將鏈接框留空。
可以通過選擇兩個或多個變量並單擊“固定效應”或“隨機效應”面板中的“交叉”按鈕來添加交互項。
指定所有模型參數後,單擊“運行”按鈕。 經過 28 次迭代,算法收斂。 結果輸出是 JMP 中的混合模型格式。 請注意,在與 %GLIMMIX SAS 宏結果進行比較時,由於設計矩陣編碼的差異,我們建議比較 F 檢驗結果、LS 均值或方差分量估計值,而不是固定效應參數估計值。
示例 2 – 二進制分佈 (sal1.jmp):
以下是蠑螈數據的一瞥(最初來自 McCullagh 和 Nelder (1989),第 14.5 節)。 請注意,在運行分析之前,請為感興趣的變量定義適當的建模類型。 在下面的例子中,變量“fnum, mnum”是連續的數字。 但是如果我們想將它們作為分類變量,我們可以右鍵點擊變量名>列信息,然後將建模類型更改為nominal。
型號規格:響應變量:ybin。 分佈:二項式。 鏈接功能:logit。
固定效果:fpop、mpop、fpop*mpop。 隨機效果:fpop*fnum、mpop*mnum。
算法在 10 次迭代後收斂。
示例 3 – 二項分佈 (blotch.jmp)
數據源: https://go.documentation.sas.com/?docsetId=statug&docsetTarget=statug_code_gmxex04.htm&docsetVersion=15.1&locale=en
響應變量“prop”表示發病率. “站點”和“品種”是兩個固定效應。 我們選擇“二項式”分佈,默認鏈接函數是“Logit”。 (我們在這個例子中沒有指定隨機效應。)
“variety”和“site”的LSmeans與%GLIMMIX宏和PROC GLIMMIX的LSmeans一致。 但是,F 檢驗結果顯示出差異。
示例 4 – 二項分佈 (rcb_binomial.jmp)
經過 6 次迭代,我們得出以下結果。 此結果與 %GLIMMIX 宏生成的結果一致,但與 PROC GLIMMIX 的結果略有不同。
示例 5 – 二項分佈 (hessianfly.jmp)
數據源: https://go.documentation.sas.com/?docsetId=statug&docsetTarget=statug_code_gmxex01.htm&docsetVersion=15.1&locale=en
響應是“y/n”,格式為“事件/試驗“ 或者 ”成功/總試驗”。 在指定響應變量 Y 時,我們需要先選擇“events”變量,在本例中為“y”,然後選擇“trials”變量。 因此,在“y”之後選擇“n”。 設置“進入”為固定效果,“阻擋”為隨機效果。 選擇“二項式”分佈並使用默認的“Logit”鏈接函數。
經過6次迭代,我們得出的結果如下:
上面例子的結果可以通過SAS PROC GLIMMIX和%GLIMMIX宏進行驗證,參見SAS代碼: SAS_Example_macro_proc_verification.sas .
示例 6 – 二進制分佈 (sal1_long.jmp):
當數據由子集組成並且您希望對每個組/子集獨立建模時,您可以在“By”字段中指定組/子集指示變量。
在本例中,sal1_long.jmp 是 Salamander 數據的堆疊版本(最初來自 McCullagh 和 Nelder (1989),第 14.5 節)。 這裡,響應變量“y1、y2、y3”被堆疊到變量“ystack”中。 變量“ycat”表示原始響應類別。
這裡,指定“ystack”作為響應變量,“ycat”作為By變量。 與示例 2 中的設置類似,我們可以指定分佈、固定效應、隨機效應。
GLMM 程序將為 By 字段中指定的每個組/子集執行。 最終報告如下。 列出了每個組/子集的結果 - 響應 y1_pseudo、響應 y2_pseudo 和響應 y3_pseudo。
示例 7 – RNA-seq 數據
由於基因組數據通常是高維度的,其中基因/SNP 的數量通常大於 10k,因此執行集成分析在計算上可能具有挑戰性。 為了將來使用此插件分析 RNA-seq 數據的興趣,我們測試了增加 BY 字段中指定的基因數量時的性能。 本節將作為壓力測試的一部分,因為 BY 函數不是用多線程編寫的。
這裡使用的示例數據是在線公開的,來自包: https://bioconductor.org/packages/release/bioc/vignettes/variancePartition/inst/doc/dream.html
- varPartDEdata_count.jmp是原始計數矩陣
- varPartDEdata_metadata.jmp是 24 個樣本的元數據
- varPartDEdata_stack10.jmp是處理後的數據,其中前 10 個基因的基因表達與其他元數據變量一起堆疊。
- varPartDEdata_stack100.jmp是處理後的數據,其中前 100 個基因的基因表達與其他元數據變量一起堆疊。
從在線示例中,對於每個基因,我們可以將模型擬合為:
Y ~ 疾病亞型 + 性別 + (1|個人)
,其中“DiseaseSubtype”和“Sex”是固定效應,“Individual”是隨機效應。 這裡的響應變量 Y
將取決於分配的選擇。 分佈的一種選擇是“泊松”分佈,在這種情況下,我們使用原始計數“表達式”作為響應變量。 對 RNA-seq 數據建模的另一種方法是首先對計數進行對數變換,並在指定“正態”分佈的同時使用“logexprs”作為響應變量。
使用示例數據varPartDEdata_stack10.jmp ,我們可以分別推導出十個基因中的每一個的結果:
使用“logexprs”作為響應變量,Analyze>Fit Model>Mixed Model 和我們的 GLMM 插件的結果是相同的。 當使用原始計數“表達式”作為響應並指定“泊松”分佈時,運行時間較長並且可能存在收斂問題的模型。
BY 變量中的子組(基因)數
|
泊松運行時間 (HH:MM:SS)
|
正常運行時間 (HH:MM:SS)
|
使用 log(count) 運行時間的混合模型 (HH:MM:SS)
|
10
|
00:01:15
|
00:00:06
|
|
100
|
00:06:00
|
00:00:43
|
00:00:01
|
1000
|
01:25:19
|
00:09:05
|
00:01:41
|
10000
|
11:11:05
|
01:31:58
|
|
……
|
|
|
|
當 BY 字段中指定的基因/亞組數大於按組報告限制=10 ,例如使用varPartDEdata_stack100.jmp ,我們將不再顯示報告。 相反,將提供“GLMM 結果”JMP 表和火山圖。 “GLMM 結果”表包括部分 F 檢驗結果(DFDen_、F Ratio_、Prob > F_)、最小二乘均值(LSMeans:),以及部分參數估計(Estimate:、-log10(Prob >|t|):)
通過將“logexprs”指定為Y,並指定“Normal”分佈,我們可以得出下面的數據集。 (可作為GLMM 結果.jmp )
默認火山圖是為指定的第一個固定效應生成的。 您可以切換列以查看其他感興趣的變量的火山圖。
(100 個基因,logexprs)
(10000 個基因,logexprs)
(10000 個基因,表達,泊松)