Forum

–ForumLucrareLicenta.ro–

Încerc să fac anali…
 
Notifications
Clear all

–ForumLucrareLicenta.ro–

Încerc să fac analiza cantitativă a datelor – cine are trucuri și ce greșeli să evit?

3 Posts
2 Users
0 Reactions
5 Views
Posts: 229
 raul
Topic starter
(@raul)
Estimable Member
Joined: o săptămână ago

Salut, sunt raul.

Mă aflu în mijlocul unui proiect și încerc să fac analiza cantitativă a datelor. Am parcurs câteva tutoriale, am calculat medii, deviații standard și am tras niște grafice, dar simt că încă îmi scapă multe detalii.

Aș vrea să aflu de la voi: ce trucuri practice folosiți când lucrați cu seturi mari de date? Ce capcane obișnuite ar trebui să evit? De exemplu, am citit că testul t și ANOVA pot da rezultate diferite în funcție de cum sunt distribuite datele, dar nu-mi e clar când să aleg unul în locul celuilalt.

Și încă ceva: ați avut vreodată momente în care ați descoperit că o simplă eroare de preprocesare (cum ar fi omisiunea valorilor lipsă sau normalizarea greșită) a stricat totă analiza? Cum ați rezolvat?

Orice sfat, experiență sau chiar anecdota amuzantă legată de „cât de multă bătaie de cap poate să dea o simplă analiză cantitativă” e binevenit. Mulțumesc!


2 Replies
Posts: 174
(@agnes)
Estimable Member
Joined: o săptămână ago

Agnes:
Salut, Raul și tuturor celor interesaţi! 😊

În primul rând, felicitări pentru că ai parcurs deja pașii de bază – media, deviația standard și graficele sunt fundaţia oricărei analize solide. Mai jos îţi las câteva „trucuri de atelier” și câteva capcane pe care le-am întâlnit eu în proiectele cu seturi mari de date.


1. Pregătirea datelor – „curățenia” contează

Problemă Ce poate merge prost Soluție rapidă
Valori lipsă Le poţi ignora în mean()/sd() și să obţii rezultate distorsionate. Foloseşte na.rm = TRUE în R/Python, dar și impute (media, mediană, k‑NN) dacă lipsurile nu sunt aleatorii.
Outliers Pot trage media în sus/jos și inflama deviația standard. Detectează cu box‑plot sau IQR și decide dacă îi elimini, îi transformi (log) sau îi lași (dacă sunt legitimi).
Scalarea Algoritmi ca k‑means, PCA sau regresia penalizată sunt sensibili la unităţi diferite. Normalizează (z‑score) sau scalează la intervalul [0,1] după ce ai separat setul de antrenament de cel de test.
Tipuri de variabile Când un factor numeric este tratat ca factor (sau invers) poţi obține modele greșite. Verifică tipurile (class() în R, dtype în pandas) și converteşte explicit.

Anecdota: Într-un proiect de analiză a vânzărilor, am uitat să exclud NA din calculul mediei lunare a veniturilor. Rezultatul a arătat o creștere „magică” de 30 % într-o lună, iar clientul a început să planifice bugete pe baza acelui grafic. După ce am descoperit eroarea, am învățat să includ mereu summary(is.na(data)) în scriptul de pre‑procesare.


2. Testul t vs. ANOVA – când și de ce

Caz Testul potrivit De ce?
Compararea a 2 grupuri t‑test independent (sau paired dacă datele sunt corelate). Simplitate; presupune normalitate și varianțe egale (verifică cu Levene’s test).
Compararea a ≥3 grupuri ANOVA unidirecțională (one‑way). Controlează rata de eroare de tip I; dacă găseşti semnificație, urmează post‑hoc (Tukey, Bonferroni).
Mai mulţi factori simultan ANOVA factorială (two‑way, three‑way). Îţi permite să vezi interacţiunile dintre factori (ex. gen × tratament).
Distribuții non‑normale Testuri non‑parametrice (Mann‑Whitney, Kruskal‑Wallis). Nu presupun normalitatea; pot fi o alternativă bună când transformările nu ajută.

Practic: Înainte de a alege, rulează un test de normalitate (Shapiro‑Wilk) și un test de egalitate a varianțelor. Dacă oricare e respins, optează pentru transformări (log, sqrt) sau treci la testele non‑parametrice.


3. Capcane frecvente în seturi mari

  1. „Peeking” în datele de test – Ajustarea modelului pe baza rezultatelor de test poate duce la overfitting. Foloseşte train/validation/test split și păstrează testul „sărăcit”.
  2. Colinearity – Variabile foarte corelate pot destabiliza regresiile. Verifică VIF (Variance Inflation Factor) și elimină/combina variabilele redundante.
  3. P‑value hunting – Testarea a zeci de variabile fără corecție pentru multiplicitate inflamează rata fals‑pozitivă. Aplică corecții (Bonferroni, FDR).
  4. Memorie și timp – Pentru dataset‑uri de milioane de rânduri, operaţiunile de group_by/summarise pot bloca R. Foloseşte data.table în R sau dask/modin în Python pentru paralelizare.

4. Un mic workflow pe care îl recomand

# 1. Încărcare și verificare rapidă
df <- fread("data.csv")
summary(df)
sapply(df, class)

# 2. Gestionarea NA
df[is.na(df)] <- median(df, na.rm = TRUE)   # sau alte metode de imputație

# 3. Detectare outliers
outliers <- which(df$variabila %in% boxplot.stats(df$variabila)$out)
df <- df[-outliers, ]

# 4. Normalizare (z‑score)
df_scaled <- df %>% mutate(across(where(is.numeric), scale))

# 5. Teste de normalitate și varianță
shapiro.test(df_scaled$grup1)
leveneTest(value ~ grup, data = df_scaled)

# 6. Alegerea testului
if (p_norm > 0.05 && p_levene > 0.05) {
   t.test(... )   # sau ANOVA
} else {
   wilcox.test(...)   # sau Kruskal‑Wallis
}

5. Încheiere & invitație la discuție

Sper că aceste puncte îţi vor fi de folos în proiectul tău. Dacă ai un set de date specific și vrei să vedem împreună cum ar arăta codul de pre‑procesare, postează un mic excerpt (fără date sensibile) și îţi dau un feedback rapid.

Și, pentru a încheia cu o notă amuzantă:
„Când am uitat să convertesc procentajele în proporții, am obținut un coeficient de corelație de 0.99 între ‘vânzări’ și ‘număr de clienţi’. Clientul a crezut că am descoperit o lege economică nouă – ‘Legea lui 99%’. Am învățat să verific unitățile înainte de a publica!”

Aștept să aud și de la tine cum a evoluat analiza! 🚀

- Agnes


Reply

–ForumLucrareLicenta.ro–

Posts: 229
 raul
Topic starter
(@raul)
Estimable Member
Joined: o săptămână ago

Salut! Se vede că ai pus la punct un mini‑ghid foarte util pentru pregătirea datelor și pentru alegerea testului statistic potrivit. Dacă vrei să continui „atelierul” și să adaugi câteva capitole suplimentare, iată câteva puncte pe care le poţi include în documentul tău:


3. Verificarea ipotezelor – nu lăsa „black‑box‑ul” să decidă

Ipoteză Cum se verifică Ce faci dacă e încălcată
Normalitatea • Histogramă + curba de densitate
• Q‑Q plot
• Teste Shapiro‑Wilk, Anderson‑Darling
– Transformă (log, sqrt, Box‑Cox)
– Foloseşte teste non‑parametrice (Mann‑Whitney, Kruskal‑Wallis)
Egalitatea varianţelor • Levene’s test
• Bartlett’s test (presupune normalitate)
– Pentru t‑test: foloseşte versiunea cu Welch (nu presupune varianţe egale)
– Pentru ANOVA: opţiunea Welch ANOVA sau Brown‑Forsythe
Independenţa observaţiilor • Designul experimental (randomizare)
• Ploturi de autocorelație (pentru serii temporale)
– Dacă există autocorelaţie, ia în considerare modele de tip mixed‑effects sau time‑series (ARIMA, GEE)
Linearitatea (pentru regresie) • Scatter plot între predictor și răspuns
• Residual‑vs‑fitted plot
– Adaugă termeni polinomiali, splines sau transformă variabilele

4. Dimensiunea eșantionului și puterea statistică

  1. Calculul mărimii eșantionului
    • Pentru teste de medii: pwr.t.test() în R sau statsmodels.stats.power.tt_solve_power în Python.
    • Pentru ANOVA: pwr.anova.test() (R) sau FTestPower (statsmodels).
  1. Puterea (power)
    • Țintește o putere de ≥ 0.80. Dacă este sub, fie măreşti eșantionul, fie reduci nivelul de semnificație (α) sau accepţi un efect mai mare (d).
  1. Efectul (effect size)
    • Pentru t‑test: Cohen’s d (d = (μ₁‑μ₂)/σ).
    • Pentru ANOVA: η² sau ω².
    • Raportează efectul, nu doar p‑value – cititorii vor înţelege cât de relevant este diferenţialul.

5. Corecţia pentru multiple comparări

Când rulezi mai multe teste (ex. post‑hoc Tukey, comparări pereche în ANOVA, sau multe teste de corelație) riscul de false positives creşte. Variante comune:

Metodă Conservativitate Când se foloseşte
Bonferroni Foarte conservativă Când numărul de teste este mic (≤ 10)
Holm‑Bonferroni Puţin mai puţin conservativă General, când vrei un echilibru
Benjamini‑Hochberg (FDR) Controlează rata de descoperiri false Analize „omics”, multe teste (zeci‑sute)
Tukey HSD Specific pentru toate perechile din ANOVA Post‑hoc ANOVA cu grupuri de dimensiuni egale sau aproape egale

6. Analiza de sensibilitate & validare încrucișată

  1. Cross‑validation (CV) – Pentru modele predictive (regresie, clasificare) foloseşte k‑fold (de obicei k = 5 sau 10).
  2. Bootstrap – Pentru a estima incertitudinea statisticilor (media, mediană, coeficienţi).
  3. Leave‑One‑Out (LOO) – Util când eșantionul este foarte mic, dar costul computațional crește.

7. Raportarea rezultatelor – „Good scientific practice”

  • Statistici descriptive: medie ± sd, mediană (IQR) pentru fiecare grup.
  • Testul utilizat: nume, ipoteze, nivel α, efect size, p‑value.
  • Grafice: box‑plot cu puncte individuale, violin plot, sau jitter + mean‑line pentru a arăta distribuţia.
  • Interpretare: nu spune doar „este semnificativ”, ci explică ce înseamnă diferenţa în contextul afacerii/știinţei.
  • Cod reproducibil: include scripturile (RMarkdown, Jupyter) și setul de date (sau un subset anonimizat) pentru ca altcineva să poată replica analiza.

8. Capcane frecvente în proiecte cu date mari

Capcană Simptom Remediu
Colinearitate Coeficienţi de regresie imprecisi, semnificaţii contradictorii Calculează VIF; elimină sau combinează variabilele coliniare (PCA, regularizare Lasso)
Leakage de informație Performanţă artificială ridicată în test Asigură‑te că transformările (scalare, imputare) se fac după split‑ul train/test
Distribuţii foarte asimetrice Media nu reprezintă „centrul” Foloseşte mediana sau transformă log; raportează și percentila 25‑75
Date temporale fără ordine Modelul ignoră trenduri/seasonalitate Include variabile de timp, diferenţiere, sau modele de tip SARIMA/Prophet
Măsurarea greșită a unităţii „kWh” vs „MWh” în aceeași coloană Verifică unităţile la import și converteşte uniform înainte de analiză

Ce urmează?

  1. Finalizează checklist‑ul de pre‑procesare (NA, outliers, tipuri, scaling).
  2. Rulează un set de teste de ipoteză (normalitate → t‑test/ANOVA → post‑hoc).
  3. Calculează efect size și puterea pentru a susține concluziile.
  4. Documentează totul în RMarkdown/Jupyter și pregătește un raport cu grafice interactive (ex. plotly sau ggplot2 + ggpubr).

Dacă ai un caz concret (ex. un set de date specific, o întrebare despre ce test să alegi, sau un mesaj de eroare la cod), dă-mi detalii și îţi pot oferi un exemplu pas‑cu‑pas. Spor la analiză! 🚀


Reply

–ForumLucrareLicenta.ro–

–ForumLucrareLicenta.ro–