opgaver:Uge5

From Eksperimentel Fysik WIKI
(Difference between revisions)
Jump to: navigation, search
 
(One intermediate revision by one user not shown)
Line 1: Line 1:
I denne uge skal I arbejde med lidt mere avanceret statisk, som en forsmag på hvad I kan lære i mere avancerede statistik-kurser, som f.eks. Anvendt Statistik, der afholdes i blok 1.  
+
I denne uge skal I arbejde med lidt mere avanceret statisk, som en forsmag på hvad I kan lære i mere avancerede statistik-kurser, som f.eks. Anvendt Statistik, der afholdes i blok 1. I skal kun gå i gang med disse opgaver hvis I faktisk er nået at blive færdige med de sidste ugers opgaver!
  
 
Som en forberedelse på at kunne lave disse opgaver, skal I læse et lille dokument skrevet af Morten Dam Jørgensen, der desuden også lavede nedenstående opgaver.
 
Som en forberedelse på at kunne lave disse opgaver, skal I læse et lille dokument skrevet af Morten Dam Jørgensen, der desuden også lavede nedenstående opgaver.
Line 313: Line 313:
 
:<code>plot(data(:,4), data_pca(4, :))</code>
 
:<code>plot(data(:,4), data_pca(4, :))</code>
 
:<code>title('4. Komponent')</code>
 
:<code>title('4. Komponent')</code>
 +
 +
For at kunne vurdere hvad de forskellige komponenter er, er det nødvendigt at se på egenvektorerne fundet med PCA metoden. I MATLAB findes det at
 +
 +
:<code>egvec =</code>
 +
::<code>    0.0019  -0.7804  -0.6252    0.0092</code>
 +
::<code>  -0.0098  -0.6253    0.7803  -0.0096</code>
 +
::<code>    0.0001  -0.0012  -0.0132  -0.9999</code>
 +
::<code>    1.0000  -0.0046    0.0088    0.0000</code>
 +
 +
I første omgang kan man altså se at første komponent efter analysen næsten kun indeholder 4.-komponenten af dataen (tid), hvilket også giver fin mening med den monotont stigende kurve set i figuren. På samme måde kan man se at den fjerde komponent efter analysen næsten kun indeholder (den negative) 3.-komponent af dataen ($z$-accelerationen). Denne kurve ligner meget godt den støj der også blev set på den oprindelige $z$-acceleration komponent i dataen.
 +
 +
Derimod er anden og tredje komponenterne efter analysen givet som et miks imellem $x$- og $y$-accelerationerne fra den oprindelige data.
 
{{hidden end}}
 
{{hidden end}}
  

Latest revision as of 12:34, 23 May 2012

I denne uge skal I arbejde med lidt mere avanceret statisk, som en forsmag på hvad I kan lære i mere avancerede statistik-kurser, som f.eks. Anvendt Statistik, der afholdes i blok 1. I skal kun gå i gang med disse opgaver hvis I faktisk er nået at blive færdige med de sidste ugers opgaver!

Som en forberedelse på at kunne lave disse opgaver, skal I læse et lille dokument skrevet af Morten Dam Jørgensen, der desuden også lavede nedenstående opgaver.

Det kan også hjælpe at læse nogle Wikipedia-sider om emnerne, som f.eks.


Contents

Opgave 1 - Lineær korrelation

Disse øvelser viser hvordan lineære korrelationer kan beregnes og visualiseres, metoder som er anvendelige på det meste data med flere parametre.

  • Du skal starte med at hente datasættet lande.txt, der stammer fra [1].

Spørgsmål 1

Start med at indlæse datafilen, og plot så populationen i forhold til landenes størrelse.

Spørgsmål 2

Beregn den linære korrelation manuelt (altså uden at bruge de indbyggede MATLAB funktioner til at gøre det). Er de to variable korrelerede?

Spørgsmål 3

Beregn kovariansmatricen og korrelationsmatricen med MATLAB's indbyggede funktioner, og sammenlign resultatet med dine egne beregninger.

Spørgsmål 4

Tag logaritmen af begge værdier, og plot resultatet igen. Diskutér forskellen - er korrelationen tydeligere nu? Beregn korrelationen for de logaritmiske værdier. Hvorfor er korrelationen anderledes end i spørgsmål 2?

Spørgsmål 5

Lav et lineært fit af resultatet i spørgsmål 4. Hvor godt er fittet? Beskriver en lineær relation forholdet?


Opgave 2 - Flere korrelationer

Disse øvelser viser mere med korrelationer.

Spørgsmål 1

Indlæs datasættet og beregn korrelationerne mellem de to variable. Er variablene korrelerede?

Spørgsmål 2

Lav et scatter plot af de to variable. Ved visuel inspektion, forklar hvorfor der ikke var en korrelation mellem de to akser i beregningen.

Spørgsmål 3

Datasættet er genereret med følgende udtryk:

n = 2000;
x = linspace(-1, 1, n);
y = - 5 * (x.^2 - 1/2).^2 + unifrnd(-1, 1, [1 n])/3;

Der er tydeligvis en afhængighed mellem $x$- og $y$-aksen. I hvilke tilfælde vil en lineær korrelation være et acceptabelt mål for korrelationen mellem to værdier?


Opgave 3 - Principal component analysis

Disse øvelser handler om radial acceleration (med Principal Component Analysis - PCA).

  • Du skal starte med at hente datasættet ipod_4.txt, der er et datasæt taget med app'en iSeismometer på en Ipod Touch som del af et eksperiment på kurset i 2011.

Spørgsmål 1

Indlæs datasættet. De fire variable er hhv. acceleration langs $x$-, $y$- og $z$-akserne samt tid i sekunder. Plot de tre accelerationskomponenter som funktion af tiden.

Spørgsmål 2

I dette spørgsmål skal du finde de dominerende komponenter, ved at benytte PCA metoden beskrevet afsnit 2 i multivariatstatistik.pdf dokumentet. For at hjælpe dig lidt på vej er spørgsmålet delt op i mindre dele:

Del 1

Transponér input matricen sådan at den er $M \times N$, hvor $M$ svarer til antallet af parametre og $N$ antallet af målinger. Centrér derefter dataen ved først at beregne middelværdien for de fire parametre, og fratræk denne de enkelte komponenter.

Del 2

Beregn kovariansmatricen af den centrerede data, og beregn så egenværdierne og egenvektorerne af den, med den indbyggede funktion i MATLAB. Gem diagonalen af egenværdimatricen i en vektor ($M \times 1$).

Del 3

Sorter egenværdierne efter faldende orden, og gem de indekser som sorteringsmetoden retunerer i en vektor.

Del 4

Sorter egenvektorerne og egenværdierne med indeks-vektoren.

Del 5

Projektér den oprindelige data langs den nye basis (egenvektor matricen).

Spørgsmål 3

Plot hvert komponent af det transformerede datasæt som funktion af tiden. Ved at sammenligne værdierne fra egenvektorne med de fire plots, forklar hvad de enkelte komponenter beskriver.

Spørgsmål 4

(Frivillig) Benyt MATLABs indbyggede PCA rutiner i stedet:

[C, latent, explained] = pcacov(cov(data'))
biplot(egenvec(:,1:2), 'scores', signals(1:2,:)', 'varlabels',datalabels)

Spørgsmål 5

(Frivillig) PCA teknikken afhænger af lineære relationer mellem de forskellige variable. Der findes en anden metode til ikke-lineære data, der benytter det såkaldte "kernel-kneb". I zip-filen medfølger en funktion kaldet "kernelpca_tutorial.m", gentag spørgsmål 4 for resultatet fra funktionen.

Mere info: http://en.wikipedia.org/wiki/Kernel_principal_component_analysis


Samlede løsninger



Personal tools
Namespaces
Variants
Actions
Navigation
Opgaver
Andet
Toolbox
Commercial