# SEMINAR 1 # Citire din fisier in DataFrame tabel = pd.read_csv(nume_fisier, index_col=0) # print(tabel) # Preluare nume de variabile in obiect list variabile = list(tabel) instante = list(tabel.index) # print(variabile,instante,sep="\n") x = tabel[variabile].values # print(x,type(x),sep="\n") r, alpha, a, c = calcule.acp(x) t_r = pd.DataFrame(r, variabile, variabile) t_r.to_csv("R.csv") grafice.corelograma(t_r) t_varianta = calcule.tabelare_valori_proprii(alpha) t_varianta.to_csv("Varianta.csv") # SEMINAR 2 # Calcul corelatii factoriale rxc = a * np.sqrt(alpha) # Tabelare corelatii factoriale nume_componente = ["Comp" + str(i) for i in range(1, len(alpha) + 1)] t_rxc = pd.DataFrame(data=rxc, index=variabile, columns=nume_componente) t_rxc.to_csv("rxc.csv") # Vizualizare corelograma corelatii factoriale grafice.corelograma(t_rxc, titlu="Corelograma corelatii factoriale")
tabel = pd.read_csv(nume_fisier) nume_variabile = [v for v in tabel.columns] coloana_index = gui.Check(nume_variabile, "Selectati variabila index")[0] coloana_etichete = gui.Check(nume_variabile, "Selectati coloana de etichete")[0] tabel.index = [str(v) for v in tabel[coloana_index]] nume_instante = tabel[coloana_index] variabile_prelucrate = gui.Check(nume_variabile, "Selectati variabilele de lucru") m = len(variabile_prelucrate) t = tabel[variabile_prelucrate] X = t.values functii.inlocuire_na(X) R, alpha, a, Rxc, C = functii.acp(X) functii.tabelare(a, ['a' + str(i) for i in range(1, m + 1)], variabile_prelucrate, "PCA_Output\\loadings.csv") R_tab = functii.tabelare(R, nume_coloane=variabile_prelucrate, nume_instante=variabile_prelucrate, tabel="PCA_Output\\R.csv") grafice.corelograma(R_tab, "Corelograma corelatii") functii.tabelare_varianta(alpha) j_Cattel, j_Kaiser = grafice.plot_varianta(alpha) Rxc_tab = functii.tabelare(Rxc, nume_coloane=["C" + str(i) for i in range(1, m + 1)], nume_instante=variabile_prelucrate, tabel="PCA_Output\\Rxc.csv") grafice.corelograma(Rxc_tab, "Corelatii factoriale") S, q, beta, Comun = functii.evaluare(C, alpha, Rxc) k_s = min(j_Kaiser, j_Cattel) for i in range(1, k_s): grafice.t_scatter(S[:, 0], S[:, i], tabel[coloana_etichete], "a1", "a" + str(i + 1), "Plot scoruri. Axele 1:" + str(i + 1)) grafice.cercul_corelatiilor(Rxc_tab, 0, i, "Cercul corelatiilor. Axele 1:" + str(i + 1)) functii.tabelare(S, nume_coloane=["C" + str(i) for i in range(1, m + 1)], nume_instante=nume_instante, tabel="PCA_Output\\F.csv") functii.tabelare(q, nume_coloane=["a" + str(i) for i in range(1, m + 1)],
r, alpha, a, c = functii.acp(x) #print(r) #Calcul componente, tabelare varianta tabel_varianta = functii.tabelare_varianta(alpha) print(tabel_varianta) tabel_varianta.to_csv("varianta.csv") #Grafic varianta #grafice.plot_varianta(alpha) #calcul scoruri s = c / np.sqrt(alpha) #plot scoruri kx = 0 ky = 1 #grafice.plot_scoruri(s[:, kx], s[:, ky], kx, ky, instante) #calcul corelatii dintre variabile observate si componente rxc = a * np.sqrt(alpha) #corelograma -> grafic specializat t_rxc = pd.DataFrame( data=rxc, index=variabile_prelucrate, columns=["comp1" + str(i) for i in range(1, len(alpha) + 1)]) t_rxc.to_csv("rxc.csv") grafice.corelograma(t_rxc)
# preluare rezultate si calcule # preluare scoruri z = cca_model.x_scores_ u = cca_model.y_scores_ # cele mai semnificative axe sunt de la 0 -> 1 #grafice.plot_scoruri(z[:, 0], z[:, 1], u[:, 0], u[:, 1], nume_instante) # calcul corelatii canonice r = np.diagonal(np.corrcoef(z, u, rowvar=False)[:m, m:]) # sunt asezate pe linii, nu pe coloane; am elementele de pe diagonala principala print(r) # -> corelatiile # aplicare test Bartlet-Wilks pentru semnificatie corelatii canonice # tabelare corelatii canonice # preluare corelatii dintre variabilele observate si variabilele canonice # calcul abateri standard pt z si u (variabile canonice) z_std = np.std(z, axis=0) #var sunt asezate pe coloane u_std = np.std(u, axis=0) # corelatii rxz = cca_model.x_loadings_ * z_std ryu = cca_model.y_loadings_ * u_std # trasare corelograme pentru rxz, ryu (sau cerc de corelatie) t_rxz = pd.DataFrame(data=rxz, index=var1, columns=['z' + str(i) for i in range(1, m + 1)]) t_rxz.to_csv("rxz.csv") grafice.corelograma(t_rxz)
u = cca_model.y_scores_ # Normalizare scoruri pp.normalize(z, axis=0, copy=False) pp.normalize(u, axis=0, copy=False) # Calcul corelatii canonice r = np.diagonal(np.corrcoef(z, u, rowvar=False)[:m, m:]) print("Corelatii canonice:", r) # Calcul corelatii dintre variabilele observate si variabilele canonice z_std = np.std(z, axis=0) u_std = np.std(u, axis=0) rxz = cca_model.x_loadings_ * z_std ryu = cca_model.y_loadings_ * u_std print("Corelatii variabile-variabile canonice:") print(rxz, ryu, sep="\n") # Plot scoruri grafice.plot_scoruri(z[:, 0], z[:, 1], u[:, 0], u[:, 1], nume_instante) # Corelograma corelatii t_rxz = pd.DataFrame(data=rxz, index=var_x, columns=['z' + str(i) for i in range(1, m + 1)]) t_rxz.to_csv("rxz.csv") grafice.corelograma(t_rxz, titlu="Corelograma X-Z") t_ryu = pd.DataFrame(data=ryu, index=var_y, columns=['u' + str(i) for i in range(1, m + 1)]) t_ryu.to_csv("ryu.csv") grafice.corelograma(t_ryu, titlu="Corelograma Y-U") grafice.show()
import grafice import numpy as np nume_fisier = "ADN/ADN_Total.csv" # Citire date din fisier in obiect pandas DataFrame tabel = pd.read_csv(nume_fisier, index_col=0) # print(tabel) variabile = list(tabel) instante = list(tabel.index) # print(variabile,instante,sep="\n") x = tabel[variabile].values # print(x,type(x),sep="\n") r, alpha, a, c = functii.acp(x) t_r = pd.DataFrame(data=r, index=variabile, columns=variabile) t_r.to_csv("R.csv") grafice.corelograma(t_r) tabel_varianta = functii.tabelare(alpha) tabel_varianta.to_csv("Varianta.csv") # Calcul corelatii factoriale rxc = a * np.sqrt(alpha) nume_componente = ["Comp" + str(i) for i in range(1, len(alpha) + 1)] t_rxc = pd.DataFrame(data=rxc, index=variabile, columns=nume_componente) t_rxc.to_csv("rxc.csv") # Trasare corelograma corelatii factoriale grafice.corelograma(t_rxc) # Trasare plot corelatii grafice.plot_corelatii(rxc, nume_variabile=variabile) # Calcul scoruri s = c / np.sqrt(alpha) t_s = pd.DataFrame(data=s, index=instante, columns=nume_componente) t_s.to_csv("s.csv")