# Programs used for graphics and tables of the book:
#    "Data anlysis and data mining" by A.Azzalini and B.Scarpa,
#     Â© Oxford University Press, 2012 (ISBN 978-0-19-976710-6).
#
# Code regarding section 5.2 (Â© 2003, 2004, 2012 A.Azzalini and B.Scarpa)
#------------------------------------------------------------------------
source("base-www.R")
#
#-----------------------------------
juice <- read.table("../data/juice.data", head=TRUE) 
juice[,"store"] <- factor(juice[,"store"])
juice$ch = as.numeric(juice$choice=="CH")
juice$diff = juice$priceCH-juice$priceMM

fit.glm = glm(choice ~diff+loyaltyMM,data=juice,family=binomial)
plot(juice$diff,juice$loyaltyMM,col=1+as.numeric(juice$choice))
beta = fit.glm$coef
abline(c(-beta[1]/beta[3],-beta[2]/beta[3]))

juice$ch.num = 0
juice$ch.num[juice$choice=="MM"] = 1
fit.lm = lm(ch.num~diff+loyaltyMM,data=juice)
beta.lm = coef(fit.lm)
abline(c((0.5-beta.lm[1])/beta.lm[3],-beta.lm[2]/beta.lm[3]),col=4)

fit2.glm = glm(choice ~diff+loyaltyMM+I(diff^2)+diff:loyaltyMM+I(loyaltyMM^2),data=juice,family=binomial)
beta2 = fit2.glm$coef
x1 = seq(-0.4,0,length=100)
k = 0
a = beta2[6];b=beta2[3]+beta2[5]*x1;c=beta2[1]+beta2[2]*x1+beta2[4]*x1^2-k
x2.1 = (-b+sqrt(b^2-4*a*c))/a
x2.2 = (-b-sqrt(b^2-4*a*c))/a
fit2.lm = lm(ch.num~diff*loyaltyMM,data=juice)

pred.glm = predict(fit.glm,juice,type="response")
plot(juice$loyaltyMM,pred.glm)
abline(h=0.5)
