Mínimos cuadrados numpy

Mínimos cuadrados numpy
Hoy, vamos a aprender sobre los mínimos cuadrados en ecuaciones lineales y cómo implementar el método de mínimo cuadrado para el mejor ajuste para la línea de regresión en los conjuntos de datos proporcionados. Pero antes de eso, obtengamos el conocimiento básico de Numpy. Numpy es uno de los mejores paquetes matemáticos de Python que brinda servicios para matrices y matrices multidimensionales junto con una amplia gama de operaciones numéricas complejas que se pueden realizar en estas matrices/matrices.

Uno de los métodos de Python LSTSQ () se utiliza para encontrar la línea de regresión de la ecuación lineal conocida Ax = B que mejor se ajusta a esta ecuación. Esto significa que debe determinar la línea que muestra correctamente la relación entre los puntos X e Y si sus datos indican que hay una. La línea entre ambos puntos se conoce como una línea de regresión cuando se usa para encontrar el mínimo cuadrado a través de esta ecuación, Ax = B.

Sintaxis:

Empecemos a aprender el estilo de implementación del Linalg.función LSTSQ (). Primero, escribimos el nombre de la biblioteca que usamos en Python, que es "Numpy". Luego, concatenamos la función linalg () y concatenamos la función lstsq (). La función linalg () significa álgebra lineal. Siempre se usa con la función LSTSQ () porque es una expresión algebraica lineal. Después de esto, pasamos los argumentos en los soportes de la función.

Parámetros:

Entendamos los parámetros del linalg.Función LSTSQ ():

punto 1: Es la matriz de coeficiente.

Punto2: Esta matriz o matriz contiene variables dependientes.

rcond: El tipo de datos es flotante. La relación rcond sirve como un límite para valores singulares más pequeños de Point_1. Si un valor singular es menor que el rcond veces el elemento singular más grande de Point_1, se considera cero al determinar el rango.

Valor de retorno:

A cambio, obtenemos el mínimo cuadrado de la variable conocida x en la ecuación ax = b.

Ejemplo 1:

Comencemos a implementar nuestro primer ejemplo de un método de mínimo cuadrado de la biblioteca de Python, Numpy. Primero, necesitamos un compilador de Python para que podamos codificarlo en él. Abra el compilador. También debe instalar la biblioteca Numpy porque estamos utilizando una de las funciones de Numpy, que es la función LSTSQ (). Entonces, debes importar el paquete Numpy en él. Primero, escriba la palabra clave "importar" que le indique al compilador que vamos a importar el paquete. Luego, tenemos que escribir el nombre del paquete que usamos en la función que es "Numpy". Y luego, también escribimos el nombre alternativo del "NP" numpy porque muchos programadores usan este enfoque. Este es un buen enfoque de programación, y ahorra tiempo.

Después de importar el paquete, comenzamos a escribir la línea de código real que queremos hacer. Primero imprimimos los mensajes para que el usuario pueda comprender fácilmente lo que estamos haciendo en el ejemplo usando la instrucción print (). Creamos la matriz unidimensional "A" usando la función Array () y luego la imprimimos llamando a la instrucción print (). Luego, creamos otra matriz unidimensional "B" usando la función Array () e imprimimos usando la función print ().

importar numpy como np
Imprimir ("Implementación del método de mínimo cuadrado en Numpy:")
A = np.Array ([1,2,1,1,1,2,2,1,1])
imprimir ("\ nthe matriz a es:", a)
B = NP.Array ([4,3,5,4,2,3,6,3,2])
Imprimir ("\ nthe Array B es:", b)
X = NP.linalg.LSTSQ (NP.Vstack ([A, NP.Unos (len (a))])).T, b, rcond = none) [0]
imprimir ("\ nthe menos cuadrado es:", x)

Después de la creación de ambos puntos A y B, implementamos la función LSTSQ (). Pero primero, usamos la función vstack () para apilar los elementos de "a", en cuanto a secuencia. Luego, tomamos la transposición de la matriz "A". Luego, pasamos la función vstack () como el primer argumento de la función LSTSQ (). El segundo argumento es la matriz "B" y el tercer argumento es "rcond" en el que establecemos el valor de rcond como "ninguno". Luego, almacenamos toda la función en otra matriz llamada "x" que muestra que es la ecuación lineal variable conocida, ax = b. Después de esto, mostramos los resultados, por lo que usamos la instrucción print () para esto y pasamos la matriz "x" en ella.

Ejemplo 2:

Ahora, comencemos a implementar otro ejemplo de mínimos cuadrados numpy. Siempre importamos la biblioteca primero que usamos en el programa que es NUMPY. Primero, escribimos la palabra clave "importar" para obtener el paquete en el programa. También escribimos el nombre del paquete que es "Numpy" y luego su alias, "NP". Luego, llamamos al método print () para que podamos mostrar el mensaje de retención de los mínimos cuadrados para una mejor comprensión del usuario.

Luego, creamos el nombre de la matriz "X_AXIS" y almacenamos la matriz en ella usando la función Arange (). Luego, lo imprimimos usando el método print (). Luego, creamos otro nombre de matriz "y_axis" y almacenamos la matriz que creamos en la siguiente ilustración.

Después de crear ambas matrices, implementamos el método One () en la matriz X_AXIS y lo almacenamos en otra matriz llamada "Array_a". Y luego, también imprimimos esta matriz. Creamos otra matriz llamada "arg_reg_line" e implementamos un linalg.Función LSTSQ () en él. Luego, pasamos los parámetros a esta función para que podamos obtener los mínimos cuadrados entre dos matrices o puntos. El primer parámetro es que tomamos la transposición de Array_A. El segundo parámetro es el segundo punto que es el y_axis. Entonces, tenemos "rcond" que contiene el valor "ninguno". Luego mostramos la matriz usando el método print ().

importar numpy como np
Imprimir ("Implementación de Linalg.Función LSTSQ (): ")
x_axis = np.Arange (0, 10)
imprimir ("\ nthe value of x eje son:", x_axis)
y_axis = [10.3, 10.5, 11, 11.5, 13.2, 13.9, 14, 15.5, 16.6, 17]
imprimir ("\ nthe value of y eje son:", y_axis)
array_a = np.Array ([x_axis, NP.unos (10)])
imprimir ("\ nthe array es: \ n", array_a)
arg_reg_line = np.linalg.LSTSQ (Array_a.T, y_axis, rcond = none) [0]
Imprimir ("\ nthe Parameters of Rurssion Line son:", Arg_reg_line)
reg_line = arg_reg_line [0] * x_axis + arg_reg_line [1]
Importar matplotlib.Pyplot como PLT
PLT.Plot (x_axis, reg_line, 'r-')
PLT.tram (x_axis, y_axis, 'o')
PLT.Título ("Línea de regresión lineal")
PLT.xlabel ("eje x")
PLT.Ylabel ("eje y")
PLT.espectáculo()

Aquí está la salida del ejemplo implementado previo con previolas:

Importamos otro paquete de Numpy, que es el paquete "matplotlib" que se utiliza para trazar el gráfico. Luego, trazamos los valores x_axis y y_axis_values. A continuación, establecemos el título y las etiquetas del gráfico. Por último, mostramos el gráfico usando el método show ().

Aquí está el gráfico deseado del ejemplo dado:

Conclusión

En este artículo, aprendimos lo que es el mínimo cuadrado y cómo obtenemos el Linalg.lstsq () de la variable desconocida x usando la ecuación lineal ax = b. Utilizamos múltiples funciones de Numpy para encontrar los mínimos cuadrados e implementamos algunos ejemplos con explicaciones detalladas para una mejor comprensión del usuario.