Professional Documents
Culture Documents
Samenvatting Statistiek KDG
Samenvatting Statistiek KDG
1. Inleiding
1.1. Waarom Statistiek?
1.2. Onderzoeksfasen
Bij een statistisch onderzoek kunnen we verschillende fasen onderscheiden. In een voorbeeld: zijn
linux servers beter bestand tegen aanvallen dan windows servers?
1.3. Operationaliseren
Het meetbaar maken van gegevens
1.3.1. Variabelen en constanten
In een hypothese zitten variabelen en constanten
Het zijn parameters die in het onderzoek gebruikt worden
Variabel: kan verschillende waarden aannemen
Constanten: Heeft steeds dezelfde waarde binnen dit onderzoek
Variabelen en constante moeten geoperationaliseerd worden.
Welk type, welk bereik
Discrete variabelen: kunnen bepaalde waarden aannemen
Continue variabelen: kunnen alle waardes tussen min en max (bv 0 en 1) aannemen
1.3.2. Meetniveaus
Er bestaan verschillende soorten data
Soort bepaalt wat je ermee kan doen, welke grafiek je gebruikt,
= meetniveaus
Kwalitatieve
Nominaal
Iedere waarde is string
Vb: geslacht, afstudeerrichting, computermerk
Ordinaal
Iedere waarde is string
Er bestaat een natuurlijke ordening
Vb: Rangen in het leger, tevredenheidsscores (want 8 is niet dubbel zo
tevreden als 4)
Kwantitatieve data
Interval
Iedere waarde is een getal
Er is geen natuurlijk nulpunt
Vb. temperatuur in celcius (want 20 is niet dubbel zo warm als 10)
Ratio
Iedere waarde is een getal
Er is wel een natuurlijk nulpunt
Vb. temperatuur in Kelvin, aantal liter geproduceerde wijn,
1.3.3. Betrouwbaarheid
Metingen zijn niet noodzakelijk betrouwbaar
Punten op examen kunnen verschillen bij studenten met zelfde kennis
Lengtemetingen kunnen afwijken omdat persoon niet op zelfde manier gemeten
wordt
Meetinstrument is betrouwbaar als invloed van toevallige factoren geen (groot) verschil
geeft in resultaat
1.3.4. Validiteit
Metingen zijn niet noodzakelijk valide
Hoe meet je wiskundeaanleg
Hoe meet je assertiviteit
Een meetinstrument is valide als
Het meet wat het moet meten
Een andere meetwijze hetzelfde resultaat zou opleveren
Een niet-valide meetinstrument maakt systematische fouten
Weegschaal die verkeerd is
Test die in bepaalde omstandigheden w afgenomen
2. Frequentieverdelingen
Frequentietabellen, kruistabellen
R: table()
2.2. Klassen
2.3. Grafieken
2.3.1. Taartdiagram
Bij
Nominaal meetniveau
Niet te veel verschillende waarden
Visueel > kwaliteit
R: pie()
2.3.2. Staafdiagram
Bij
Nominaal of ordinaal
Beter interpreteerbaar dan taart
R: barplot()
2.3.3. Histogram
Bij
Interval of ratio niveau
Continue variabelen
Lijkt op staafdiagram maar staven tegen elkaar aan
R: hist()
2.3.4. Frequentiepolygoon
Gebruik: zoals histogram
Lijnen tekenen tussen de toppen van klassen
2.4. Percentielen
Relatieve plaats van datapunt in de dataset. Bijvoorbeeld het 95% percentiel: 95% van de data ligt
eronder, 5% erboven
3. Centrummaten
3.1. Modus
3.2. Mediaan
3.3. Gemiddelde
Vanaf intervalniveau
Som van alle waarden / aantal
R: mean(x)
Voordelen
Formule
Alle waarden worden gebruikt
3.4. Uitschieters
3.5. Verdelingen
4. Spreidingsmaten
4.1. Bereik
4.2. Kwantielen
Werkwijze
Rangschik getallen van klein naar groot
Verdeel in n gelijke stukken
Waarde op iedere grens is n-kwantiel
R: quantile(x, fractie)
N=4: Kwartielen
N=100: Percentielen
N=10: Decielen
Kwartielen worden vaak gebruikt om bereik te berekenen
R: summary(x)
4.3. Boxplot
Bereken gemiddelde
Bereken het verschil tussen iedere waarde en het gemiddelde
Neem hiervan het gemiddelde
R: mean(x-mean(x)) uitkomst nul want heft elkaar op
R: mean(abs(x-mean(x)))
Nadeel: gevoelig voor uitschieters
Gebruik median
Median(abs(x-median(x)))
Nadeel: moeilijk rekenen met absolute waarde7
4.5. Variantie
4.6. Stand111aardafwijking
5. Kansen
5.1. Wat is een kans?
6. Kansverdelingen
--todo
DEEL WEEK 4 TODO
StatAn p4
7. Samenhang
7.1. Correlatie
Als er een lineair verband is tussen 2 variabelen, is de ene dan te voorspellen adhv de
andere?
Proberen een lijn te tekenen die het best door de scatterplot gaat
Fout: gemiddelde afstand (verticaal gemeten) tussen punten en de lijn
Vergelijk: standaardafwijking: gemiddelde afstand tussen punten en gemiddelde
Getallen kwadrateren om positieve getallen te verkrijgen
Regressielijn is benadering van de werkelijkheid
B = slope, richtingscofficient:
A = intercept:
Zijn afhankelijk van gemiddelde en standaardafwijking
Regressielijn is maar een benadering voor de werkelijkheid
Hoe goed is deze benadering?
Antwoord: betrouwbaarheidsinterval op de fout (fout = werkelijke waarde voorspelde
waarde). Fout heeft een standaardafwijking
Se = standaardschattingsfout
Als je dus een waarde voor xi berekent, dan weet je 95,5% zeker dat de echte waarde
tussen volgende grenzen zit:
Variantie op de fout:
Correlatie = 0
Variantie op de fout is dezelfde als die op Y
De regressie kan dus niks voorspellen
Correlatie = 1
Variantie op fout is 0
De regressie voorspelt perfect de waarde
Kwadraat van correlatie is dus het percentage van Y dat wordt verklaard door het model
Dit wordt meestal aangeduid met R
R
Eerst plotten (datax, datay)
Reg = lm(y~x)
Y tilde X !!!
Abline(reg)
a=reg$coefficients[1]
b=reg$coefficients[2]
summary(reg) met se (residual standard error), R (multiple R squared)
se=sqrt(deviance(reg)/df.residual(reg))
8c. Filters
8c.1. Laagdoorlaatfilters
8c.2. Hoogdoorlaatfilters
Berekenen:
Fast Fourier Transform (FTT)
Signaal bestaat uit samples
Aantal samples = n
Samples zijn aan een bepaalde frequentie gemeten (f)
Samples zijn gedurende een bepaalde tijd gemeten (T = n/f)
R: spectrum=(Mod(fft(samples))/(n/2))[1:(n/2)]
Barplot(spectrum)
FFT kan n/2 golven detecteren
Hoe spectrum plotten?
Barplot: als er niet te veel frequenties zijn
Lijnen als er veel frequenties zijn
X-as zou frequentie moeten bevatten
9a. Interpolatie
Stel: weinig, maar accurate metingen => kan ik curve maken die door punten gaat, kan ik
waarden voorspellen die tussen gemeten waarden liggen
Voorbeeld:
R: f=approxfun(x,y) f(100)
Lineaire regressie benadert met rechte lijnen. Soms zoeken we kromme die door punten
gaat. Polynomen zijn krommen. Door n punten gaat juist 1 polynoom van graad n-1 (=door 2
punte gaat juist 1 rechte (=polynoom graad 1))
In R
9b. Extrapolatie
10. Beslissingsbomen
Informatie voorspellen
Tot nu toe adhv bekende variabelen (regressie, interpolatie, extrapolatie)
Maar: wat als je de variabelen niet kent?
Wat als je wil weten van welke variabelen iets afhankelijk is
Voorbeeld: adeater
Webpaginas bevatten images
Sommige images zijn reclame, andere niet
Kan ik automatisch detecteren wat reclame is?
Mogelijk oplossing
Bepaal verschillende parameters (input voor algoritme)
Maak tabel die parameters mapt op een boolean
Algoritme doorloopt tabel en beslist
Problemen
Weten niet welke parameters we nodig hebben
=> we nemen er dus heel veel (hier: 1558)
Tabel wordt gigantisch groot
We kunnen niet alle gevallen opsommen
Oplossing: creer regels. Hoe regels vinden? Handmatig is te moeilijk
Simpeler voorbeeld: simpsons
Bekend: haarlengte, gewicht, leeftijd. Wanted: geslacht
=> In klasses zetten
Regels opstellen
AI
11. Clusteranalyse
Een cluster is een aantal rijen van een tabel die bij elkaar horen of gelijkaardig zijn
Rij = punt in een n-dimensionaal vlak
2 rijen zijn gelijkaardig als de punten dicht bij elkaar liggen. Afstand moet klein zijn.
Hoe meet je de afstand tussen 2 punten?
Euclidisch: stelling van pythagoras
afstand f tussen punten a(va, wa, xa, ya, za) en b(vb, wb, xb, yb, zb)
f= va-vb2- wa-wb2.
algemene vorm met punten a(c1a, c2b, ) en b(c1b, c2b, ) elks met n cordinaten
f= i=1n(cia-cib)2
Probleem: de variabelen hebben misschien een andere verdeling
Oplossing: deel afstanden voor variantie (=gestandaardiseerde Euclidische afstand)
f= i=1n(cia-cib)2i2
11.1.2. Hirarchisch
Als je op voorhand niet weet hoeveel clusters je zoekt
Maak een boomstructuur die waarden groepeert (dendrogram)
Clustering geeft eigenlijk een label aan iedere rij van een table
Voeg kolom toe met dit label
Zoek nu een beslissingsboom om te weten te komen welke rij in welke categorie valt
Voorbeeld (R en WEKA): 4 clusters, bewaar als 3e kolom. C4.5 voor beslissingsboom
k = kmeans(d, 4)
c= k$cluster
c=paste(C, c, sep=) plaatst C voor elke waarde in c
f=data.frame(d, c) maakt een nieuwe dataframe van d en c
write.csv(f, voorWeka.csv, row.names=F) geen first column met ids