Quando mi viene chiesto se mi manca di essere lo sviluppatore principale del software per modelli misti su SAS, di solito rispondo "sì e no". Il "sì" deriva dal sentirsi molto fortunato ad essere coinvolto in questa potente metodologia durante i miei quasi 20 anni in SAS e una parte del forte retaggio iniziato con il lavoro di Jim Goodnight su PROC GLM e PROC VARCOMP nei primi giorni della società. Un grande debito di gratitudine va a Dave Delong, che inizialmente mi ha indicato in questa direzione, ea John Sall e Randy Tobias (il nostro nuovo ASA Fellow!), Che hanno fornito pezzi chiave di codice che hanno costituito l'inizio di PROC MIXED. È interessante notare che il codice di John era basato sul lavoro pionieristico di Jennrich e Schluchter sulla modellazione della struttura di covarianza (il lato R del modello misto), mentre il codice di Randy si concentrava sulla generalizzazione della stima REML dei componenti della varianza (il lato G del modello misto). Mettere insieme i due è stato un po 'fortuito e si è rivelato una tecnologia meravigliosa per applicazioni così diverse come l'allevamento di animali, studi clinici, controllo di qualità della produzione, valutazione dell'istruzione, modellizzazione spazio-temporale e genetica statistica.
Il "no" deriva dalla fiducia nel lavoro molto impressionante svolto dai nostri attuali guru di modelli misti: Oliver Schabenberger (PROC GLIMMIX), Chris Gotwalt (JMP), Paul Wright (EVAAS) e Tianlin Wang (PROC HPMIXED). Questo, e la mia ormai decennale passione per la genomica e la vera gioia che deriva dal guidare un team di alto livello e lavorare con tutti i professionisti dedicati che hanno aiutato JMP Genomics ad avere successo.
Sono rimasto stupito di come la teoria dei modelli misti sia un tema unificante in tutta la statistica, includendo metodi come l'empirico Bayes, la regressione delle creste, le serie temporali, il kriging e le spline leviganti. Sapevi che puoi montare una macchina vettoriale di supporto utilizzando le funzioni di base radiali in PROC GLIMMIX? In un po 'di ritorno al SAS negli anni '70, stiamo usando componenti di varianza sui componenti principali per confrontare quantitativamente le fonti di variabilità nei dati dei microarray. Più di recente, abbiamo esplorato come i modelli misti possano adattarsi efficacemente alla stratificazione della popolazione negli studi di associazione su tutto il genoma. Quindi non riesco a sfuggire a modelli misti - non che io voglia davvero!
Lasciatemi chiudere con una curiosità mista a modello che stavo guardando proprio la scorsa settimana. Si consideri il seguente codice SAS, che confronta un modello di regressione lineare semplice con lo stesso modello che si adatta agli effetti casuali:
/ * simula i dati per una semplice regressione lineare e confronta modelli fissi e casuali * /
% lascia seed = 2817340;
dati xy;
fare inclinazione = da 1 a 5;
do nx = da 1 a 10;
x1 = rannore (e seme);
x2 = rannore (e seme);
do rep = 1 to 10;
y = x1 * slope + x2 * slope * 2 + rannor (& seed);
produzione;
fine;
fine;
fine;
correre;
ods esclude tutto;
odores noresults;
proc mixed data = xy method = ml;
per pendenza;
modello y = x1 x2 / s;
ods output fitstatistics = fs covparms = cp solutionf = sf;
correre;
ods non esclude nessuno;
risultati ods;
titolo "Adatta statistiche dal modello fisso";
proc sort data = fs;
per pend pendenza;
correre;
proc print data = fs;
correre;
titolo "Parametri di covarianza dal modello fisso";
proc print data = cp;
correre;
titolo "Beta Hat from Fixed Model";
proc sort data = sf;
di Effect Slope;
correre;
proc print data = sf;
correre;
ods esclude tutto;
odores noresults;
proc mixed data = xy method = ml;
per pendenza;
modello y = / s;
casuale x1 x2 / s;
ods output fitstatistics = fsr covparms = cpr solutionf = sfr solutionr = srr;
correre;
ods non esclude nessuno;
risultati ods;
titolo "Adatta statistiche dal modello casuale";
proc sort data = fsr;
per pend pendenza;
correre;
proc print data = fsr;
correre;
titolo "Parametri di covarianza dal modello casuale";
proc sort data = cpr;
di CovParm Slope;
correre;
proc print data = cpr;
correre;
titolo "Beta Hat from Random Model";
proc print data = sfr;
correre;
titolo "Gamma Hat from Random Model";
proc sort data = srr;
per effetto pendenza;
correre;
proc print data = srr;
correre;
La seconda chiamata PROC MIXED fa qualcosa contro cui vorrei (fino alla scorsa settimana!) Raccomandato - usando semplici covariate in un'istruzione RANDOM senza alcun effetto SUBJECT =. Risulta che le stime dei gamma-hat (i BLUP empirici) sono praticamente identiche alle stime del beta-cappello del primo modello di regressione semplice. Quindi la modellazione della struttura di covarianza è intimamente connessa con la modellizzazione media.
Se ti piacciono i modelli misti (o vorrebbero esserlo), ecco una domanda per te: perché le stime dei componenti della varianza dal secondo modello sono approssimativamente uguali al quadrato delle pendenze? Suggerimento: la risposta non è "sì e no".
William Idsardi ha scritto:
Questo è un post molto interessante, e fa sorgere una domanda di cui mi stavo chiedendo da un po '. Esiste un piano per portare le funzionalità PROC GLIMMIX a JMP? Al momento, JMP è come PROC MIXED solo consentendo le normali variabili di risposta.
Martin Hermel ha scritto:
Sì, sarebbe bello avere questa capacità. È possibile selezionare una funzione di registro nel modello misto o REML con un risultato binario e variabili casuali, ma la procedura invia quindi un messaggio di errore.
Martin Hermel ha scritto:
Sì, sarebbe troppo bello poter usare GLIMMIX da JMP!