Body Fat prediction

knitr::opts_chunk$set(
    echo = TRUE,
    message = TRUE,
    warning = TRUE
)
library(mplot)
## Warning: package 'mplot' was built under R version 4.0.5
data(bodyfat)
Bodyfat= bodyfat$Bodyfat
Neck   = bodyfat$Neck
Chest  = bodyfat$Chest
Abdo   = bodyfat$Abdo
Hip    = bodyfat$Hip
Thigh  = bodyfat$Thigh
Knee   = bodyfat$Knee
Ankle  = bodyfat$Ankle
Bic    = bodyfat$Bic
Fore   = bodyfat$Fore
Wrist  = bodyfat$Wrist
bf.lm <- lm(Bodyfat ~ Neck + Chest + Abdo + Hip + Thigh + Knee + Ankle + Bic + Fore + Wrist, data=subset(bodyfat,select=-Id))
summary(bf.lm)
## 
## Call:
## lm(formula = Bodyfat ~ Neck + Chest + Abdo + Hip + Thigh + Knee + 
##     Ankle + Bic + Fore + Wrist, data = subset(bodyfat, select = -Id))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.0414 -2.5037 -0.1783  2.7166  9.5073 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -10.34859    9.07550  -1.140   0.2565    
## Neck         -0.68341    0.30776  -2.221   0.0283 *  
## Chest        -0.03297    0.11898  -0.277   0.7822    
## Abdo          0.96013    0.10562   9.090 3.01e-15 ***
## Hip          -0.27401    0.16515  -1.659   0.0998 .  
## Thigh         0.03553    0.17675   0.201   0.8410    
## Knee         -0.12257    0.27596  -0.444   0.6577    
## Ankle        -0.24841    0.47587  -0.522   0.6027    
## Bic           0.03025    0.23880   0.127   0.8994    
## Fore          0.33694    0.26239   1.284   0.2016    
## Wrist        -0.26845    0.67340  -0.399   0.6909    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.054 on 117 degrees of freedom
## Multiple R-squared:  0.7487, Adjusted R-squared:  0.7272 
## F-statistic: 34.86 on 10 and 117 DF,  p-value: < 2.2e-16

As we can see the values are present:

Neck = -0.68341

Chest = -0.03297

Abdo = 0.96013

Hip = -0.27401

Thigh = 0.03553

Knee = -0.12257

Ankle = -0.24841

Bic = 0.03025

Fore = 0.33694

Wrist = -0.26845

Plot

knitr::opts_chunk$set(
    echo = TRUE,
    message = TRUE,
    warning = TRUE
)
library(ggplot2)
predicted <- predict.lm(bf.lm)
ggplot(bodyfat) + geom_point(aes(x=Id, y=Bodyfat, colour=c("red"))) + geom_point(aes(x=Id, y=predicted), colour=c("blue")) + theme(legend.position="none") + ylab("Bodyfat") + xlab("Person ID")

Red dots are real values of bodyfat and blue dots are predicted values.

Regression analysis

library(leaps)

my_summ <- summary(regsubsets(Bodyfat ~ Age + Weight + Height + Neck + Chest + Abdo + Hip + Thigh + Knee + Ankle + Bic + Fore + Wrist, data = bodyfat, nbest = 12))
my_summ
## Subset selection object
## Call: regsubsets.formula(Bodyfat ~ Age + Weight + Height + Neck + Chest + 
##     Abdo + Hip + Thigh + Knee + Ankle + Bic + Fore + Wrist, data = bodyfat, 
##     nbest = 12)
## 13 Variables  (and intercept)
##        Forced in Forced out
## Age        FALSE      FALSE
## Weight     FALSE      FALSE
## Height     FALSE      FALSE
## Neck       FALSE      FALSE
## Chest      FALSE      FALSE
## Abdo       FALSE      FALSE
## Hip        FALSE      FALSE
## Thigh      FALSE      FALSE
## Knee       FALSE      FALSE
## Ankle      FALSE      FALSE
## Bic        FALSE      FALSE
## Fore       FALSE      FALSE
## Wrist      FALSE      FALSE
## 12 subsets of each size up to 8
## Selection Algorithm: exhaustive
##           Age Weight Height Neck Chest Abdo Hip Thigh Knee Ankle Bic Fore Wrist
## 1  ( 1 )  " " " "    " "    " "  " "   "*"  " " " "   " "  " "   " " " "  " "  
## 1  ( 2 )  " " " "    " "    " "  "*"   " "  " " " "   " "  " "   " " " "  " "  
## 1  ( 3 )  " " "*"    " "    " "  " "   " "  " " " "   " "  " "   " " " "  " "  
## 1  ( 4 )  " " " "    " "    " "  " "   " "  "*" " "   " "  " "   " " " "  " "  
## 1  ( 5 )  " " " "    " "    " "  " "   " "  " " "*"   " "  " "   " " " "  " "  
## 1  ( 6 )  " " " "    " "    " "  " "   " "  " " " "   " "  " "   "*" " "  " "  
## 1  ( 7 )  " " " "    " "    " "  " "   " "  " " " "   "*"  " "   " " " "  " "  
## 1  ( 8 )  " " " "    " "    "*"  " "   " "  " " " "   " "  " "   " " " "  " "  
## 1  ( 9 )  " " " "    " "    " "  " "   " "  " " " "   " "  " "   " " " "  "*"  
## 1  ( 10 ) " " " "    " "    " "  " "   " "  " " " "   " "  "*"   " " " "  " "  
## 1  ( 11 ) " " " "    " "    " "  " "   " "  " " " "   " "  " "   " " "*"  " "  
## 1  ( 12 ) "*" " "    " "    " "  " "   " "  " " " "   " "  " "   " " " "  " "  
## 2  ( 1 )  " " "*"    " "    " "  " "   "*"  " " " "   " "  " "   " " " "  " "  
## 2  ( 2 )  " " " "    " "    "*"  " "   "*"  " " " "   " "  " "   " " " "  " "  
## 2  ( 3 )  " " " "    " "    " "  " "   "*"  "*" " "   " "  " "   " " " "  " "  
## 2  ( 4 )  " " " "    " "    " "  " "   "*"  " " " "   " "  " "   " " " "  "*"  
## 2  ( 5 )  " " " "    " "    " "  " "   "*"  " " " "   " "  "*"   " " " "  " "  
## 2  ( 6 )  " " " "    " "    " "  " "   "*"  " " " "   "*"  " "   " " " "  " "  
## 2  ( 7 )  " " " "    " "    " "  " "   "*"  " " "*"   " "  " "   " " " "  " "  
## 2  ( 8 )  " " " "    "*"    " "  " "   "*"  " " " "   " "  " "   " " " "  " "  
## 2  ( 9 )  " " " "    " "    " "  " "   "*"  " " " "   " "  " "   "*" " "  " "  
## 2  ( 10 ) " " " "    " "    " "  "*"   "*"  " " " "   " "  " "   " " " "  " "  
## 2  ( 11 ) "*" " "    " "    " "  " "   "*"  " " " "   " "  " "   " " " "  " "  
## 2  ( 12 ) " " " "    " "    " "  " "   "*"  " " " "   " "  " "   " " "*"  " "  
## 3  ( 1 )  " " " "    " "    "*"  " "   "*"  "*" " "   " "  " "   " " " "  " "  
## 3  ( 2 )  " " "*"    " "    "*"  " "   "*"  " " " "   " "  " "   " " " "  " "  
## 3  ( 3 )  " " "*"    " "    " "  " "   "*"  " " " "   " "  " "   " " " "  "*"  
## 3  ( 4 )  " " "*"    " "    " "  " "   "*"  " " " "   " "  " "   " " "*"  " "  
## 3  ( 5 )  " " " "    " "    " "  " "   "*"  "*" " "   " "  " "   " " " "  "*"  
## 3  ( 6 )  " " " "    " "    "*"  " "   "*"  " " " "   " "  "*"   " " " "  " "  
## 3  ( 7 )  " " " "    " "    "*"  " "   "*"  " " " "   "*"  " "   " " " "  " "  
## 3  ( 8 )  " " "*"    " "    " "  " "   "*"  "*" " "   " "  " "   " " " "  " "  
## 3  ( 9 )  " " "*"    "*"    " "  " "   "*"  " " " "   " "  " "   " " " "  " "  
## 3  ( 10 ) " " "*"    " "    " "  " "   "*"  " " " "   " "  "*"   " " " "  " "  
## 3  ( 11 ) " " "*"    " "    " "  "*"   "*"  " " " "   " "  " "   " " " "  " "  
## 3  ( 12 ) "*" "*"    " "    " "  " "   "*"  " " " "   " "  " "   " " " "  " "  
## 4  ( 1 )  " " "*"    " "    "*"  " "   "*"  " " " "   " "  " "   " " "*"  " "  
## 4  ( 2 )  " " " "    " "    "*"  " "   "*"  "*" " "   " "  " "   " " "*"  " "  
## 4  ( 3 )  " " " "    " "    "*"  " "   "*"  "*" " "   " "  " "   "*" " "  " "  
## 4  ( 4 )  " " "*"    " "    "*"  " "   "*"  "*" " "   " "  " "   " " " "  " "  
## 4  ( 5 )  " " " "    " "    "*"  " "   "*"  "*" " "   "*"  " "   " " " "  " "  
## 4  ( 6 )  " " " "    " "    "*"  " "   "*"  "*" " "   " "  "*"   " " " "  " "  
## 4  ( 7 )  " " " "    " "    "*"  " "   "*"  "*" " "   " "  " "   " " " "  "*"  
## 4  ( 8 )  " " " "    " "    "*"  " "   "*"  "*" "*"   " "  " "   " " " "  " "  
## 4  ( 9 )  " " " "    "*"    "*"  " "   "*"  "*" " "   " "  " "   " " " "  " "  
## 4  ( 10 ) "*" " "    " "    "*"  " "   "*"  "*" " "   " "  " "   " " " "  " "  
## 4  ( 11 ) " " " "    " "    "*"  "*"   "*"  "*" " "   " "  " "   " " " "  " "  
## 4  ( 12 ) " " "*"    " "    " "  " "   "*"  " " " "   " "  " "   " " "*"  "*"  
## 5  ( 1 )  " " "*"    " "    "*"  " "   "*"  "*" " "   " "  " "   " " "*"  " "  
## 5  ( 2 )  " " "*"    "*"    "*"  " "   "*"  " " " "   " "  " "   " " "*"  " "  
## 5  ( 3 )  " " "*"    " "    "*"  " "   "*"  " " " "   " "  " "   " " "*"  "*"  
## 5  ( 4 )  " " "*"    " "    "*"  " "   "*"  " " " "   " "  "*"   " " "*"  " "  
## 5  ( 5 )  " " " "    " "    "*"  " "   "*"  "*" " "   " "  "*"   " " "*"  " "  
## 5  ( 6 )  " " "*"    " "    "*"  "*"   "*"  " " " "   " "  " "   " " "*"  " "  
## 5  ( 7 )  " " " "    " "    "*"  " "   "*"  "*" " "   "*"  " "   " " "*"  " "  
## 5  ( 8 )  " " " "    " "    "*"  " "   "*"  "*" " "   " "  " "   " " "*"  "*"  
## 5  ( 9 )  " " "*"    " "    "*"  " "   "*"  " " " "   "*"  " "   " " "*"  " "  
## 5  ( 10 ) " " "*"    " "    "*"  " "   "*"  " " "*"   " "  " "   " " "*"  " "  
## 5  ( 11 ) " " "*"    " "    "*"  " "   "*"  " " " "   " "  " "   "*" "*"  " "  
## 5  ( 12 ) "*" "*"    " "    "*"  " "   "*"  " " " "   " "  " "   " " "*"  " "  
## 6  ( 1 )  " " "*"    " "    "*"  " "   "*"  "*" " "   " "  " "   " " "*"  "*"  
## 6  ( 2 )  " " "*"    " "    "*"  " "   "*"  "*" " "   " "  "*"   " " "*"  " "  
## 6  ( 3 )  " " "*"    "*"    "*"  "*"   "*"  " " " "   " "  " "   " " "*"  " "  
## 6  ( 4 )  " " "*"    "*"    "*"  " "   "*"  "*" " "   " "  " "   " " "*"  " "  
## 6  ( 5 )  " " "*"    " "    "*"  " "   "*"  "*" " "   " "  " "   "*" "*"  " "  
## 6  ( 6 )  " " "*"    " "    "*"  " "   "*"  "*" "*"   " "  " "   " " "*"  " "  
## 6  ( 7 )  " " "*"    " "    "*"  " "   "*"  "*" " "   "*"  " "   " " "*"  " "  
## 6  ( 8 )  " " "*"    " "    "*"  "*"   "*"  "*" " "   " "  " "   " " "*"  " "  
## 6  ( 9 )  "*" "*"    " "    "*"  " "   "*"  "*" " "   " "  " "   " " "*"  " "  
## 6  ( 10 ) " " "*"    "*"    "*"  " "   "*"  " " " "   " "  " "   " " "*"  "*"  
## 6  ( 11 ) " " "*"    "*"    "*"  " "   "*"  " " " "   " "  "*"   " " "*"  " "  
## 6  ( 12 ) " " "*"    " "    "*"  "*"   "*"  " " " "   " "  " "   " " "*"  "*"  
## 7  ( 1 )  " " "*"    "*"    "*"  " "   "*"  "*" " "   " "  " "   " " "*"  "*"  
## 7  ( 2 )  " " "*"    "*"    "*"  "*"   "*"  " " " "   " "  " "   " " "*"  "*"  
## 7  ( 3 )  " " "*"    " "    "*"  " "   "*"  "*" " "   " "  "*"   " " "*"  "*"  
## 7  ( 4 )  " " "*"    "*"    "*"  "*"   "*"  "*" " "   " "  " "   " " "*"  " "  
## 7  ( 5 )  " " "*"    " "    "*"  " "   "*"  "*" " "   " "  " "   "*" "*"  "*"  
## 7  ( 6 )  " " "*"    "*"    "*"  "*"   "*"  " " " "   " "  " "   "*" "*"  " "  
## 7  ( 7 )  " " "*"    "*"    "*"  " "   "*"  "*" " "   " "  " "   "*" "*"  " "  
## 7  ( 8 )  " " "*"    "*"    "*"  "*"   "*"  " " "*"   " "  " "   " " "*"  " "  
## 7  ( 9 )  " " "*"    "*"    "*"  " "   "*"  "*" " "   " "  "*"   " " "*"  " "  
## 7  ( 10 ) " " "*"    " "    "*"  "*"   "*"  "*" " "   " "  " "   " " "*"  "*"  
## 7  ( 11 ) " " "*"    " "    "*"  " "   "*"  "*" " "   "*"  " "   " " "*"  "*"  
## 7  ( 12 ) " " "*"    " "    "*"  " "   "*"  "*" "*"   " "  " "   " " "*"  "*"  
## 8  ( 1 )  " " "*"    "*"    "*"  "*"   "*"  "*" "*"   " "  " "   " " "*"  " "  
## 8  ( 2 )  " " "*"    "*"    "*"  "*"   "*"  "*" " "   " "  " "   " " "*"  "*"  
## 8  ( 3 )  " " "*"    "*"    "*"  "*"   "*"  "*" " "   " "  " "   "*" "*"  " "  
## 8  ( 4 )  " " "*"    "*"    "*"  " "   "*"  "*" " "   " "  " "   "*" "*"  "*"  
## 8  ( 5 )  " " "*"    "*"    "*"  "*"   "*"  " " " "   " "  " "   "*" "*"  "*"  
## 8  ( 6 )  " " "*"    "*"    "*"  " "   "*"  "*" "*"   " "  "*"   " " "*"  " "  
## 8  ( 7 )  " " "*"    "*"    "*"  " "   "*"  "*" " "   " "  "*"   " " "*"  "*"  
## 8  ( 8 )  " " "*"    "*"    "*"  "*"   "*"  " " "*"   " "  " "   " " "*"  "*"  
## 8  ( 9 )  " " "*"    "*"    "*"  " "   "*"  "*" "*"   " "  " "   " " "*"  "*"  
## 8  ( 10 ) " " "*"    "*"    "*"  "*"   "*"  "*" " "   " "  "*"   " " "*"  " "  
## 8  ( 11 ) " " "*"    "*"    "*"  " "   "*"  "*" " "   " "  "*"   "*" "*"  " "  
## 8  ( 12 ) " " "*"    "*"    "*"  " "   "*"  "*" " "   "*"  " "   " " "*"  "*"