मॉडल फिट को मापना

R में Regression परिचय

Richie Cotton

Data Evangelist at DataCamp

ब्रीम और पर्च मॉडल

ब्रीम

ट्रेंड लाइन के साथ, पहले दिखाया गया ब्रीम के द्रव्यमान बनाम लंबाई का स्कैटर प्लॉट.

पर्च

ट्रेंड लाइन के साथ, पहले दिखाया गया पर्च के द्रव्यमान बनाम लंबाई का स्कैटर प्लॉट.

R में Regression परिचय

Coefficient of determination

कभी-कभी "r-squared" या "R-squared" भी कहा जाता है.

प्रतिक्रिया वैरिएबल में वैरिएंस का वह अनुपात जो स्पष्टीकरण वैरिएबल से पूर्वानुमेय है

  • 1 का मतलब परफेक्ट फिट
  • 0 का मतलब सबसे खराब फिट
R में Regression परिचय

summary()

"Multiple R-Squared" शीर्षक वाला मान देखें

mdl_bream <- lm(mass_g ~ length_cm, data = bream)
summary(mdl_bream)
# Some lines of output omitted

Residual standard error: 74.15 on 33 degrees of freedom
Multiple R-squared:  0.8781,    Adjusted R-squared:  0.8744 
F-statistic: 237.6 on 1 and 33 DF,  p-value: < 2.2e-16
R में Regression परिचय

glance()

library(broom)
library(dplyr)
mdl_bream %>% 
  glance()
# A tibble: 1 × 12
  r.squared adj.r.squared sigma statistic  p.value    df logLik   AIC   BIC
      <dbl>         <dbl> <dbl>     <dbl>    <dbl> <dbl>  <dbl> <dbl> <dbl>
1     0.878         0.874  74.2      238. 1.22e-16     1  -199.  405.  409.
# ... with 3 more variables: deviance <dbl>, df.residual <int>, nobs <int>
mdl_bream %>% 
  glance() %>% 
  pull(r.squared)
0.8780627
R में Regression परिचय

यह बस कॉरिलेशन का स्क्वायर है

bream %>% 
  summarize(
    coeff_determination = cor(length_cm, mass_g) ^ 2
  )
  coeff_determination
1           0.8780627
R में Regression परिचय

Residual standard error (RSE)

एक "टिपिकल" अंतर, भविष्यवाणी और देखी गई प्रतिक्रिया के बीच

इसकी इकाई प्रतिक्रिया वैरिएबल जैसी ही होती है.

R में Regression परिचय

summary() फिर से

"Residual standard error" शीर्षक वाला मान देखें

summary(mdl_bream)
# Some lines of output omitted

Residual standard error: 74.15 on 33 degrees of freedom
Multiple R-squared:  0.8781,    Adjusted R-squared:  0.8744 
F-statistic: 237.6 on 1 and 33 DF,  p-value: < 2.2e-16
R में Regression परिचय

glance() फिर से

library(broom)
library(dplyr)
mdl_bream %>% 
  glance()
# A tibble: 1 x 11
  r.squared adj.r.squared sigma statistic  p.value    df logLik   AIC   BIC deviance df.residual
      <dbl>         <dbl> <dbl>     <dbl>    <dbl> <int>  <dbl> <dbl> <dbl>    <dbl>       <int>
1     0.878         0.874  74.2      238. 1.22e-16     2  -199.  405.  409.  181452.          33
mdl_bream %>% 
  glance() %>% 
  pull(sigma)
74.15224
R में Regression परिचय

RSE की गणना: शेषों का स्क्वायर

bream %>% 
  mutate(
    residuals_sq = residuals(mdl_bream) ^ 2
  )
  species mass_g length_cm residuals_sq
1   Bream    242      23.2     138.9571
2   Bream    290      24.0     260.7586
3   Bream    340      23.9    5126.9926
4   Bream    363      26.3    1318.9197
5   Bream    430      26.5     390.9743
6   Bream    450      26.8     547.9380
...
R में Regression परिचय

RSE की गणना: squared शेषों का योग

bream %>% 
  mutate(
    residuals_sq = residuals(mdl_bream) ^ 2
  ) %>% 
  summarize(
    resid_sum_of_sq = sum(residuals_sq)
  )
  resid_sum_of_sq
1        181452.3
R में Regression परिचय

RSE की गणना: degrees of freedom

Degrees of freedom बराबर होता है ऑब्जर्वेशन की संख्या माइनस मॉडल कोएफिशिएंट्स की संख्या.

bream %>% 
  mutate(
    residuals_sq = residuals(mdl_bream) ^ 2
  ) %>% 
  summarize(
    resid_sum_of_sq = sum(residuals_sq),
    deg_freedom = n() - 2
  )
  resid_sum_of_sq deg_freedom
1        181452.3          33
R में Regression परिचय

RSE की गणना: अनुपात का स्क्वायर रूट

bream %>% 
  mutate(
    residuals_sq = residuals(mdl_bream) ^ 2
  ) %>% 
  summarize(
    resid_sum_of_sq = sum(residuals_sq),
    deg_freedom = n() - 2,
    rse = sqrt(resid_sum_of_sq / deg_freedom)
  )
  resid_sum_of_sq deg_freedom      rse
1        181452.3          33 74.15224
R में Regression परिचय

RSE की व्याख्या

mdl_bream का RSE 74 है.

भविष्यवाणी किए गए ब्रीम द्रव्यमान और देखे गए द्रव्यमान में फर्क आम तौर पर लगभग 74g होता है.

R में Regression परिचय

Root-mean-square error (RMSE)

Residual standard error

bream %>% 
  mutate(
    residuals_sq = residuals(mdl_bream) ^ 2
  ) %>% 
  summarize(
    resid_sum_of_sq = sum(residuals_sq),
    deg_freedom = n() - 2,
    rse = sqrt(resid_sum_of_sq / deg_freedom)
  )

Root-mean-square error

bream %>% 
  mutate(
    residuals_sq = residuals(mdl_bream) ^ 2
  ) %>% 
  summarize(
    resid_sum_of_sq = sum(residuals_sq),
    n_obs = n(),
    rmse = sqrt(resid_sum_of_sq / n_obs)
  )
R में Regression परिचय

अभ्यास करते हैं!

R में Regression परिचय

Preparing Video For Download...