Du har lite data. Hva skjer med regresjonen din da?
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:
| 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?