Einföld aðfallsgreining

Smíðum líkan

Getum notað lm() til að smíða líkan (linear regression)

lm.likan <- lm(fylgibreyta ~ frumbreyta, data=df)

Skipunin er hér “Ég vil smíða línulegt líkan sem heitir lm.likan, í því vil ég spá fyrir um fylgibreyta með frumbreyta úr gagnasafninu df.

Dæmi: Keyrum líkan þar sem við spáum fyrir um verð út frá stærð

lm.likan <- lm(verð~stærð, data=df)

Niðurstöður líkans

Fáum niðurstöður líkansins með summary().

summary(lm.likan)

Call:
lm(formula = verð ~ stærð, data = df)

Residuals:
   Min     1Q Median     3Q    Max 
-26522  -6565  -1039   5818  33998 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 28031.753   1603.018   17.49   <2e-16 ***
stærð         152.859      7.709   19.83   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 9733 on 498 degrees of freedom
Multiple R-squared:  0.4412,    Adjusted R-squared:  0.4401 
F-statistic: 393.2 on 1 and 498 DF,  p-value: < 2.2e-16

Getum einnig fegrað niðurstöðurnar með summ() úr pakkanum jtools

summ(lm.likan)
Observations 500
Dependent variable verð
Type OLS linear regression
F(1,498) 393.17
0.44
Adj. R² 0.44
Est. S.E. t val. p
(Intercept) 28031.75 1603.02 17.49 0.00
stærð 152.86 7.71 19.83 0.00
Standard errors: OLS
  • Athugið að niðurstöðurnar sem fást í R eru örlítið frábrugðnar þeim sem fást þegar skjalið hefur verið prjónað líkt og hér að ofan.

Hallastuðlar

Við getum beðið um hallastuðla líkansins með coef().

coef(lm.likan)
(Intercept)       stærð 
 28031.7528    152.8594 

Öryggisbil

Til að fá öryggisbil hallastuðla getum við notað confint()

confint(lm.likan)
                 2.5 %     97.5 %
(Intercept) 24882.2417 31181.2639
stærð         137.7131   168.0057

Við getum einnig notað Confint() úr car pakkanum en þá fást bæði hallastuðlar og öryggisbil þeirra.

Confint(lm.likan)
              Estimate      2.5 %     97.5 %
(Intercept) 28031.7528 24882.2417 31181.2639
stærð         152.8594   137.7131   168.0057

Myndrit

Nota plot() til að teikna samband breytanna og nota síðan abline() til að bæta aðfallslínu líkansins inn á myndritið.

plot(verð ~ stærð, data = df)
abline(lm.likan, lwd = 2, col = "red")

  • lwd stjórnar þykkt línu
  • col stjórnar lit línu
  • Einnig hægt að bæta við grid() sem yrði þá bætt við í sér línu.

Stuðlar líkansins

Stundum viljum við geta dregið tiltekna stuðla úr líkaninu. Til dæmis gætum við viljað tilgreina í samfelldu máli hvert skýringarhlutfall líkansins væri. Að mínu mati er einfaldast að vista summary(likan) sem hlut, þá er hægt að bæta $ á bak við og við fáum strax uppástungur fyrir þau gildi sem okkur standa til boða.

Byrjum á því að vista summary() sem hlut:

summary.likan <- summary(lm.likan)

Nú getum við sett $ á bak við summary.likan og þá koma fjölmargar uppástungur. Biðjum hér um skýringarhlutfall

summary.likan$r.squared
[1] 0.4411851

Möguleikarnir eru: call, terms, residuals, coefficients, aliased, sigma, df, r.squared, adj.r.squared, fstatistic, cov.unscaled

  • Ath. ef þú færð ekki sjálfkrafa upp möguleika þá gætir þú þurft að ýta á tab á lyklaborðinu þínu.