Multivariate regression. Calculate the AIC value for the regression of height vs weight for the !Kung data with and without sex using lm(), and your own likelihood function. Based on these AIC scores, which is the better model?.

First using lm()

library(rethinking)
data(Howell1)
d <- Howell1
d2 <- d[ d$age >= 18 , ]
head(d2)
plot(height~weight, data=d2)


# Scaling the predictor variable weight and the response varible height
# both to mean = 0, sd = 1.
d3<-d2
d3[,'weight']<-scale(d3[,'weight'])
plot(height~weight, data=d3)

Fit a linear model using lm()

height~Normal(mu,sigma) mu<-intercept + betaWeight * Weight

AIC(out)
[1] 2148.024

Adding a model with sex

height~Normal(mu,sigma) mu<-intercept + betaWeight * Weight + betaMale * male

outSex<-lm(height~weight + male, data=d3)
summary(outSex,correlation=TRUE) # # correlation about -0.99

Call:
lm(formula = height ~ weight + male, data = d3)

Residuals:
     Min       1Q   Median       3Q      Max 
-21.7859  -2.5506   0.4669   2.6278  14.1486 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 151.5501     0.3391  446.98   <2e-16 ***
weight        4.1399     0.2678   15.46   <2e-16 ***
male          6.5003     0.5359   12.13   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 4.272 on 349 degrees of freedom
Multiple R-squared:  0.6973,    Adjusted R-squared:  0.6955 
F-statistic: 401.9 on 2 and 349 DF,  p-value: < 2.2e-16

Correlation of Coefficients:
       (Intercept) weight
weight  0.39             
male   -0.74       -0.52 
library(stats)
sigma(outSex)
[1] 4.272153
AIC(outSex)
[1] 2026.211
BIC(outSex)
[1] 2041.665

AIC of model with weight + sex-> 2026.211 AIC of model with weight-> 2148.024

Fitting with my own likelihood function

Likelihood function with weight:

nllNormReg<-function(parVec,data=d3){
  wt<-data$weight
  ht<-data$height
  intercept<-parVec[1]
  betaW<-parVec[2]
  mySd<-parVec[3]
  htPred<-intercept+betaW*wt
  nllik<- -sum(dnorm(x=ht,mean=htPred,sd=mySd,log=TRUE))
  #browser()
  return(nllik)
}
parVec<-c(1.0,2.0,2.0) # Need some starting parameters for gradient climbing/descending methods
outLM<-optim(par=parVec,fn=nllNormReg,method="L-BFGS-B",
               lower=c(-Inf,-Inf,0.0001),upper=c(Inf,Inf,Inf))
# 
AIC<- 2*outLM$value + 2*3

outLM$par
[1] 154.597093   5.843509   5.071867
AIC
[1] 2148.024

Likelihood function with weight and sex:

nllNormReg<-function(parVec,data=d3){
  wt<-data$weight
  ht<-data$height
  male<-data$male
  intercept<-parVec[1]
  betaW<-parVec[2]
  betaM<-parVec[3]
  mySd<-parVec[4]
  htPred<-intercept+betaW*wt + betaM*male
  nllik<- -sum(dnorm(x=ht,mean=htPred,sd=mySd,log=TRUE))
  #browser()
  return(nllik)
}
parVec<-c(1.0,2.0,2.0,2.0) # Need some starting parameters for gradient climbing/descending methods
outLM<-optim(par=parVec,fn=nllNormReg,method="L-BFGS-B",
               lower=c(-Inf,-Inf,-Inf,0.0001),upper=c(Inf,Inf,Inf,Inf))
# 
AIC<- 2*outLM$value + 2*4

outLM$par
[1] 151.550099   4.139819   6.500287   4.253915
AIC
[1] 2026.211

7E1. State the three motivating criteria that define information entropy. Try to express each in your own words.

The criteria for this measure of “uncertainty” are:

(1) Continuity. The measure is not discrete, but it may be bounded. So it can have a minimum and maximum, but it must be continuous in between.

(2) Increasing with the number of events. When more distinct things can happen,and all else is equal, there is more uncertainty than when fewer things can happen.

(3) Additivity. This is hardest one to understand for most people. Additivity is desirable because it means we can redefine event categories without changing the amount of uncertainty.

7E3. Suppose a four-sided die is loaded such that, when tossed onto a table, it shows “1” 20%, “2” 25%, “3” 25%, and “4” 30% of the time. What is the entropy of this die?

-(0.2*log(0.2) + 2*0.25*log(0.25) + 0.3*log(0.3))
[1] 1.376227

7H1. In 2007, The Wall Street Journal published an editorial (“We’re Number One, Alas”) with a graph of corporate tax rates in 29 countries plotted against tax revenue. A badly fit curve was drawn in (reconstructed at right), seemingly by hand, to make the argument that the relationship between tax rate and tax revenue increases and then declines, such that higher tax rates can actually produce less tax revenue. I want you to actually fit a curve to these data, found in data(Laffer). Consider models that use tax rate to predict tax revenue. Compare, using WAIC or PSIS, a straight-line model to any curved models you like. What do you conclude about the relationship between tax rate and tax revenue? (See the associated figure for this problem in the book.)

data(Laffer)
plot(tax_revenue~tax_rate, data=Laffer)

library(rethinking)

modelLM<- quap(
    alist(
        tax_revenue ~ dnorm( mu , sigma ) ,
        mu <- intercept + beta*tax_rate,
        intercept ~ dnorm( 100 , 100 ) ,
        beta~dnorm(0,5),
        sigma ~ dunif( 0 , 50 )
    ) , data=Laffer )

modelQuad <- quap(
    alist(
        tax_revenue ~ dnorm( mu , sigma ) ,
        mu <- intercept + beta*tax_rate + beta2*tax_rate^2,
        intercept ~ dnorm( 100 , 100 ) ,
        beta~dnorm(0,5),
        beta2~dnorm(0,5),
        sigma ~ dunif( 0 , 50 )
    ) , data=Laffer )

# precis(modelQUAP)
# WAIC(modelQUAP)
compare(modelLM, modelQuad , func=WAIC) 
NA
LS0tCnRpdGxlOiAiTWVldGluZyA3IFNvbHV0aW9ucyIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKTXVsdGl2YXJpYXRlIHJlZ3Jlc3Npb24uICBDYWxjdWxhdGUgdGhlIEFJQyB2YWx1ZSBmb3IgdGhlIHJlZ3Jlc3Npb24gb2YgaGVpZ2h0IAp2cyB3ZWlnaHQgZm9yIHRoZSAhS3VuZyBkYXRhICB3aXRoIGFuZCB3aXRob3V0IHNleCB1c2luZyAgbG0oKSwgYW5kIHlvdXIgb3duIApsaWtlbGlob29kIGZ1bmN0aW9uLiAgQmFzZWQgb24gdGhlc2UgQUlDIHNjb3Jlcywgd2hpY2ggaXMgdGhlIGJldHRlciBtb2RlbD8uIAoKCkZpcnN0IHVzaW5nIGxtKCkKCgpgYGB7cn0KbGlicmFyeShyZXRoaW5raW5nKQpkYXRhKEhvd2VsbDEpCmQgPC0gSG93ZWxsMQpkMiA8LSBkWyBkJGFnZSA+PSAxOCAsIF0KIyBoZWFkKGQyKQojIHBsb3QoaGVpZ2h0fndlaWdodCwgZGF0YT1kMikKCiMgU2NhbGluZyB0aGUgcHJlZGljdG9yIHZhcmlhYmxlIHdlaWdodCBhbmQgdGhlIHJlc3BvbnNlIHZhcmlibGUgaGVpZ2h0CiMgYm90aCB0byBtZWFuID0gMCwgc2QgPSAxLgpkMzwtZDIKZDMkd2VpZ2h0PC1zdGFuZGFyZGl6ZShkMyR3ZWlnaHQpCgpgYGAKCkZpdCBhIGxpbmVhciBtb2RlbCB1c2luZyBsbSgpCgpoZWlnaHR+Tm9ybWFsKG11LHNpZ21hKQptdTwtaW50ZXJjZXB0ICsgYmV0YVdlaWdodCAqIFdlaWdodAoKCmBgYHtyfQpvdXQ8LWxtKGhlaWdodH53ZWlnaHQsZGF0YT1kMykKc3VtbWFyeShvdXQsY29ycmVsYXRpb249VFJVRSkgIyAjIGNvcnJlbGF0aW9uIGFib3V0IC0wLjk5CgpwbG90KGhlaWdodH53ZWlnaHQsIGRhdGE9ZDMpCmFibGluZShhPW91dCRjb2VmZmljaWVudHNbMV0sYj1vdXQkY29lZmZpY2llbnRzWzJdKQpsaWJyYXJ5KHN0YXRzKQpzaWdtYShvdXQpCkFJQyhvdXQpCmBgYAoKQWRkaW5nIGEgbW9kZWwgd2l0aCBzZXgKCmhlaWdodH5Ob3JtYWwobXUsc2lnbWEpCm11PC1pbnRlcmNlcHQgKyBiZXRhV2VpZ2h0ICogV2VpZ2h0ICsgYmV0YU1hbGUgKiBtYWxlCgpgYGB7cn0Kb3V0U2V4PC1sbShoZWlnaHR+d2VpZ2h0ICsgbWFsZSwgZGF0YT1kMykKc3VtbWFyeShvdXRTZXgsY29ycmVsYXRpb249VFJVRSkgIyAjIGNvcnJlbGF0aW9uIGFib3V0IC0wLjk5CgpsaWJyYXJ5KHN0YXRzKQpzaWdtYShvdXRTZXgpCkFJQyhvdXRTZXgpCkJJQyhvdXRTZXgpCmBgYAoKQUlDIG9mIG1vZGVsIHdpdGggd2VpZ2h0ICsgc2V4LT4gMjAyNi4yMTEgCkFJQyBvZiBtb2RlbCB3aXRoIHdlaWdodC0+IDIxNDguMDI0CgoKCgpGaXR0aW5nIHdpdGggbXkgb3duIGxpa2VsaWhvb2QgZnVuY3Rpb24KCkxpa2VsaWhvb2QgZnVuY3Rpb24gd2l0aCB3ZWlnaHQ6CgpgYGB7cn0KbmxsTm9ybVJlZzwtZnVuY3Rpb24ocGFyVmVjLGRhdGE9ZDMpewogIHd0PC1kYXRhJHdlaWdodAogIGh0PC1kYXRhJGhlaWdodAogIGludGVyY2VwdDwtcGFyVmVjWzFdCiAgYmV0YVc8LXBhclZlY1syXQogIG15U2Q8LXBhclZlY1szXQogIGh0UHJlZDwtaW50ZXJjZXB0K2JldGFXKnd0CiAgbmxsaWs8LSAtc3VtKGRub3JtKHg9aHQsbWVhbj1odFByZWQsc2Q9bXlTZCxsb2c9VFJVRSkpCiAgI2Jyb3dzZXIoKQogIHJldHVybihubGxpaykKfQpgYGAKCgpgYGB7cn0KcGFyVmVjPC1jKDEuMCwyLjAsMi4wKSAjIE5lZWQgc29tZSBzdGFydGluZyBwYXJhbWV0ZXJzIGZvciBncmFkaWVudCBjbGltYmluZy9kZXNjZW5kaW5nIG1ldGhvZHMKb3V0TE08LW9wdGltKHBhcj1wYXJWZWMsZm49bmxsTm9ybVJlZyxtZXRob2Q9IkwtQkZHUy1CIiwKICAgICAgICAgICAgICAgbG93ZXI9YygtSW5mLC1JbmYsMC4wMDAxKSx1cHBlcj1jKEluZixJbmYsSW5mKSkKIyAKQUlDPC0gMipvdXRMTSR2YWx1ZSArIDIqMwoKb3V0TE0kcGFyCkFJQwoKYGBgCgoKCgoKTGlrZWxpaG9vZCBmdW5jdGlvbiB3aXRoIHdlaWdodCBhbmQgc2V4OgoKYGBge3J9Cm5sbE5vcm1SZWc8LWZ1bmN0aW9uKHBhclZlYyxkYXRhPWQzKXsKICB3dDwtZGF0YSR3ZWlnaHQKICBodDwtZGF0YSRoZWlnaHQKICBtYWxlPC1kYXRhJG1hbGUKICBpbnRlcmNlcHQ8LXBhclZlY1sxXQogIGJldGFXPC1wYXJWZWNbMl0KICBiZXRhTTwtcGFyVmVjWzNdCiAgbXlTZDwtcGFyVmVjWzRdCiAgaHRQcmVkPC1pbnRlcmNlcHQrYmV0YVcqd3QgKyBiZXRhTSptYWxlCiAgbmxsaWs8LSAtc3VtKGRub3JtKHg9aHQsbWVhbj1odFByZWQsc2Q9bXlTZCxsb2c9VFJVRSkpCiAgI2Jyb3dzZXIoKQogIHJldHVybihubGxpaykKfQpgYGAKCgpgYGB7cn0KcGFyVmVjPC1jKDEuMCwyLjAsMi4wLDIuMCkgIyBOZWVkIHNvbWUgc3RhcnRpbmcgcGFyYW1ldGVycyBmb3IgZ3JhZGllbnQgY2xpbWJpbmcvZGVzY2VuZGluZyBtZXRob2RzCm91dExNPC1vcHRpbShwYXI9cGFyVmVjLGZuPW5sbE5vcm1SZWcsbWV0aG9kPSJMLUJGR1MtQiIsCiAgICAgICAgICAgICAgIGxvd2VyPWMoLUluZiwtSW5mLC1JbmYsMC4wMDAxKSx1cHBlcj1jKEluZixJbmYsSW5mLEluZikpCiMgCkFJQzwtIDIqb3V0TE0kdmFsdWUgKyAyKjQKCm91dExNJHBhcgpBSUMKCmBgYAoKCgogN0UxLiAgU3RhdGUgdGhlIHRocmVlIG1vdGl2YXRpbmcgY3JpdGVyaWEgdGhhdCBkZWZpbmUgaW5mb3JtYXRpb24gZW50cm9weS4gVHJ5IHRvIGV4cHJlc3MgZWFjaCBpbiB5b3VyIG93biB3b3Jkcy4KIAogX1RoZSBjcml0ZXJpYSBmb3IgdGhpcyBtZWFzdXJlIG9mIOKAnHVuY2VydGFpbnR54oCdIGFyZTpfCiAKXygxKSBDb250aW51aXR5LiBUaGUgbWVhc3VyZSBpcyBub3QgZGlzY3JldGUsIGJ1dCBpdCBtYXkgYmUgYm91bmRlZC4gU28gaXQgY2FuIGhhdmUgYSBtaW5pbXVtIGFuZCBtYXhpbXVtLCBidXQgaXQgbXVzdCBiZSBjb250aW51b3VzIGluIGJldHdlZW4uXwoKXygyKSBJbmNyZWFzaW5nIHdpdGggdGhlIG51bWJlciBvZiBldmVudHMuIFdoZW4gbW9yZSBkaXN0aW5jdCB0aGluZ3MgY2FuIGhhcHBlbixhbmQgYWxsIGVsc2UgaXMgZXF1YWwsIHRoZXJlIGlzIG1vcmUgdW5jZXJ0YWludHkgdGhhbiB3aGVuIGZld2VyIHRoaW5ncyBjYW4gaGFwcGVuLl8KCl8oMykgQWRkaXRpdml0eS4gVGhpcyBpcyBoYXJkZXN0IG9uZSB0byB1bmRlcnN0YW5kIGZvciBtb3N0IHBlb3BsZS4gQWRkaXRpdml0eSBpcyBkZXNpcmFibGUgYmVjYXVzZSBpdCBtZWFucyB3ZSBjYW4gcmVkZWZpbmUgZXZlbnQgY2F0ZWdvcmllcyB3aXRob3V0IGNoYW5naW5nIHRoZSBhbW91bnQgb2YgdW5jZXJ0YWludHkuXwogCiAKN0UzLiAgU3VwcG9zZSBhIGZvdXItc2lkZWQgZGllIGlzIGxvYWRlZCBzdWNoIHRoYXQsIHdoZW4gdG9zc2VkIG9udG8gYSB0YWJsZSwgaXQgc2hvd3Mg4oCcMeKAnSAyMCUsIOKAnDLigJ0gMjUlLCDigJwz4oCdIDI1JSwgYW5kIOKAnDTigJ0gMzAlIG9mIHRoZSB0aW1lLiBXaGF0IGlzIHRoZSBlbnRyb3B5IG9mIHRoaXMgZGllPwoKYGBge3J9Ci0oMC4yKmxvZygwLjIpICsgMiowLjI1KmxvZygwLjI1KSArIDAuMypsb2coMC4zKSkKYGBgCgoKN0gxLiAgSW4gMjAwNywgVGhlIFdhbGwgU3RyZWV0IEpvdXJuYWwgcHVibGlzaGVkIGFuIGVkaXRvcmlhbCAo4oCcV2XigJlyZSBOdW1iZXIgT25lLCBBbGFz4oCdKSB3aXRoIGEgZ3JhcGggb2YgY29ycG9yYXRlIHRheCByYXRlcyBpbiAyOSBjb3VudHJpZXMgcGxvdHRlZCBhZ2FpbnN0IHRheCByZXZlbnVlLiBBIGJhZGx5IGZpdCBjdXJ2ZSB3YXMgZHJhd24gaW4gKHJlY29uc3RydWN0ZWQgYXQgcmlnaHQpLCBzZWVtaW5nbHkgYnkgaGFuZCwgdG8gbWFrZSB0aGUgYXJndW1lbnQgdGhhdCB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gdGF4IHJhdGUgYW5kIHRheCByZXZlbnVlIGluY3JlYXNlcyBhbmQgdGhlbiBkZWNsaW5lcywgc3VjaCB0aGF0IGhpZ2hlciB0YXggcmF0ZXMgY2FuIGFjdHVhbGx5IHByb2R1Y2UgbGVzcyB0YXggcmV2ZW51ZS4gSSB3YW50IHlvdSB0byBhY3R1YWxseSBmaXQgYSBjdXJ2ZSB0byB0aGVzZSBkYXRhLCBmb3VuZCBpbiBkYXRhKExhZmZlcikuIENvbnNpZGVyIG1vZGVscyB0aGF0IHVzZSB0YXggcmF0ZSB0byBwcmVkaWN0IHRheCByZXZlbnVlLiBDb21wYXJlLCB1c2luZyBXQUlDIG9yIFBTSVMsIGEgc3RyYWlnaHQtbGluZSBtb2RlbCB0byBhbnkgY3VydmVkIG1vZGVscyB5b3UgbGlrZS4gV2hhdCBkbyB5b3UgY29uY2x1ZGUgYWJvdXQgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRheCByYXRlIGFuZCB0YXggcmV2ZW51ZT8gKFNlZSB0aGUgYXNzb2NpYXRlZCBmaWd1cmUgZm9yIHRoaXMgcHJvYmxlbSAgaW4gdGhlIGJvb2suKQoKYGBge3J9CmRhdGEoTGFmZmVyKQpwbG90KHRheF9yZXZlbnVlfnRheF9yYXRlLCBkYXRhPUxhZmZlcikKYGBgCgpgYGB7cn0KbGlicmFyeShyZXRoaW5raW5nKQoKbW9kZWxMTTwtIHF1YXAoCiAgICBhbGlzdCgKICAgICAgICB0YXhfcmV2ZW51ZSB+IGRub3JtKCBtdSAsIHNpZ21hICkgLAogICAgICAgIG11IDwtIGludGVyY2VwdCArIGJldGEqdGF4X3JhdGUsCiAgICAgICAgaW50ZXJjZXB0IH4gZG5vcm0oIDEwMCAsIDEwMCApICwKICAgICAgICBiZXRhfmRub3JtKDAsNSksCiAgICAgICAgc2lnbWEgfiBkdW5pZiggMCAsIDUwICkKICAgICkgLCBkYXRhPUxhZmZlciApCgptb2RlbFF1YWQgPC0gcXVhcCgKICAgIGFsaXN0KAogICAgICAgIHRheF9yZXZlbnVlIH4gZG5vcm0oIG11ICwgc2lnbWEgKSAsCiAgICAgICAgbXUgPC0gaW50ZXJjZXB0ICsgYmV0YSp0YXhfcmF0ZSArIGJldGEyKnRheF9yYXRlXjIsCiAgICAgICAgaW50ZXJjZXB0IH4gZG5vcm0oIDEwMCAsIDEwMCApICwKICAgICAgICBiZXRhfmRub3JtKDAsNSksCiAgICAgICAgYmV0YTJ+ZG5vcm0oMCw1KSwKICAgICAgICBzaWdtYSB+IGR1bmlmKCAwICwgNTAgKQogICAgKSAsIGRhdGE9TGFmZmVyICkKCiMgcHJlY2lzKG1vZGVsUVVBUCkKIyBXQUlDKG1vZGVsUVVBUCkKY29tcGFyZShtb2RlbExNLCBtb2RlbFF1YWQgLCBmdW5jPVdBSUMpIAoKYGBgCgo=