Univariat analyse
Fordelingsdiagrammer, histogrammer, boksplott og antallsdiagrammer for å forstå enkeltfunksjoner.
Univariat analyse er en gratis leksjon i Lær AI med Python på CoddyKit. Dette er leksjon 2 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Lær AI med Python, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.
Hva er univariat analyse?
Univariat analyse undersøker én variabel om gangen for å forstå fordelingen: sentrum, spredning, form og uvanlige verdier.
Riktig diagram avhenger av variabeltypen:
- Numerisk → histogram, KDE, boxplot eller fiolindiagram
- Kategorisk → countplot (søylediagram over frekvenser)
Sette opp plottebibliotekene
Vi bruker Matplotlib (plt) og Seaborn (sns). Seaborn bygger på Matplotlib og har bedre standardinnstillinger for statistiske diagrammer.
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
sns.set_theme(style="whitegrid")
df = pd.read_csv("data.csv")Histogrammer med plt.hist
Et histogram deler numeriske verdier inn i intervaller og teller hvor mange som faller i hvert intervall. Det viser den overordnede formen på en fordeling.
Argumentet bins styrer oppløsningen – for få intervaller skjuler strukturen, mens for mange tilfører støy.
plt.hist(df["age"], bins=30, edgecolor="black")
plt.xlabel("Age")
plt.ylabel("Count")
plt.title("Age Distribution")
plt.show()KDE-diagrammer — jevn tetthet
Et kjernetetthetsestimat (sns.kdeplot) tegner en jevn kurve som tilnærmer seg fordelingen. Det kan være enklere å lese enn ujevne histogramstolper.
Kombiner begge med sns.histplot(..., kde=True) for å legge den jevne kurven over stolpene.
sns.kdeplot(df["age"], fill=True)
plt.show()
sns.histplot(df["age"], bins=30, kde=True)
plt.show()Oppdage skjevhet
Skjevhet måler asymmetri. En lang hale mot høyre er høyreskjevhet (positiv skjevhet), mens en lang hale mot venstre er venstreskjevhet (negativ skjevhet).
Inntekter, priser og antall er vanligvis høyreskjeve. Du kan kvantifisere skjevheten med df[col].skew() – verdier langt fra 0 indikerer skjevhet.
print(df["income"].skew()) # e.g. 2.3 -> strong right skew
sns.histplot(df["income"], bins=40, kde=True)
plt.show()Oppdage bimodalitet
En bimodal fordeling har to topper, ofte et tegn på at to tydelig forskjellige grupper er blandet sammen (for eksempel to produkttyper i én priskolonne).
KDE-diagrammer gjør bimodalitet tydelig – se etter to forhøyninger. Det er et tegn på at en skjult kategorisk variabel kan forklare oppdelingen.
sns.kdeplot(df["price"], fill=True)
plt.title("Two peaks suggest two subpopulations")
plt.show()Boxplot med sns.boxplot
Et boxplot viser medianen (midtlinjen), interkvartilavstanden (IQR, boksen) og whiskere som strekker seg til omtrent 1,5 × IQR. Punkter utenfor whiskerene markeres som uteliggere.
sns.boxplot(x=df["income"])
plt.title("Income — box plot")
plt.show()Uteliggere og IQR-regelen
Boxplotet bruker IQR-regelen: Et punkt er en uteligger hvis det ligger under Q1 - 1.5*IQR eller over Q3 + 1.5*IQR.
Du kan beregne grensene selv for å filtrere bort eller begrense ekstreme verdier.
q1 = df["income"].quantile(0.25)
q3 = df["income"].quantile(0.75)
iqr = q3 - q1
low, high = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df["income"] < low) | (df["income"] > high)]
print(len(outliers), "outliers")Fiolindiagrammer med sns.violinplot
Et fiolindiagram kombinerer et boxplot med en speilet KDE. Bredden på hvert høydenivå viser tettheten, slik at du ser både formen og sammendragsstatistikken samtidig.
Fiolindiagrammer er svært nyttige for å avdekke skjevhet eller bimodalitet som et vanlig boxplot ville skjult.
sns.violinplot(x=df["age"])
plt.title("Age — violin plot")
plt.show()Countplot for kategoriske variabler
For kategoriske kolonner bruker du sns.countplot – et søylediagram over kategorifrekvenser. Det er den visuelle formen av value_counts().
Sorter stolpene etter frekvens for bedre lesbarhet med argumentet order.
order = df["city"].value_counts().index
sns.countplot(y="city", data=df, order=order)
plt.title("Records per city")
plt.show()Velge riktig univariat diagram
En rask veiledning:
- Formen på en numerisk kolonne → histogram eller KDE
- Uteliggere og kvartiler → boxplot
- Form og sammendrag samtidig → fiolindiagram
- Kategorifrekvenser → countplot
Hurtigsjekk: valg av diagram
Du vil se medianen, kvartilene og utliggerne for én numerisk kolonne.
Oppsummering: Univariat analyse
Du har lært å undersøke én variabel om gangen:
plt.histogsns.kdeplotfor fordelingens form.skew()for å kvantifisere asymmetri, og KDE-forhøyninger for bimodalitetsns.boxplotog IQR-regelen for uteliggeresns.violinplotfor form og sammendrag samtidigsns.countplotfor kategorifrekvenser
Deretter ser vi på forholdet mellom to eller flere variabler.
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 53
- Leksjoner
- 225
Ofte stilte spørsmål
Er leksjonen «Univariat analyse» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Lær AI med Python, inkludert «Univariat analyse», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Lær AI med Python inneholder totalt 4 leksjoner.
Hva lærer jeg i «Univariat analyse»?
Fordelingsdiagrammer, histogrammer, boksplott og antallsdiagrammer for å forstå enkeltfunksjoner. Du øver på Lær AI med Python med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Lær AI med Python?
Ingen tidligere erfaring er nødvendig. Lær AI med Python på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Univariat analyse»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Lær AI med Python-leksjonen?
Ja. Alle Lær AI med Python-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Arbeidsflyt for EDA og dataprofiler
- Univariat analyse
- Bivariat og multivariat analyse
- Analyse av egenskapsfordeling og målvariabel