Hoe rmse in sas te berekenen


Een manier om te evalueren hoe goed een regressiemodel bij een dataset past, is door de gemiddelde kwadratische fout te berekenen, een metriek die ons de gemiddelde afstand vertelt tussen de voorspelde waarden van het model en de werkelijke waarden van de dataset.

Hoe lager de RMSE, hoe beter een bepaald model in een dataset kan ‘passen’.

De formule voor het vinden van de gemiddelde kwadratische fout, vaak afgekort als RMSE , is:

RMSE =Σ(P ik – O ik ) 2 / n

Goud:

  • Σ is een symbool dat “som” vertegenwoordigt
  • Pi is de voorspelde waarde voor de i- de waarneming in de dataset
  • O i is de waargenomen waarde voor de i- de waarneming in de dataset
  • n is de steekproefomvang

In het volgende stapsgewijze voorbeeld ziet u hoe u de RMSE berekent voor een eenvoudig lineair regressiemodel in SAS.

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 ; 

eenvoudige lineaire regressie-uitvoer in SAS

Merk op dat de RMSE in de uitvoer 3.64093 is.

Stap 3: Haal de RMSE uit het regressiemodel

Als u alleen de RMSE 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 / rmse ;
run ;
quit ;

/*print RMSE of model*/
proc print data =outest;
    var _RMSE_;
run ; 

Bereken RMSE in SAS

Houd er rekening mee dat alleen de RMSE-waarde van 3,64093 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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert