Formati & Analisi fattoriale Metodi Quantitativi per Economia, Finanza e Management Esercitazione n°8 Formati Gestione dei formati La procedura FORMAT permette all’utente di creare formati personalizzati in aggiunta a quelli già forniti con SAS System. I formati permettono di visualizzare il contenuto di una variabile in differenti modi, per esempio, visualizzare un codice come la sua descrizione. Sono i più utili nelle procedure di Reporting in quanto permettono di personalizzare meglio gli output. Esempio distribuzione di frequenza della variabile area geografica senza utilizzare il formato $area Esempio distribuzione di frequenza della variabile area geografica utilizzando il formato $area area C N S Frequency 18 18 20 Percent 32.14 32.14 35.71 area Centro Nord Sud Frequency 18 18 20 Percent 32.14 32.14 35.71 PROC FORMAT – Sintassi generale proc format; value ($)nome_formato valori /intervalli /insiemi ; run; N.B. Il nome del formato inizia con $ se è da applicare a variabili alfanumeriche, senza $ per variabili numeriche Esempi Variabile alfanumerica: Nome formato: $area NE, NO, C,SI= modalità della variabile Variabile numerica Nome formato: fmtrit Low-0, 1-10, 11-high=intervalli della variabile numerica a cui voglio associare una descrizione proc format; value $AREA 'NE'="Nord-Est" 'NO'="Nord-Ovest" 'C'="Centro" 'SI'="Sud-Isole“ ; run; proc format; value fmtrit low-0=‘In orario' 1-10='1-10 minuti' 11-high='+10 minuti‘ ; run; Esempio di Freq con formato proc format; value $area 'N'='Nord' 'C'='Centro' 'S'='Sud‘ ; run; proc freq data=nome_dataset; tables area; format area $area.; run; area Centro Nord Sud Frequency 18 18 20 Percent 32.14 32.14 35.71 Label Utilizzanto un passo di data si possono creare delle etichette di descrizione da associare alle variabili in modo da chiarirne il contenuto. data corso.ds; set corso.ds; label d_1="STATO_CIVILE"; label d_2="AREA_GEO"; label d_3="PRESENZA_PARCHEGGI"; run; Aprendo un data set si possono visualizzare i nomi delle variabili o le etichette Analisi fattoriale Step di analisi (1/2) STEP 1: scegliere quanti fattori considerare (scelta di varie soluzioni) la regola autovalori > 1 lettura dello SCREE PLOT PROC FACTOR DATA=data set SCREE FUZZ=k; VAR elenco variabili; RUN; STEP 2: confrontare le soluzioni scelte loadings cumunalità finali PROC FACTOR DATA=data set SCREE FUZZ=k N=n; VAR elenco variabili; RUN; Step di analisi (2/2) STEP 3: una volta scelta la soluzione finale ruotare i fattori interpretare i fattori salvare il data set con i fattori PROC FACTOR DATA=data set SCREE FUZZ=k OUT=data set output ROTATE= metodo di rotazione REORDER; VAR elenco variabili; RUN; STEP 4: se l’interpretazione non è soddisfacente ripetere lo step n°3 variando metodo di rotazione o provando un’altra soluzione. PROC FACTOR – Sintassi generale Analisi fattoriale con il metodo delle componenti principali. proc factor data= dataset option(s); var variabile1 … variabile2 variabilen; run; OPZIONE DESCRIZIONE OUT = Produce in output un data set che contiene le variabili originali e i fattori non ruotati N=num Consente di specificare il numero di fattori che si vuole estrarre ROTATE=metodo Specifica che il criterio per la rotazione dei fattori (VARIMAX, …) SCREE Produce scree plot REORDER Ordina le variabili in modo da facilitare la lettura dei loadings FUZZ=valore Stampa solo |loadings| > valore indicato. Esercizio 1 Il data set ECONOMIC_FREEDOM contiene i seguenti indicatori relativi alla libertà economica nei diversi stati del mondo. Svolgere un’analisi fattoriale a partire da tali indicatori. A. Attività del settore pubblico e tassazione C. Accesso al contante D. Commercio internazionale E. Regolamentazi one del credito, del lavoro e del business COUNTRY Nome del paese CONTINENTE AF-Africa; AM-America Nord; AS-Asia; OC-Oceania; EU-Europa A_ GVT_CONSUMPT Consumi pubblici Rapporto tra consumi pubblici e consume totali (indice) A_ GVT_INVEST Investimenti pubblici Rapporto tra investimenti pubblici e investimenti totali (indice) B_JUD_IMPART Imparzialità delle corti: contesto legale in cui i privati possono opporsi legalmente ad azioni del governo. B_MILITARY_POL Interferenza militare nel sistema giudiziario e politico (indice elevato se l’interferenza è bassa) B_LAW_INTEGRITY Integrità del sistema giudiziario C_GR_MONEY_SUPPLY Crescita media annuale dell’offerta di moneta (ultimi 5 anni) - Crescita media annuale PIL (ultimi 10 anni) C_INFL Tasso di inflazione recente (indice alto se inflazione bassa) C_STD_INFL Variabilità del tasso di inflazione negli ultimi 5 anni. (indice alto se inflazione stabile) C_FREEDOM_BANK Libertà di possedere conti presso banche straniere nel paese o all’estero D_TARIF Tasse sul commercio con l’estero (indice alto se tasse basse e poco variabili) D_ACTUAL_EXP_TRADE Dimensione del settore del commercio internazionale rispetto a quella attesa D_INT_CAP_CONTROL Livello del controllo sul mercato dei capitali internazionali (indice elevato se è elevata la libertà di accesso ai capitali e ai mercati internazionali) E_CREDIT_REG Regolamentazione del mercato del credito (indice elevato se c’è concorrenza con banche straniere, se molte banche sono private, se il credito al settore privato è elevato, se i tassi di interesse sono determinati dal libero mercato) E_NEW_BUSINESS Faciltà e trasparenza nella realizzazione di nuovi business Soluzione es 1 (1/7) Estrazione fattori: PROC FACTOR DATA=CORSO.ECONOMIC_FREEDOM SCREE FUZZ=0.35 ; VAR A_GVT_CONSUMPT A_GVT_INVEST B_JUD_IMPART B_LAW_INTEGRITY B_MILITARY_POL C_FREEDOM_BANK C_GR_MONEY_SUPPLY C_INFL C_STD_INFL D_ACTUAL_EXP_TRADE D_INT_CAP_CONTROL D_TARIF E_CREDIT_REG E_NEW_BUSINESS ; RUN; Soluzione es 1 (2/7) Quanti fattori considerare? 7 AUTOVALORI 6 Difference Proportion Cumulative 1 5.7462 4.0829 0.4104 0.4104 2 1.6633 0.2815 0.1188 0.5293 3 1.3818 0.3921 0.0987 0.6280 4 0.9898 0.1855 0.0707 0.6986 5 0.8043 0.0997 0.0574 0.7561 6 0.7046 0.0992 0.0503 0.8064 7 0.6053 0.1194 0.0432 0.8497 8 0.4859 0.0524 0.0347 0.8844 9 0.4335 0.0979 0.0310 0.9153 10 0.3356 0.0733 0.0240 0.9393 11 0.2623 0.0098 0.0187 0.9580 12 0.2525 0.0544 0.0180 0.9761 13 0.1981 0.0613 0.0142 0.9902 14 0.1368 0.0098 1.0000 5 4 Autovalori Eigenvalue 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Fattori La regola degli autovalori > 1 suggerisce di prendere in considerazione 3 fattori, che spiegano insieme il 63% della varianza totale. Lo scree plot mostra un gomito netto in corrispondenza di 2 fattori e uno ‘accennato’ in corrispondenza di 4 fattori. 14 15 Soluzione es 1 (3/7) Estrazione fattori per la soluzione a 2 e a 4 fattori: PROC FACTOR DATA=CORSO.ECONOMIC_FREEDOM SCREE FUZZ=0.35 N=2; VAR lista variabili; RUN; PROC FACTOR DATA=CORSO.ECONOMIC_FREEDOM SCREE FUZZ=0.35 N=4; VAR lista variabili; RUN; N.B. La soluzione a 3 fattori l’abbiamo già estratta: quando nella PROC FACTOR non viene indicato il numero di fattori con l’opzione “N = “ SAS adotta la regola degli autovalori >1 per scegliere il numero di fattori. Soluzione es 1 (4/7) Variable A_GVT_CONSUMPT LOADINGS Prin1 Prin2 Prin3 CUMUNALITA' Prin4 n=2 n=3 n=4 0.53 0.62 0.72 0.35 0.42 0.54 0.54 -0.38 0.62 0.77 0.78 -0.73 0.31 A_GVT_INVEST 0.64 B_JUD_IMPART 0.79 0.31 B_MILITARY_POL 0.8 0.65 0.65 0.66 B_LAW_INTEGRITY 0.8 0.64 0.67 0.69 0.62 0.63 0.75 0.65 0.65 0.69 0.56 0.77 0.83 0.51 0.53 0.53 0.51 0.58 0.58 0.38 0.07 0.58 0.73 0.41 0.59 0.65 0.82 -0.54 0.42 0.45 0.74 0.63 0.70 0.73 C_GR_MONEY_SUPPLY 0.43 0.66 C_INFL 0.45 0.66 0.6 -0.45 C_STD_INFL 0.45 0.55 D_TARIF 0.69 C_FREEDOM_BANK D_ACTUAL_EXP_TRADE 0.35 0.46 -0.72 D_INT_CAP_CONTROL 0.65 E_CREDIT_REG 0.65 E_NEW_BUSINESS 0.78 -0.4 Per ogni variabile si evidenziano le celle in corrispondenza delle quali la comunalità aumenta in maniera sostanziale per effetto dell’estrazione di un ulteriore fattore. La soluzione a 2 fattori non fornisce una spiegazione adeguata di alcune variabili: tali variabili hanno probabilmente un alto contenuto di specificità. La soluzione a 4 sarebbe motivata dal recupero di capacità esplicativa solo su un paio di variabili. Inoltre per ogni variabile la % di varianza spiegata dati fattori è già soddisfacente e non aumenta in maniera sostanziale per effetto dell’estrazione del quarto fattore. Soluzione es 1 (5/7) Consideriamo la soluzione a 3 fattori e operiamo una rotazione dei fattori con il metodo Varimax. PROC FACTOR DATA=CORSO.ECONOMIC_FREEDOM OUT=CORSO.FACTORS N=3 ROTATE=VARIMAX REORDER FUZZ=0.35; VAR lista variabili; RUN; IMPORTANTE:la % di varianza complessiva dei fattori ruotati rimane inalterata, mentre si modifica la % di varianza spiegata da ciascun fattore Soluzione es 1 (6/7) Interpretazione fattori: Variabile Descrizione Factor1 Factor2 Factor3 C_FREEDOM_BANK Libertà conti c/o banche stran. o estero 0.87 D_INT_CAP_CONTROL Libertà di accesso a cap. e mkt internaz. 0.77 D_TARIF Basse tasse su comm. con estero 0.71 A_GVT_INVEST Investimenti pubblici 0.62 B_MILITARY_POL Bassa Interf. militare 0.58 E_CREDIT_REG Regolament. mkt credito 0.54 B_JUD_IMPART Imparzialità delle corti E_NEW_BUSINESS Faciltà realizz. newbusiness D_ACTUAL_EXP_TRADE Dim. settore comm. internaz. B_LAW_INTEGRITY Integrità sist. giudiz. A_GVT_CONSUMPT Consumi pubblici C_INFL Bassa infl. recente 0.79 C_GR_MONEY_SUPPLY Crescita offerta di moneta 0.78 C_STD_INFL Bassa variab. tasso infl. 0.7 LIBERTA’ DI CAPITALI 0.39 0.52 0.76 0.44 0.69 0.69 0.44 0.61 LIBERTA’ DI BUSINESS -0.66 MONETA Estraendo 3 fattori riusciamo a spiegare il 63% della varianza totale. Soluzione es 1 (7/7) Varianza spiegata dai fattori: La % di varianza complessiva dei fattori ruotati rimane inalterata, mentre si modifica la % di varianza spiegata da ciascun fattore PRIMA DELLA ROTAZIONE Varianza spiegata da ciascun fattore Factor1 Factor2 5.75 Totale Factor3 1.66 1.38 8.79 DOPO LA ROTAZIONE Varianza spiegata da ciascun fattore Factor1 Factor2 3.55 Totale Factor3 2.83 2.41 8.79