Salutare,
Sunt la început de drum cu teza de doctorat și mă confrunt pe tema software-ului pentru analiza datelor. Adică, mă tot gândesc ce instrumente ar fi cele mai potrivite. Tot am auzit despre R, Python, SPSS, dar parcă mă pierd în multitudinea de opțiuni și în familiarizarea cu ele. Aveți careva experiențe mai recente sau recomandări concrete bazate pe nevoile specifice ale analizei doctorale? Mă interesează atât aspecte legate de complexitatea prelucrării datelor și vizualizări, cât și ușurința în utilizare și suportul pe care îl oferă comunitatea (sau lipsa lui). Orice perspectivă e binevenită!
Mulțumesc anticipat,
Florentina
Mircea: Salutare Florentina,
Felicitări pentru începutul de drum! E perfect normal să te simți așa, și eu am trecut prin aceeași dilemă la început. O grămadă de softuri, fiecare cu avantajele și dezavantajele lui, și parcă niciunul nu-i perfect pentru tot.
Ca să-ți dau o perspectivă mai clară, ar trebui să ne zici un pic ce fel de date analizezi și ce fel de analize faci/vrei să faci. Nu e același lucru dacă lucrezi cu date din sondaje, experimente de laborator, text, imagini, sau serii de timp, de exemplu. Și nici dacă faci regresii simple, teste t, ANOVA, modele multilevel, machine learning, sau analize spațiale.
Dar, ca o primă orientare generală, iată cum aș pune eu lucrurile:
* R: Pentru mine, R-ul e regele când vine vorba de flexibilitate și putere statistică brută. Comunitatea e uriașă, ai pachete pentru practic orice ai putea să-ți imaginezi pentru analiză și vizualizare (ggplot2 pentru grafice e o nebunie, practic). E open-source și gratuit. Dezavantajul e că uneori necesită un pic mai mult efort la început, sintaxa lui, mai ales pentru cei care vin din alte medii de programare, poate părea un pic ciudată. Însă, odată ce te obișnuiești, nu prea mai vrei altceva.
* Python: Python-ul e varianta „generalistă” care a intrat puternic și-n zona de analiză de date, mai ales datorită bibliotecilor ca pandas (manipulare de date), numpy (calcule numerice) și matplotlib/seaborn (vizualizări). E excelent dacă te gândești că vei face și alte lucruri pe lângă analiză (scripting, automatizări, web scraping). E și mai ușor de învățat decât R-ul pentru unii, mai ales dacă au deja o bază în programare. Pentru statistică mai complexă sau modele foarte specifice, R-ul încă are avantajul unor pachete mai mature și specializate, dar diferența scade constant.
* SPSS: Aici vorbim de altceva. SPSS e un pachet comercial, bazat pe meniuri și interfață grafică. E foarte ușor de folosit pentru analize statistice standard (regresii, grupări, teste comune) fără să scrii cod. E popular în anumite domenii, mai ales în științe sociale unde mulți profesori au lucrat cu el ani de zile. Avantajul major e ușurința în utilizare pentru funcționalități de bază. Dezavantajul: e scump (licența e o avere), e mai puțin flexibil pentru analize customizate și vizualizări de ultimă generație, și e „închis” (nu poți vedea ce face în spate, nu ai libertatea R/Python).
Ce să alegi?
Dacă teza ta implică analize statistice complexe, modele mai puțin comune, sau vrei să faci vizualizări de date de impact, și ești dispusă să investești timp în învățare, eu aș înclina spre R. E gratuit, puternic și comunitatea te salvează de multe ori.
Dacă principalul tau scop e să analizezi rapid seturi mari de date, să faci curățare și prelucrare eficientă, și ești deja confortabilă cu puțin coding sau vrei să combini analizele cu alte sarcini de automatizare, Python e o alegere excelentă și la fel de puternică.
Dacă nu ai deloc experiență cu programarea, ai nevoie de analize statistice standard și teama de cod face să te blochezi, și/sau departamentul tău are deja licențe SPSS și te încurajează să-l folosești, atunci SPSS poate fi o soluție de început. Dar fii conștientă de limitările pe termen lung.
Oricum ai alege, poți foarte ușor să faci tranziția sau să folosești unelte complementare. Multe softuri pot importa/exporta date din/în celelalte. De exemplu, poți prelucra date în SPSS și apoi să le exporti pentru vizualizări mai avansate în R. Sau poți folosi R pentru analize statistice și Python pentru pre-procesare sau machine learning.
Recomandare personală (pe baza ce am văzut eu):
Pentru majoritatea doctoranzilor care au dorința de a-și face teza în mod performant și modern, R sau Python sunt cele mai potrivite pe termen lung. Alegerea între ele depinde de preferințele tale personale și de specificul exact al proiectului.
Sper să te fi ajutat un pic să navighezi prin asta! Spor la cercetare!
Mircea
mircea: Mircea: Salutare Florentina,
Felicitări pentru începutul de drum! E perfect normal să te simți așa, și eu am trecut prin aceeași dilemă la început. O grămadă de softuri, fiecare cu avantajele și dezavantajele lui, și parcă niciunul nu-i perfect pentru tot.
Ca să-ți dau o perspectivă mai clară, ar trebui să ne zici un pic ce fel de date analizezi și ce fel de analize faci/vrei să faci. Nu e același lucru dacă lucrezi cu date din sondaje, experimente de laborator, text, imagini, sau serii de timp, de exemplu. Și nici dacă faci regresii simple, teste t, ANOVA, modele multilevel, machine learning, sau analize spațiale.
Dar, ca o primă orientare generală, iată cum aș pune eu lucrurile:
* R: Pentru mine, R-ul e regele când vine vorba de flexibilitate și putere statistică brută. Comunitatea e uriașă, ai pachete pentru practic orice ai putea să-ți imaginezi pentru analiză și vizualizare (ggplot2 pentru grafice e o nebunie, practic). E open-source și gratuit. Dezavantajul e că uneori necesită un pic mai mult efort la început, sintaxa lui, mai ales pentru cei care vin din alte medii de programare, poate părea un pic ciudată. Însă, odată ce te obișnuiești, nu prea mai vrei altceva.
* Python: Python-ul e varianta „generalistă” care a intrat puternic și-n zona de analiză de date, mai ales datorită bibliotecilor ca pandas (manipulare de date), numpy (calcule numerice) și matplotlib/seaborn (vizualizări). E excelent dacă te gândești să integrezi analiza de date în aplicații mai mari sau dacă ai nevoie de o curbă de învățare mai lină, mai ales dacă ai deja un pic de experiență cu programarea. Comunitatea e și ea uriașă, resurse sunt la tot pasul.
* SPSS: Asta e clasicul din domeniul științelor sociale, de exemplu. E foarte intuitiv pentru operațiuni standard și are o interfață grafică prietenoasă pentru cine nu vrea să se complice cu cod. E bun pentru testări rapide de ipoteze, analize descriptive, regresii simple. Problema e că e comercial (poate fi scump), mai puțin flexibil pentru analize super avansate sau personalizate și vizualizările nu sunt la fel de sofisticate ca în R. Dacă domeniul tău e mai „tradițional”, s-ar putea să fie cel mai la-ndemână la început, dar s-ar putea să te lovești de limite mai târziu.
Ca să-ți dau un sfat cât mai bun, ar fi util să ne spui două-trei cuvinte despre:
- Domeniul tău de cercetare: Asta influențează tipul de date și metodele statistice folosite.
- Tipul general de date: Ai date cantitative, calitative, text, imagini? Câte variabile, câți subiecți?
- Complexitatea analizelor: Ce fel de modele/teste ai în vedere pe termen lung?
Și încă ceva: nu te lăsa intimidată de „curba de învățare”. Toată lumea pornește de la zero. Important e ce vrei să obții din datele tale. Apoi alegi unealta. Uneori, poți chiar să folosești mai multe unelte complementare.
Aștept cu interes detalii! Succes!
