L'anàlisi multivariant és un conjunt de tècniques estadístiques que s'utilitzen per analitzar dades que contenen més d'una variable dependent alhora. Aquest tipus d'anàlisi és especialment útil quan es vol comprendre les relacions complexes entre múltiples variables i com aquestes poden influir en una o més variables dependents.
Objectius de l'Anàlisi Multivariant
- Identificar patrons i relacions: Descobrir com les variables estan relacionades entre si.
- Reduir la dimensionalitat: Simplificar les dades mantenint la major part de la informació.
- Classificació i agrupament: Assignar observacions a grups o categories.
- Predicció: Utilitzar les relacions entre variables per predir valors futurs.
Tècniques Principals d'Anàlisi Multivariant
- Anàlisi de Components Principals (PCA)
L'Anàlisi de Components Principals és una tècnica de reducció de dimensionalitat que transforma les variables originals en un nou conjunt de variables no correlacionades anomenades components principals.
Passos per realitzar PCA:
- Normalització de les dades: Assegurar que totes les variables tinguin la mateixa escala.
- Càlcul de la matriu de covariàncies: Determinar com les variables estan correlacionades entre si.
- Càlcul dels vectors i valors propis: Identificar les direccions principals de variació.
- Formació dels components principals: Projectar les dades en les noves direccions.
import numpy as np from sklearn.decomposition import PCA # Exemple de dades X = np.array([[2.5, 2.4], [0.5, 0.7], [2.2, 2.9], [1.9, 2.2], [3.1, 3.0], [2.3, 2.7], [2, 1.6], [1, 1.1], [1.5, 1.6], [1.1, 0.9]]) # Normalització de les dades X_meaned = X - np.mean(X, axis=0) # Càlcul de la matriu de covariàncies cov_mat = np.cov(X_meaned, rowvar=False) # Càlcul dels vectors i valors propis eigen_values, eigen_vectors = np.linalg.eigh(cov_mat) # Ordenar els vectors propis per valor propi descendent sorted_index = np.argsort(eigen_values)[::-1] sorted_eigenvalue = eigen_values[sorted_index] sorted_eigenvectors = eigen_vectors[:,sorted_index] # Seleccionar els components principals n_components = 2 eigenvector_subset = sorted_eigenvectors[:,0:n_components] # Transformar les dades X_reduced = np.dot(eigenvector_subset.transpose(), X_meaned.transpose()).transpose() print(X_reduced)
- Anàlisi de Clúster
L'Anàlisi de Clúster és una tècnica que agrupa les observacions en clústers (grups) de manera que les observacions dins de cada clúster siguin més similars entre si que amb les d'altres clústers.
Mètodes d'Anàlisi de Clúster:
- K-means: Divideix les dades en k clústers basant-se en la distància euclidiana.
- Jeràrquic: Crea una jerarquia de clústers utilitzant un enfocament aglomeratiu o divisori.
from sklearn.cluster import KMeans # Exemple de dades X = np.array([[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6], [9, 11]]) # Aplicar K-means kmeans = KMeans(n_clusters=2) kmeans.fit(X) # Resultats print(kmeans.labels_) print(kmeans.cluster_centers_)
- Anàlisi Discriminant
L'Anàlisi Discriminant és una tècnica utilitzada per classificar observacions en categories predefinides basant-se en les seves característiques.
Tipus d'Anàlisi Discriminant:
- Anàlisi Discriminant Lineal (LDA): Assumeix que les classes tenen la mateixa matriu de covariàncies.
- Anàlisi Discriminant Quadràtic (QDA): No assumeix que les classes tenen la mateixa matriu de covariàncies.
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis # Exemple de dades X = np.array([[4, 2], [2, 4], [2, 3], [3, 6], [4, 4], [9, 10], [6, 8], [9, 5], [8, 7], [10, 8]]) y = np.array([0, 0, 0, 0, 0, 1, 1, 1, 1, 1]) # Aplicar LDA lda = LinearDiscriminantAnalysis() lda.fit(X, y) # Predicció print(lda.predict([[3, 4]]))
Exercicis Pràctics
Exercici 1: Anàlisi de Components Principals
Utilitza el conjunt de dades iris
de la biblioteca sklearn
per realitzar una anàlisi de components principals i reduir les dades a 2 dimensions. Representa gràficament els resultats.
Exercici 2: Anàlisi de Clúster
Aplica l'algoritme K-means al conjunt de dades iris
per agrupar les observacions en 3 clústers. Representa gràficament els resultats i compara'ls amb les etiquetes originals.
Exercici 3: Anàlisi Discriminant
Utilitza el conjunt de dades iris
per entrenar un model d'Anàlisi Discriminant Lineal. Avalua la precisió del model utilitzant validació creuada.
Conclusió
L'anàlisi multivariant és una eina poderosa per comprendre i interpretar dades complexes amb múltiples variables. Les tècniques com l'Anàlisi de Components Principals, l'Anàlisi de Clúster i l'Anàlisi Discriminant permeten reduir la dimensionalitat, identificar patrons i realitzar classificacions amb precisió. La pràctica amb aquestes tècniques ajudarà a desenvolupar habilitats analítiques avançades i a aplicar-les en diferents àmbits professionals.