Temaside for TMA4240/TMA4245 Statistikk
Begreper, definisjoner og tolkninger
Deskriptiv Statistikk
Et datasett kan bestå av svært mange tall. For å få oversikt over de viktigste egenskapene til et slik datasett bruker man deskriptiv statistikk, også kalt beskrivende statistikk. I deskriptiv statistikk regner man ut oppsummerende størrelser, altså tall, eller visualiserer datasettet ved å lage ulike plott. I dagligtalen kan vi for eksempel si at "Under normal drift er motortemperaturen omlag 75 grader Celsius og varierer med +/- 10 grader". Tallene 75 grader og 10 grader er eksempler på oppsummerende størrelser, 75 grader angir lokasjon og 10 grader angir hvor stor variasjon det er i motortemperaturen.
Sentrale begreper
Trykk på det grå feltet for mer informasjon om temaet.
Mål på lokasjon
Mål på lokasjon
Vi antar at vi har et datasett med \(n\) element(på f.eks. motortemperatur for \(n\) motorer): \( (x_1, x_2, \dots, x_n) \). Dersom vi sorterer disse i stigende rekkefølge skriverer vi: \( ( x_{(1)}, x_{(2)}, \dots, x_{(n)} ) \), der \( x_{(1)}\) er minst, \(x_{(2)}\) er nest minst o.s.v. til \(x_{(n)}\) som er størst. De to viktigste mål på lokasjoner er gjennomsnitt og median.
Gjennomsnitt: Om har et datasett av størrelse\(n\), \( (x_1, x_2, \dots, x_n) \), så er gjennomsnitt definert ved \[ \bar{x} = \frac{1}{n} \sum_{i=1}^n x_i = \frac{1}{n} (x_1+x_2+\dots + x_n). \]
Median: Om vi sorterer dataene i stigende rekkefølge, så er medianen den miderste observasjonen (dersom \(n\) er odde), evt gjennomsnittet av de to midterste observasjonene dersom \(n\) like.
For \(n\) odde: \[\tilde{x}=x_{((n+1)/2)}, \]
For \(n\) like: \[\tilde{x}=\frac{1}{2} (x_{(n/2)}+x_{(n/2+1)}). \]
Mål på variasjon
Mål på variasjon
Empirisk betyr 'fra erfaring', og kan i statistikk tolkes som 'fra data'.
Empirisk varians: \[ \text{Var}(x_1, x_2, \dots, x_n) = \frac{1}{n-1} \sum_{i=1}^{n}(x_i-\bar{x})^2 \]
Empirisk standardavvik: \[ \text{Std}(x_1, x_2, \dots, x_n) = \sqrt{Var(x_1, x_2, \dots, x_n)} \] Empirisk standardavvik har same enhet som dataene.
Empiriske kvantiler: Den observasjonen som er slik at en gitt andel \( \alpha\) av dataene er mindre enn enn denne verdien: \[ q(\alpha, x_1, x_2, \dots, x_n) = x_{(i)} \text{ slik at } \alpha = \frac{i-0.5}{n}\] Merk at for n odde er 0.5-kvantilen lik medianen: \(q(0.5, x_1, x_2, \dots, x_n)=\tilde{x} \).
Kvartildifferanse (Inter quantil range, IQR) Avstanden mellom 25%- og 75%-kvantilene. \[ \text{IQR}(x_1, x_2, \dots, x_n) = q(0.75) - q(0.25)\]
Minimum: Den minste observerte verdien: \[ \min(x_1, x_2, \dots, x_n) = x_{(1)}\]
Maksimum: Den største observerte verdien: \[ \max(x_1, x_2, \dots, x_n) = x_{(n)}\]
Histogram
Histogram
For å visualisere hvordan dataene i et datasett er fordelt er et histogram nyttig. Vi beskriver hvordan Matlab-funksjonen hist() fungerer. Vektoren \(X\) inneholder alle \(n\) datapunktene, og la \(x_{(1)}\) være minste verdi og \(x_{(n)}\) største verdi. Matlab-funksjonen hist(X,M) deler intervallet \( (x_{(1)}, x_{(n)}) \) inn i \(M\) like store underintervaller, og teller antall observasjoner som faller i hvert underintervall for så å plotte resultatet i et søylediagram. I Matlab er default \(M=10\), og intervall plasseringen kan også spesifiseres.
Matlabkode for å generere plottet over
Matlabkode for å generere plottet over
Datafiler (som må lagres på din maskin før koden kan kjøres): rybekken.txt, sylsjodammen.txt
% Plott histogrammer av snodybde, snotetthet og SWE (snw water equivalent) for Rybekken og Sylsjodammen % INPUT: .txt-filer med observasjoner fra Rybekken og Sylsjodammen med snodybde, % snotetthet og SWE i henholdsvis andre, tredje og fjerde kolonne clc, clear all, close all %% Last inn data ry = load('rybekken.txt'); sy = load('sylsjodammen.txt'); ry_depth = ry(:,2); ry_density = ry(:,3); ry_SWE = ry(:,4); sy_depth = sy(:,2); sy_density = sy(:,3); sy_SWE = sy(:,4); %% Generer histogrammene subplot(1,2,1) hist(ry_depth) title('Histogram av snodybde Rybekken','FontSize',8) subplot(1,2,2) hist(sy_depth) title('Histogram av snodybde Sylsjodammen','FontSize',8)
Boxplot
Boxplot
Boxplot er en måte å visualisere data på som er spesielt nyttig for å sammenlikne flere sett med data. Her beskrives Matlab-funksjonen boxplot(X). Hvert datasett blir visulatisert med en boks som strekker seg fra første kvartil, dvs 25%-prosent kvantilen, \(q(0.25)\), til tredje kvartil, dvs 75%-prosent kvantilen, \(q(0.75)\) ,og har en tversgående linje som markerer medianen. I tillegg er det utstikkere (engelsk: whiskers) som går ut til de mest ekstreme observasjonene som ligger nærmere boksen enn \(w\) ganger kvartildifferansen \( \text{IQR}= q(0.75)-q(0.25) \). Default i Matlab er \(w=1.5\), og denne kan spesifiseres. Datapunkt lenger borte fra boksen blir markert individuelt.
Matlabkode for å generere plottet over
Matlabkode for å generere plottet over
Datafiler (som må lagres på din maskin før koden kan kjøres): rybekken.txt, sylsjodammen.txt
% Lag box plot av sn?dybde og sn?tetthet for Rybekken og Sylsj?dammen % INPUT: .txt-filer med observasjoner fra Rybekken og Sylsj?dammen med % aarstall, sn?dybde, sn?tetthet og SWE i henholdsvis f?rste, andre, tredje og fjerde kolonne clc, clear all, close all %% Last inn data ry = load('rybekken.txt'); sy = load('sylsjodammen.txt'); ry_depth = ry(:,2); ry_density = ry(:,3); sy_depth = sy(:,2); sy_density = sy(:,3); %% Sett sammen vektorene depth = [ry_depth; sy_depth]; density = [ry_density; sy_density]; %% Lagre antall observasjoner ry_num = length(ry); sy_num = length(sy); %% Opprett grupperingsvariabel grp = [repmat(1,ry_num,1); repmat(2,sy_num,1)]; %% Lag box plot boxplot(depth,grp,'Labels',{'Rybekken','Sylsjodammen'}) ylabel('Snodybde (cm)','FontSize',18) title('Boksplott av snodybde (cm)','FontSize',16)
Scatterplot
Scatterplot
Scatterplott er en måte å visualisere to variabler i et datasett samtidig. Hvert datapunkt \( i\) består av to variabler \( (x_{i1}, x_{i2})\)(f.eks. snødybde og snøtetthet), og blir et punkt (f.eks et kryss) i grafen. Blir typisk brukt for å se etter samvariasjon/avhengighet.
Matlabkode for å generere plottet over
Matlabkode for å generere plottet over
Datafiler (som må lagres på din maskin før koden kan kjøres): rybekken.txt, sylsjodammen.txt
% Lager en matrise med scatterplot av kombinerte snodata fra Rybekken og % Sylsjodammen %% Slett og lukk alt clc, clear all, close all %% Last inn og kombiner data rybekken = load('rybekken.txt'); sylsjodammen = load('sylsjodammen.txt'); kombinert = [rybekken; sylsjodammen]; dybde=kombinert(:,2); tetthet=kombinert(:,3); %% Plott plot(dybde,tetthet,'x') ylabel('Snotetthet') xlabel('Snodybde') title('Scatterplott av snodybde og snotetthet')
Relevante videoer:
Relevante oppgaver:
\(\ \ \ \)Eksamen mai 2016, oppgave 2a (b,n,e).
\(\ \ \ \)Eksamen desember 2015, oppgave 4b (b,n,e).
\(\ \ \ \)Eksamen juni 2015, oppgave 1a (b,n,e).
\(\ \ \ \)Eksamen mai 2014, oppgave 2a (b,n,e).
\(\ \ \ \)Eksamen mai 2012, oppgave 2a og 4b (b,n,e).