Regresión lineal (solo para uso de aprendizaje, se complementará)

Tabla de contenido

1. Definición

2. Un ejemplo sencillo


1. Definición

La regresión lineal es un método estadístico clásico utilizado para modelar la relación lineal entre variables independientes y dependientes. Su idea básica es encontrar una línea recta óptima bajo la condición de variables independientes dadas, de modo que se minimice la suma residual de cuadrados entre la línea recta y los datos observados.

Un modelo de regresión lineal se puede expresar como:

y = β0 + β1x1 + β2x2 + ... + βpxp + ε

Entre ellos, y es la variable dependiente, x1, x2, ..., xp son las variables independientes, β0, β1, β2, ..., βp son los coeficientes del modelo de regresión lineal y ε es el error aleatorio.

El establecimiento de un modelo de regresión lineal se divide en dos etapas: entrenamiento del modelo y predicción del modelo.

1. En la fase de entrenamiento del modelo

Se requiere un conjunto conocido de datos de entrenamiento para estimar los coeficientes de un modelo de regresión lineal. El método más utilizado es el método de mínimos cuadrados, que estima los coeficientes del modelo minimizando la suma de los cuadrados de los residuos. Específicamente, el objetivo del método de mínimos cuadrados es hacer

S = Σ(yi - ŷi) ^ 2 se minimiza, donde yi es el valor observado y ŷi es el valor pronosticado estimado por el modelo de regresión lineal. Se puede obtener un modelo de regresión lineal completo resolviendo los valores estimados de los coeficientes.

2. En la etapa de predicción del modelo

El modelo entrenado se puede usar para hacer predicciones sobre nuevos datos desconocidos. Específicamente, al sustituir el nuevo valor de la variable independiente en el modelo de regresión lineal, se obtiene el valor pronosticado correspondiente de la variable dependiente. Los valores predichos se pueden utilizar para describir la relación entre variables independientes y dependientes, o para tareas como la clasificación y el diagnóstico.

La regresión lineal se usa ampliamente en muchos problemas prácticos, como el pronóstico del precio de la vivienda, el pronóstico de ventas, la evaluación de riesgos, etc. Su ventaja es que es simple de calcular y fácil de entender e implementar. Sin embargo, la regresión lineal también tiene algunas limitaciones, como tratar solo con relaciones lineales, ser sensible a valores atípicos, etc. Por lo tanto, en aplicaciones prácticas, es necesario seleccionar un método de regresión apropiado según el problema específico.

2. Un ejemplo sencillo

Un ejemplo común de regresión lineal es la predicción del precio de la vivienda. Supongamos que tenemos un conjunto de datos que contiene las características de diferentes casas (como el tamaño, el número de dormitorios, el número de baños, la distancia al centro de la ciudad, etc.) y los precios correspondientes. Podemos usar un modelo de regresión lineal para modelar la relación entre los precios de la vivienda y estas características para hacer predicciones de precios para viviendas nuevas.

En concreto, podemos expresar el precio de la vivienda y como una combinación lineal del área x1, el número de dormitorios x2, el número de baños x3 y la distancia al centro de la ciudad x4, a saber:

y = β0 + β1x1 + β2x2 + β3x3 + β4x4 + ε

Entre ellos, β0, β1, β2, β3, β4 son los coeficientes del modelo de regresión lineal, ε es el error aleatorio.

Durante la fase de entrenamiento, necesitamos estimar estos coeficientes utilizando un conjunto de datos conocido. El método más utilizado es el método de mínimos cuadrados, que estima los coeficientes del modelo minimizando la suma de los cuadrados de los residuos. Específicamente, el objetivo del método de mínimos cuadrados es hacer

S = Σ(yi - ŷi) ^ 2

Minimizar, donde yi es el precio de la vivienda conocido y ŷi es el precio de la vivienda pronosticado estimado por el modelo de regresión lineal. Resolviendo los valores estimados de los coeficientes, podemos obtener el modelo de regresión lineal completo.

En la fase de predicción, podemos usar el modelo entrenado para predecir el precio de las casas nuevas. Específicamente, ingresamos los valores propios de las casas nuevas y los sustituimos en el modelo de regresión lineal para obtener los precios de vivienda pronosticados correspondientes.

Cabe señalar que el modelo de regresión lineal es sensible a los valores atípicos, por lo que los datos deben limpiarse y procesarse antes de su uso para evitar resultados irrazonables.

Código

import numpy as np
import matplotlib.pyplot as plt

# 训练集
X = np.array([[1400, 3, 2],
              [1600, 3, 2.5],
              [1700, 4, 2.5],
              [1800, 4, 3],
              [2000, 4, 3.5]])
y = np.array([245000, 312000, 279000, 308000, 345000])

# 添加常数列
X = np.c_[np.ones(X.shape[0]), X]

# 使用最小二乘法估计系数
theta = np.linalg.inv(X.T @ X) @ X.T @ y

# 输出估计的系数
print("估计的系数:", theta)

# 预测
X_new = np.array([1, 1600, 3, 2.5]).reshape(1, -1)
y_pred = X_new @ theta
print("预测的房价:", y_pred)

# 绘制模型
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X[:, 1], X[:, 2], y, c='r', marker='o')
ax.set_xlabel('Size')
ax.set_ylabel('Bedrooms')
ax.set_zlabel('Price')

x1 = np.linspace(1400, 2000, 10)
x2 = np.linspace(3, 4, 10)
x1, x2 = np.meshgrid(x1, x2)
y_pred = theta[0] + theta[1] * x1 + theta[2] * x2
ax.plot_surface(x1, x2, y_pred, alpha=0.5)

plt.show()

resultado de la operación

估计的系数: [38290.76923077    82.87362637 -6477.27272727 35769.23076923]
预测的房价: [284667.58185425]

donde X es el conjunto de entrenamiento e y es el precio de la vivienda correspondiente. Al estimar coeficientes utilizando el método de mínimos cuadrados, primero se debe agregar una columna constante para facilitar la estimación de la intersección. Al predecir, podemos ingresar un nuevo valor de característica para la predicción y obtener el valor de predicción del precio de la vivienda correspondiente. Finalmente, también podemos trazar los resultados de visualización del modelo para comprender mejor el rendimiento del modelo.

Supongo que te gusta

Origin blog.csdn.net/z377989129/article/details/129967765
Recomendado
Clasificación