################################################################################
# AEB 6572 - Econometric Methods II                                            #
# Charles B. Moss - cbmoss@ufl.edu                                             #
# R Regression Program Prog02-01-12.R                                          #
################################################################################
# Data Set Jorgensen's KLEM dta for Food and Kindred Products                  #
# dta[,1]  - Year                                                              #
# dta[,2]  - log change in output                                              #
# dta[,3]  - log change in quantity of capital                                 #
# dta[,4]  - log change in quantity of labor                                   #
# dta[,5]  - log change in quantity of energy                                  #
# dta[,6]  - log change in quantity of materials                               #
# dta[,7]  - log change in output price                                        #
# dta[,8]  - log change in capital price                                       #
# dta[,9]  - log change in labor price                                         #
# dta[,10] - log change in energy price                                        #
# dta[,11] - log change in materials price                                     #
################################################################################

dta <- read.csv("KLEM-Food01-25-12.csv")

################################################################################
# Construct the variance matrix for the log change in output, log change in    #
#   capital, log change in labor, log change in energy, and log change in      #
#   materials                                                                  #
################################################################################

v <- var(dta[,2:6])

print(v)

y1 <- v[,1]
y2 <- v[,2] - t(y1)%*%v[,2]/t(y1)%*%y1 * y1
y3 <- v[,3] - t(y1)%*%v[,3]/t(y1)%*%y1 * y1 - t(y2)%*%v[,3]/t(y2)%*%y2 * y2
y4 <- v[,4] - t(y1)%*%v[,4]/t(y1)%*%y1 * y1 - t(y2)%*%v[,4]/t(y2)%*%y2 * y2 - 
          t(y3)%*%v[,4]/t(y3)%*%y3 * y3
y5 <- v[,5] - t(y1)%*%v[,5]/t(y1)%*%y1 * y1 - t(y2)%*%v[,5]/t(y2)%*%y2 * y2 - 
          t(y3)%*%v[,5]/t(y3)%*%y3 * y3 - t(y4)%*%v[,5]/t(y4)%*%y4 * y4


z <- cbind(y1,y2,y3,y4,y5)

print(t(z)%*% z)

y1s <- y1/sqrt(t(y1)%*%y1)
y2s <- y2/sqrt(t(y2)%*%y2)
y3s <- y3/sqrt(t(y3)%*%y3)
y4s <- y4/sqrt(t(y4)%*%y4)
y5s <- y5/sqrt(t(y5)%*%y5)

zs <- cbind(y1s,y2s,y3s,y4s,y5s)

print(t(zs)%*%zs)



