Mínimos Quadrados NumPy

Minimos Quadrados Numpy



Hoje, vamos aprender sobre os mínimos quadrados em equações lineares e como implementar o método dos mínimos quadrados para o melhor ajuste para a linha de regressão nos conjuntos de dados fornecidos. Mas antes disso, vamos obter o conhecimento básico do NumPy. O NumPy é um dos melhores pacotes matemáticos do Python que fornece serviços para matrizes e matrizes multidimensionais, além de uma ampla variedade de operações numéricas complexas que podem ser executadas nessas matrizes/matrizes.

Um dos métodos do Python lstsq() é usado para encontrar a linha de regressão da equação linear conhecida ax=b que melhor se ajusta a essa equação. Isso significa que você deve determinar a linha que mostra adequadamente a relação entre os pontos x e y se seus dados indicarem que existe um. A linha entre os dois pontos é conhecida como linha de regressão quando é usada para encontrar o mínimo quadrado através desta equação, ax=b.

Sintaxe:

Vamos começar a aprender o estilo de implementação da função linalg.lstsq(). Primeiro, escrevemos o nome da biblioteca que usamos em Python, que é “numpy”. Em seguida, concatenamos a função linalg() e concatenamos a função lstsq(). A função linalg() significa álgebra linear. É sempre usado com a função lstsq() porque é uma expressão algébrica linear. Depois disso, passamos os argumentos nos colchetes da função.









Parâmetros:

Vamos entender os parâmetros da função linalg.lstsq():



ponto1: É a matriz de coeficientes.





ponto2: Esta matriz ou array contém variáveis ​​dependentes.

rcond: O tipo de dados dele é float. A razão rcond serve como um ponto de corte para valores singulares menores de point_1. Se um valor singular for menor que rcond vezes o maior elemento singular de point_1, será considerado zero ao determinar a classificação.



Valor de retorno:

Em troca, obtemos o menor quadrado da variável conhecida x na equação ax=b.

Exemplo 1:

Vamos começar a implementar nosso primeiro exemplo de um método de mínimos quadrados da biblioteca Python, NumPy. Primeiro, precisamos de um compilador Python para que possamos codificar nele. Abra o compilador. Você também precisa instalar a biblioteca NumPy porque estamos usando uma das funções do NumPy que é a função lstsq(). Então, você deve importar o pacote NumPy nele. Primeiro, escreva a palavra-chave “import” que informa ao compilador que vamos importar o pacote. Então, temos que escrever o nome do pacote que usamos na função que é “numpy”. E então, também escrevemos o nome alternativo do NumPy “np” porque muitos programadores usam essa abordagem. Esta é uma boa abordagem de programação e economiza tempo.

Depois de importar o pacote, começamos a escrever a linha de código real que queremos fazer. Imprimimos as mensagens primeiro para que o usuário possa entender facilmente o que estamos fazendo no exemplo usando a instrução print(). Criamos o array unidimensional “A” usando a função array() e então o imprimimos chamando a instrução print(). Em seguida, criamos outro array unidimensional “B” usando a função array() e o imprimimos usando a função print().

importar numpy Como por exemplo.

imprimir ( 'Implementação do Método dos Mínimos Quadrados no NumPy: ' )

UMA = por exemplo. variedade ( [ 1 , dois , 1 , 1 , 1 , dois , dois , 1 , 1 ] )

imprimir ( ' \n A matriz A é: ' , UMA )

B = por exemplo. variedade ( [ 4 , 3 , 5 , 4 , dois , 3 , 6 , 3 , dois ] )

imprimir ( ' \n A matriz B é: ' , B )

X = por exemplo. linhaça . lstq ( por exemplo. vstack ( [ UMA , por exemplo. uns ( ( UMA ) ) ] ) . T , B , segundo = Nenhum ) [ 0 ]

imprimir ( ' \n O Mínimo Quadrado é: ' , X )

Após a criação dos pontos A e B, implementamos a função lstsq(). Mas primeiro, usamos a função vstack() para empilhar os elementos de “A”, em termos de sequência. Então, fazemos a transposição do array “A”. Em seguida, passamos a função vstack() como o primeiro argumento da função lstsq(). O segundo argumento é o array “B” e o terceiro argumento é “rcond” no qual definimos o valor de rcond como “none”. Em seguida, armazenamos a função inteira em outro array chamado “x”, que mostra que é a equação linear variável conhecida, ax=b. Depois disso, exibimos os resultados, então usamos a instrução print() para isso e passamos o array “x” nele.

Exemplo 2:

Agora, vamos começar a implementar outro exemplo de mínimos quadrados NumPy. Sempre importamos primeiro a biblioteca que usamos no programa que é o NumPy. Primeiro, escrevemos a palavra-chave “import” para obter o pacote no programa. Também escrevemos o nome do pacote que é “numpy” e depois seu alias, “np”. Em seguida, chamamos o método print() para que possamos exibir a mensagem retable dos mínimos quadrados para um melhor entendimento do usuário.

Em seguida, criamos o nome do array “x_axis” e armazenamos o array nele usando a função arange(). Em seguida, imprimimos usando o método print(). Em seguida, criamos outro nome de array “y_axis” e armazenamos nele o array que criamos na ilustração a seguir.

Depois de criar os dois arrays, implementamos o método ones() no array x_axis e o armazenamos em outro array chamado “array_a”. E então, também imprimimos este array. Criamos outro array chamado “arg_reg_line” e implementamos uma função linalg.lstsq() nele. Em seguida, passamos os parâmetros para esta função para que possamos obter os mínimos quadrados entre dois arrays ou pontos. O primeiro parâmetro é que tomamos a transposição de array_a. O segundo parâmetro é o segundo ponto que é o eixo_y. Então, temos “rcond” que contém o valor “none”. Em seguida, exibimos o array usando o método print().

importar numpy Como por exemplo.

imprimir ( 'Implementação da função linalg.lstsq(): ' )

x_axis = por exemplo. arranjar ( 0 , 10 )

imprimir ( ' \n Os valores do eixo x são: ' , x_axis )

eixo_y = [ 10.3 , 10,5 , onze , 11,5 , 13.2 , 13,9 , 14 , 15,5 , 16,6 , 17 ]

imprimir ( ' \n Os valores do eixo y são: ' , eixo_y )

array_a = por exemplo. variedade ( [ x_axis , por exemplo. uns ( 10 ) ] )

imprimir ( ' \n A matriz é: \n ' , array_a )

arg_reg_line = por exemplo. linhaça . lstq ( matriz_a. T , eixo_y , segundo = Nenhum ) [ 0 ]

imprimir ( ' \n Os Parâmetros da Linha de Regressão são: ' , arg_reg_line )

reg_line = arg_reg_line [ 0 ] * x_axis + arg_reg_line [ 1 ]

importar matplotlib. pyplot Como plt

pl. enredo ( x_axis , reg_line , 'r-' )

pl. enredo ( x_axis , eixo_y , 'o' )

pl. título ( 'Linha de Regressão Linear' )

pl. xlabel ( 'Eixo X' )

pl. etiqueta ( 'Eixo Y' )

pl. mostrar ( )

Aqui está a saída do exemplo implementado anteriormente:

Importamos outro pacote do NumPy que é o pacote “matplotlib” que é usado para plotar o gráfico. Em seguida, plotamos os valores x_axis e y_axis_values. Em seguida, definimos o título e os rótulos do gráfico. Por fim, exibimos o gráfico usando o método show().

Aqui está o gráfico desejado do exemplo dado:

Conclusão

Neste artigo, aprendemos o que é o mínimo quadrado e como obtemos o linalg.lstsq() da variável desconhecida x usando a equação linear ax=b. Usamos várias funções do NumPy para encontrar os mínimos quadrados e implementamos alguns exemplos com explicações detalhadas para um melhor entendimento do usuário.