Pitanje:
Kako učinkovito upravljati projektom statističke analize?
chl
2010-09-21 01:39:08 UTC
view on stackexchange narkive permalink

Često čujemo o upravljanju projektima i obrascima dizajna u računalnim znanostima, ali rjeđe u statističkoj analizi. Međutim, čini se da je odlučujući korak prema dizajniranju djelotvornog i trajnog statističkog projekta održavanje stvari organiziranim.

Često zagovaram upotrebu R-a i dosljednu organizaciju datoteka u odvojenim mapama (datoteka neobrađenih podataka, transformirana datoteka podataka, R skripte, slike, bilješke itd.). Glavni razlog ovog pristupa je taj što će kasnije biti lakše pokrenuti analizu (kada ste, na primjer, zaboravili kako ste proizveli određenu parcelu).

Koji su najbolji primjeri iz prakse statističko upravljanje projektima ili preporuke koje biste željeli dati iz vlastitog iskustva? Naravno, to se odnosi na bilo koji statistički softver. ( jedan odgovor po postu, molim vas )

Glasam da ovo pitanje zatvorim kao neprikladno jer se radi o upravljanju projektima
@Aksakal: Mislim da si malo oštar.:) Važno je za "* ljude koje zanima statistika *".Također 70+ glasova snažno sugerira da su standardni korisnici smatrali ovo pitanje zanimljivim i korisnim.
Mislim da bi ovo trebalo razmotriti ovdje.
@gung Želite li možda dodati odgovor na tu nit Meta kako bismo mogli razgovarati o tome?
Sedam odgovori:
#1
+80
chl
2010-09-30 15:44:48 UTC
view on stackexchange narkive permalink

Sastavljam brzi niz smjernica koje sam pronašao na SO (kao što je predložio @Shane), Biostar (u daljnjem tekstu, BS) i ovom SE. Trudio sam se najbolje priznati vlasništvo za svaku stavku i odabrati prvi ili visoko glasovni odgovor. Također sam dodao svoje stvari i označio stavke koje su specifične za okruženje [R].

Upravljanje podacima

  • Stvaranje projekta struktura za čuvanje svih stvari na pravom mjestu (podaci, kod, brojke itd., giovanni / BS)
  • Nikada ne mijenjajte datoteke sirovih podataka (u idealnom slučaju, treba ih čitati- samo), kopirajte / preimenujte u nove prilikom izrade transformacija, čišćenja itd.
  • Provjerite dosljednost podataka ( whuber / SE)
  • Upravljajte ovisnostima skripti i protok podataka s alatom za automatizaciju izrade, poput GNU make ( Karl Broman / Zachary Jones)

Kodiranje

Analiza

  • Ne zaboravite postaviti / snimiti sjeme koje ste koristili prilikom pozivanja RNG-a ili stohastičkih algoritama (npr. k-znači)
  • Za studije Monte Carla, možda će biti zanimljivo pohraniti specifikacije / parametri u zasebnoj datoteci ( sumatra može biti dobar kandidat, giovanni / BS)
  • Ne ograničavajte se na jednu parcelu po varijabli, koristite multivariatne (Trellis) zaslone i interaktivne alate za vizualizaciju (npr. GGobi)

Izrada verzija

  • Upotrijebite neku vrstu kontrole revizije za jednostavno praćenje / izvoz, npr Git ( Sharpie / VonC / JD Long / SO) - to proizlazi iz lijepih pitanja koje su postavili @Jeromy i @Tal
  • Redovito sigurnosno kopirajte sve ( Sharpie / JD Long / SO)
  • Vodite evidenciju svojih ideja ili se oslanjajte na program za praćenje problema, poput ditz ( giovanni / BS) - djelomično suvišan s prethodnom stavkom jer je dostupan u Gitu

Uređivanje / izvještavanje

Kao popratnu napomenu, Hadley Wickham nudi sveobuhvatan pregled upravljanja projektima R, uključujući ponovljivu primjeru i objedinjena filozofija podataka .

Konačno, u svom R-orijentiranom tijeku statističke analize podataka Oliver Kirchkamp nudi vrlo detaljan pregled zašto usvajanje i poštivanje određenog tijek rada pomoći će statističarima da surađuju sa svim ot njoj, istovremeno osiguravajući cjelovitost podataka i ponovljivost rezultata. Dalje uključuje neke rasprave o korištenju sustava tkanja i kontrole verzija. Korisnici statistike mogli bi biti korisni i Tijek analize podataka pomoću statistike J. Scotta Longa.

Odličan posao chl! Da li bi to bilo o.k. od vas ako ja gdje to objaviti na svom blogu? (Mislim, ovaj je tekst u cc, pa bih mogao, ali htio sam ti dopuštenje na bilo koji način :)) Živjeli, Tal
@Tal Nema problema. Daleko od toga da je iscrpan popis, ali možda kasnije možete prikupiti druge korisne poveznice. Također, slobodno se prilagodite ili reorganizirajte na bolji način.
+1 Ovo je lijep popis. Možete razmisliti o "prihvaćanju ovoga" tako da ono uvijek bude na vrhu; s obzirom na to da je CW, svatko ga može ažurirati.
@Shane Pa, dužan sam vam što ste dali prvi odgovor s tako korisnim vezama. Slobodno dodajte / izmijenite način na koji želite.
Ponovno sam ga objavio ovdje. Izvrsna lista! http://www.r-statistics.com/2010/09/managing-a-statistic-analysis-project-guidelines-and-best-practices/
Glasao bih za Mercurial, a ne za Git kao alat za izradu verzija. Otkrio sam da je lakši za upotrebu, a korisnička zajednica nije tako oštra. (Na Macu, MacHG je izvrstan GUI prednji kraj za Mercurial.) Bez obzira na alat za izradu verzija, GUI prednji kraj je vrlo koristan i moćan za praćenje i upravljanje stvarima.
@Wayne Hvala na tome. Oliver Kirchkamp razgovarao je o uporabi SVN-a; Često sam se često služio [RCS] (http://www.gnu.org/software/rcs/) za razne stvari, ali od Hg-a sam čuo dobre stvari. Slažem se da GUI može biti plus iako uglavnom radim iz naredbenog retka i Emacsa. ([GitHub za Mac] (http://mac.github.com/) nije tako loše, btw.)
@CHL: Na prvi pogled lako je pomisliti da GUI početniku jednostavno olakšava upotrebu, ali otkrio sam da je snaga GUI-ja (barem MacHG-a) u tome što je dinamičan. Stalno držim MacHG otvorenim i na prvi pogled vidim koje su datoteke u projektu, a koje su ažurirane. Kliknite datoteku da biste vidjeli što je promijenjeno. Posebno mi pomaže ako mijenjam projekte, podsjećajući me gdje sam bio.
To bi se stvarno moglo dogoditi dodavanjem opisa kako koristiti Makefile za upravljanje mijenjanjem podataka i predmemoriranjem. Ako netko zna za jedan, dodajte ga. Ako ne, pokušat ću ga uskoro napisati, kad ga jednom zaobiđem.
@naught101 Karl Broman ima nekoliko vodiča o korištenju GNU alata i R u svom "Alatima za reproduktivna istraživanja", http://kbroman.github.io/Tools4RR/.
zanimljivo - vaš je odgovor vrlo sveobuhvatan vodič za upravljanje kodovima / datotekama.ne previše u smislu provjere jeste li zaista odgovorili na ključna istraživačka pitanja ili izlazne zahtjeve
#2
+21
Shane
2010-09-21 01:42:22 UTC
view on stackexchange narkive permalink

Ovo ne daje odgovor izričito, ali možda ćete htjeti pogledati ova povezana pitanja o stackoverflowu:

Možda će vas zanimati i nedavna objava Johna Mylesa Whitea projekt za izradu statističkog predloška projekta.

Hvala na linkovima! Pitanje je otvoreno za bilo koji statistički softver - s vremena na vrijeme koristim Python i Stata, pa me zanima mogu li potvrđeni korisnici tamo donijeti zanimljive preporuke.
Apsolutno; iako bih dodao da bi se preporuke u gornjim poveznicama doista mogle odnositi na bilo koji statistički projekt (bez obzira na jezik).
Definitivno da! Istodobno sam ažurirao svoje pitanje.
#3
+8
user88
2010-09-25 20:45:58 UTC
view on stackexchange narkive permalink

To se preklapa sa Shaneovim odgovorom, ali po mom mišljenju postoje dva glavna stupa:

  • Reproducibilnost ; samo zato što nećete završiti s rezultatima koji su napravljeni "nekako", ali također ćete moći brže pokrenuti analizu (na drugim podacima ili s malo promijenjenim parametrima) i imati više vremena za razmišljanje o rezultatima. Za ogromne podatke prvo možete testirati svoje ideje na nekom malom "playsetu", a zatim ih lako proširiti na cijele podatke.
  • Dobra dokumentacija ; komentirao je skripte pod nadzorom verzija, neki istraživački časopis, sustav ulaznica za složenije projekte. Poboljšava ponovljivost, olakšava praćenje pogrešaka, a pisanje završnih izvješća je beznačajno.
+1 Sviđa mi se druga točka (koristim roxygen + git). Prva me točka podsjeća i na mogućnost da svoj kod date drugom statističaru koji će moći reproducirati vaše rezultate u kasnijoj fazi projekta, bez ikakve pomoći.
Ponovljivost?Podaci ionako imaju slučajnu pogrešku, pa koga briga.Dokumentacija?Dva moguća odgovora: 1) Prezauzeti smo, nemamo vremena za dokumentaciju ili 2) Imali smo proračun samo za analizu ili dokumentiranje, pa smo odlučili napraviti analizu.Misliš da se šalim?Mnogo sam navrata vidio / čuo te stavove - na projektima na kojima su životi živjeli.
#4
+4
Carlos Accioly
2010-09-21 08:00:48 UTC
view on stackexchange narkive permalink

van Belle je izvor za pravila uspješnih statističkih projekata.

#5
+1
Wes McCardle
2010-10-01 05:58:05 UTC
view on stackexchange narkive permalink

Samo moja 2 centa. Smatram da je Notepad ++ koristan za ovo. Mogu održavati zasebne skripte (kontrola programa, oblikovanje podataka, itd.) I .pad datoteku za svaki projekt. Poziv datoteke .pad su sve skripte povezane s tim projektom.

Mislite, notepad ++ uz upotrebu npptor-a :)
#6
+1
Christian Sauer
2014-04-09 14:58:39 UTC
view on stackexchange narkive permalink

Iako su drugi odgovori izvrsni, dodao bih još jedan osjećaj: Izbjegavajte upotrebu SPSS-a. Koristio sam SPSS za magistarski rad i sada na redovnom poslu u istraživanju tržišta.

Tijekom rada sa SPSS-om bilo je nevjerojatno teško razviti organizirani statistički kod zbog činjenice da SPSS loše rukuje s više datoteka (naravno, možete rukovati s više datoteka, ali nije tako bezbolno kao R ), jer skupove podataka ne možete pohraniti u varijablu - morate koristiti "code activate x" - kod, što može predstavljati totalnu bol. Također, sintaksa je nezgrapna i potiče skraćenice, što čini kôd još nečitljivijim.

#7
  0
hugke729
2018-06-09 09:04:29 UTC
view on stackexchange narkive permalink

Jupyter bilježnice, koje rade s R / Python / Matlab / itd., uklanjaju muku s pamćenjem koja skripta generira određenu figuru. Ovaj post opisuje uredan način držanja koda i slike u blizini.Zadržavanje svih slika za rad ili poglavlje u jednoj bilježnici olakšava pronalazak pridruženog koda.

Zapravo čak i bolje jer se možete pomicati, recimo, kroz desetak figura kako biste pronašli onu koju želite.Kôd se skriva dok ne zatreba.



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 2.0 licenci pod kojom se distribuira.
Loading...