##### Indici di bilancio ##### ## Esempio 8.2 Es8.2 <- matrix(c(2156968, 76808, 1457429, 70655, 2017202, 86863, 2145505, 69862), ncol=4) dimnames(Es8.2)[[1]] <- c("Totale attivo", "Reddito operativo") dimnames(Es8.2)[[2]] <- paste("U", 1:4, sep="") ROA <- Es8.2[2, ]/Es8.2[1, ] ## calcolo del ROA totale di mercato: ## non pesato ROA.np <- mean(ROA) round(ROA.np, 3) ## pesato ROA.p <- sum(ROA * Es8.2[1, ])/sum(Es8.2[1, ]) ##### ACP ##### ## 8.4.2, Tab. 8.7 Tab8.7 <- read.table("Tab8.7.txt", sep="\t", h=T, dec=".") Imprese <- Tab8.7[,-1] # via l'indice della prima colonna dimnames(Imprese)[[1]] <- c("Alfa", paste("U", 2:6, sep="")) ## calc. media e varianza apply(Imprese, 2, mean) apply(Imprese, 2, var) * (5/6) # aggiusto per var. campionaria ## calc. covarianza e coeff. di correlazione cov(Imprese$BETA, Imprese$CR) * (5/6) cor(Imprese) ## calc. le CP come da esempio del libro: ## (NB qui le variabili non vengono standardizzate!) ## scomposizione della matrice di covarianza (v. eq.(8)): eigen.decomposition <- eigen(cov(Imprese)) autovalori <- eigen.decomposition$values autovettori <- eigen.decomposition$vectors ## coefficienti di C1 in (13): autovettori[,1] ## coefficienti di C2: autovettori[,2] ## interpretazione (p.358 Biggeri, in alto): ## C1 è positivamente correlata al current ratio, negativamente ## al rapporto di indebitamento; pertanto è da considerarsi un ## indicatore di stabilità finanziaria (più alto è, meglio è); ## C2 invece è residuale e non ha una chiara interpretazione. ## varianze delle 2 componenti principali C1, C2: autovalori ## controlliamo: la varianza totale deve restare invariata sum(autovalori) sum(apply(Imprese, 2, var)) ## Punteggi delle componenti principali (scores) per ogni ## impresa (calcolati sulle variabili in deviazioni dalla ## propria media): Imprese.dev <- apply(Imprese, 2, FUN=function(x) x-mean(x)) Imprese.scores <- as.matrix(Imprese.dev) %*% autovettori dimnames(Imprese.scores)[[2]] <- c("C1", "C2") ## Tab. 8.8 round(Imprese.scores[,"C1"], 3) ## Figura 8.2 (a): imprese nello spazio originario plot(Imprese$BETA, Imprese$CR, xlim=c(0,3), ylim=c(0,2), pch=19) text(Imprese$BETA, Imprese$CR + 0.1, row.names(Imprese)) ## Figura 8.2 (b): imprese nello spazio delle CP plot(Imprese.scores[,"C1"], Imprese.scores[,"C2"], xlim=c(-1.4,1.4), ylim=c(-1.4,1.4), pch=19) text(Imprese.scores[,"C1"], Imprese.scores[,"C2"] + 0.15, row.names(Imprese)) abline(h=0, lty=2) abline(v=0, lty=2) ## posizione delle imprese sulla prima CP: points(Imprese.scores[,"C1"], rep(0, dim(Imprese)[[1]]), pch=19, col="orange") ## Figura 8.2 (a bis): imprese nello spazio scalato e ## assi delle componenti principali (vedi Fig. 8.1 (a)) plot(Imprese$BETA-mean(Imprese$BETA), Imprese$CR-mean(Imprese$CR), xlim=c(-1.5,1.5), ylim=c(-1,1), pch=19, main="Rotazione degli assi fattoriali") text(Imprese$BETA-mean(Imprese$BETA), Imprese$CR-mean(Imprese$CR) + 0.1, row.names(Imprese)) abline(h=0, col=grey(0.8)) abline(v=0, col=grey(0.8)) ## aggiungiamo gli assi delle CP: ## passano per l'origine (a = 0) e la pendenza delle rette ## è data da b = a21/a11 e, risp., b = a22/a12 in (13) abline(c(0, autovettori[2,1]/autovettori[1,1]), lty=2, col="red") abline(c(0, autovettori[2,2]/autovettori[1,2]), lty=2, col="green3") text(1.4, -0.8, "C1", col="red") text(0.95, 0.95, "C2", col="green3")