Introducció

L'anàlisi predictiu utilitza dades històriques i tècniques estadístiques per predir esdeveniments futurs. Aquesta tècnica és fonamental per a la presa de decisions informades en diverses àrees de negoci, com ara màrqueting, finances, operacions i recursos humans.

Objectius d'aquest tema:

  1. Entendre els conceptes bàsics de l'anàlisi predictiu.
  2. Conèixer els diferents tipus de models predictius.
  3. Aprendre a implementar models predictius utilitzant algoritmes comuns.
  4. Practicar amb exemples i exercicis pràctics.

Conceptes Bàsics de l'Anàlisi Predictiu

Definició

L'anàlisi predictiu és una branca de l'analítica de dades que se centra en utilitzar dades històriques per fer prediccions sobre esdeveniments futurs.

Components Clau

  1. Dades Històriques: Informació recollida en el passat que serveix com a base per a les prediccions.
  2. Models Estadístics: Eines matemàtiques que analitzen les dades i fan prediccions.
  3. Algoritmes: Seqüències de passos lògics utilitzats per construir els models predictius.

Tipus de Models Predictius

Regressió

La regressió és una tècnica estadística que modela la relació entre una variable dependent i una o més variables independents.

Exemple de Regressió Lineal

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Carregar les dades
data = pd.read_csv('sales_data.csv')
X = data[['advertising_budget']]
y = data['sales']

# Dividir les dades en entrenament i prova
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Crear i entrenar el model
model = LinearRegression()
model.fit(X_train, y_train)

# Fer prediccions
predictions = model.predict(X_test)

# Avaluar el model
mse = mean_squared_error(y_test, predictions)
print(f'Error Quadràtic Mitjà: {mse}')

Classificació

La classificació és una tècnica que assigna etiquetes a les dades basant-se en les seves característiques.

Exemple de Classificació amb K-Nearest Neighbors (KNN)

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# Carregar les dades
data = pd.read_csv('customer_data.csv')
X = data[['age', 'income']]
y = data['purchase_decision']

# Dividir les dades en entrenament i prova
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Crear i entrenar el model
model = KNeighborsClassifier(n_neighbors=5)
model.fit(X_train, y_train)

# Fer prediccions
predictions = model.predict(X_test)

# Avaluar el model
accuracy = accuracy_score(y_test, predictions)
print(f'Precisió: {accuracy}')

Sèries Temporals

Les sèries temporals analitzen dades recollides en intervals de temps regulars per fer prediccions futures.

Exemple de Predicció de Sèries Temporals amb ARIMA

import pandas as pd
from statsmodels.tsa.arima.model import ARIMA

# Carregar les dades
data = pd.read_csv('time_series_data.csv', index_col='date', parse_dates=True)
series = data['sales']

# Crear i entrenar el model
model = ARIMA(series, order=(5, 1, 0))
model_fit = model.fit()

# Fer prediccions
predictions = model_fit.forecast(steps=10)
print(predictions)

Exercicis Pràctics

Exercici 1: Regressió Lineal

Utilitza el conjunt de dades housing_data.csv per predir el preu de les cases basant-te en les seves característiques (superfície, nombre d'habitacions, etc.).

Solució

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error

# Carregar les dades
data = pd.read_csv('housing_data.csv')
X = data[['surface', 'bedrooms', 'bathrooms']]
y = data['price']

# Dividir les dades en entrenament i prova
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Crear i entrenar el model
model = LinearRegression()
model.fit(X_train, y_train)

# Fer prediccions
predictions = model.predict(X_test)

# Avaluar el model
mse = mean_squared_error(y_test, predictions)
print(f'Error Quadràtic Mitjà: {mse}')

Exercici 2: Classificació amb KNN

Utilitza el conjunt de dades loan_data.csv per predir si un client aprovarà un préstec basant-te en les seves característiques (ingressos, edat, historial de crèdit, etc.).

Solució

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# Carregar les dades
data = pd.read_csv('loan_data.csv')
X = data[['income', 'age', 'credit_history']]
y = data['loan_approval']

# Dividir les dades en entrenament i prova
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Crear i entrenar el model
model = KNeighborsClassifier(n_neighbors=5)
model.fit(X_train, y_train)

# Fer prediccions
predictions = model.predict(X_test)

# Avaluar el model
accuracy = accuracy_score(y_test, predictions)
print(f'Precisió: {accuracy}')

Errors Comuns i Consells

Errors Comuns

  1. Sobrefitxatge: Quan el model s'ajusta massa a les dades d'entrenament i no generalitza bé a les dades noves.
  2. Subfitxatge: Quan el model és massa simple i no captura les relacions subjacents en les dades.
  3. Dades No Netejades: Utilitzar dades amb valors faltants o incorrectes pot portar a prediccions inexactes.

Consells

  1. Validació Creuada: Utilitza tècniques de validació creuada per avaluar la robustesa del teu model.
  2. Selecció de Característiques: Tria les característiques més rellevants per millorar la precisió del model.
  3. Normalització de Dades: Normalitza les dades per assegurar que totes les característiques tinguin el mateix pes en el model.

Conclusió

En aquesta secció, hem explorat els conceptes bàsics de l'anàlisi predictiu, els diferents tipus de models predictius i com implementar-los utilitzant algoritmes comuns. També hem practicat amb exemples i exercicis pràctics per reforçar els conceptes apresos. Amb aquests coneixements, estàs preparat per aplicar l'anàlisi predictiu en diverses àrees de negoci per millorar la presa de decisions basada en dades.

© Copyright 2024. Tots els drets reservats