PROC LOGISTIC – Er en skole offentlig eller privat?

0

I denne artikel vil der blive opstillet en predictions-model, der kan forudsige, om en skole enten er en privatskole eller en offentlig skole ud fra de svar, den enkelte skole har givet til nogle udvalgte spørgsmål i OECD’s PISA-undersøgelse. Formålet med en sådan model kunne være at forudsige, om en skole er offentlig eller privat, når den ikke har oplyst dette.

Data

Data, der er brugt i denne artikel, er data fra OECD’s PISA-undersøgelse 2012. Data er frit tilgængelig for alle og kan hentes fra følgende link: http://pisa2012.acer.edu.au/downloads.php.

Datasættet, som er brugt, er den tekstfil, der kan downloades under ’School questionnaire data file’. På hjemmesiden er der også link til et SAS®-program, som kan omskrive tekstfilen til et SAS-datasæt. I artiklen er det dette datasæt, der bliver taget afsæt i, dog er indholdet blevet reduceret og modificeret.

Problemstilling

Den problemstilling, som artiklen ønsker at afdække, er at undersøge, om man kan opstille en predictions-model, der kan forudsige, om en skole, som har deltaget i undersøgelsen, enten er en privatskole eller en offentlig skole. Dermed kigges der først på sammensætningen af private og offentlige skoler i undersøgelsen.

SHY.1.1

I undersøgelsen indgår der 14.358 offentlige skoler og 3.410 private, mens der er 371 skoler, man ikke kender oplysningerne på. Kategorien ”Unknown” består af de skoler, som har angivet en ugyldig besvarelse eller ikke har besvaret spørgsmålet.

Dataudvælgelse

Det næste skridt er at lave tre forskellige datasæt, dvs. et træningsdatasæt, et testdatasæt og et scoringsdatasæt. Træningsdata er de observationer, der skal bruges til at bygge modellen, testdata er de observationer, der bruges til at vurdere modellen, og scoringsdata er de observationer, jeg ønsker at score med min nye model. Først dannes træningsdatasættet – det man ønsker er at få et datasæt, hvor udfaldet privatskole er ligeså sandsynligt som offentlig skole. Derfor vælges det at tage tilfældigt 80% af de private skoler og tilfældigt 20% af de offentlige skoler. Dette kaldes oversampling. Dermed kommer fordelingen i træningssættet til at se således ud:

SHY.1.2

Hermed er begge udfald lige sandsynlige i træningsdatasættet. Grunden til at vi ønsker en lige fordeling mellem de to udfaldsrum er, at vi ellers kunne risikere at få en model, der altid ville give svaret offentlig skole, da det er det bedste bud, når man ser på fordelingen mellem de to størrelser. Træningsdatasættet er det datasæt, som skal bruges til at bygge modellen på.

Derefter bliver alle de resterende observationer, hvor det er kendt, hvilken skoletype de tilhører, lagt i testdatasættet. Det kan være et problem, at testdata har en stor overvægt af offentlige skoler, da det måske kan gøre vurderingen af modellen fejlagtig. Testdatasættet skal bruges efter, at modellen er blevet bygget til at teste modellens brugbarhed og predictions-styrke. Testdatasættet kommer derfor til at se således ud:

SHY.1.3

Alle de observationer, som blev defineret som ukendt, bliver lagt i scoringsdatasættet. Efter modellen er udvalgt og godkendt, bliver alle observationerne i scoringsdatasættet scoret, og modellen kommer med en forudsigelse på, om den tror, at skolen er privat eller offentlig. Scoringsdatasættet indeholder derfor kun de 371 skoler, som hverken var defineret som privat eller offentlig.

Model

Den model der ønskes, er en model som kan forudsige, om en skole er privat eller offentlig. I denne artikel vælges der at bruge en logit-model på grund af, at det er den mest udbredte til denne type af modellering. Andre modeller kunne dog også overvejes. De variable fra datasættet, der er valgt til at blive brugt i modellen, er følgende:

  • oedc_country: Angiver, om skolen ligger i et OECD-land eller ej.
  • public_private: Angiver, om det er en offentlig skole eller en privatskole, altså vores målvariable.
  • school_location: Angiver, hvilken størrelse by skolen ligger i.
  • school_compeditors: Angiver, hvor mange konkurrerende skoler, skolen har.
  • class_size: Angiver gennemsnitlig klassestørrelse på de klasser, som har tager PISA-testen.
  • lesson_internet: Angiver i hvor mange pct. af undervisningen består af internet brug.
  • homework_internet: Angiver i, hvor mange pct. af lektierne består af internet brug.
  • assignment_internet : Angiver i, hvor mange pct. af projekterne består af internet brug.
  • achivements_published: Angiver, om skolen publicerer deres elevers resultater eller ej.
  • extra_math_avaliable: Angiver, om det er muligt at tage ekstra matematik på skolen.

Alle parametrene er lavet om til kategorivariable. Det giver den fordel for de kontinuerte variable, at det er muligt at finde ikke-lineære sammenhænge, og problemet med ikke-gyldige værdier eller manglende værdier kan blive kategoriseret som ukendt. Hvad man skal stille op med manglende eller ugyldige værdier for kontinuerte variable er et større problem i sig selv, som denne artikel ikke vil beskæftige sig med. Man skal dog være opmærksom på, at der også er problemer ved at kategorisere kontinuerte variable, da man mister information ved overgangen fra kontinuerte til diskrete, især hvis kategoriseringen bliver gjort uhensigtsmæssige.

Til at beregne modellen bruges ’proc logistic’. Den bliver defineret som en logit-model med backwards selection på et 99% konfidensinterval. Der benyttes et 99% interval, da data har et meget stort antal observationer, og dermed har små forskelle lettere ved at blive signifikante. Modellens mål bliver sat til offentlig skole, hvilket betyder, at modellen forudsiger den procentvise sandsynlighed for, at en skole er offentlig.

SHY.1.4

Modellen producerer følgende output: ”Testing Global Null Hypothesis: BETA=0” viser, at modellen er signifikant forskellig fra nul-hypotesen om, at parameterværdierne kunne være nul. ”Summary of Backward Elimination” viser, at modellen har fjernet parametrene oecd_country, extra_math_avaliable og assignment_internet, da deres effekt ikke er signifikant større end nul på et 99% konfidensinterval. I ”Type 3 Analysis of Effects” kan man se de parametre, der har fået lov at indgå i modellen. Det er school_location, school_compeditors, class_size, lesson_internet, homework_internet og achivements_published, da disse har en signifikant værdi forskellig fra nul.

SHY.1.5

Det næste output, modellen giver, er parameterestimaterne. Man kan ikke direkte oversætte parameterværdierne til en procents sandsynlighed for en offentlig skole, da parameterværdierne er givet logaritmisk. Men negative værdier gør sandsynligheden for offentlig skole mindre, og positive værdier gør sandsynligheden større. Dermed kan man konkludere, at det er mere sandsynligt, at vi kigger på en privatskole, hvis den ligger i kategorien ”City” eller ”Large City” i forhold til, hvis dens placering enten er ukendt eller ligger i en af de andre kategorier.

SHY.1.6

’Proc logistic’ udskriver også en ROC-kurve, der kan bruges som en indikator for, hvor god modellen er til at skelne offentlige og private skoler fra hinanden. Det tal, man fokuserer på, er arealet under kurven – i dette tilfælde er det 0,7389. Jo større areal, jo bedre er modellen til at forudsige udfaldet af målvariablen. En tommelfingerregel er, at arealet skal være over 0,8 for en god model. Derfor er denne model ikke særligt imponerende, men det kommer meget an på, hvad problemstillingen og formålet med modellen er.

Vurdering af modellen

For at vurdere modellen kan man vælge at se på, hvor korrekt modellen kan forudsige private og offentlige skoler i træningsdatasættet og testdatasættet. Programmet har givet et prædiktivt bud på, hvorvidt skolerne er enten offentlige eller private ud fra de parameterværdier, som modellen har beregnet. En sandsynlighed er derefter tilskrevet hver observation, hvis sandsynligheden ligger over 50%, så bliver skolen forudsagt til at være offentlig, og hvis sandsynligheden ligger under, så bliver den forudsagt til at være privat. På denne måde kan man lave en krydstabel mellem, hvad modellen forudsiger, og hvad de endelige værdier har været. Når man kigger på træningsdatasættet – altså det datasæt som modellen er bygget på, får man følgende resultat:

SHY.1.7

Som man kan se, så bliver 1.846 offentlige skoler forudsagt til at være offentlige, mens 1.002 bliver sat fejlagtigt til at være private. Det ser ud som om, at modellen er lidt bedre til at forudsige de private skoler, hvor 1.910 blev kategoriseret rigtigt og 837 forkert. Hermed kan man nu udlede en korrekthedsprocent, som er antallet af korrekte prædiktioner over antallet af observationer, som bliver følgende i dette eksempel:

SHY.1.11

Hvis man havde gættet tilfældigt på enten offentlig eller privat skole, ville korrekthedsprocenten være 50%. Vores model er derfor bedre end et tilfældigt gæt, men dog heller ikke særligt imponerende. Vi må regne med en høj forudsigelsesprocent, da vi kigger på træningsdatasættet, altså dermed det som modellen er bygget på. Det næste datasæt, der derfor er interessant at se på, er testdatasættet. Det er data, hvor man ved, om det er offentlige eller private skoler, men de har ikke været en del af modelopbygningen. Resultaterne af den scoring er følgende:

SHY.1.8

Her er 7.368 offentlige skoler blevet kategoriseret korrekt, og 446 private skoler er også kategoriseret korrekt. Det giver en korrekthedsprocent på følgende:

SHY.1.12

Med en korrekthedsprocent på 64,2% kan modellen ikke siges at være imponerende, men det kan stadig være en brugbar model alt afhængig af, hvad man skal bruge den til. Derudover er der heller ikke nogen teoretisk grund til, at der skulle være stor forskel på privatskoler og offentlige skole i de parametre, vi har brugt. Derfor kan en korrekthedsprocent på 64,2% være et fint resultat, da modellen kan afdække en sammenhæng, vi ikke havde grund til at tro fandtes.

Til sidst kan man så kigge på scoringsdatasættet, og hvordan modellen kategoriserer dem. I scoringsdatasættet er alle de skoler, som har ukendt værdi for, om de er en offentlig skole eller en privatskole. Derfor er det ikke mulig at sige, hvor mange modellen har forudsagt korrekt.

SHY.1.9

Som man kan se kategoriserer modellen 358 skoler som privatskoler og kun 13 som offentlige. Det er et interessant resultat, som desværre ikke er muligt at validere. Hermed er der udviklet en predictions-model, der kan forudsige, om en skole er en privatskole eller offentlig skole ud fra de svar, som skolen har givet i PISA-undersøgelsen.

Hvad kan modellen også bruges til?

Modellen er en predictions-model, men man kan også bruge modellen til at få indsigt i data. Man kan i dette eksempel se på fortegnene i parametrene og få en forståelse af forskellene på en privatskole og en offentlig skole.

SHY.1.10

Man kan se, at ved byer og store byer er fortegnet negativt. Det samme gælder, hvis der er to eller flere konkurrerende skoler samt små klassestørrelser. Ud fra det kan vi fortolke, at en privatskole har større sandsynlighed for at ligge i en storby, og de har derfor flere konkurrerende skoler, men det lidt mere overraskende er, at privatskolers klassestørrelse generelt er mindre end de offentlige skole klasser.

Du kan finde de to programmer, jeg har brugt i mine beregninger, på SAS Community Denmark.

Steen

Share

About Author

Steen Hyldgaard

Associate Technical Consultant

Steen er uddannet økonom og arbejder som konsulent i SAS Danmark i vores Financial Services afdeling. her hjælper han bank, pensions og forsikringsbranchen med deres SAS løsninger.

Comments are closed.

Back to Top