Õpiobjektid -> Andmeanalüüs MS Excelis (MS Excel 2010 baasil)

ANDMEANALÜÜS MS EXCELIS


Õpiobjekti kirjeldus
Õpijuhis
 
Sissejuhatus
 
Peamised andmeanalüüsi teostamise vahendid MS Excelis
Sagedustabelid
Arvkarakteristikud
Usalduspiirid
Hüpoteeside kontrollimine
(ühe ja kahe üldkogumi võrdlus)
Korrelatsioonanalüüs
Regressioonanalüüs
Kahemõõtmeline sagedustabel
Dispersioonanalüüs
Trikke ja nippe
Lisa
¤ Kogu materjal ühe pdf-failina: stat_excelis.pdf

Kavalad funktsioonid ja valemid

Tundes hästi MS Exceli funktsioone, on teinekord võimalik lahendada esmapilgul keeruka ja töömahukana näivaid ülesandeid vaid ühe arvutuskäsuga. Järgnevalt ongi esitatud mõningad kas Excelis juba olemasolevad või siis Exceli funktsioonide loogikat kasutavad valemid erinevate arvutuste teostamiseks.

NB! Kõik järgnevalt esitatud valemid on korrektsed inglise keele seadistustes Exceli puhul, eesti keele seadistustes Exceli puhul peab arvudes olema punkti asemel koma ja funktsioonide argumentide eraldajaks koma asemel semikoolon.
 

Tinglik keskmine, summa ja loendus

Exceli funktsioonid AVERAGEIF ja AVERAGEIFS, SUMIF ja SUMIFS ning COUNTIF ja COUNTIFS võimaldavad arvutada vastavalt keskmist, summat ning vaatluste arvu vaid teatud tingimustele vastavatest andmebaasi veergudest (või ridadest). Seejuures võib tingimus käia nii samades vaatlusalustes lahtrites paiknevate väärtuste kui ka teistes veergudes (või ridades) paiknevate väärtuste kohta. IF-lõpuga funktsioonid võimaldavad ette anda vaid ühe tingimuse, IFS-lõpuga funktsioonid aga kuni 127 tingimust.

Funktsioonide AVERAGEIF ja SUMIF süntaks on identne:

  • esimese argumendina tuleb määrata lahtriblokk, mille kohta käib kontrollitav tingimus (võib olla sama, kui keskmise või summa arvutuste aluseks olev lahtriblokk; Range),
  • teiseks argumendiks on kontrollitav tingimus (Criteria) - kas konkreetne väärtus, viide väärtust sisaldavale lahtrile või võrdlus mingi väärtusega (võrdlus väärtusega mingis lahtris ei ole võimalik, st, et kui näiteks lahtris A2 on väärtus 4, siis on mõeldavad tingimused kujul "=4", "=A2", ">4", aga mitte kujul ">A2"),
  • kolmandaks argumendiks on arvutuste aluseks olev lahtriblokk (Average_range või Sum_range).

Funktsiooni COUNTIF puhul kolmandat argumenti, millega anda ette kokkuloetavaid väärtuseid sisaldav lahtriblokk, pole - kokku loetakse tingimusele vastavad väärtused samast, esimese argumendiga (Range) ette antud lahtriblokist.

Funktsioonide AVERAGEIFS ja SUMIFS puhul on

  • arvutuste aluseks olev lahtriblokk esimene argument (Average_range või Sum_range),
  • millele järgnevad paarikaupa tingimuse aluseks olev lahtriblokk ja tingimus Criteria_range1, Criteria1, Criteria_range2, Criteria2, …).

Funktsiooni COUNTIFS puhul esimene arvutuste aluseks olev lahtriblokk puudub - kokku loetakse tingimus(t)ele vastavad väärtused esimese argumendiga (Criteria_range1) ette antud lahtriblokist.

NB! Erinevalt funktsioonist COUNT, mis loeb kokku vaid arvulised väärtused, toimivad funktsioonid COUNTIF ja COUNTIFS sama moodi nii arvuliste kui ka mittearvuliste väärtuste korral olles seega pigem funktsiooni COUNTA edasiarenduseks.

Jooonisel 71 on rakendatud tinglike arvkarakteristikute valemeid tudengite andmestiku näitel.
 

Joonis 71. Tinglike arvkarakteristikute leidmine Excelis; tingimuse aluseks olevad lahtrid ja nendele järgnevad tingimused on esitatud sama värviga, arvutuste aluseks olevad lahtrid, kui need on eraldi argumendiks, on mustas kirjas.
 


Tinglikud arvkarakteristikud funktsioonide IF ja OR abil

Eelmises punktis käsitletud tinglike arvkarakteristikute funktsioonidel on mitmeid puuduseid:

  • esiteks on olemas funktsioonid vaid keskmise, summa ja vaatluste arvu tarvis, aga mitte teiste, samuti sageli kasutatavate arvkarakteristikute jaoks,
  • teiseks ei ole võimalik määrata tingimusi kujul "üks või teine" - a'la leida keskmist pikkust tudengitel, kes kaaluvad alla 60 kg või üle 80 kg;
  • kolmandaks ei saa tingimuste koostamisel kasutada teisi Exceli funktsioone.

Lahenduseks on funktsioonide IF ja OR kasutamine massiivifunktsioonidena (st, et nende rakendamiseks tuleb vajutada Ctrl+Shift ja Enter) statistikafunktsioonide siseselt - esmalt valitakse välja vaid ette antud tingimustele vastavad andmebaasi read (või veerud) ja seejärel rakendatakse soovitud statistikafunktsiooni neile välja valitud ridades (või veergudes) paiknevatele väärtustele.

Näiteks tudengite andmebaasis on tudengite sugu määratud lahtrites A2:A156 paiknevate väärtustega M ja N ning tudengite kehamass on lahtrites C2:C156. Tütarlaste keskmine pikkus on siis leitav nii funktsioonidega

= AVERAGEIF(A2:A156, "N", C2:C156)

ja

= AVERAGEIFS(C2:C156, A2:A156, "N")

kui ka funktsiooniga

= AVERAGE( IF(A2:A156="N", C2:C156, "") ).

NB! Et viimase funktsiooni näol on tegu massiivifunktsiooniga, tuleb selle rakendamiseks vajutada Ctrl+Shift ja Enter.

Viimast valemit modifitseerides on võimalik arvutada ka teisi tinglikke karakteristikuid ja testida hüpoteesegi (vt ka Joonis 72). Näiteks valem kujul

= MEDIAN( IF(A2:A156="N", C2:C156, "") ).

annab tulemuseks neidude kehamassi mediaani, valem kujul

= CORREL( IF(A2:A156="N", C2:C156, ""), IF(A2:A156="N", B2:B156, "") )

annab tulemuseks neidude kehamassi ja pikkuse (veerus B) vahelise korrelatsioonikordaja, valem kujul

= T.TEST( IF(A2:A156="N", C2:C156, ""), IF(A2:A156="M", C2:C156, ""), 2, 2 )

viib aga läbi teist tüüpi t-testi võrdlemaks neidude ja noormeeste keskmisi kehamasse.

 
Lisaks võib tingimus sisaldada funktsioone. Näiteks soovides arvutada keskmist kehamassi tudengitel, kes kaaluvad keskmisest enam, saab kasutada valemit kujul

=AVERAGE( IF(C2:C156>AVERAGE(C2:C156), C2:C156, "") ),

keskmisest suurema pikkusega tudengite kehamassi mediaan on arvutatav aga valemist

=MEDIAN( IF(B2:B156>AVERAGE(B2:B156), C2:C156, "") ).

 
Soovides aga rakendada mitut tingimust samaaegselt, näiteks arvutada matemaatikas nelja-viieliste ja putru söövate neidude keskmist kehamassi, saab seda teha eelmises alapunktis käsitletud valemiga

= AVERAGEIFS(C2:C156, F2:F156, ">3", H2:H156, "jah", A2:A156, "N"),

aga viimane ei ole üldistav teistele funktsioonidele ega võimalda kasutada tingimustes valemeid.

Alternatiiv on kasutada valemit, milles kõik samaaegselt kehtima pidavad tingimused on määratud üksteise sees paiknevate IF-lausetega:

= AVERAGE( IF(F2:F156>3, IF(H2:H156="jah", IF(A2:A156="N", C2:C156, ""), ""), "") )

(tudengite matemaatika hinded paiknevad lahtrites F2:F156 ja info pudru söömise kohta lahtrites H2:H156).

Soovides arvutada keskmist pikkust tudengitel, kes kaaluvad alla 60 kg või üle 80 kg, st anda tingimust ette kujul "üks või teine", saab seda teha OR-funktsiooniga IF-funktsiooni siseselt:

= AVERAGE( IF( OR(C2:C156<60, C2:C156>80), B2:B156, "") ).

 
Ja viimaks, mitut IF-funktsiooni, OR-funktsioone nende siseselt ja lisaks ka valemitega ette antud tingimusi võib rakendada kõiki koos, saamaks suurest andmebaasist ilma mistahes sorteerimiste ja filtreerimisteta vaid ühe funktsiooniga kätte huvipakkuva arvkarakteristiku väärtust või hüpoteeside kontrolli tulemust. Näiteks alla 60 kg ja üle 80 kg kaaluvate matemaatikas keskmiselt parema hindega noormeeste pikkuse mediaan on leitav valemiga

= MEDIAN( IF( OR(C2:C156<60, C2:C156>80), IF(F2:F156>AVERAGE(F2:F156), IF(A2:A156="M", B2:B156, ""), ""), "") ).
 

Joonis 72. Tinglike karakteristikute arvutamine Excelis funktsiooni IF abil.
 


Kaalutud keskmine

Mõnikord on vaja leida mingi näitaja keskmist väärtust kogu andmebaasis olukorras, kus seda andmebaasi ennast tegelikult kasutada pole, küll aga on olemas tabel keskmiste väärtustega mingites gruppides. Kui on teada ka gruppide suurused, on kogu andmebaasi keskmine arvutatav kaalutud keskmisena valemist

,

kus ja on vastavalt kogu andmebaasi keskmine ja i. grupi keskmine, n ja ni on vastavalt kogu andmebaasi suurus ja i. grupi suurus ning k on gruppide arv.

Excelis on kaalutud keskmist mugav arvutada funktsiooni SUMPRODUCT abil.

Joonisel 73 on näidatud esimese kursuse neidude keskmise kehamassi arvutamist kaalutud keskmisena, võttes aluseks tudengite arvud ja keskmised kehamassid mannapudru söömise ja mittesöömise alusel moodustatud gruppides.
 

Joonis 73. Kaalutud keskmise arvutamine MS Excelis.
 


Erinevate väärtuste arvu leidmine

Korduvate väärtustega andmetabeli puhul võib sageli tekkida küsimus, kui palju on üldse erinevaid mõõdetud indiviide või kui palju on erinevaid mõõtmistulemusi. Üks võimalus on tekitada korduvate väärtusteta andmetabel (kas siis PivotTable või Data-sakil leiduva käsu Remove Duplicates abil) ja leida väärtuste arv selles. Teine võimalus on kasutada järgmist kavalat valemit.

Oletame, et väärtused, mille hulgast on vaja kokku lugeda unikaalsed, paiknevad lahtrites A2 kuni A20. Valem, mis arvutab (justnimelt arvutab, mitte ei loe kokku) erinevate väärtuste arvu, on siis kujul

= SUM( 1 / COUNTIF(A2:A20; A2:A20) )

NB! Tegu on massiivifunktsiooniga, st, et valemi rakendamiseks tuleb vajutada korraga kolme klahvi: Ctrl+Shift ja Enter.

Kui lahtriblokk, milles paiknevate unikaalsete väärtuste arvu arvutatakse, sisaldab puuduvaid väärtuseid, lõpeb eelneva valemi rakendamine veateatega #DIV/0!. Lahenduseks on kasutada täendavalt funktsiooni IFERROR, mis puuduvate väärtuste korral võtab nende arvuks lihtsalt nulli (vt ka Joonis 74):

= SUM( IFERROR( 1 / COUNTIF(A2:A20; A2:A20), 0 ) )

ja siis Ctrl+Shift ja Enter.
 

Joonis 74. Unikaalsete väärtuste kokku lugemine Excelis. NB! Valemi rakendamiseks tuleb korraga vajutada kolme klahvi: Ctrl+Shift ja Enter.
 


Mittelineaarne regressioonanalüüs funktsiooniga LINEST

Regressioonivõrrandeid, mis on argumentide suhtes lineaarsed, aga mille argumendid ise on argumenttunnuse mittelineaarsed funktsioonid - näiteks kolmandat järku polünoom

y = a + b1*x + b2*x2 + b3*x3

või astmefunktsioon kujul

või logaritmfunktsioon kujul

y = a + b*ln(x)

- on Excelis võimalik hinnata

  • protseduuriga Regression, aga seda eeldusel, et kõik argumentide mittelineaarsed funktsioonid on eelnevalt töölehele üksteise kõrvale välja arvutatud, ja
     
  • graafiliselt punktdiagrammi ja sellele lisatud sobiva trendijoone abil - aga seda vaid mõnede spesiifiliste funktsioonide puhul (ülaltooduist on punktdiagrammile lisatav kolmandat järku polünoom ja logaritmfunktsioon) ning ilma võimaluseta hinnata parameetrite hinnangute täpsust ja statistilist olulisust.

Joonisel 75 on näidatud noormeeste kehamassi prognoosimine pikkuse alusel logaritmfunktsiooniga kasutades nii funktsiooni LINEST, protseduuri Regression kui ka graafilist lahendamist - tulemused on identsed, ainult sarnaselt eelnevalt vaadatud logaritmfunktsioonile LINEST kujul

= LINEST(B2:B51, LN(A2:A51), TRUE, TRUE)

  • ei vaja erinevalt protseduurist Regression lahtrites A2:A51 paiknevate pikkuste logaritmi eelnevat välja arvutamist ning
  • erinevalt graafilisest lahendusest on väljund rikkalikum, võimaldades täiendavalt testida ka hüpoteese regressioonivõrrandi statistilise olulisuse kohta (vastava teooria kohta vt pt 7.3 funktsiooni LINEST alapunkti).
     

Joonis 75. Noormeeste kehamassi prognoosimine pikkuse alusel logaritmfunktsiooniga kasutades funktsiooni LINEST, protseduuri Regression ja graafilist lahendamist. Tumepunases paksus kirjas on kõigil kolmel meetodil hinnatavad parameetrid, mustas paksus kirjas vaid funktsiooni LINEST ja protseduuri Regression väljundis sisalduvad parameetrid, helepunases paksus kirjas on p-väärtused, mis sisalduvad protseduuri Regression väljundis, aga on arvutatavad ka funktsiooni LINEST väljastatavate suuruste alusel. NB! Erinevalt protseduurist Regression ei vaja funktsioon LINEST ja graafiline lahendamine tudengite pikkuse logaritmi välja arvutamist andmetabelisse.
 

Joonisel 76 on näidatud noormeeste kehamassi prognoosimine pikkuse alusel kuuppolünoomiga kasutades nii funktsiooni LINEST, protseduuri Regression kui ka graafilist lahendamist - tulemused on identsed, ainult funktsioonile LINEST kujul

= LINEST(D2:D51, A2:A51^{1,2,3}, TRUE, TRUE)

ei ole erinevalt protseduurist Regression vaja eraldi välja arvutada pikkuse ruutu ja kuupi ning erinevalt graafilisest lahendusest on väljund rikkalikum.

PS. Mingeid sisulisi järeldusi antud ülesande puhul teha ei maksa, sest mudel tervikuna on küll statistiliselt oluline (p = 0,008), aga ükski mudeli liige eraldi võetuna statistiliselt oluline pole (kõigi mudeli parameetrite puhul p > 0,6) ning ega varem vaadatud mudelitega (logaritmfunktsioon või peatükis 7.3 käsitletud lineaarne funktsioon) võrreldes prognoosi täpsus (R2 ja mudeli standardviga) ka paremad pole - seega on antud mudel ilmselgelt liiga keerukas. Siinkohal on see ära toodud lihtsalt illustreerimaks funktsiooni LINEST võimalusi.
 

Joonis 76. Noormeeste kehamassi prognoosimine pikkuse alusel kuuppolünoomiga kasutades funktsiooni LINEST, protseduuri Regression ja graafilist lahendamist. Tumepunases paksus kirjas on kõigil kolmel meetodil hinnatavad parameetrid, mustas paksus kirjas vaid funktsiooni LINEST ja protseduuri Regression väljundis sisalduvad parameetrid, helepunases paksus kirjas on p-väärtused, mis sisalduvad protseduuri Regression väljundis, aga on arvutatavad ka funktsiooni LINEST väljastatavate suuruste alusel. NB! Erinevalt protseduurist Regression ei vaja funktsioon LINEST ja graafiline lahendamine tudengite pikkuse ruudu ja kuubi välja arvutamist andmetabeli eraldi veergudesse.
 

Astmefunktsiooni parameetrid on funktsiooniga LINEST hinnatavad kujul

= LINEST(D2:D51, A2:A51^1.5, TRUE, TRUE)

(funktsioontunnuse y väärtused paiknevad lahtrites D2:D51 ja argumenttunnuse x väärtused lahtrites A2:A59; NB! eesti keele seadistuses Exceli puhul peab arvus 1.5 punkti asemel olema koma ja funktsiooni argumentide eraldajaks koma asemel semikoolon).

 


< Eelmine

Creative Commons License Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License