SAS에서 혼합 모델 소프트웨어의 수석 개발자가되고 싶지 않다는 질문을 받으면 나는 보통 "예 및 아니오"라고 대답합니다. "예"는 SAS에서 약 20 년 동안이 강력한 방법론과 관련되어 매우 기분이 좋으며 PROC GLM과 PROC VARCOMP에서 Jim Goodnight의 작업으로 시작된 강력한 유산 중 일부입니다. 감사의 커다란 빚은 처음에이 방향으로 나를 가리킨 Dave Delong과 PROC MIXED의 시작을 구성하는 주요 코드를 제공 한 John Sall과 Randy Tobias (우리의 최신 ASA 펠로우!)에게갑니다. 흥미롭게도 John의 코드는 Jennrich와 Schluchter의 공분산 구조 모델링 (혼합 모델의 R면)에 대한 선구자적인 작업을 기반으로했으며, Randy의 코드는 REML 분산 구성 요소 추정 (혼합 모델의 G면)에 초점을 두었습니다. 이 두 가지를 합치는 것은 다소 우연적이었으며 동물 사육, 임상 실험, 제조 품질 관리, 교육 평가, 시공간 모델링 및 통계 유전학과 같은 다양한 응용 분야에 훌륭한 기술을 제공하는 것으로 나타났습니다.
"아니오"는 Oliver Schabenberger (PROC GLIMMIX), Chris Gotwalt (JMP), Paul Wright (EVAAS) 및 Tianlin Wang (PROC HPMIXED)과 같은 현재 혼합 모델 전문가가 수행 한 매우 인상적인 작업에 대한 확신에서 비롯된 것입니다. JMP Genomics의 성공을 돕는 전담 전문인과 일하면서 최고 수준의 팀을 이끄는 데서 오는 게놈 학에 대한 10 년 동안의 열정과 진정한 기쁨입니다.
나는 혼합 모델 이론이 경험적 Bayes, 능선 회귀, 시계열, kriging 및 스무딩 스플라인과 같은 방법을 포함하여 통계 전반에 걸쳐 통일 된 주제 인 방법에 놀랐다. PROC GLIMMIX에서 방사형 기초 기능을 사용하여 지원 벡터 머신을 장착 할 수 있다는 것을 알고 있습니까? 70 년대 SAS에 대한 약간의 후퇴에서 우리는 주성분에 분산 성분을 사용하여 마이크로 어레이 데이터의 가변성의 출처를 정량적으로 비교합니다. 가장 최근에, 우리는 혼합 모델이 게놈 차원의 연관 연구에서 어떻게 집단 층화를 효과적으로 조절할 수 있는지 탐구 해왔다. 그래서 나는 혼합 된 모델에서 벗어나는 것처럼 보이지 않습니다. 정말 원하지 않습니다!
지난 주에 내가 보았던 혼합 모델의 호기심으로 마무리하겠습니다. 다음과 같은 SAS 코드를 생각해보십시오. 단순 선형 회귀 모델과 임의 모델 효과가 동일한 모델을 비교합니다.
/ * 간단한 선형 회귀 분석을 위해 데이터를 시뮬레이트하고 고정 및 임의 모델 비교 * /
% 시드 = 2817340하자;
데이터 xy;
기울기 = 1 ~ 5;
nx = 1 내지 10;
x1 = rannor (& seed);
x2 = rannor (& seed);
담당자 = 1 ~ 10;
y = x1 * slope + x2 * slope * 2 + rannor (& seed);
산출;
종료;
종료;
종료;
운영;
ods는 모두 제외합니다.
ods noresults;
proc mixed data = xy method = ml;
기울기로;
모델 y = x1 x2 / s;
ods 출력 적합 통계 = fs covparms = cp solutionf = sf;
운영;
ods는 none을 제외합니다.
ods 결과;
제목 "고정 모형의 통계에 적합";
proc sort data = fs;
descr 기울기에 의해;
운영;
proc print data = fs;
운영;
제목 "고정 모형의 공분산 매개 변수";
proc 인쇄 데이터 = cp;
운영;
제목 "고정 모형의 베타 모자";
proc sort data = sf;
효과 기울기 별;
운영;
proc print data = sf;
운영;
ods는 모두 제외합니다.
ods noresults;
proc mixed data = xy method = ml;
기울기로;
모델 y = / s;
임의의 x1 x2 / s;
ods 출력 적합 통계 = fsr covparms = cpr solutionf = sfr solutionr = srr;
운영;
ods는 none을 제외합니다.
ods 결과;
제목 "임의 통계 모델의 통계에 적합";
proc sort data = fsr;
descr 기울기에 의해;
운영;
proc print data = fsr;
운영;
제목 "임의 모델의 공분산 매개 변수";
proc sort data = cpr;
CovParm 슬로프로;
운영;
proc 인쇄 데이터 = cpr;
운영;
제목 "임의 모델의 베타 햇";
proc print data = sfr;
운영;
제목 "임의 모델의 감마 모자";
proc sort data = srr;
효과 기울기에 의해;
운영;
proc print data = srr;
운영;
두 번째 PROC MIXED 호출은 SUBJECT = 효과가없는 RANDOM 문에서 간단한 공변 (covariates)을 사용하여 (지난 주까지!) 추천 할만한 것을 수행합니다. 감마 - 모자 추정치 (경험적 BLUPs)는 첫 번째 단순 회귀 모델의 베타 모자 추정치와 거의 동일하다는 것이 밝혀졌습니다. 따라서 공분산 구조 모델링은 평균 모델링과 긴밀하게 연결됩니다.
만약 당신이 정말로 혼합 된 모델 (또는되고 싶습니다)이라면, 여기에 당신을위한 질문이 있습니다 : 왜 두번째 모델로부터의 분산 컴포넌트 추정은 슬로프의 제곱과 대략 같은가? 힌트 : 대답은 "예, 아니오"가 아닙니다.
윌리엄 이르 사르 디 쓴 :
이것은 매우 흥미로운 글이며, 잠시 궁금해했던 질문을 제기합니다. PROC GLIMMIX 기능을 JMP에 가져올 계획이 있습니까? 현재 JMP는 일반적인 응답 변수 만 허용하는 PROC MIXED와 비슷합니다.
마틴 허멜 쓴 :
예,이 기능을 사용하는 것이 좋습니다. 혼합 모델 또는 REML에서 이진 결과 및 임의 변수를 사용하여 로그 함수를 선택할 수 있지만 프로 시저에서 오류 메시지를 전달합니다.
마틴 허멜 쓴 :
그렇습니다. JMP에서 GLIMMIX를 사용하기에는 너무 멋집니다!