opgaver:Uge5
Pia Jensen (Talk | contribs) |
Pia Jensen (Talk | contribs) |
||
Line 66: | Line 66: | ||
== Opgave 3 - == | == Opgave 3 - == | ||
Disse øvelser handler om radial acceleration (med Principal Component Analysis). | Disse øvelser handler om radial acceleration (med Principal Component Analysis). | ||
+ | |||
+ | * Du skal starte med at hente datasættet [[Media:ipod_4.txt|ipod_4.txt]], der er et datasæt taget med app'en [http://www.iseismometer.com/ 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 === | ||
+ | Find de dominerede komponenter, ved at benytte PCA metoden beskrevet afsnit 2 i [[Media:multivariatstatistik.pdf|multivariatstatistik.pdf]] dokumentet. | ||
+ | |||
+ | Transponér input matricen sådan at den er M x N, hvor M svarer til antallet af parametre og N antallet af målinger. | ||
+ | |||
+ | |||
+ | Centrér dataen ved først at beregne middelværdien for de fire parametre, og fratræk denne de enkelte komponenter. | ||
+ | Hint: data_center = data - repmat(middelværdierne, 1, antallet_af_målinger). | ||
+ | |||
+ | |||
+ | Beregn kovariansmatricen af den centrerede data. | ||
+ | |||
+ | |||
+ | Beregn egenværdierne og egenvektorerne af kovariansmatricen, med den indbyggede funktion i MATLAB. | ||
+ | |||
+ | |||
+ | Gem diagonalen af egenværdimatricen i en vektor (M x 1). | ||
+ | |||
+ | |||
+ | Sorter egenværdierne efter faldende orden, og gem de indexer som sorteringsmetoden retunerer i en vektor. | ||
+ | Hint: [smidvæk indices] = sort(egenværdier, 'descend') | ||
+ | |||
+ | |||
+ | Sorter egenvektorerne og egenværdierne med index-vektoren. | ||
+ | Hint: egenvec = egenvec(:,indices); egenværdier = egenværdier(indices) | ||
+ | |||
+ | |||
+ | Projekter den oprindelige data langs den nye basis (egenvektor matricen). | ||
+ | Hint: data_pca = egenvec' * data | ||
+ | |||
+ | === 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 routiner | ||
+ | [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 benytte det såkaldte "kernel-kneb". I zip-filen medfølger en funktion kaldet "kernelpca_tutorial.m", gentag opgave 3.5 for resultatet fra funktionen. | ||
+ | |||
+ | Mere info: http://en.wikipedia.org/wiki/Kernel_principal_component_analysis |
Revision as of 12:04, 7 March 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.
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.
- Dokument om multivariat statistik: multivariatstatistik.pdf
Det kan også hjælpe at læse nogle Wikipedia-sider om emnerne, som f.eks.
- Multivariate analysis
- Covariance Matrix
- Correlations
- Autocorrelations (valgfri)
- Principal Component Analysis
- Linear models
- Non-linear models (kernel methods)
- Fast fourier transforms - cool blog om FFT (valgfri)
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.
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. Er de to variable korrelerede? Hint: Beregn først kovarians matricen (ligning 1 i multivariatstatistik.pdf dokumentet).
Spørgsmål 3
Beregn kovariansmatricen og korrelationsmatricen med MATLAB's indbyggedefunktioner, og sammenlign resultatet med dine egne beregninger.
Spørgsmål 4
Tag logaritmen af begge værdier, og plot resultatet igen. Diskuter forskellen, er korrelationen tydligere nu? Beregn korrelationen for de logaritmiske værdier. Hvorfor er korrelationen anderledes end i spørgsmål 2?
Spørgsmål 5
Beregn korrelationen for de logaritmiske værdier. Hvorfor er korrelationen anderledes end i spørgsmål 2?
Spørgsmål 6
Lav et lineært fit af resultatet i spørgsmål 4. Hvad er Chi^2 for fittet, beskriver en lineær relation forholdet?
Opgave 2 - Flere korrelationer
Disse øvelser viser mere med korrelationer.
- Du skal starte med at hente datasættet opg2data.txt.
Spørgsmål 1
Indlæs datasættet og beregn korrelationerne mellem de to variable. Er variablerne 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 -
Disse øvelser handler om radial acceleration (med Principal Component Analysis).
- 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
Find de dominerede komponenter, ved at benytte PCA metoden beskrevet afsnit 2 i multivariatstatistik.pdf dokumentet.
Transponér input matricen sådan at den er M x N, hvor M svarer til antallet af parametre og N antallet af målinger.
Centrér dataen ved først at beregne middelværdien for de fire parametre, og fratræk denne de enkelte komponenter.
Hint: data_center = data - repmat(middelværdierne, 1, antallet_af_målinger).
Beregn kovariansmatricen af den centrerede data.
Beregn egenværdierne og egenvektorerne af kovariansmatricen, med den indbyggede funktion i MATLAB.
Gem diagonalen af egenværdimatricen i en vektor (M x 1).
Sorter egenværdierne efter faldende orden, og gem de indexer som sorteringsmetoden retunerer i en vektor.
Hint: [smidvæk indices] = sort(egenværdier, 'descend')
Sorter egenvektorerne og egenværdierne med index-vektoren.
Hint: egenvec = egenvec(:,indices); egenværdier = egenværdier(indices)
Projekter den oprindelige data langs den nye basis (egenvektor matricen).
Hint: data_pca = egenvec' * data
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 routiner [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 benytte det såkaldte "kernel-kneb". I zip-filen medfølger en funktion kaldet "kernelpca_tutorial.m", gentag opgave 3.5 for resultatet fra funktionen.
Mere info: http://en.wikipedia.org/wiki/Kernel_principal_component_analysis