Regresjon med små datasett

Du har lite data. Hva skjer med regresjonen din da?

Eivind Hageberg https://suppe-og-analyse.netlify.app
2024-03-02

Regresjon er et sentralt verktøy i en samfunnsviters verktøykasse. Så hva gjør du når du har et lite datasett? Dette er en fortsettelse av en tidligere diskusjon om styrkeberegning. Jeg har latt meg inspirere av blant annet Brad Duthie, verystatisticous og francisco yira’s blog.

Vi begynner med det samme datasettet som sist: 40 personer har fått en behandling som gir større sannsynlighet for et positivt utfall, 360 personer i en kontrollgruppe har ikke fått denne behandlinga. Forrige gang så vi hvordan det selv i en ordinær eksperiment-setting ville vært for få enheter i dette forsøket, til at eksperimentet kunne betegnes som å ha en tilfredsstillende styrke - altså sannsynlighet for å avvise nullhypotesen i tilfeller hvor den skal avvises. En måtte opp i en forskjell på rundt 20 prosentpoeng, for å være “vanlig” sikker på å finne den.

Slik ser regresjonsresultatet ut for en slik sammenheng:

Dependent variable:
utfall
behandling 0.261***
(0.076)
Constant 0.664***
(0.024)
Observations 400
R2 0.029
Adjusted R2 0.026
Residual Std. Error 0.457 (df = 398)
F Statistic 11.755*** (df = 1; 398)
Note: p<0.1; p<0.05; p<0.01

Men som vi også nevnte, er ikke disse dataene henta fra en ordinær eksperiment-setting: behandlinga er ikke fordelt tilfeldig. Vi kan ikke anta at “antakelsen om uavhengighet” holder, ettersom det kan være korrelasjon mellom behandlinga og mulige utfall, forårsaket av systematiske forskjeller i deltakersammensetning eller egenskaper ved stedene som gjennomfører behandlingene, og stedene som ikke gjennomfører den.

En må dermed kontrollere for bakgrunnsforhold, slik at en kan forsikre seg om at forskjellene i utfall ikke skyldes andre forhold. Si for eksempel at en høyere andel av personene som ble rekruttert til behandlings-gruppa, har høyere utdanning, mens en høyere andel i kontroll-gruppa har grunnskole. Utdanningsnivået har en positiv betydning for utfallet.

Dependent variable:
utfall
behandling 0.296***
(0.111)
utdanninghøyere utdanning -0.039
(0.090)
Constant 0.667***
(0.025)
Observations 400
R2 0.029
Adjusted R2 0.024
Residual Std. Error 0.457 (df = 397)
F Statistic 5.957*** (df = 2; 397)
Note: p<0.1; p<0.05; p<0.01

Her får jeg veldig ustabile resultater for sammenhengen mellom behandling og utfall - vekselvis er det statistisk signifikant og ikke signifikant. Vi kan ikke lenger være sikre på om de gode utfallet skyldes behandlingen, eller utdanningen de har med seg. Som et minimum burde jeg kanskje brukt Bonferroni-korreksjoner her når jeg kjører analysene så mange ganger.

I dette eksempelet var sammenhengen mellom utdanning og utfall ganske sterk. Hva hvis vi nedjusterer sammenhengen, men legger til et par andre variabler, som alder og landbakgrunn? Her er et slikt datasett:

Table 1: Data summary
Name Piped data
Number of rows 400
Number of columns 6
_______________________
Column type frequency:
factor 2
numeric 2
________________________
Group variables behandling

Variable type: factor

skim_variable behandling n_missing complete_rate ordered n_unique top_counts
utdanning 0 0 1 FALSE 2 høy: 224, gru: 136
utdanning 1 0 1 FALSE 2 høy: 30, gru: 10
landbakgrunn 0 0 1 FALSE 3 A: 156, C: 114, B: 90
landbakgrunn 1 0 1 FALSE 3 A: 18, B: 15, C: 7

Variable type: numeric

skim_variable behandling n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
utfall 0 0 1 0.67 0.47 0 0.00 1.0 1 1 ▃▁▁▁▇
utfall 1 0 1 0.98 0.16 0 1.00 1.0 1 1 ▁▁▁▁▇
alder 0 0 1 55.15 7.15 34 50.75 55.0 60 76 ▁▃▇▃▁
alder 1 0 1 26.18 4.43 19 22.00 27.5 29 36 ▇▃▇▃▁

Og her er regresjonsresultatene:

Dependent variable:
utfall
behandling 0.214*
(0.122)
utdanninghøyere utdanning 0.027
(0.047)
alder -0.003
(0.003)
landbakgrunnB 0.117**
(0.056)
landbakgrunnC 0.021
(0.054)
Constant 0.759***
(0.188)
Observations 400
R2 0.052
Adjusted R2 0.040
Residual Std. Error 0.449 (df = 394)
F Statistic 4.305*** (df = 5; 394)
Note: p<0.1; p<0.05; p<0.01

Her er, i en iterasjon, behandling ikke signifikant, mens landbakgrunn B er signifikant forbundet med bedre resultater enn landbakgrunn A. Det er en ren tilfeldighet, ettersom variabelen er helt tilfeldig uten noen relasjon til utfallsvariabelen.

Dette er ikke optimalt - finnes det en måte å komme seg ut av dette?