who <- read.csv("who.csv")
head(who)
## Country LifeExp InfantSurvival Under5Survival TBFree
## 1 Afghanistan 42 0.835 0.743 0.99769
## 2 Albania 71 0.985 0.983 0.99974
## 3 Algeria 71 0.967 0.962 0.99944
## 4 Andorra 82 0.997 0.996 0.99983
## 5 Angola 41 0.846 0.740 0.99656
## 6 Antigua and Barbuda 73 0.990 0.989 0.99991
## PropMD PropRN PersExp GovtExp TotExp
## 1 0.000228841 0.000572294 20 92 112
## 2 0.001143127 0.004614439 169 3128 3297
## 3 0.001060478 0.002091362 108 5184 5292
## 4 0.003297297 0.003500000 2589 169725 172314
## 5 0.000070400 0.001146162 36 1620 1656
## 6 0.000142857 0.002773810 503 12543 13046
summary(who)
## Country LifeExp InfantSurvival
## Afghanistan : 1 Min. :40.00 Min. :0.8350
## Albania : 1 1st Qu.:61.25 1st Qu.:0.9433
## Algeria : 1 Median :70.00 Median :0.9785
## Andorra : 1 Mean :67.38 Mean :0.9624
## Angola : 1 3rd Qu.:75.00 3rd Qu.:0.9910
## Antigua and Barbuda: 1 Max. :83.00 Max. :0.9980
## (Other) :184
## Under5Survival TBFree PropMD PropRN
## Min. :0.7310 Min. :0.9870 Min. :0.0000196 Min. :0.0000883
## 1st Qu.:0.9253 1st Qu.:0.9969 1st Qu.:0.0002444 1st Qu.:0.0008455
## Median :0.9745 Median :0.9992 Median :0.0010474 Median :0.0027584
## Mean :0.9459 Mean :0.9980 Mean :0.0017954 Mean :0.0041336
## 3rd Qu.:0.9900 3rd Qu.:0.9998 3rd Qu.:0.0024584 3rd Qu.:0.0057164
## Max. :0.9970 Max. :1.0000 Max. :0.0351290 Max. :0.0708387
##
## PersExp GovtExp TotExp
## Min. : 3.00 Min. : 10.0 Min. : 13
## 1st Qu.: 36.25 1st Qu.: 559.5 1st Qu.: 584
## Median : 199.50 Median : 5385.0 Median : 5541
## Mean : 742.00 Mean : 40953.5 Mean : 41696
## 3rd Qu.: 515.25 3rd Qu.: 25680.2 3rd Qu.: 26331
## Max. :6350.00 Max. :476420.0 Max. :482750
##
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.3.3
ggplot(data = who, aes(x=who$LifeExp, y=who$TotExp)) + geom_point(size = 2, alpha = .4) + geom_smooth(method = "lm", se = FALSE)
# linear model
Linear =lm(LifeExp~ TotExp, data = who)
summary(Linear)
##
## Call:
## lm(formula = LifeExp ~ TotExp, data = who)
##
## Residuals:
## Min 1Q Median 3Q Max
## -24.764 -4.778 3.154 7.116 13.292
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.475e+01 7.535e-01 85.933 < 2e-16 ***
## TotExp 6.297e-05 7.795e-06 8.079 7.71e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 9.371 on 188 degrees of freedom
## Multiple R-squared: 0.2577, Adjusted R-squared: 0.2537
## F-statistic: 65.26 on 1 and 188 DF, p-value: 7.714e-14
the linear model is as follow: LifeExp=6.475e+6.297e-05*TotExp
It is a a statistically significant predictor of evaluation score with p-value less than 0.05. But for Multiple R-squared and R-squared, the model is only around 25% fits the data.
qqnorm(Linear$residuals)
qqline(Linear$residuals)
Q-Q plot are not uniformly scattered and especially have deviation at lower and quantiles. The residuals does not show randomly.
raiseLifeExp <- who$LifeExp^4.6
raiseTotExp <- who$TotExp^0.06
# simple regression model
Linear2 =lm(raiseLifeExp~ raiseTotExp, data = who)
summary(Linear2)
##
## Call:
## lm(formula = raiseLifeExp ~ raiseTotExp, data = who)
##
## Residuals:
## Min 1Q Median 3Q Max
## -308616089 -53978977 13697187 59139231 211951764
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -736527910 46817945 -15.73 <2e-16 ***
## raiseTotExp 620060216 27518940 22.53 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 90490000 on 188 degrees of freedom
## Multiple R-squared: 0.7298, Adjusted R-squared: 0.7283
## F-statistic: 507.7 on 1 and 188 DF, p-value: < 2.2e-16
the linear model is as follow: LifeExp=-736527910+620060216*TotExp
It is a a statistically significant predictor of evaluation score with p-value less than 0.05. For Multiple R-squared and R-squared, the model is only around 72% fits the data.
This model using the transformed variables has a larger Multiple R-squared and R-squared, so it is better than first one.
qqnorm(Linear2$residuals)
qqline(Linear2$residuals)
Q-Q plot are more uniformly scattered than first oneand still have deviation at lower and quantiles.
From 3: LifeExp=-736527910+620060216*TotExp
Forest lift expectancy? when TotExp^.06 =1.5
# raiseLife = LifeExp^4.6
TotExp <- 1.5
raiseLife <- -736527910 + 620060216*TotExp
raiseLife
## [1] 193562414
LifeExp <- raiseLife ^(1/4.6)
LifeExp
## [1] 63.31153
forecast life expectancy is 63.3 when TotExp^.06 =1.5.
Forest lift expectancy? when TotExp^.06 =2.5
# raiseLife = LifeExp^4.6
TotExp <- 2.5
raiseLife <- -736527910 + 620060216*TotExp
raiseLife
## [1] 813622630
LifeExp <- raiseLife ^(1/4.6)
LifeExp
## [1] 86.50645
forecast life expectancy is 86.5 when TotExp^.06 =2.5.
LifeExp = b0+b1 x PropMd + b2 x TotExp +b3 x PropMD x TotExp
multiplemodel <- lm(LifeExp ~ PropMD + TotExp + PropMD*TotExp, data = who)
summary(multiplemodel)
##
## Call:
## lm(formula = LifeExp ~ PropMD + TotExp + PropMD * TotExp, data = who)
##
## Residuals:
## Min 1Q Median 3Q Max
## -27.320 -4.132 2.098 6.540 13.074
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 6.277e+01 7.956e-01 78.899 < 2e-16 ***
## PropMD 1.497e+03 2.788e+02 5.371 2.32e-07 ***
## TotExp 7.233e-05 8.982e-06 8.053 9.39e-14 ***
## PropMD:TotExp -6.026e-03 1.472e-03 -4.093 6.35e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 8.765 on 186 degrees of freedom
## Multiple R-squared: 0.3574, Adjusted R-squared: 0.3471
## F-statistic: 34.49 on 3 and 186 DF, p-value: < 2.2e-16
the linear model is as follow: LifeExp=6.27710 + 1.497103PropMD + 7.23310-5TotExp -6.02610^-3 PropMDTotExp
F-statistic with P-value < 0.05, it is a a statistically significant predictor of evaluation score. The Multiple R-squared and adjusted R-squared is only 34%-35% fit the data.
The F-Statistic of 34.49 with a very small p-value show us that the currect model is better than the model with one less predictor. The R2R2 value of .357 means the model explains 35.7% of the data which isn’t very good. The Adjusted R2R2 is more accurate by filtering out the noise but with a slightly lower value of .347. The p-values are still very small meaning all the variables are very relevant to the model. The Std. Errors are good for the intercept, PropMD, TotExp but not for other (TotExp X PropMD). The Residuals look like they have a normal distribution around zero which is good.
qqnorm(multiplemodel$residuals)
qqline(multiplemodel$residuals)
PropMD <- 0.03
TotExp <- 14
LifeExp<- (6.277*10) + (1.497*10^3)*PropMD + (7.233*10^-5)*TotExp - (6.026*10^-3) *PropMD*TotExp
LifeExp
## [1] 107.6785
107 lifeExpected age is not realistic and impossible. Because the maximium of LifeExp is only 83.