Metodo per generare dati non normali correlati


14

Sono interessato a scoprire un metodo per generare dati correlati, non normali. Quindi idealmente una sorta di distribuzione che accetta una matrice di covarianza (o correlazione) come parametro e genera dati che lo approssimano. Ma ecco il trucco: il metodo che sto cercando di trovare dovrebbe avere la flessibilità di controllare anche la sua inclinazione multivariata e / o curtosi.

Conosco il metodo Fleishman e l'uso del metodo del potere dei variati normali, ma credo che la maggior parte di quelle estensioni consenta all'utente solo alcune combinazioni di asimmetria marginale e curtosi, lasciando l'asimmetria multivariata / curtosi appena fuori. Quello che mi chiedevo è se esiste un metodo che aiuta a specificare l'asimmetria multivariata e / o la curtosi, insieme ad alcune strutture di correlazione / covarianza.

Circa un anno fa ho partecipato a un seminario sulle distribuzioni di copula e ricordo che il professore ha menzionato casualmente che attraverso l'uso di copule di vite, si potevano generare dati che, per esempio, sono simmetrici in ciascuno dei suoi margini 1-D ma congiuntamente inclinati e vice -versa. O, ancora di più, che qualsiasi margine di dimensione inferiore potrebbe presentare asimmetria o curtosi mantenendo simmetriche (o meno) le dimensioni più alte. Sono rimasto meravigliato dall'idea che potesse esistere una tale flessibilità, ho cercato di trovare una sorta di articolo o documento di conferenza che descrivesse tale metodo ma non ho avuto successo :(. Non deve essere attraverso l'uso di copule, Sono aperto a tutto ciò che funziona.

Modifica: ho aggiunto del codice R per provare a mostrare cosa intendo. Finora conosco bene solo la definizione di Mardia di inclinazione multivariata e curtosi. Quando ho affrontato per la prima volta il mio problema, ho ingenuamente pensato che se avessi usato una copula simmetrica (gaussiana in questo caso) con marginali obliqui (beta, in questo esempio), i test univariati sui marginali avrebbero avuto significato, ma il test di Mardia per l'asimmetria / kurtosi multivarite sarebbe essere non significativo. L'ho provato e non è uscito come mi aspettavo:

library(copula)
library(psych)
set.seed(101)

cop1 <- {mvdc(normalCopula(c(0.5), dim=2, dispstr="un"), 
            c("beta", "beta"),list(list(shape1=0.5, shape2=5), 
            list(shape1=0.5, shape2=5)))}

            Q1 <- rmvdc(cop1, 1000)
            x1 <- Q1[,1]
            y1 <- Q1[,2]


cop2 <- {mvdc(normalCopula(c(0.5), dim=2, dispstr="un"), 
            c("norm", "norm"),list(list(mean=0, sd=1), 
            list(mean = 0, sd=1)))}

            Q2 <- rmvdc(cop2, 1000)
            x2 <- Q2[,1]
            y2 <- Q2[,2]

mardia(Q1)  

Call: mardia(x = Q1)

Mardia tests of multivariate skew and kurtosis
Use describe(x) the to get univariate tests
n.obs = 1000   num.vars =  2 
b1p =  10.33   skew =  1720.98  with probability =  0
small sample skew =  1729.6  with probability =  0
b2p =  22.59   kurtosis =  57.68  with probability =  0

mardia(Q2)
Call: mardia(x = Q2)

Mardia tests of multivariate skew and kurtosis
Use describe(x) the to get univariate tests
n.obs = 1000   num.vars =  2 
b1p =  0.01   skew =  0.92  with probability =  0.92
 small sample skew =  0.92  with probability =  0.92
b2p =  7.8   kurtosis =  -0.79  with probability =  0.43

Dopo aver ispezionato i contorni per "cop1" VS "cop2", nonché i diagrammi empirici di densità bivariata, posso anche vedere che nessuno di loro sembra affatto simmetrico. Fu allora che mi resi conto che probabilmente è un po 'più complicato di quanto pensassi.

So che quella di Mardia non è l'unica definizione di inclinazione / curtosi multivariata, quindi non mi sto limitando a trovare un metodo che soddisfi solo le definizioni di Mardia.

grazie!


+1 Una domanda molto interessante. Potresti essere più specifico su cosa significhi "inclinarsi congiuntamente" in questo contesto (in particolare bivariato)? Mentre riesco a immaginare forme di distribuzione articolare che sono in qualche modo "diverse" nei quattro quadranti (per quanto riguarda gli assi posizionati sui mezzi, diciamo), non ho familiarità con ciò che "congiuntamente inclinato" potrebbe riferirsi in modo specifico.
Glen_b

expXX

Ciao. grazie mille per l'interesse per la mia domanda. questa è la prima volta che scrivo qui, quindi spero di fare le cose correttamente. approfondirò di più sulla sezione dei commenti perché il limite di caratteri mi impedisce di usare il codice R per provare a comunicare ciò che sto facendo
S. Punky

sì, l'ho appena capito e ho aggiunto maggiori dettagli. apprezzo che tu mi abbia dedicato del tempo a guidarmi per quanto riguarda come usare questa scheda. Grazie!
S. Punky,

" Non mi limito a trovare un metodo che soddisfi solo le definizioni di Mardia " - metodo di fare cosa?
Glen_b

Risposte:


3

Dopo molte ricerche, saltando nei forum online, consultando i professori e facendo MOLTE recensioni letterarie, sono giunto alla conclusione che probabilmente L' UNICO modo per affrontare questo problema è attraverso l'uso delle copule di vite. Ti dà un certo controllo sull'asimmetria a coppie e sulla curtosi (o su qualsiasi momento superiore) - per un vettore casuale p-variata e la libertà di specificare una coppia di copule p-1 e la restante p * (p-1) / 2 - ( p-1) le dimensioni possono essere specificate in un tipo di copula condizionale.

Accolgo con favore altri metodi che le persone potrebbero aver incontrato, ma almeno lascerò questo puntatore verso una risposta perché non riesco, per la mia vita, a trovare altri modi per affrontarlo.


2
Che cos'è una copula di vite?
Sesto Empirico

1

Potresti riuscire a risolverlo modificando l'algoritmo di Ruscio e Kaczetow (2008). Il loro documento fornisce un algoritmo iterativo (con codice R) che minimizza la differenza tra le forme marginali effettive e previste. Potresti essere in grado di modificarlo in modo che sia indirizzato ai momenti multivariati (piuttosto che marginali).

Ruscio, J., & Kaczetow, W. (2008). Simulazione di dati non normali multivariati mediante un algoritmo iterativo. Ricerca comportamentale multivariata, 43 (3), 355-381. DOI: 10,1080 / 00273170802285693


OH MIO DIO! GRAZIE! ho pensato per un momento che questa domanda sarebbe stata inghiottita nell'oblio
S. Punky,

1
bene ... ho recensito l'articolo Ruscio & Kaczetow (2008). purtroppo è solo un'altra (ma più flessibile) implementazione della famiglia di algoritmi NORTA (NORmal To Anything) che non funziona bene con i momenti 3 e 4 multivariati. Immagino di essere tornato al punto di partenza su questo.
S. Punky,

0

Potresti voler controllare la distribuzione ellittica generalizzata , che consente una matrice di forme "classica" con flessibilità per altre funzionalità.


Grazie! Mi assicurerò di controllare questo link. Ora, le distribuzioni ellittiche non sono simmetriche? Quindi si può controllare la curtosi ma l'asimmetria deve rimanere a 0?
S. Punky,

Certo, ma GE non implica ellittica. Per alcune variazioni ellittiche oblique
Quarzo

0

Ho escogitato un metodo semplice per farlo che non coinvolge coplas e altri progetti complessi. Temo di non avere alcun riferimento formale sebbene il metodo sembri essere molto efficace.

L'idea è semplice 1. Disegna un numero qualsiasi di variabili da una distribuzione normale congiunta. 2. Applicare il CDF normale univariato delle variabili per derivare le probabilità per ogni variabile. 3. Applicare infine il CDF inverso di qualsiasi distribuzione per simulare i disegni da quella distribuzione.

Mi sono inventato questo metodo nel 2012 e ho dimostrato di usare Stata . Ho anche scritto un post recente che mostra lo stesso metodo con R .


(1) Che cos'è una "distribuzione normale di Spearman"? (2) Che distinzione stai facendo, se del caso, tra un CDF e un "normale CDF"? (3) Potresti spiegare come questo metodo introduce qualche correlazione? Temo che i tuoi usi generali di "variabile" e "distribuzione" rendano la tua descrizione piuttosto vaga, quindi è difficile dire cosa stia realmente facendo. Potresti riformulare la tua risposta per essere più preciso?
whuber

Grazie per il tuo post! seguendo i collegamenti si possono vedere maggiori informazioni sul metodo. non fa esattamente quello che speravo di ottenere (cioè il controllo sui momenti di distribuzione di ordine superiore e di dimensione superiore) ma è comunque un approccio molto prezioso.
S. Punky,

1
Non sorprende che non ho trovato un nuovo metodo, vedi: Cario, Marne C. e Barry L. Nelson. Modellazione e generazione di vettori casuali con distribuzioni marginali arbitrarie e matrice di correlazione. Rapporto tecnico, Dipartimento di ingegneria industriale e scienze della gestione, Northwestern University, Evanston, Illinois, 1997. Yahav, Inbal e Galit Shmueli. "Sulla generazione di dati multivariati di poisson in applicazioni scientifiche di gestione." Documento di ricerca della scuola di Robert H. Smith n. RHS (2009): 06-085.
Francis Smart,

anche se non è un "nuovo metodo", vorrei comunque ringraziarti per aver dedicato del tempo a esaminare la mia domanda e aggiungere qualcosa di perspicace :)
S. Punky

0

Credo che il metodo presentato nei seguenti documenti consenta di generare multivariate casuali con qualsiasi combinazione (fattibile) di media, varianza, asimmetria e curtosi.

  1. Stanfield, PM, Wilson, JR e Mirka, GA 1996. Modellazione di input multivariata con Johnson Distributions, Atti della Conferenza di simulazione invernale del 1996 , ed. Charnes, JM, Morrice, DJ, Brunner, DT e Swain, JJ, 1457-1464.
  2. Stanfield, PM, Wilson, JR e King, RE 2004. Modellistica flessibile dei tempi operativi correlati con applicazione nelle strutture di riutilizzo dei prodotti, International Journal of Production Research , Vol 42, No 11, 2179–2196.

Disclaimer: io sono , non uno degli autori.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.