Som omtalt i indledningen til dette kapitel, tænker vi på hele
datasættet som organiseret i variable (søjler i datatabellen).
En faktor er en variabel, der bruges til at inddele data i
undergrupper. Hvis der for eksempel laves en undersøgelse,
hvor der deltager 4 kvinder og 3 mænd, og resultaterne for
kvinderne angives først, kan vi angive dette med en variabel
koenOrd på formen
Vi kunne også vælge at kode kvinde som 1 og mand som 2, og i stedet
for koenOrd benytte variablen
I den sidste udgave, koenTal,
kan man ikke umiddelbart se, om
denne variabel skal bruges til at inddele data i undergrupper
(altså som en faktor), eller skal bruges for eksempel som
forklarende variabel i en regressionsmodel.
I python kan man lave en variabel om til
en faktor på følgende vis,
Man kan tænke på indgangene i faktorKoen som navne på undergrupper,
hvor i tilfældet her navnene er tallene 1 og 2.
Hvis man har en datatabel, dtabel,
og ønsker at omdanne en søjle med navnet snavn til en faktor,
kan dette gøres med følgende kommando,
I en faktor kaldes de forskellige værdier, der optræder, for
faktorniveauer. Man kan se de forskellige faktorniveauer
i faktorKoen ved i
python at skrive faktorKoen.categories.
Prøv at køre den følgende kode. Kan du se at ols
fitter forskellige modeller,
alt efter om højresiden i modelformlen er en numerisk variabel eller
en faktor ?
I har allerede brugt funktionen ols i python
til analyse
af regressionsmodellen. Input til denne funktion er en såkaldt
modelformel.
For en regressionsmodel med respons i variablen og den
forklarende variabel benyttede I 'x~t'.
En modelformel består af responsvariablen på venstre side af
"tilde"-symbolet
og en angivelse af modellen på højre side
af tilde (højresiden i sig selv kaldes også modelformlen).
I regressionssituationen ved I, at 'x~t' angiver modellen
Hvis er en faktor med indgangene
angiver modelformlen 'x~G' modellen med
Det vil sige, at alle de observationer, der ligger på samme niveau
af (har samme værdi af ), får den samme middelværdi.
Modelformlen indfører dermed indirekte lige så mange
middelværdiparametre som antallet af niveauer i faktoren.
Mere konkret: for faktoren faktorKoen
ovenfor betragter vi modellen, hvor de 4 første observationer
kommer fra en -fordeling, og de 3 sidste observationer
kommer fra en -fordeling,
med og parametre med ukendt værdi. Bemærk, at hvis
man i en modelformel bruger en søjle fra datatabellen, der består
af tekststrenge (i modsætning til tal), så vil python behandle denne
søjle som en faktor.
8.1.1 Produkt af faktorer
Ofte vil data være inddelt i undergrupper ud fra flere
inddelingskriterier. Hvis der er to faktorer, for eksempel
Køn og Art, kan vi danne en ny faktor Køn*Art,
der inddeler efter begge faktorer. Her er et eksempel:
Vi kan se i dette eksempel, at Køn*Art inddeler i fire grupper
betegnet med og Et produkt mellem to faktorer, som beskrevet ovenfor, hører
grundlæggende til en modelformel, hvilket bliver beskrevet i
dette kapitel. I det følgende skjulte punkt viser jeg, hvordan
man i python kan efterligne produkt
mellem to faktorer direkte i kommandovinduet.
Et produkt af to faktorer bruges til at inddele i grupper efter
begge inddelingskriterier. I python kan man gøre dette direkte
ved hjælp af groupby, som vist i nedenstånde kommandovindue.
Kør koden og forstå hvordan output viser gruppeinddelingen.