Hoe r-kwadraat in sas te berekenen
R-kwadraat , vaak geschreven als r2 , is een maatstaf voor hoe goed een lineair regressiemodel bij een reeks gegevens past.
Deze waarde vertegenwoordigt het deel van de variantie in deresponsvariabele dat kan worden verklaard door de voorspellende variabele.
De waarde van r 2 kan variëren van 0 tot 1:
- Een waarde van 0 geeft aan dat de responsvariabele helemaal niet kan worden verklaard door de voorspellende variabele.
- Een waarde van 1 geeft aan dat de responsvariabele perfect en zonder fouten kan worden verklaard door de voorspellende variabele.
Gerelateerd: Wat is een goede R-kwadraatwaarde?
In het volgende stapsgewijze voorbeeld ziet u hoe u de R-kwadraatwaarde voor een eenvoudig lineair regressiemodel in SAS kunt berekenen.
Stap 1: Creëer de gegevens
Voor dit voorbeeld maken we een dataset aan met daarin het totaal aantal gestudeerde uren en het eindexamencijfer van 15 studenten.
We passen een eenvoudig lineair regressiemodel toe met uren als voorspellende variabele en score als responsvariabele.
De volgende code laat zien hoe u deze gegevensset in SAS maakt:
/*create dataset*/ data exam_data; input hours score; datalines ; 1 64 2 66 4 76 5 73 5 74 6 81 6 83 7 82 8 80 10 88 11 84 11 82 12 91 12 93 14 89 ; run ; /*view dataset*/ proc print data =exam_data;
Stap 2: Pas het eenvoudige lineaire regressiemodel toe
Vervolgens zullen we proc reg gebruiken om in het eenvoudige lineaire regressiemodel te passen:
/*fit simple linear regression model*/ proc reg data =exam_data; model score = hours; run ;
Merk op dat de R-kwadraatwaarde in de uitvoer 0,8310 is.
Dit betekent dat 83,1% van de variatie in examenscores kan worden verklaard door het aantal gestudeerde uren.
Stap 3: Extraheer de R-kwadraatwaarde uit het regressiemodel
Als u alleen de R-kwadraatwaarde van dit model en geen van de andere uitvoerresultaten wilt weergeven, kunt u de volgende code gebruiken:
/*fit simple linear regression model*/ proc reg data =exam_data outest =outest noprint ; model score = hours / rsquare ; run ; quit ; /*print R-squared value of model*/ proc print data =outest; var _RSQ_; run ;
Houd er rekening mee dat alleen de R-kwadraatwaarde van 0,83098 in de uitvoer wordt weergegeven.
Opmerking : het noprint- argument in proc reg vertelt SAS om niet de volledige uitvoer van regressieresultaten af te drukken, zoals in de vorige stap.
Aanvullende bronnen
In de volgende zelfstudies wordt uitgelegd hoe u andere veelvoorkomende taken in SAS kunt uitvoeren:
Hoe u eenvoudige lineaire regressie uitvoert in SAS
Hoe u meerdere lineaire regressie uitvoert in SAS
Hoe polynomiale regressie uit te voeren in SAS
Hoe logistische regressie uit te voeren in SAS