20. Faktoranalyse
20. Faktoranalyse

20. Faktoranalyse

Faktoranalyse er en strukturanalyse, der belyser hvilke sammenhænge, der er i et datasæt. Faktoranalyse er en statistisk model, der navnlig bruges til at forenkle tolkningen af et datamateriale, der indeholder en stor mængde variable. Faktoranalyse bygger på et meget stort antal udregninger med udgangspunkt i korrelationskoefficienterKorrelationen angiver hvor meget 2 variable samvarierer, vi kan måle korrelationen vha. korrelationskoefficienten der er et tal mellem -1 og 1.
Korrelationskoefficienten er klart positiv hvis høje og lave værdier for den ene variabel følges med høje og lave værdier for den anden variabel.
Korrelationskoefficienten er klart negativ hvis høje og lave værdier for den ene variabel følges med lave og høje værdier for den anden variabel.
Er der ingen samvariation mellem 2 variable er korrelationskoefficienten tæt på 0.
Korrelationskoefficienten i en kiosk mellem afsætning af is og temperaturen vil være positiv, jo koldere/varmere det er jo mindre/større afsætning af is.
Korrelationskoefficienten i en kiosk mellem afsætning af varm kakao og temperaturen vil være negativ, jo koldere/varmere det er jo større/mindre afsætning af kakao.
For to variable som ikke er korrelerede (de samvarierer ikke) som fx. Apple aktie kursen og nedbørsmængden i Dragør, vil vi få en korrelationskoefficient tæt på 0.


Klik her for at lære mere om korrelationsanalyse!
og er i praksis nærmest umulig at gennemføre uden brug af computersoftware. Før computerens opfindelse kunne en faktoranalyse nemt lægge beslag på en halv snes statistikere på fuld tid gennem flere måneder. Resultatet ville være identifikation af faktorer, skjult i et datamateriale.


Faktoranalysen kan fx. hjælpe med at vise sammenhænge mellem svar i spørgeskemaer, hvilket kan være en hjælp markedsføringsmæssigt, til at forstå hvilke svar samvarierer. En sådan gruppering af spørgsmål kan hjælpe med bedre at forstå kundernes ønsker og behov. Faktoranalyse er et godt værktøj til at forstå, hvad spørgeskemadata betyder, især når man har mange variable. Faktoranalysen forsøger at finde skjulte variable, som forklarer opførslen af de observerede variable. Faktoranalyse har historiske rødder i psykometri, dvs. målingen af mentale egenskaber.

Herunder er nogle eksempler på, hvor faktoranalyse kan benyttes i forskellige sektorer.

Sektor Eksempel
Sundhed Til patientundersøgelser og kliniske rapporter kunne faktoranalyse benyttes til forbedring af sundhedstjenester og patientpleje.
Baseret på et datasæt kunne man forestille sig, at f.eks. disse 2 faktorer ville kunne identificeres ud fra datasættets variable.

Faktor 1: Patienttilfredshed
Variable i faktoren:
• Tilfredshed med behandling
• Ventetider
• Patientfeedback

Faktor 2: Klinisk kvalitet
Variable i faktoren:
• Behandlingseffektivitet
• Genindlæggelsesrater
• Medicinske fejl
Forsikring Et forsikringsselskab kunne gennemføre en faktoranalyse for bedre at kunne risikovurdere og forbedre kundeservice ved at undersøge kundedata og interaktionshistorik.
Baseret på et datasæt kunne man forestille sig, at f.eks. disse 2 faktorer ville kunne identificeres ud fra datasættets variable.

Faktor 1: Kunderisikoprofil
• Historik med forsikringskrav
• Kørselsmønster (for bilforsikring)
• Sundhedshistorik (for livsforsikring)

Faktor 2: Kundeengagement
• Hyppighed af interaktion med forsikringsselskabet
• Respons på kundetilfredshedsundersøgelser
• Brug af onlinetjenester og apps
Ejendomsmægler En mæglerkæde kunne gennemføre en faktoranalyse baseret på markedsdata og kundeundersøgelser, for at forbedre ejendomsvurdering og målrette salg.
Baseret på et datasæt kunne man forestille sig, at f.eks. disse 2 faktorer ville kunne identificeres ud fra datasættets variable.

Faktor 1: Markedsværdifaktorer
• Beliggenhed
• Ejendommens størrelse og stand
• Lokale markedsforhold

Faktor 2: Køberpræferencer
• Prispræferencer
• Specifikke behov (f.eks. antal værelser, have)
• Købsmotivation (f.eks. investering, førstegangskøber)
Finans En bank kunne gennemføre en faktoranalyse baseret på markedsdata og kundeundersøgelser, for bedre at kunne afdække investorprofiler og analysere porteføljer. Dette kunne hjælpe i udviklingen af skræddersyede investeringsstrategier.
Baseret på et datasæt kunne man forestille sig, at f.eks. disse 2 faktorer ville kunne identificeres ud fra datasættets variable.

Faktor 1: Investeringsaktivitet
• Antal aktier i porteføljen
• Frekvens af handelstransaktioner
• Mængden af læsning om markedsanalyse

Faktor 2: Risikotolerance
• Porteføljens diversificering
• Volatilitetsmålinger
• Brug af sikringsstrategier
Revision Et internt revisionsteam kunne baseret på regnskabsdata og medarbejderundersøgelser gennemføre en faktoranalyse, for at forbedre compliance og rapporteringskvalitet.
Baseret på et datasæt kunne man forestille sig, at f.eks. disse 2 faktorer ville kunne identificeres ud fra datasættets variable.

Faktor 1: Interne kontroller
• Effektivitet af intern revision
• Overholdelse af politikker
• Risikostyringsprocedurer

Faktor 2: Finansiel rapportering
• Nøjagtighed af finansielle udsagn
• Overholdelse af regnskabsstandarder
• Tidligere revisionsresultater
Økonomi Finansministeriet kunne baseret på offentlige statistikker og finansmarkedsdata gennemføre en faktoranalyse til brug i planlægning og politikudvikling.
Baseret på et datasæt kunne man forestille sig, at f.eks. disse 2 faktorer ville kunne identificeres ud fra datasættets variable.

Faktor 1: Makroøkonomiske indikatorer
• BNP-vækst
• Inflation
• Arbejdsløshed

Faktor 2: Markedsadfærd
• Aktiemarkedets præstation
• Renteniveauer
• Valutakurser
Markedsføring Et analyseinstitut kunne for en klient, baseret på forbrugerundersøgelser og markedsanalyser, gennemføre en faktoranalyse til optimering af markedsføringsstrategier.
Baseret på et datasæt kunne man forestille sig, at f.eks. disse 2 faktorer ville kunne identificeres ud fra datasættets variable.

Faktor 1: Forbrugeradfærd
• Købsfrekvens
• Brandloyalitet
• Forbrugerpræferencer

Faktor 2: Markedsføringsstrategi
• Afkast/ROI af reklamekampagner
• Markedssegmentering
• Online engagement

Tabel 20.1: Eksempler på, hvordan faktoranalyse kan anvendes i syv forskellige sektorer — sundhed, forsikring, ejendomsmægling, finans, revision, økonomi og markedsføring — med hver to illustrative faktorer og deres underliggende variable.
Kilde: Egen tilvirkning.

Der findes 2 typer af FA: Exploratory Factor Analysis (EFA) og Confirmatory Factor Analysis (CFA). EFA betyder, at man ikke rigtig ved, hvilke skjulte variable (eller faktorer) der findes, og hvor mange de er, så man forsøger at finde dem. CFA betyder, at man allerede har nogle gæt eller modeller for skjulte variable (eller faktorer), og ønsker at kontrollere, om dette er korrekt. Vi benytter i det følgende EFA, vi forudsætter altså, at vi ikke ved hvilke og hvor mange faktorer der findes.

Hvilke faktorer er vigtige når man køber en ny computer

Lad os sige, man har indsamlet et spørgeskema for at undersøge, hvad der er vigtigt, når en forbruger bestemmer, hvilken computer der skal købes. Spørgeskemaet er udformet, så respondenten for hver variabel — fx Pris — angiver på en skala fra 1 til 7, hvor vigtig denne er for computerkøbet, hvor 7 er højest/vigtigst.

Dette datasæt er lille i forhold til, hvad der er realistisk, da vi blot forsøger at illustrere analysen. Normalt vil man have flere end 6 variable. For at sikre solide analyseresultater, vil man ligeledes have flere respondenter/observationer.

I noterne er input fra R markeret i sorte rammer og grøn tekst. Output er markeret med grå ramme. Rammen herunder er altså input til R. Læs datasættet ind i R, dette kan du gøre ved at copy paste nedenstående kode, i den sorte ramme, direkte ind i R enten i console eller et script.

Bemærk data.frame er en to-dimensionel data struktur, nedenstående betyder vore 6 variable nu er lagret i en dataframe.


Pris <- c(6,7,6,5,7,6,5,6,3,1,2,5,2,3,1,2)
Software <- c(5,3,4,7,7,4,7,5,5,3,6,7,4,5,6,3)
Æstetik <- c(3,2,4,1,5,2,2,4,6,7,6,7,5,6,5,7)
Brand <- c(4,2,5,3,5,3,1,4,7,5,7,6,6,5,5,7)
Venner <- c(7,2,5,6,2,4,1,7,3,2,6,7,6,2,4,5)
Familie <- c(6,3,4,7,1,5,4,5,4,4,5,7,2,3,5,6)
data <- data.frame(Pris, Software, Æstetik, Brand, Venner, Familie)

Forudsætninger for faktoranalysen


Nu skal vi undersøge om det er fornuftigt at foretage en faktoranalyse, dette kan vi undersøge ved enten Bartletts korrelationstestKorrelationen angiver hvor meget 2 variable samvarierer, vi kan måle korrelationen vha. korrelationskoefficienten der er et tal mellem -1 og 1.
Korrelationskoefficienten er klart positiv hvis høje og lave værdier for den ene variabel følges med høje og lave værdier for den anden variabel.
Korrelationskoefficienten er klart negativ hvis høje og lave værdier for den ene variabel følges med lave og høje værdier for den anden variabel.
Er der ingen samvariation mellem 2 variable er korrelationskoefficienten tæt på 0.
Korrelationskoefficienten i en kiosk mellem afsætning af is og temperaturen vil være positiv, jo koldere/varmere det er jo mindre/større afsætning af is.
Korrelationskoefficienten i en kiosk mellem afsætning af varm kakao og temperaturen vil være negativ, jo koldere/varmere det er jo større/mindre afsætning af kakao.
For to variable som ikke er korrelerede (de samvarierer ikke) som fx. Apple aktie kursen og nedbørsmængden i Dragør, vil vi få en korrelationskoefficient tæt på 0.


Klik her for at lære mere om korrelationsanalyse!
eller Kaiser-Meyer-Olkin KMO.

For at teste dette skal man installere og loade pakken psych, vi skal kun installere første gang. Bemærk install.packages(“psych”) er kommenteret ud nedenfor (kommenteret ud betyder der er sat # foran kommandoen så denne linje ikke afvikles), så første gang skal du fjerne # foran install.packages(“psych”) for at installere pakken psych.


#install.packages("psych")
library("psych")

Du kan alternativt benytte pacman pakken, hvilket ofte er at foretrække. Hvis du indlæser nedenstående, installeres og loades pakken psych:


if (!require("pacman")) install.packages("pacman")
pacman::p_load(psych)

Nu hvor pakken psych er indlæst, kan vi køre Bartletts test i R:

cortest.bartlett(data)

Herunder ses i den grå ramme output fra R, når vi har kørt ovenstående kommando i R;

$chis [1] 36.15696 $p.value [1] 0.00167791 $df [1] 15

NulhypotesenNulhypotesen H0 er vores grundtro i et hypotesetest, vi har altid lighedstegn i nulhypotesen. Der skal stærke beviser til at forkaste nulhypotesen.
Eksempler på nulhypoteser er:
H0: μ=45 (Middelværdien er 45)
H0: μ≤45 (Middelværdien er højst 45)
H0: μ≥45 (Middelværdien er mindst 45)

Klik her for at lære mere om hypotesetests!
i Bartletts test er at variablene ikke er korrelerede dvs. alle korrelationskoefficienterKorrelationen angiver hvor meget 2 variable samvarierer, vi kan måle korrelationen vha. korrelationskoefficienten der er et tal mellem -1 og 1.
Korrelationskoefficienten er klart positiv hvis høje og lave værdier for den ene variabel følges med høje og lave værdier for den anden variabel.
Korrelationskoefficienten er klart negativ hvis høje og lave værdier for den ene variabel følges med lave og høje værdier for den anden variabel.
Er der ingen samvariation mellem 2 variable er korrelationskoefficienten tæt på 0.
Korrelationskoefficienten i en kiosk mellem afsætning af is og temperaturen vil være positiv, jo koldere/varmere det er jo mindre/større afsætning af is.
Korrelationskoefficienten i en kiosk mellem afsætning af varm kakao og temperaturen vil være negativ, jo koldere/varmere det er jo større/mindre afsætning af kakao.
For to variable som ikke er korrelerede (de samvarierer ikke) som fx. Apple aktie kursen og nedbørsmængden i Dragør, vil vi få en korrelationskoefficient tæt på 0.


Klik her for at lære mere om korrelationsanalyse!
ρ er nul:

$$ H_0: Alle\ \rho = 0 $$ $$ H_1: Ikke\ alle\ \rho = 0 $$

Hvis vi forkaster nulhypotesenNulhypotesen H0 er vores grundtro i et hypotesetest, vi har altid lighedstegn i nulhypotesen. Der skal stærke beviser til at forkaste nulhypotesen.
Eksempler på nulhypoteser er:
H0: μ=45 (Middelværdien er 45)
H0: μ≤45 (Middelværdien er højst 45)
H0: μ≥45 (Middelværdien er mindst 45)

Klik her for at lære mere om hypotesetests!
, er der basis for at gennemføre faktoranalysen.
Den lille p-værdip-værdien også kaldet signifikanssandsynligheden er et tal mellem 0 og 1, den angiver sandsynligheden for, hvis nulhypotesen er sand, at få en mere ekstrem teststørrelse, end den vi har fået i testet (teststørrelsen måler forskellen mellem fx. stikprøvegennemsnit og middelværdien antaget i nulhypotesen).
Jo lavere p-værdi, des mindre tror vi på nulhypotesen
Antag fx. at vi har en stikprøve af 100 mænds højde, med et gennemsnit på 176,32 cm.
Vi ønsker at teste om middel højden i populationen, kan antages at være 210 cm dvs.
H0: μ=210
H1: μ≠210
Vi vil her få en meget negativ teststørrelse, hvilket giver en mikroskopisk lille p-værdi.
Det vil være nærmest umuligt at få en mere ekstrem teststørrelse, hvis den sande middelhøjde er 210 cm.


Klik her for at lære mere om p-værdier!
på 0,00167791 ≈ 0,2% er mindre end 5% signifikansniveauetSignifikansniveauet α typisk 1%, 5% eller 10%, fastsættes inden et test og sammenlignes med p-værdien.
Er p-værdien mindre end signifikansniveauet forkastes nulhypotesen, ellers ikke.
Signifikansniveauet angiver sandsynligheden for at forkaste en sand nulhypotese (en type 1 fejl også kaldet en falsk positiv)
Medicinal industrien arbejder ofte med 1% signifikansniveau, hvor et test kunne være:
H0: Medicinen har ingen effekt
H1: Medicinen har effekt
Med 1% signifikansniveau, begås en type 1 fejl kun i et ud af 100 tests.
En type 1 fejl vil her betyde, at man fejlagtigt konkluderer at et medicinal produkt uden effekt virker.
Signifikansniveauet kan bruges til at bestemme konfidensniveauet 1-α, der angiver sandsynligheden for korrekt ikke at forkaste en sand nulhypotese


Klik her for at lære mere om signifikansniveauet!
, hvilket betyder vi forkaster nulhypotesenNulhypotesen H0 er vores grundtro i et hypotesetest, vi har altid lighedstegn i nulhypotesen. Der skal stærke beviser til at forkaste nulhypotesen.
Eksempler på nulhypoteser er:
H0: μ=45 (Middelværdien er 45)
H0: μ≤45 (Middelværdien er højst 45)
H0: μ≥45 (Middelværdien er mindst 45)

Klik her for at lære mere om hypotesetests!
, dermed er ikke alle ρ lig med 0.
Mindst et par variable er altså korrelerede, hvilket betyder vi gennemfører faktoranalysen.

En anden måde at undersøge om vores datamateriale er egnet til en faktoranalyse, er at gennemføre Kaiser-Meyer-Olkin-testet (forkortet KMO) fra pakken psych:

KMO(data)
Kaiser-Meyer-Olkin factor adequacy Call: KMO(r = data) Overall MSA = 0.49 MSA for each item = Pris Software Æstetik Brand Venner Familie 0.71 0.70 0.57 0.49 0.30 0.37

Vi ser ovenfor Overall MSA = 0,49
"Overall MSA" i en KMO-analyse refererer til "Measure of Sampling Adequacy" for hele datasættet. KMO-analysen er en indikator for, hvor godt datamaterialet er egnet til at udføre en faktoranalyse på.
KMO-testen vurderer, om korrelationerneKorrelationen angiver hvor meget 2 variable samvarierer, vi kan måle korrelationen vha. korrelationskoefficienten der er et tal mellem -1 og 1.
Korrelationskoefficienten er klart positiv hvis høje og lave værdier for den ene variabel følges med høje og lave værdier for den anden variabel.
Korrelationskoefficienten er klart negativ hvis høje og lave værdier for den ene variabel følges med lave og høje værdier for den anden variabel.
Er der ingen samvariation mellem 2 variable er korrelationskoefficienten tæt på 0.
Korrelationskoefficienten i en kiosk mellem afsætning af is og temperaturen vil være positiv, jo koldere/varmere det er jo mindre/større afsætning af is.
Korrelationskoefficienten i en kiosk mellem afsætning af varm kakao og temperaturen vil være negativ, jo koldere/varmere det er jo større/mindre afsætning af kakao.
For to variable som ikke er korrelerede (de samvarierer ikke) som fx. Apple aktie kursen og nedbørsmængden i Dragør, vil vi få en korrelationskoefficient tæt på 0.


Klik her for at lære mere om korrelationsanalyse!
mellem variablerne primært er forårsaget af underliggende faktorer. Hvis der er mange variable, der ikke er særligt korrelerede, vil KMO-værdien falde, hvilket tyder på, at faktoranalyse muligvis ikke er den bedste metode til at analysere disse data.
En tommelfingerregel siger, at MSA skal være større end en kritisk grænse på ca. 0,5. Dette er ikke helt tilfældet her, men vi gennemfører alligevel faktoranalysen.

Vi kan se af korrelationsmatricenKorrelationen angiver hvor meget 2 variable samvarierer, vi kan måle korrelationen vha. korrelationskoefficienten der er et tal mellem -1 og 1.
Korrelationskoefficienten er klart positiv hvis høje og lave værdier for den ene variabel følges med høje og lave værdier for den anden variabel.
Korrelationskoefficienten er klart negativ hvis høje og lave værdier for den ene variabel følges med lave og høje værdier for den anden variabel.
Er der ingen samvariation mellem 2 variable er korrelationskoefficienten tæt på 0.
Korrelationskoefficienten i en kiosk mellem afsætning af is og temperaturen vil være positiv, jo koldere/varmere det er jo mindre/større afsætning af is.
Korrelationskoefficienten i en kiosk mellem afsætning af varm kakao og temperaturen vil være negativ, jo koldere/varmere det er jo større/mindre afsætning af kakao.
For to variable som ikke er korrelerede (de samvarierer ikke) som fx. Apple aktie kursen og nedbørsmængden i Dragør, vil vi få en korrelationskoefficient tæt på 0.


Klik her for at lære mere om korrelationsanalyse!
, at nogle variable er korrelerede og andre tilsyneladende ikke.

cor(data)
Pris Software Æstetik Brand Venner Familie Pris 1.00000000 0.1856123 -0.63202219 -0.58026680 0.03082006 -0.06183118 Software 0.18561230 1.0000000 -0.14621516 -0.11858645 0.10096774 0.17657236 Æstetik -0.63202219 -0.1462152 1.00000000 0.85285436 0.03989799 -0.06977360 Brand -0.58026680 -0.1185864 0.85285436 1.00000000 0.33316719 0.02662389 Venner 0.03082006 0.1009677 0.03989799 0.33316719 1.00000000 0.60727189 Familie -0.06183118 0.1765724 -0.06977360 0.02662389 0.60727189 1.00000000

Så det ser ud til, at Pris har stærke negative sammenhænge med Æstetik og Brand. Venner har en stærk positiv sammenhæng med Familie.

Det betyder, at vi kan forvente, at vi vil have to fælles faktorer, og en vil være relateret til pris, æstetik og brand, og den anden vil være relateret til venner og familie. Vi kan lave et corrplot, der grafisk illustrerer disse sammenhænge, store blå prikker er positiv korrelationKorrelationen angiver hvor meget 2 variable samvarierer, vi kan måle korrelationen vha. korrelationskoefficienten der er et tal mellem -1 og 1.
Korrelationskoefficienten er klart positiv hvis høje og lave værdier for den ene variabel følges med høje og lave værdier for den anden variabel.
Korrelationskoefficienten er klart negativ hvis høje og lave værdier for den ene variabel følges med lave og høje værdier for den anden variabel.
Er der ingen samvariation mellem 2 variable er korrelationskoefficienten tæt på 0.
Korrelationskoefficienten i en kiosk mellem afsætning af is og temperaturen vil være positiv, jo koldere/varmere det er jo mindre/større afsætning af is.
Korrelationskoefficienten i en kiosk mellem afsætning af varm kakao og temperaturen vil være negativ, jo koldere/varmere det er jo større/mindre afsætning af kakao.
For to variable som ikke er korrelerede (de samvarierer ikke) som fx. Apple aktie kursen og nedbørsmængden i Dragør, vil vi få en korrelationskoefficient tæt på 0.


Klik her for at lære mere om korrelationsanalyse!
, store røde negativ korrelationKorrelationen angiver hvor meget 2 variable samvarierer, vi kan måle korrelationen vha. korrelationskoefficienten der er et tal mellem -1 og 1.
Korrelationskoefficienten er klart positiv hvis høje og lave værdier for den ene variabel følges med høje og lave værdier for den anden variabel.
Korrelationskoefficienten er klart negativ hvis høje og lave værdier for den ene variabel følges med lave og høje værdier for den anden variabel.
Er der ingen samvariation mellem 2 variable er korrelationskoefficienten tæt på 0.
Korrelationskoefficienten i en kiosk mellem afsætning af is og temperaturen vil være positiv, jo koldere/varmere det er jo mindre/større afsætning af is.
Korrelationskoefficienten i en kiosk mellem afsætning af varm kakao og temperaturen vil være negativ, jo koldere/varmere det er jo større/mindre afsætning af kakao.
For to variable som ikke er korrelerede (de samvarierer ikke) som fx. Apple aktie kursen og nedbørsmængden i Dragør, vil vi få en korrelationskoefficient tæt på 0.


Klik her for at lære mere om korrelationsanalyse!
. Så vi skal installere corrplot-pakken, her bruger vi pacman til installationen.


pacman::p_load(corrplot)
corrplot(cor(data), order = "hclust", tl.col='black', tl.cex=.5)


Selve Faktoranalysen


Vi er nu klar til at teste om der er grundlag for at sammenlægge variable til faktorer. Dette tester vi i selve faktor analysen, ved hjælp af funktionen factanal.

Hvis vi samler alle spørgsmål til en samlet faktor, har vi følgende faktor analyse:


fa1 <- factanal(data, factor=1)
fa1

Herunder ses output fra faktoranalysen gennemført i R:



Uniqueness
Uniqueness angiver hvor meget af variationen i en variabel, der ikke er associeret med faktoren. Jo lavere Uniqueness, des større sammenhæng til faktorerne.
Uniqueness-værdierne for hver variabel angiver andelen af varians, som ikke kan forklares af faktorerne.
Pris har en uniqueness på 0,567, hvilket betyder, at ca. 56,7% af dens varians ikke forklares af denne faktor. Software og Venner har meget høje uniqueness-værdier (0,977 og 0,974 henholdsvis), hvilket indikerer, at disse variable stort set ikke relaterer til eller forklares af den enkelte faktor. Familie har en uniqueness på 1,000, hvilket betyder, at denne variabel slet ikke relaterer til faktoren.

Loadings
Loadings angiver hvordan hver variabel er vægtet for faktorerne, men også hvor stærk korrelationenKorrelationen angiver hvor meget 2 variable samvarierer, vi kan måle korrelationen vha. korrelationskoefficienten der er et tal mellem -1 og 1.
Korrelationskoefficienten er klart positiv hvis høje og lave værdier for den ene variabel følges med høje og lave værdier for den anden variabel.
Korrelationskoefficienten er klart negativ hvis høje og lave værdier for den ene variabel følges med lave og høje værdier for den anden variabel.
Er der ingen samvariation mellem 2 variable er korrelationskoefficienten tæt på 0.
Korrelationskoefficienten i en kiosk mellem afsætning af is og temperaturen vil være positiv, jo koldere/varmere det er jo mindre/større afsætning af is.
Korrelationskoefficienten i en kiosk mellem afsætning af varm kakao og temperaturen vil være negativ, jo koldere/varmere det er jo større/mindre afsætning af kakao.
For to variable som ikke er korrelerede (de samvarierer ikke) som fx. Apple aktie kursen og nedbørsmængden i Dragør, vil vi få en korrelationskoefficient tæt på 0.


Klik her for at lære mere om korrelationsanalyse!
er til hver faktor.
En høj absolut værdi indikerer en stærk relation til faktoren, mens en lav værdi indikerer en svag relation. Æstetik og Brand har høje loadings (0,935 og 0,912), hvilket betyder, at de har en stærk relation til faktoren. Pris har en negativ loading (-0,658), hvilket indikerer en negativ relation til faktoren. Software og Venner har meget lave loadings, hvilket betyder, at de bidrager meget lidt til faktoren.
Faktor 1 påvirkes således mest af Æstetik, Brand og Pris. Denne faktor kan ses af corrplottet hvor disse tre variable ses at påvirke hinanden, Pris er negativt korreleret med Æstetik og Brand.

SS Loadings (sum of squared loadings)
SS Loadings for denne ene faktor er 2,190, hvilket er summen af kvadraterne af loadings for faktoren, dvs. SS Loadings udregnes som: $$ (-0,658)^2+(-0,152)^2+0,935^2+0,912^2+0,161^2\approx 2,19 $$

Proportion Var
Proportion Var er et vigtigt nøgletal, der angiver andelen af variationen i data, der er forklaret af den pågældende faktor. Her forklares altså kun 36,5% af variationen i datasættet. Proportion Var findes som SS loadings divideret med antallet af variable, dvs. her 6: $$2,19/6\approx 0,365$$

Test of hypothesis that 1 factor is sufficient
Dette er et Chi-square test for at vurdere, om en enkelt faktor er tilstrækkelig til at forklare sammenhængen mellem variablene. Med en chi-square teststørrelseTeststørrelsen kan populært forklares, som forskellen mellem observeret i stikprøven og forventet under nulhypotesen.

Teststørrelsen er et udtryk for forskellen mellem fx. gennemsnit, andel eller antal i stikprøven i forhold til påstanden i nulhypotesen H0.
Teststørrelsen korrigerer for stikprøvestørrelse og standardafvigelse, men beregnes forskelligt afhængigt af hvilket test der udføres.
Testes fx. middelværdi μ eller eller hældning i lineær regression β, benyttes t-teststørrelsen
Testes andele kan fx. z-teststørrelsen benyttes
Antag fx. at vi har en stikprøve af 100 mænds højde, med et gennemsnit på 176,32 cm.
Vi ønsker at teste om middel højden i populationen, kan antages at være 210 cm dvs.
H0: μ=210
H1: μ≠210
Vi vil her få en meget negativ teststørrelse, 176,32-210 divideret med standardfejlen for middelværdien SEM
Ønskede at teste om middel højden i populationen, kunne antages at være 150 cm ud fra samme stikprøve ville vi få en meget positiv teststørrelse, 176,32-150 divideret med standardfejlen for middelværdien SEM


Klik her for at lære mere om teststørrelser!
på 12,79 og en p-værdip-værdien også kaldet signifikanssandsynligheden er et tal mellem 0 og 1, den angiver sandsynligheden for, hvis nulhypotesen er sand, at få en mere ekstrem teststørrelse, end den vi har fået i testet (teststørrelsen måler forskellen mellem fx. stikprøvegennemsnit og middelværdien antaget i nulhypotesen).
Jo lavere p-værdi, des mindre tror vi på nulhypotesen
Antag fx. at vi har en stikprøve af 100 mænds højde, med et gennemsnit på 176,32 cm.
Vi ønsker at teste om middel højden i populationen, kan antages at være 210 cm dvs.
H0: μ=210
H1: μ≠210
Vi vil her få en meget negativ teststørrelse, hvilket giver en mikroskopisk lille p-værdi.
Det vil være nærmest umuligt at få en mere ekstrem teststørrelse, hvis den sande middelhøjde er 210 cm.


Klik her for at lære mere om p-værdier!
på 17,2%, kan man ikke afvise hypotesen om, at en faktor er tilstrækkelig, da p-værdienp-værdien også kaldet signifikanssandsynligheden er et tal mellem 0 og 1, den angiver sandsynligheden for, hvis nulhypotesen er sand, at få en mere ekstrem teststørrelse, end den vi har fået i testet (teststørrelsen måler forskellen mellem fx. stikprøvegennemsnit og middelværdien antaget i nulhypotesen).
Jo lavere p-værdi, des mindre tror vi på nulhypotesen
Antag fx. at vi har en stikprøve af 100 mænds højde, med et gennemsnit på 176,32 cm.
Vi ønsker at teste om middel højden i populationen, kan antages at være 210 cm dvs.
H0: μ=210
H1: μ≠210
Vi vil her få en meget negativ teststørrelse, hvilket giver en mikroskopisk lille p-værdi.
Det vil være nærmest umuligt at få en mere ekstrem teststørrelse, hvis den sande middelhøjde er 210 cm.


Klik her for at lære mere om p-værdier!
er større end 5%.
Det betyder, at det er rimeligt at antage, at en enkelt faktor kan repræsentere den underliggende struktur i data, selvom en faktor altså kun forklarer 36,5% af variansen.
Bemærk, at vi ikke har testet, om antallet af faktorer er det optimale antal — vi ser senere metoder til at bestemme det optimale antal faktorer: eigenvalues-metoden og screeplot-metoden.


Lad os se på hvad der sker, hvis vi deler variablene op i 2 faktorer:


fa2 <- factanal(data, factor=2)
fa2
Call: factanal(x = data, factors = 2) Uniquenesses: Pris Software Æstetik Brand Venner Familie 0.559 0.960 0.126 0.080 0.005 0.609 Loadings: Factor1 Factor2 Pris -0.657 Software -0.161 0.119 Æstetik 0.933 Brand 0.928 0.242 Venner 0.100 0.992 Familie 0.620 Factor1 Factor2 SS loadings 2.207 1.453 Proportion Var 0.368 0.242 Cumulative Var 0.368 0.610 Test of the hypothesis that 2 factors are sufficient. The chi square statistic is 2.16 on 4 degrees of freedom. The p-value is 0.706

Cumulative Var
Cumulative Var viser den kumulative andel af varians forklaret, når man tager højde for både den første og den anden faktor. Det er summen af " Proportion Var" for begge faktorer. $$0,368+0,242=0,61$$ Dette betyder at faktor 1 og faktor 2 forklarer 61% af variationen i datamaterialet.

Faktor 2 forklares altså primært af Venner og Familie, hvilket stemmer godt overens med billedet, vi så i corrplot.

Bemærk, at p-værdienp-værdien også kaldet signifikanssandsynligheden er et tal mellem 0 og 1, den angiver sandsynligheden for, hvis nulhypotesen er sand, at få en mere ekstrem teststørrelse, end den vi har fået i testet (teststørrelsen måler forskellen mellem fx. stikprøvegennemsnit og middelværdien antaget i nulhypotesen).
Jo lavere p-værdi, des mindre tror vi på nulhypotesen
Antag fx. at vi har en stikprøve af 100 mænds højde, med et gennemsnit på 176,32 cm.
Vi ønsker at teste om middel højden i populationen, kan antages at være 210 cm dvs.
H0: μ=210
H1: μ≠210
Vi vil her få en meget negativ teststørrelse, hvilket giver en mikroskopisk lille p-værdi.
Det vil være nærmest umuligt at få en mere ekstrem teststørrelse, hvis den sande middelhøjde er 210 cm.


Klik her for at lære mere om p-værdier!
for om 2 faktorer er tilstrækkelige, nu er steget til 70%. 2 faktorer er altså tilstrækkeligt, men muligvis ikke optimalt.


Nu opdeler vi variablene i 3 faktorer.


fa3 <- factanal(data, factor=3)
fa3
Call: factanal(x = data, factors = 3) Uniquenesses: Pris Software Æstetik Brand Venner Familie 0.468 0.944 0.154 0.005 0.193 0.005 Loadings: Factor1 Factor2 Factor3 Pris -0.717 0.122 Software -0.146 0.172 Æstetik 0.908 -0.130 Brand 0.892 -0.116 0.430 Venner 0.440 0.781 Familie 0.970 0.228 Factor1 Factor2 Factor3 SS loadings 2.161 1.198 0.872 Proportion Var 0.360 0.200 0.145 Cumulative Var 0.360 0.560 0.705 The degrees of freedom for the model is 0 and the fit was 0.0188

Nu forklares 70,5% af variationen i datamaterialet altså ud fra de 3 faktorer.
Bemærk forbedringen fra 2 til 3 faktorer er 9,5 procentpoint (70,5% - 61,0%). Factor3 forklarer alene 14,5% af variationen.
Bemærk p-værdienp-værdien også kaldet signifikanssandsynligheden er et tal mellem 0 og 1, den angiver sandsynligheden for, hvis nulhypotesen er sand, at få en mere ekstrem teststørrelse, end den vi har fået i testet (teststørrelsen måler forskellen mellem fx. stikprøvegennemsnit og middelværdien antaget i nulhypotesen).
Jo lavere p-værdi, des mindre tror vi på nulhypotesen
Antag fx. at vi har en stikprøve af 100 mænds højde, med et gennemsnit på 176,32 cm.
Vi ønsker at teste om middel højden i populationen, kan antages at være 210 cm dvs.
H0: μ=210
H1: μ≠210
Vi vil her få en meget negativ teststørrelse, hvilket giver en mikroskopisk lille p-værdi.
Det vil være nærmest umuligt at få en mere ekstrem teststørrelse, hvis den sande middelhøjde er 210 cm.


Klik her for at lære mere om p-værdier!
for om 3 faktorer er tilstrækkelige, kan ikke beregnes her, da forholdet mellem antal faktorer og antal variable ikke giver mulighed for dette.


Hvor mange faktorer bør benyttes?


Der er ingen fast regel for, hvor mange faktorer der bør benyttes. Der er flere forskellige metoder til bestemmelse af antallet af faktorer, vi viser herunder 2 metoder.

Eigenvalues-metoden

Eigenvalues udtrykker hvor meget af datamaterialets samlede varians, der dækkes af den pågældende faktor. Eigenvalues er standardiserede således at summen giver antallet af variable, herunder ses at summen er 6, da der er 6 variable i datasættet. Vi ser hvor stor en del af variationen hver faktor forklarer, når der er 6 faktorer. Faktor 5 og faktor 6 bibringer meget lidt yderligere forklaring af variationen.


ev <- eigen(cor(data))
ev$values
[1] 2.45701130 1.68900056 0.89157047 0.60583326 0.27285334 0.08373107
sum(ev$values)
[1] 6
ev$values/sum(ev$values)
[1] 0.40950188 0.28150009 0.14859508 0.10097221 0.04547556 0.01395518

Når vi benytter eigenvalues-metoden, bestemmes antallet af faktorer ud fra antallet af eigenvalues større end 1, det er denne metode fx. SPSS benytter. Vi ser at kun 2 eigenvalues, 2,45701130 og 1,68900056, er større end 1, vi får således kun 2 faktorer. Eigenvalues-metoden er ofte lidt konservativ, således at vi får færre faktorer end med de øvrige metoder.

Screeplot-metoden

Vi kan se på nedenstående screeplot, der hvor kurven flader ud, bibringer yderligere faktorer ikke synderlig megen yderligere forklaring til modellen. Man vil med screeplot kriteriet, vælge antallet af faktorer hvor kurven knækker i tilfældet med 3 faktorer. Man vil ikke altid entydigt kunne afgøre hvor screeplot kurven knækker, her må man så afgøre dette bedst muligt.

screeplot(princomp(data),type="line",npcs = 6, main="Screeplot Computereksempel")




Faktoranalyse er beslægtet med dimensionsreduktion i moderne machine learning; fx bruges PCA (Principal Component Analysis) ofte til at reducere mange finansielle risikofaktorer, som renter, kreditspænd og sektorer, til få underliggende komponenter, før en prognose- eller risikomodel trænes.

Quiz

Quiz om faktoranalyse

Spørgsmål

Vi vil her gennemføre en faktoranalyse af datasættet om bæredygtige investeringer, bestående af 500 respondenters svar på 10 holdningsspørgsmål om bæredygtige investeringer og 5 øvrige variable. De første 10 variabelnavne er meget lange, derfor er navnene forkortet for de 10 første spørgsmål, se koden herunder


#load "psych" pakken
library("psych")
data <- sustainability10
#Variabelnavne forkortes for de 10 første spørgsmål
colnames(data)[1:10] <- paste("Holdning", 1:10, sep = " ")
Excelfilen om bæredygtige investeringer
Gennemfør en faktor analyse på datasættet, se forklaring på variablene herunder:

Bæredygtige investeringer
Variabel Forklaring
1. Jeg tror, at bæredygtige investeringer er fremtiden for finanssektoren. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
2. Jeg er villig til at acceptere lavere afkast for at investere bæredygtigt. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
3. Jeg har tilstrækkelig viden om, hvad bæredygtige investeringer er. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
4. Jeg foretrækker at investere i virksomheder, der har en positiv miljøpåvirkning. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
5. Jeg tager altid hensyn til en virksomheds etiske profil, inden jeg investerer. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
6. Banken bør tilbyde flere bæredygtige investeringsmuligheder. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
7. Jeg ville deltage i et seminar om bæredygtige investeringer. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
8. Det er vigtigt for mig, at mine investeringer ikke understøtter fossil energi. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
9. Jeg vil gerne se en årlig rapport om bæredygtigheden af mine investeringer. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
10. Jeg mener, at bæredygtige investeringer kan være lige så profitable som traditionelle investeringer. Holdningsspørgsmål der kan besvares fra 1 til 5, hvor 1 er mindst enig og 5 er mest enig.
Mand Dummy Køn baseret på folkeregister registrering af køn, 1 hvis mand, 0 hvis kvinde.
Rød blok Dummy Vil respondenten stemme på rød blok, 1 hvis rød blok, 0 hvis ikke rød blok.
Benzinbil Dummy Har respondentens husholdning en benzinbil, 1 hvis man har en benzinbil, 0 hvis ikke.
Formue Respondentens formue opgjort i antal 1.000 DKK.
Alder Respondentens alder målt i år.

Tabel 20.2: Variabeloversigt for datasættet om bæredygtige investeringer — 10 holdningsspørgsmål besvaret på en 1-5 skala samt 5 baggrundsvariable (køn, politisk orientering, benzinbil, formue, alder) for 500 respondenter.
Kilde: Egen tilvirkning baseret på datasættet "sustainability10".



Bemærk variabelnavnene for holdningsspørgsmål er meget lange, derfor er de forkortet i analysen her til kun holdning 1, holdning 2,...
Vi tegner nu et corrplot og screeplot, beregner eigenvalues, og bestemmer hvor mange faktorer, der bør benyttes.


    #load "psych" pakken
    library("psych")
    data <- sustainability10
    #Variabelnavne forkortes for de 10 første spørgsmål
    colnames(data)[1:10] <- paste("Holdning", 1:10, sep = " ")
    #Undersøg om data egner sig til faktoranalyse
    KMO(data)
    #Corplot
    pacman::p_load(corrplot)
    corrplot(cor(data), order = "hclust", tl.col='black', tl.cex=.6)
    #Screeplot
    screeplot(princomp(data),type="line",npcs = 6, main="Screeplot Bæredygtige investeringer")
    #Eigenvalues
    ev <- eigen(cor(data))
    ev$values
    #Model med 2 faktorer
    fa2 <- factanal(data, factor=2)
    fa2
                                                  

Vi ser herunder at "Overall MSA" = 0,96 er meget større end 0,5, data egner sig således fint til en faktoranalyse:

Kaiser-Meyer-Olkin factor adequacy Call: KMO(r = datakort) Overall MSA = 0.96 MSA for each item = Holdning 1 Holdning 2 Holdning 3 0.91 0.98 0.98 Holdning 4 Holdning 5 Holdning 6 0.98 0.98 0.98 Holdning 7 Holdning 8 Holdning 9 0.98 0.98 0.98 Holdning 10 Mand Dummy Rød blok Dummy 0.99 0.97 0.92 Benzinbil Dummy Formue Alder 0.91 0.96 0.98

Herunder ses corrplot, bemærk den store dominerende faktor præget af holdningsspørgsmål, og en meget lille køns-, benzinbils-dummy



Screeplottet viser at optimalt antal faktorer er her 2.



Ifølge eigenvalues-metoden bør benyttes 1 faktor.

[1] 10.00889743 0.86671192 0.83374911 0.56017416 0.38283516 0.37017074 0.36765064 [8] 0.33594559 0.32524654 0.29835958 0.29145266 0.26707654 0.04531834 0.03451439 [15] 0.01189720

Baseret på eigenvalues, bør vi vælge 1 faktor, dog vælger vi 2 baseret på screeplottet. Herunder ses R-output for 2 faktorer.

Call: factanal(x = data, factors = 2) Uniquenesses: Holdning 1 Holdning 2 Holdning 3 0.005 0.316 0.351 Holdning 4 Holdning 5 Holdning 6 0.362 0.336 0.318 Holdning 7 Holdning 8 Holdning 9 0.339 0.311 0.335 Holdning 10 Mand Dummy Rød blok Dummy 0.315 0.048 0.016 Benzinbil Dummy Formue Alder 0.008 0.842 0.825 Loadings: Factor1 Factor2 Holdning 1 0.865 0.497 Holdning 2 0.706 0.431 Holdning 3 0.684 0.426 Holdning 4 0.684 0.412 Holdning 5 0.680 0.449 Holdning 6 0.717 0.410 Holdning 7 0.698 0.417 Holdning 8 0.717 0.419 Holdning 9 0.709 0.402 Holdning 10 0.669 0.487 Mand Dummy -0.504 -0.836 Rød blok Dummy 0.507 0.852 Benzinbil Dummy -0.514 -0.853 Formue -0.329 -0.222 Alder -0.380 -0.177 Factor1 Factor2 SS loadings 6.138 4.135 Proportion Var 0.409 0.276 Cumulative Var 0.409 0.685 Test of the hypothesis that 2 factors are sufficient. The chi square statistic is 68.97 on 76 degrees of freedom. The p-value is 0.704

Uniquenesses
Uniquenesses repræsenterer den andel af variansen i hver variabel, der ikke forklares af de udtrukne faktorer. For eksempel, for "Holdning 1" er uniqueness 0,005, hvilket betyder, at næsten al varians i denne variabel forklares af de to faktorer. Høje værdier (som for "Formue" og "Alder") indikerer, at en stor del af variansen i disse variabler ikke forklares af de to faktorer.

Loadings
Loadings viser styrken og retningen af forbindelsen mellem hver variabel og de 2 faktorer. For eksempel, "Holdning 1" har en stærk positiv forbindelse med Factor1 (0,865) og en moderat med Factor2 (0,497). Variabler som "Mand Dummy" og "Rød blok Dummy" viser stærke forbindelser, men i modsatte retninger på de to faktorer.

SS loadings (Sum of Squared Loadings):
SS loadings viser den totale varians, som hver faktor forklarer i datasættet. For Factor1 er det 6,138, og for Factor2 er det 4,135.

Proportion Var
Proportion Var er andelen af den totale varians, der forklares af hver faktor. For Factor1 er det 40,9% (0,409), og for Factor2 er det 27,6% (0,276).

Cumulative Var
Cumulative Var viser den kumulative varians, der er forklaret af faktorerne. Efter to faktorer er 68,5% af variansen i datasættet forklaret.

Chi square test
Denne test bruges til at evaluere, om antallet af faktorer er tilstrækkeligt til at forklare mønstrene i data. En høj p-værdi (her 0,704) indikerer, at der ikke er signifikant forskel mellem det observerede mønster af korrelationer og det mønster, der ville være forventet, hvis de to faktorer var tilstrækkelige. Dette tyder på, at de to faktorer er passende for datasættet.

Sammenfattende antyder analysen, at to faktorer er tilstrækkelige til at forklare en betydelig del af variansen i disse data, med en række variabler der viser stærke relationer til disse to faktorer. Variablerne "Formue" og "Alder" synes dog ikke at blive godt forklaret af de udtrukne faktorer. Man kan se at højreorienterede mænd med benzinbil , generelt ikke vægter bæredygtige investeringer højt



Vi vil her gennemføre en faktoranalyse af mtcars-datasættet, bestående af 32 bilmodeller med 11 variable. Datasættet ligger default i R, så det skal ikke hentes eller importeres. Herunder kan du se koden, hvor datasættet mtcars er navngivet som data.


#load "psych" pakken, for at kunne udføre faktoranalyse
library("psych")
data <- mtcars
                  

Herunder kan du se en oversigt over de 11 variable i datasættet.
mtcars-datasættet
Variabel Forklaring på de 11 variable
mpg Miles per gallon. Dette er en måling af brændstoføkonomi og angiver, hvor mange miles en bil kan køre per gallon benzin.
1 mile er lig med ca. 1,6 kilometer.
1 US gallon er lig med ca. 3,8 liter.
Man kan omregne mpg til km/l ved at gange med ca. 0,42.
cyl Antal cylindre i bilens motor. Typiske værdier er 4, 6, eller 8 cylindre.
disp Motorvolumen (displacement) i kubik tommer. Dette er et mål for motorstørrelsen. Kubik-tommer kan omregnes til kubik-centimer ved at gange med ca. 16.
hp Hestekræfter. Dette er en måling af bilens motorkraft.
drat Bagakseludveksling (differential ratio). Dette tal angiver forholdet mellem antallet af tænder på ringgearet til antallet af tænder på drivgearet i bilens differential.
wt Vægt (1000 lbs). Dette er bilens vægt målt i tusinder af pund. Vægt i 1000 pund kan omregnes til tons ved at gange med ca. 0,45.
qsec 1/4 mile tid. Tiden det tager for bilen at køre en fjerdedel af en mil (cirka 0,4 kilometer) fra stillestående start, lavere værdi betyder hurtigere acceleration. qsec kan ikke direkte omsættes til 0-100 km/t tider.
vs Motorform. Dummy-variabel med niveauerne 0 (V-formet motor) og 1 (lige motor).
am Gearkassetype. Dummy-variabel med niveauerne 0 (automatisk gearkasse) og 1 (manuel gearkasse).
gear Antal fremadgående gear i bilens gearkasse.
carb Antal karburatorer. Dette tal angiver antallet af karburatorer i bilens motor.

Tabel 20.3: Variabeloversigt for mtcars-datasættet — 11 tekniske og ydeevnerelaterede mål (brændstoføkonomi, cylindre, motorvolumen, hestekræfter m.m.) for 32 bilmodeller.
Kilde: Motor Trend US (1974), indbygget R-datasæt "mtcars".


Vi tegner først et corrplot og screeplot, beregner eigenvalues. Baseret på screeplot og eigenvalues, bør vi vælge 2 eller 3 faktorer. Herunder ses R-input.

           #load "psych" pakken
        library("psych")
        #mtcars navngivet som data
        data <- mtcars
        #Corplot
        pacman::p_load(corrplot)
        corrplot(cor(data), order = "hclust", tl.col='black', tl.cex=.5)
        #Screeplot
        screeplot(princomp(data),type="line",npcs = 6, main="Screeplot mtcars")
        #Eigenvalues
        ev <- eigen(cor(data))
        ev$values
        #Model med 2 faktorer
        fa2 <- factanal(data, factor=2)
        fa2
        #Model med 3 faktorer
        fa3 <- factanal(data, factor=3)
        fa3
                      

Vi ser herunder at "Overall MSA" = 0,83 er større end 0,5, data egner sig således fint til en faktoranalyse:

Kaiser-Meyer-Olkin factor adequacy Call: KMO(r = data) Overall MSA = 0.83 MSA for each item = mpg cyl disp hp drat wt qsec vs am gear carb 0.93 0.90 0.76 0.84 0.95 0.74 0.74 0.91 0.88 0.85 0.62

Screeplot optimalt antal faktorer er her 3 måske kun 2.



Ifølge eigenvalues-metoden bør benyttes 2 faktorer.

[1] 6.60840025 2.65046789 0.62719727 0.26959744 0.22345110 0.21159612 0.13526199 0.12290143 0.07704665 0.05203544 0.02204441

Herunder ses R-output for 2 faktorer.

Call: factanal(x = data, factors = 2) Uniquenesses: mpg cyl disp hp drat wt qsec vs am gear carb 0.167 0.070 0.096 0.143 0.298 0.168 0.150 0.256 0.171 0.246 0.386 Loadings: Factor1 Factor2 mpg 0.686 -0.602 cyl -0.629 0.731 disp -0.730 0.609 hp -0.337 0.862 drat 0.807 -0.225 wt -0.810 0.420 qsec -0.162 -0.908 vs 0.291 -0.812 am 0.907 gear 0.860 0.125 carb 0.783 Factor1 Factor2 SS loadings 4.494 4.357 Proportion Var 0.409 0.396 Cumulative Var 0.409 0.805 Test of the hypothesis that 2 factors are sufficient. The chi square statistic is 68.57 on 34 degrees of freedom. The p-value is 0.000405

Herunder ses R-output for 3 faktorer.

Call: factanal(x = data, factors = 3) Uniquenesses: mpg cyl disp hp drat wt qsec vs am gear carb 0.135 0.055 0.090 0.127 0.290 0.060 0.051 0.223 0.208 0.125 0.158 Loadings: Factor1 Factor2 Factor3 mpg 0.643 -0.478 -0.473 cyl -0.618 0.703 0.261 disp -0.719 0.537 0.323 hp -0.291 0.725 0.513 drat 0.804 -0.241 wt -0.778 0.248 0.524 qsec -0.177 -0.946 -0.151 vs 0.295 -0.805 -0.204 am 0.880 gear 0.908 0.224 carb 0.114 0.559 0.719 Factor1 Factor2 Factor3 SS loadings 4.380 3.520 1.578 Proportion Var 0.398 0.320 0.143 Cumulative Var 0.398 0.718 0.862 Test of the hypothesis that 3 factors are sufficient. The chi square statistic is 30.53 on 25 degrees of freedom. The p-value is 0.205

Vi vælger her 3 faktorer, da p-værdien for test af om 2 faktorer er nok er mindre end 5%, mens p-værdien for 3 faktorer, er 20,5%.


Factor1
Højeste Loadings: drat, am, gear, wt (negativ), mpg (moderat), disp (negativ), cyl (negativ).
Fortolkning: Denne faktor synes at repræsentere en kombination af egenskaber relateret til bilens transmission og køreegenskaber. Høj loadings på drat, am, og gear indikerer en forbindelse med gear og transmissionstype, mens den negative loading på wt, disp, og cyl indikerer, at tungere og kraftigere biler scorer lavere på denne faktor. Dette kunne tolkes som en "letvægts, høj ydeevne" faktor.

Factor2
Højeste Loadings: cyl, disp, hp, qsec (negativ), vs (negativ).
Fortolkning: Denne faktor ser ud til at afspejle bilens motorkraft og størrelse. Højere værdier for cyl, disp, og hp indikerer større og kraftigere motorer. Den negative loading på qsec og vs tyder på, at biler med større motorer har tendens til at have lavere værdier for disse variabler dvs. de accelererer hurtigere og har primært værdi 0 for vs dvs. v-formet motor. Dette kunne tolkes som en "motorkraft og størrelse" faktor.

Factor3
Højeste Loadings: carb, hp (moderat), wt (moderat).
Fortolkning: Denne faktor kan være relateret til bilens motorydelse, især relateret til karburatorer og hestekræfter. En høj loading på carb og moderate loadings på hp og wt indikerer en forbindelse til ydeevne og vægt. Dette kunne tolkes som en "ydeevne" faktor.

Uniquenesses: De lave uniqueness-værdier for de fleste variable indikerer, at en stor del af deres varians er forklaret af de tre faktorer.

Proportion of Variance: Faktorerne forklarer tilsammen 86,2% af den samlede varians i datasættet, hvilket er ret signifikant.

Chi-square Test: En p-værdi på 20,5% indikerer, at der ikke er stærk statistisk evidens for at afvise hypotesen om, at tre faktorer er tilstrækkelige til at forklare datasættet. Modellen med tre faktorer synes at være tilstrækkelig til at fange strukturen i data.




Excelfilen om mediedata
Importer filen i R, husk under importen at vælge det korrekte sheet, der indeholder data.

Datasættet omhandler danskernes medievaner, 324 danskere er blevet spurgt om deres medievaner. Datasættet indeholder følgende 11 variable.

Variabel Forklaring
TV-kigning samlet inkl. nyheder Antal minutter pr. dag.
Radiolytning samlet inkl. nyheder Antal minutter pr. dag.
Avislæsning samlet inkl. nyheder Antal minutter pr. dag.
TV-kigning, Nyheder Antal minutter pr. dag. “Nyheder” omfatter “Nyheder, politik og aktuelt”
Radiolytning, Nyheder Antal minutter pr. dag. “Nyheder” omfatter “Nyheder, politik og aktuelt”
Avislæsning, Nyheder Antal minutter pr. dag. “Nyheder” omfatter “Nyheder, politik og aktuelt”
Internetforbrug
  • 0 Ingen internetadgang hjemme eller på arbejde
  • 1 Bruger aldrig
  • 2 Mindre end en gang om måneden
  • 3 En gang om måneden
  • 4 Flere gange om måneden
  • 5 En gang om ugen
  • 6 Flere gange om ugen
  • 7 Hver dag
Alder Alder i år
Højest fuldførte uddannelse
  • 1 Folkeskole 6.-8. klasse
  • 2 Folkeskole 9.-10. klasse
  • 3 Gymnasielle uddannelser, studentereksamen, HF, HHX, HTX
  • 4 Kort erhvervsudd. under 1-2 års varighed, F.eks AMU Arbejdsmarkedsudd., Basisår Erhvervsfaglige udd.
  • 5 Faglig udd. (håndværk, handel, landbrug mv.), F.eks. Faglærte, Social- og sundhedsassistent-udd. og tilsvarende
  • 6 Kort videreg. udd af op til 2-3 år, F.eks. Erhvervsakademi, datamatiker, tandplejer, byggetekniker, installatør, HD
  • 7 Mellemlang videreg.udd. 3-4 år. Prof.bachelorer, F.eks. Diplomingeniør, sygeplejerske, skolelærer, pædagog, journalist, HA
  • 8 Universitetsbachelor. 1. del af kandidatuddannelse
  • 9 Lang videregående uddannelse. Kandidatuddannelser af 5.-6. års varighed, F.eks. Cand.mag., cand.jur., cand.polyt. etc
  • 10 Forskeruddannelse. Ph.d., doktor
Kvindedummy 1 hvis kvinde, 0 hvis mand
Hjemmeboendebørndummy Hjemmeboende børn dummy, 1 hvis hjemmeboende ellers 0

Tabel 20.4: Variabeloversigt for mediedata-datasættet — TV-, radio- og avisforbrug (samlet og nyhedsspecifikt) samt baggrundsvariable for 324 danskere.
Kilde: Egen tilvirkning baseret på datasættet "mediedata".



Gennemfør en faktor analyse på datasættet.

Pas på, når du importerer Excelfilen til R — der er flere ark, så husk at vælge det, der hedder Data. Se billede herunder:



Vi tegner herefter et corrplot og screeplot, beregner eigenvalues, og bestemmer hvor mange faktorer, der bør benyttes.


library("psych")
data <- mediedata
#Undersøg om data egner sig til faktoranalyse
KMO(data)
#Corplot
pacman::p_load(corrplot)
corrplot(cor(data), order = "hclust", tl.col='black', tl.cex=.5)
#Screeplot
screeplot(princomp(data),type="line",npcs = 6, main="Screeplot Mediedata")
#Eigenvalues
ev <- eigen(cor(data))
ev$values
#Model med 4 faktorer
fa4 <- factanal(data, factor=4)
fa4
                                    

Vi ser herunder at "Overall MSA" = 0,66 er større end 0,5, data egner sig således nogenlunde til en faktoranalyse:

Kaiser-Meyer-Olkin factor adequacy Call: KMO(r = data) Overall MSA = 0.66 MSA for each item = TV-kigning, samlet Radiolytning, Samlet Avislæsning, Samlet TV-kigning, Nyheder Radiolytning, Nyheder 0.68 0.57 0.65 0.73 0.63 Avislæsning, Nyheder Internetforbrug Alder Højest fuldførte uddannelse Kvindedummy 0.62 0.65 0.75 0.52 0.60 Hjemmeboendebørndummy 0.84

Herunder ses corrplot:



Screeplot optimalt antal faktorer er her 4.



Ifølge eigenvalues-metoden bør benyttes 4 faktorer.

[1] 3.1222331 1.6749558 1.2944895 1.0528708 0.9606237 0.7959754 0.7231798 0.4403654 0.4261797 0.3322079 0.1769190

Baseret på screeplot og eigenvalues, bør vi vælge 4 faktorer. Herunder ses R-output for 4 faktorer.

Call: factanal(x = data, factors = 4) Uniquenesses: TV-kigning, samlet Radiolytning, Samlet Avislæsning, Samlet TV-kigning, Nyheder 0.637 0.668 0.152 0.005 Radiolytning, Nyheder Avislæsning, Nyheder Internetforbrug Alder 0.005 0.209 0.394 0.578 Højest fuldførte uddannelse Kvindedummy Hjemmeboendebørndummy 0.809 0.947 0.841 Loadings: Factor1 Factor2 Factor3 Factor4 TV-kigning, samlet 0.535 0.269 Radiolytning, Samlet 0.564 Avislæsning, Samlet 0.842 0.210 0.147 0.269 TV-kigning, Nyheder 0.161 0.962 0.174 0.114 Radiolytning, Nyheder 0.170 0.979 Avislæsning, Nyheder 0.846 0.196 0.170 Internetforbrug -0.771 Alder 0.199 0.250 0.164 0.541 Højest fuldførte uddannelse 0.258 -0.347 Kvindedummy -0.200 Hjemmeboendebørndummy -0.119 -0.369 Factor1 Factor2 Factor3 Factor4 SS loadings 1.611 1.413 1.402 1.329 Proportion Var 0.146 0.128 0.127 0.121 Cumulative Var 0.146 0.275 0.402 0.523 Test of the hypothesis that 4 factors are sufficient. The chi square statistic is 44.95 on 17 degrees of freedom. The p-value is 0.000248

Uniquenesses
Uniquenesses fortæller, hvor stor en del af variansen i hver variabel, der ikke bliver forklaret af de fire faktorer. For eksempel har "TV-kigning, Nyheder" en meget lav uniqueness (0,005), hvilket betyder, at næsten al variansen i denne variabel bliver forklaret af de fire faktorer.
Højere værdier som for "Højest fuldførte uddannelse" (0,809) og "Kvindedummy" (0,947) indikerer, at disse variabler ikke er godt forklaret af de valgte faktorer.

Loadings
Factor1
Factor1 ser ud til at have højeste loadings på "Avislæsning, Samlet" og "Avislæsning, Nyheder", hvilket kunne tyde på denne faktor er relateret til avisforbrug.

Factor2
Factor2 har højeste loadings på "TV-kigning, Nyheder" og "Radiolytning, Nyheder", hvilket kunne tyde på en faktor relateret til nyhedsforbrug i traditionelle medier.

Factor3
Factor3 har højeste loading på "Radiolytning, Nyheder", hvilket også kunne indikere en relation til nyhedsforbrug, men med en specifik fokus på radio.

Factor4
Factor4 har negative loadings på "Internetforbrug" og positive på "Alder", hvilket kunne antyde en faktor, der adskiller yngre internetbrugere fra ældre, der er mindre online.

Cumulative Variance:
De fire faktorer forklarer tilsammen 52,3% af variansen i datasættet, hvilket er en betydelig andel, men efterlader stadig en del uforklaret.

Chi-square Test:
Med en chi-square værdi på 44,95 og en p-værdi på 0,000248, er der stærk statistisk evidens for at afvise hypotesen om, at fire faktorer er tilstrækkelige til at forklare datasættet. Dette tyder på, at der kan være yderligere underliggende faktorer, som ikke er blevet fanget af denne model.

Samlet Fortolkning
Denne model giver interessante indsigter i forholdet mellem medieforbrug og sociodemografiske variabler. Det ser ud til, at forskellige former for medieforbrug (især nyheder) og demografiske karakteristika (som alder og internetforbrug), danner forskellige dimensioner i datasættet. Dog antyder Chi i anden testet, at modellen ikke fuldt ud fanger kompleksiteten i datasættet, havde man mulighed for at inddrage yderligere variable, kunne man måske afdække flere interessante faktorer.



240 Stanford studerende har svaret på i hvor høj grad de mener at besidde 32 forskellige personlighedstræk. 1 til 8 hvor 1 er mindst og 8 er mest. Foretag en faktoranalyse, hvis en test viser dette er fordelagtigt.
Hent Excelfilen herunder, importer Excelfilen i R via f.eks. File - Import Dataset.

Excelfilen Stanford personality

Se video løsningsforslaget herunder:





Du har nu adgang

Alle kapitler er åbne.