Hur man utvärderar Linear Data med R

February 17

Naturligtvis ger R en hel uppsättning olika tester och åtgärder för att utvärdera hur bra din modell passar dina data samt titta på modellantaganden. Återigen, är översikten presenteras här långt ifrån komplett, men det ger dig en uppfattning om vad som är möjligt och en utgångspunkt för att titta djupare in i frågan.

Hur sammanfatta modellen

Sammanfattningen () funktionen omedelbart återgår F-test för modeller konstruerade med AOV (). För lm () modeller, detta är något annorlunda. Ta en titt på utgången:

> Model.summary <- sammanfattning (Model)
> Model.summary
Ring:
lm (formel = mpg ~ wt, data = mtcars)
Residuals:
Min 1Q Median 3Q Max
-4,5432 -2,3647 -0,1252 1,4096 6,8727
Koefficienter:
Uppskattning Std. Fel t-värdet Pr (> | t |)
(Intercept) 37,2851 1,8776 19,858 <2e-16 ***
vikt- -5,3445 0,5591 -9,559 1.29e-10 ***
---
Signif. koder: 0 '***' 0.001 '**' 0.01 '*' 0,05 '.' 0.1 '' 1
Rest standardfel: 3,046 på 30 frihetsgrader
Flera R-kvadrat: 0,7528, Justerat R-kvadrat: 0,7446
F-statistik: 91,38 den 1 och 30 DF, p-värde: 1.294e-10

Det är en hel del användbar information. Här ser du följande:

  • Fördelningen av residualerna, vilket ger dig en första uppfattning om hur väl antaganden om en linjär modell håll
  • De koefficienter åtföljs av en t-test, som talar om i vilken utsträckning varje koefficient skiljer sig avsevärt från noll
  • De godhet-of-fit åtgärder R2 och justerade R2
  • F-test som ger dig en uppfattning om huruvida din modell förklarar en betydande del av variansen i data

Du kan använda coef () för att extrahera en matris med beräkningarna, standardfel och t-värde och p-värde för koefficienterna från sammanfattningen objekt så här:

> Coef (Model.summary)
Uppskattning Std. Fel t-värdet Pr (> | t |)
(Intercept) 37,285126 1,877627 19,857575 8.241799e-19
vikt- -5,344472 0,559101 -9,559044 1.293959e-10

Om dessa villkor inte berätta något, slå upp dem i en bra källa om modellering. För en omfattande introduktion till att tillämpa och tolka linjära modeller korrekt, kolla in Linjära statistiska Tillämpad Modeller, 5th Edition, av Michael Kutner et al (McGraw-Hill / Irwin).

Hur man testar effekten av modellvillkor

För att få en variansanalys bordet - som sammanfattningen () funktionen gör för en ANOVA-modell - du helt enkelt använda ANOVA () funktion och ge det den lm () modellobjekt som ett argument, som den här:

> Model.anova <- ANOVA (Model)
> Model.anova
Variansanalys Tabell
Response: mpg
Df Sum Sq Mean Sq F-värde Pr (> F)
wt 1 847,73 847,73 91,375 1.294e-10 ***
Residuals 30 278,32 9,28
---
Signif. koder: 0 '***' 0.001 '**' 0.01 '*' 0,05 '.' 0.1 '' 1

Här är den resulterande objektet en dataram som låter dig extrahera något värde från tabellen med hjälp av delmängder och indexering verktyg. Till exempel, för att få p-värdet, kan du göra följande:

> Model.anova ["wt", "Pr (> F) ']
[1] 1.293959e-10

Du kan tolka detta värde som sannolikheten att lägga variabeln wt till modellen inte gör någon skillnad. Det låga P-värdet här anger att vikten av en bil (wt) förklarar en betydande del av skillnaden i körsträcka (mpg) mellan bilar. Detta bör inte komma som en överraskning; en tyngre bil gör verkligen behöver mer kraft för att dra sin egen vikt runt.

Du kan använda ANOVA () för att jämföra olika modeller också, och många modellerings paket ger den funktionaliteten. Du hittar exempel på detta på de flesta av de relaterade hjälpsidor som? Anova.lm och? Anova.glm.