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

  1. 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:

  1. Normalització de les dades: Assegurar que totes les variables tinguin la mateixa escala.
  2. Càlcul de la matriu de covariàncies: Determinar com les variables estan correlacionades entre si.
  3. Càlcul dels vectors i valors propis: Identificar les direccions principals de variació.
  4. 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)

  1. 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_)

  1. 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.

© Copyright 2024. Tots els drets reservats