이 추가 기능을 사용하면 JMP에서 일반화 선형 혼합 모델을 실행할 수 있습니다. 기본 매개변수 설정은 대부분 SAS %GLIMMIX 매크로와 동일합니다.
NS 열 선택 패널 현재 데이터 세트의 모든 변수를 보여줍니다.
NS 역할 변수 선택 패널 다음을 지정할 수 있습니다.
- Y: 응답 변수.
- 가중치: 분석을 위한 가중치 변수입니다.
- 오프셋: 오프셋 변수. 기본값은 오프셋 없음입니다.
- 기준: 기준 변수를 사용하면 부분군에 대한 모형을 동시에 적합할 수 있습니다.
NS 모델 효과 구성 패널에는 다음이 포함됩니다.
NS 옵션 패널 포함:
- 분포 : 반응 변수 분포. 기본값은 이항입니다.
- 링크 : 혼합 모델을 사용하기 전에 응답 변수를 의사 점수로 변환하는 데 사용할 연결 함수입니다. 표준 링크 기능이 제공됩니다.
- 최대 반복 : 알고리즘이 수렴할 최대 반복 횟수입니다. 기본값은 30입니다.
- 수렴 기준 : RMSE가 수렴 기준 값보다 작으면 반복이 중지됩니다. 기본값은 1E-8입니다.
- 보정 계수 : 특이점을 피하기 위해 초기 변환 단계에서 응답 변수에 추가되는 상수입니다. 기본값은 0.5입니다.
- 그룹별 보고서 제한 : By 변수를 지정할 때 하위 그룹 수가 이 제한 수보다 크면 보고서 출력이 억제됩니다. 대신 요약 테이블과 그래프 빌더 인터페이스가 제공됩니다.
온라인에서 사용할 수 있는 예제를 사용하여 추가 기능에 대한 세부 정보를 설명합니다(%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 -- 도롱뇽 데이터 긴 형식: https://youtu.be/6gCqufudFV4
실시예 7 -- RNA-seq 데이터: https://youtu.be/o4LeTmVzzVE
예 1 – 푸아송 분포(ship_demo.jmp):
다음은 선박 데이터의 일견입니다(원래 McCullagh and Nelder(1989), 섹션 6.3.).
반응 변수는 푸아송 분포를 따르는 "N"입니다. 일반화 선형 혼합 모델의 고정 효과는 "유형"입니다. 무작위 효과는 "연도, 기간, 연도*기간"입니다. 오프셋 변수는 "서비스"입니다.
푸아송 분포의 기본 연결 기능은 '로그' 연결입니다. 선택한 배포에 대해 표준(기본) 링크를 사용하려는 경우 링크 상자를 비워 둘 수 있습니다.
두 개 이상의 변수를 선택하고 고정 효과 또는 임의 효과 패널에서 "십자" 버튼을 클릭하여 상호작용 용어를 추가할 수 있습니다.
모든 모델 매개변수를 지정한 후 "실행" 버튼을 클릭합니다. 28번의 반복 후에 알고리즘이 수렴되었습니다. 결과 출력은 JMP의 혼합 모델 형식입니다. %GLIMMIX SAS 매크로 결과와 비교할 때 설계 행렬 코딩의 차이로 인해 고정 효과 매개변수 추정값 대신 F-검정 결과, LS 평균 또는 분산 성분 추정값을 비교하는 것이 좋습니다.
예 2 – 이진 분포(sal1.jmp):
다음은 도롱뇽 데이터(원래 McCullagh and Nelder(1989), 섹션 14.5)를 간략히 나타낸 것입니다. 분석을 실행하기 전에 관심 변수에 대한 적절한 모델링 유형을 정의하십시오. 아래 예에서 변수 "fnum, mnum"은 연속 숫자입니다. 그러나 범주형 변수로 사용하려면 변수 이름 > 열 정보를 마우스 오른쪽 버튼으로 클릭한 다음 모델링 유형을 명목으로 변경할 수 있습니다.
모델 사양: 응답 변수: ybin. 분포: 이항. 링크 기능: 로짓.
고정 효과: 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"는 다음을 나타냅니다. 투사 . "site"와 "variety"는 두 개의 고정 효과입니다. "Binomial" 분포를 선택하고 기본 링크 기능은 "Logit"입니다. (이 예에서는 임의 효과를 지정하지 않습니다.)
"variety" 및 "site"의 LSmeans는 %GLIMMIX 매크로 및 PROC GLIMMIX의 것과 일치합니다. 그러나 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):
데이터가 부분 집합으로 구성되어 있고 각 그룹/부분 집합을 독립적으로 모델링하려는 경우 "기준" 필드에 그룹/부분 집합 표시 변수를 지정할 수 있습니다.
이 예에서 sal1_long.jmp는 도롱뇽 데이터의 스택 버전입니다(원래 McCullagh and Nelder(1989), 섹션 14.5). 여기에서 응답 변수 "y1, y2, y3"은 변수 "ystack"에 누적됩니다. 변수 "ycat"은 원래 응답 범주를 나타냅니다.
여기에서 응답 변수로 "ystack"을 지정하고 By 변수로 "ycat"을 지정합니다. 예제 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
배포 선택에 따라 달라집니다. 분포의 한 가지 선택은 "Poisson" 분포이며 이 경우 원시 개수 "expression"을 응답 변수로 사용합니다. RNA-seq 데이터를 모델링하는 다른 방법은 먼저 카운트의 로그 변환을 수행하고 "정규" 분포를 지정하면서 "logexprs"를 응답 변수로 사용하는 것입니다.
예제 데이터 사용 varPartDEdata_stack10.jmp , 우리는 10개의 유전자 각각에 대한 결과를 개별적으로 도출할 수 있습니다.
"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로 지정하고 "정규" 분포를 지정하면 아래 데이터 세트를 유도할 수 있습니다. (다음으로 사용 가능 GLMM 결과.jmp )
기본 화산 플롯은 지정된 첫 번째 고정 효과에 대해 생성됩니다. 열을 전환하여 관심 있는 다른 변수에 대한 화산 플롯을 볼 수 있습니다.
(100개의 유전자, logexprs)
(10000개의 유전자, logexprs)
(10000개의 유전자, 발현, 포아송)