Jakie są standardowe praktyki tworzenia syntetycznych zestawów danych?


26

Jako kontekst: podczas pracy z bardzo dużym zestawem danych czasami pojawia się pytanie, czy możemy stworzyć syntetyczny zestaw danych, w którym „znamy” związek między predyktorami a zmienną odpowiedzi lub relacje między predyktorami.

Z biegiem lat wydaje mi się, że spotykam albo jednorazowe syntetyczne zestawy danych, które wyglądają, jakby zostały przygotowane w sposób ad hoc, lub bardziej uporządkowane zestawy danych, które wydają się szczególnie korzystne dla proponowanej przez badacza metody modelowania.

Uważam, że zastanawiam się nad standardowymi metodami tworzenia syntetycznych zestawów danych. Chociaż ponowne próbkowanie bootstrap jest jedną z powszechnych metod tworzenia syntetycznego zestawu danych, nie spełnia on warunku, że znamy strukturę a priori . Ponadto wymiana próbek bootstrap z innymi wymaga zasadniczo wymiany danych, a nie metody generowania danych.

Jeśli możemy dopasować rozkład parametryczny do danych lub znaleźć wystarczająco blisko sparametryzowany model, to jest to jeden z przykładów, w którym możemy wygenerować syntetyczne zestawy danych.

Jakie są inne metody? Szczególnie interesują mnie dane wielowymiarowe, dane rzadkie i szeregi czasowe. W przypadku danych wielowymiarowych szukałbym metod, które mogą generować interesujące struktury (np. Struktura kowariancji, modele liniowe, drzewa itp.). W przypadku danych szeregów czasowych z rozkładów na FFT, modele AR lub różne inne modele filtrowania lub prognozowania wydaje się na początek. W przypadku rzadkich danych przydatne jest odtworzenie wzorca rzadkości.

Wierzę, że tylko zarysowują powierzchnię - są to heurystyczne, a nie formalne praktyki. Czy istnieją odniesienia lub zasoby do generowania danych syntetycznych, które powinny być znane praktykom?


Uwaga 1: Zdaję sobie sprawę, że to pytanie dotyczy literatury na temat tego, jak można generować dane, takie jak konkretny model szeregów czasowych. Rozróżnia się tutaj praktyki, szczególnie w celu wskazania znanej struktury (moje pytanie), w porównaniu do podobieństwa / wierności do istniejącego zestawu danych. W moim przypadku nie jest konieczne posiadanie podobieństwa, podobnie jak znanej struktury, chociaż podobieństwo jest znacznie bardziej preferowane niż odmienność. Egzotyczny zestaw danych syntetycznych, dla którego model daje obietnicę, jest mniej preferowany niż realistyczna symulacja.

Uwaga 2: Wpis Wikipedii dotyczący danych syntetycznych wskazuje, że źródła takie jak Rubin i Fienberg rozwiązały ten problem, chociaż nie znalazłem żadnych referencji na temat najlepszych praktyk. Interesujące byłoby wiedzieć, co przejdzie z, powiedzmy, Annals of Applied Statistics (lub AOS), lub w recenzjach działa w tych lub innych czasopismach. Mówiąc prościej i kapryśnie, można zapytać, gdzie istnieje próg między „(dopuszczalnym) ugotowanym”) a „zbyt gotowanym”?

Uwaga 3: Chociaż nie ma to wpływu na pytanie, scenariusz użycia polega na modelowaniu różnych dużych, wielowymiarowych zestawów danych, w których celem badań jest poznanie (zarówno przez człowieka, jak i maszynę ;-)) struktury danych. W przeciwieństwie do scenariuszy jednowymiarowych, dwuwymiarowych i innych niskowymiarowych, struktura nie jest łatwo wywnioskowana. Gdy zmierzamy w kierunku lepszego zrozumienia struktury, możliwość generowania zestawów danych o podobnych właściwościach jest interesująca, aby zobaczyć, jak metoda modelowania oddziałuje z danymi (np. W celu zbadania stabilności parametrów). Niemniej jednak starsze przewodniki nisko wymiarowych danych syntetycznych mogą być punktem wyjścia, który można rozszerzyć lub dostosować do zestawów danych o wyższych wymiarach.

Odpowiedzi:


7

Nie jestem pewien, że standardowe praktyki do generowania danych syntetycznych - jest używany tak mocno w tak wielu różnych aspektów badań, że dane zastosowania zbudowany wydaje się być bardziej powszechne i prawdopodobnie bardziej rozsądne podejście.

Dla mnie moją najlepszą standardową praktyką jest nie tworzenie zestawu danych, aby działał dobrze z modelem. To część etapu badań, a nie część etapu generowania danych. Zamiast tego dane powinny być zaprojektowane tak, aby odzwierciedlały proces generowania danych . Na przykład w przypadku badań symulacyjnych w epidemiologii zawsze zaczynam od dużej hipotetycznej populacji o znanym rozkładzie, a następnie symuluję próbkowanie badań z tej populacji, zamiast generować bezpośrednio „populację badaną”.

Na przykład, w oparciu o naszą dyskusję poniżej, dwa przykłady symulowanych danych, które stworzyłem:

  • Nieco podobny do poniższego przykładu z modelem SIR, użyłem kiedyś modelu matematycznego rozprzestrzeniania się choroby w sieci, aby pokazać się poprzez symulację, że określony stały parametr niekoniecznie oznacza stałe zagrożenie, jeśli potraktujesz wyniki jako wynik badania kohortowego. Był to użyteczny dowód koncepcji, gdy szukałem rozwiązania analitycznego.
  • Chciałem zbadać wpływ określonego schematu próbkowania na badanie kontrolne. Zamiast próbować wygenerować badanie od razu, przeszedłem przez każdy etap tego procesu. Populacja 1 000 000 osób o znanym występowaniu choroby i znanym wzorze współzmiennym. Następnie z symulacji procesu pobierania próbek - w tym przypadku, w jaki sposób pobrano przypadki i kontrole z populacji. Dopiero wtedy rzuciłem rzeczywisty model statystyczny na zebrane „symulowane badania”.

Symulacje podobne do tych ostatnich są bardzo powszechne podczas badania wpływu metod rekrutacji do badań, statystycznych podejść do kontrolowania zmiennych towarzyszących itp.


Dzięki za odpowiedź. Jednak w oparciu o to, co wiem o epidemiologii, wiele więcej zrobiono w zakresie opracowywania dość użytecznych modeli stochastycznych, w szczególności modeli SIR. Nie jest to prawdą w wielu innych domenach, chociaż możliwość szybkiego opracowania akceptowalnych modeli danych stochastycznych jest częścią moich intencji.
Iterator

@Iterator To zależy w dużej mierze od tego, gdzie jesteś i o jakim aspekcie epidemiologii mówisz. Na przykład epidemiolog nowotworowy byłby zszokowany, gdy usłyszałby, że z modelami SIR zrobiono „o wiele więcej” - prawdopodobnie nigdy nie spotkał ich w swojej pracy. Podczas modele SIR typu stanowią aspekt określonej części epidemiologii (choroba zakaźna epi, i nawet wówczas, nawet w dużym podzbiorem Id Epi) epidemiologii w polu powoduje ogromne zastosowanie modele statystyczne, szczególnie ogólnego modelu liniowego przeżycie analiza i szeregi czasowe.
Fomite,

Whoa. Bez zamiaru przestępstwa, stwierdziłem tylko, że modele SIR są bardzo dobrym przykładem standardowego modelu generowania danych. Oczywiście wiem, że istnieją inne obszary epi, które wykorzystują całe spektrum metod modelowania. Jeśli masz jakieś wskazówki lub odniesienia do innych metod generowania danych wykorzystywanych w epidemiologii, jestem całkiem otwarty na nie.
Iterator

1
@Iterator Przepraszam, jeśli sprawiałem wrażenie, że się obraziłem. Bardzo nie;). To po prostu coś, co dostaję, ponieważ siedzę prosto na przecięciu matematyki i epidemiologii obserwacyjnej, a ludzie w jednym obszarze są oszołomieni, a drugi istnieje. Zedytuję odpowiedź na przykładzie typu innego niż SIR.
Fomite

2

Pakiet statystyczny R ma funkcję symulacji, która symuluje dane w oparciu o model dopasowany do istniejących danych. Wykorzystuje dopasowany model jako „znaną” relację populacji, a następnie symuluje nowe dane na podstawie tego modelu. Istnieje metoda dla tej funkcji w pakiecie lme4. Te dopasowane obiekty mogą uwzględniać losowe i stałe efekty oraz korelację (w tym autokorelację dla szeregów czasowych).

Może to działać tak, jak chcesz.


Dzieki za sugestie. Ta funkcja jest z pewnością przydatna, chociaż bardziej interesuje mnie praktyka statystyczna i metodologia niż kodowanie konkretnego rozwiązania. Jest to podobne do pytania o metody próbkowania lub powtarzalne analizy, a nie o konkretne pakiety, które implementują te metody i analizy. Niemniej jednak dobre metody powinny stać się pakietami. :)
Iterator
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.