The attached who.csv dataset contains real-world data from 2008. The variables included follow.

Country: name of the country

LifeExp: average life expectancy for the country in years

InfantSurvival: proportion of those surviving to one year or more

Under5Survival: proportion of those surviving to five years or more

TBFree: proportion of the population without TB.

PropMD: proportion of the population who are MDs

PropRN: proportion of the population who are RNs

PersExp: mean personal expenditures on healthcare in US dollars at average exchange rate

GovtExp: mean government expenditures per capita on healthcare, US dollars at average exchange rate

TotExp: sum of personal and government expenditures.

df_who <- read.csv("https://raw.githubusercontent.com/tonyCUNY/tonyCUNY/main/who.csv")
head(df_who)
##               Country LifeExp InfantSurvival Under5Survival  TBFree      PropMD
## 1         Afghanistan      42          0.835          0.743 0.99769 0.000228841
## 2             Albania      71          0.985          0.983 0.99974 0.001143127
## 3             Algeria      71          0.967          0.962 0.99944 0.001060478
## 4             Andorra      82          0.997          0.996 0.99983 0.003297297
## 5              Angola      41          0.846          0.740 0.99656 0.000070400
## 6 Antigua and Barbuda      73          0.990          0.989 0.99991 0.000142857
##        PropRN PersExp GovtExp TotExp
## 1 0.000572294      20      92    112
## 2 0.004614439     169    3128   3297
## 3 0.002091362     108    5184   5292
## 4 0.003500000    2589  169725 172314
## 5 0.001146162      36    1620   1656
## 6 0.002773810     503   12543  13046
  1. Provide a scatterplot of LifeExp~TotExp, and run simple linear regression. Do not transform the variables. Provide and interpret the F statistics, R^2, standard error,and p-values only. Discuss whether the assumptions of simple linear regression met.
# dependent variable - average life expectancy = LifeExp
# independent variable - sum of personal and government expenditures = TotExp

plot(df_who$TotExp, df_who$LifeExp, xlab = "Total expenditures", ylab = "Average life expectancye")

who_lm <- lm(LifeExp ~ TotExp, data=df_who)
summary(who_lm)
## 
## Call:
## lm(formula = LifeExp ~ TotExp, data = df_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

F-statistic indicate if there is a relationship between our dependent and independent variables. The further the F-statistic is from 1 the better it is.

When the number of data points is large, an F-statistic that is only a little bit larger than 1 is already sufficient to reject the null hypothesis (H0 : There is no relationship between LifeExp and TotExp).

If the number of data points is small, a large F-statistic is required to be able to ascertain that there may be a relationship between dependent and independent variables. In this case the F-statistic is 65.26 which is relatively larger than 1 given the size of the data.

The reported R2 of 0.2577 for this model means that 25.77% of the variability in stopping distance is explained by the variation in speed.

The standard error for TotExp is 7.795e-06 times smaller than the coefficient value

The p-value for the slope estimate for TotExp is 7.71e-14 - a tiny value. This means, that the probability of observing a t value of 7.795e-06 or more extreme (in absolute value), assuming there is no linear relationship between the TotExp and the LifeExp, is less than 7.71e-14

Since this value is so small, we can say that there is strong evidence of a linear relationship between TotExp and LifeExp.

  1. Raise life expectancy to the 4.6 power (i.e., LifeExp^4.6). Raise total expenditures to the 0.06 power (nearly a log transform, TotExp^.06). Plot LifeExp^4.6 as a function of TotExp^.06, and r re-run the simple regression model using the transformed variables. Provide and interpret the F statistics, R^2, standard error, and p-values. Which model is “better?”
plot(df_who$TotExp^.06, df_who$LifeExp^4.6, xlab = "Total expenditures", ylab = "Average life expectancye")

who_lm2 <- lm((df_who$LifeExp^4.6)~I(df_who$TotExp^.06))
summary(who_lm2)
## 
## Call:
## lm(formula = (df_who$LifeExp^4.6) ~ I(df_who$TotExp^0.06))
## 
## 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 ***
## I(df_who$TotExp^0.06)  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

Reported R^2 increased to 0.7298 and F-Statistic increased to 507. P-value of TotExp^0.06 is less than 0.05, which mean it is statistically significant. These information indicated this is a better model.

  1. Using the results from 3, forecast life expectancy when TotExp^.06 =1.5. Then forecast life expectancy when TotExp^.06=2.5.
y <- -736527910 + 620060216 * (1.5)
y_sq <- y^(1/4.6)
print(y_sq)
## [1] 63.31153
y <- -736527910 + 620060216 * (2.5)
y_sq <- y^(1/4.6)
print(y_sq)
## [1] 86.50645
  1. Build the following multiple regression model and interpret the F Statistics, R^2, standard error, and p-values. How good is the model? LifeExp = b0+b1 x PropMd + b2 x TotExp +b3 x PropMD x TotExp
who_lm_m <- lm(df_who$LifeExp ~ df_who$PropMD + df_who$TotExp + df_who$PropMD*df_who$TotExp)
summary(who_lm_m)
## 
## Call:
## lm(formula = df_who$LifeExp ~ df_who$PropMD + df_who$TotExp + 
##     df_who$PropMD * df_who$TotExp)
## 
## 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 ***
## df_who$PropMD                1.497e+03  2.788e+02   5.371 2.32e-07 ***
## df_who$TotExp                7.233e-05  8.982e-06   8.053 9.39e-14 ***
## df_who$PropMD:df_who$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
par(mfrow=c(2,2))
plot(who_lm_m)
## Warning in sqrt(crit * p * (1 - hh)/hh): NaNs produced

## Warning in sqrt(crit * p * (1 - hh)/hh): NaNs produced

P-value of each independent variable is less then 0.05, which are all statistically significant.

The R2 is 0.3574, which means 35.74% of the variability in LifeExp is explained by the variation in these independent variable.

The Q-Q plot follow a straight line which tells us the residuals from the model are normally distributed.

These information tells us this is a relatively good model.

  1. Forecast LifeExp when PropMD=.03 and TotExp = 14. Does this forecast seem realistic? Why or why not?
fore_le <- ( (6.277*10^1) + (1.497*10^3)*.03 + (7.233*10^(-5))*14 - ((6.026*10^(-3))*0.03*14) ) 
fore_le
## [1] 107.6785

No. It’s not realistic since 107 years old is very rare.