Hoe de resterende standaardfout in r te berekenen
Wanneer we een lineair regressiemodel in R passen, neemt het model de volgende vorm aan:
Y = β 0 + β 1 X + … + β ik
waarbij ϵ een foutterm is die onafhankelijk is van X.
Hoe X ook kan worden gebruikt om de waarden van Y te voorspellen, er zullen altijd willekeurige fouten in het model voorkomen. Eén manier om de spreiding van deze willekeurige fout te meten is door de resterende standaardfout te gebruiken, wat een manier is om de standaardafwijking van de residuen ϵ te meten.
De resterende standaardfout van een regressiemodel wordt als volgt berekend:
Residuele standaardfout = √ SS- residuen / df -residuen
Goud:
- Residuen SS : De resterende som van kwadraten.
- residuele df : residuele vrijheidsgraden, berekend als n – k – 1 waarbij n = totaal aantal waarnemingen en k = totaal aantal modelparameters.
Er zijn drie methoden die we kunnen gebruiken om de resterende standaardfout van een regressiemodel in R te berekenen.
Methode 1: Analyseer de modelsamenvatting
De eerste manier om de resterende standaardfout te verkrijgen, is door eenvoudigweg een lineair regressiemodel te fitten en vervolgens de opdracht summary() te gebruiken om de modelresultaten te verkrijgen. Zoek dan gewoon naar „resterende standaardfout“ onderaan de uitvoer:
#load built-in mtcars dataset data(mtcars) #fit regression model model <- lm(mpg~disp+hp, data=mtcars) #view model summary summary(model) Call: lm(formula = mpg ~ disp + hp, data = mtcars) Residuals: Min 1Q Median 3Q Max -4.7945 -2.3036 -0.8246 1.8582 6.9363 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 30.735904 1.331566 23.083 < 2nd-16 *** available -0.030346 0.007405 -4.098 0.000306 *** hp -0.024840 0.013385 -1.856 0.073679 . --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 3.127 on 29 degrees of freedom Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09
We kunnen zien dat de resterende standaardfout 3,127 is.
Methode 2: Gebruik een eenvoudige formule
Een andere manier om de resterende standaardfout (RSE) te verkrijgen, is door een lineair regressiemodel te gebruiken en vervolgens de volgende formule te gebruiken om de RSE te berekenen:
sqrt( deviance (model)/df. residual (model))
Zo implementeert u deze formule in R:
#load built-in mtcars dataset data(mtcars) #fit regression model model <- lm(mpg~disp+hp, data=mtcars) #calculate residual standard error sqrt( deviance (model)/df. residual (model)) [1] 3.126601
We kunnen zien dat de resterende standaardfout 3.126601 is.
Methode 3: Gebruik een stapsgewijze formule
Een andere manier om de resterende standaardfout te verkrijgen, is door een lineair regressiemodel te gebruiken en vervolgens een stapsgewijze aanpak te gebruiken om elke afzonderlijke component van de RSE-formule te berekenen:
#load built-in mtcars dataset data(mtcars) #fit regression model model <- lm(mpg~disp+hp, data=mtcars) #calculate the number of model parameters - 1 k=length(model$ coefficients )-1 #calculate sum of squared residuals SSE=sum(model$ residuals **2) #calculate total observations in dataset n=length(model$ residuals ) #calculate residual standard error sqrt(SSE/(n-(1+k))) [1] 3.126601
We kunnen zien dat de resterende standaardfout 3.126601 is.
Hoe de resterende standaardfout te interpreteren
Zoals eerder vermeld is de residuele standaardfout (RSE) een manier om de standaarddeviatie van de residuen in een regressiemodel te meten.
Hoe lager de CSR-waarde, hoe beter een model in de gegevens kan passen (maar wees voorzichtig met overfitting ). Dit kan een nuttige statistiek zijn om te gebruiken bij het vergelijken van twee of meer modellen om te bepalen welk model het beste bij de gegevens past.
Aanvullende bronnen
Hoe de resterende standaardfout te interpreteren
Hoe meervoudige lineaire regressie uit te voeren in R
Hoe u kunt kruisvalideren voor modelprestaties in R
Hoe de standaarddeviatie in R te berekenen